深度学习中的 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

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐