深度学习中的 tanh 激活函数

在深度学习中,tanh(双曲正切)是一种常用的激活函数,通常用于神经网络的隐藏层。它的数学表达式为:

[ \text{tanh}(x) = \frac{e^x - e{-x}}{ex + e^{-x}} ]

Tanh 的输出范围是 ([-1, 1]),这与 sigmoid 函数(输出范围为 ([0, 1]))不同。使用 tanh 有几个优点和缺点:

优点

  1. 中心对称tanh 函数是中心对称的,即对于任何输入 (x),都有 (\text{tanh}(-x) = -\text{tanh}(x))。这意味着激活值可以是负的,从而更好地处理数据的正负两方面。
  2. 缓解梯度消失问题:与 sigmoid 相比,tanh 在零点附近的梯度更大,有助于缓解梯度消失问题。

缺点

  1. 梯度消失:尽管比 sigmoid 好一些,但在极端值附近(即输入值很大或很小时),tanh 的梯度依然接近零,可能导致梯度消失问题。
  2. 计算复杂:与 ReLU(修正线性单元)相比,tanh 的计算更加复杂,因为它涉及指数计算。

使用场景

Tanh 函数常用于以下场景:

  1. 中间层激活函数:在循环神经网络(RNN)中常常使用 tanh 作为中间层的激活函数。
  2. 对称数据:当数据的分布是中心对称的(例如均值为零)时,tanh 可以更好地表达数据的特性。

在选择激活函数时,除了 tanh,还可以考虑 ReLULeaky ReLUELU 等。具体选择哪种激活函数,通常需要根据具体问题和数据进行实验。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐