术语表

Tanh(双曲正切)

探索神经网络中 Tanh 激活函数的强大功能。了解它如何使人工智能以零中心效率为复杂数据建模!

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

Tanh 或双曲切线是人工智能(AI)机器学习(ML)中广泛使用的激活函数,尤其是在神经网络(NN)中。与Sigmoid 函数类似,Tanh 也呈 S 形(sigmoidal),但它将输入值映射到-1 和 1 之间的范围。与其他激活函数一样,Tanh 将非线性引入网络,使深度学习(DL)模型能够学习线性模型无法捕捉的数据中的复杂模式和关系。它源于数学中的双曲正切函数

Tanh 如何工作

Tanh 函数接收任何实值输入,并将其压扁到(-1,1)的范围内。接近零的输入会产生接近零的输出。大的正输入会产生接近 1 的输出,而大的负输入则会产生接近 -1 的输出。与 Sigmoid 函数(输出介于 0 和 1 之间)相比,它以零为中心的特性通常被认为是一种优势,因为它可以帮助梯度下降优化算法模型训练过程中更快地收敛。这是因为在反向传播过程中传回的梯度更有可能具有平衡的正负值,从而可能导致模型权重的更新更加稳定。

优缺点

优势

  • 零中心输出:从 -1 到 1 的输出有助于将数据居中传递给后续层,与 Sigmoid 等非零居中函数相比,它能改善训练动态。
  • 梯度更强与 Sigmoid 相比,Tanh 在零点附近的梯度更陡峭,这可以在一定程度上缓解训练过程中梯度消失的问题,从而加快学习速度。

缺点

  • 梯度消失与 Sigmoid 类似,Tanh 也存在梯度消失问题。对于非常大的正或负输入,函数会达到饱和(其输出会变得非常接近 1 或-1),梯度也会变得非常小,从而阻碍深层的权重更新。
  • 计算成本Tanh 涉及双曲计算,因此计算成本略高于ReLU(整流线性单元)等简单函数。

Tanh 与其他激活功能的比较

  • Tanh 与 Sigmoid两者都是正余弦函数,但 Tanh 的输出范围是(-1,1),而 Sigmoid 的输出范围是(0,1)。Tanh 的零中心特性通常被用于隐藏层,而 Sigmoid 通常用于需要概率的二元分类任务的输出层。
  • Tanh 与 ReLUReLU 的输出范围从 0 到无穷大,计算效率非常高。ReLU 可以避免正输入的饱和,但可能会出现 "垂死的 ReLU "问题(神经元变得不活跃)。虽然 Tanh 在两端都会饱和,但它以零为中心的特性却很有优势。不过,由于梯度流和效率更好,ReLU 及其变体(Leaky ReLUGELUSiLU)在许多现代深度学习架构中已基本取代了 Tanh,尤其是在计算机视觉(CV)领域。您可以探索深度学习中的各种激活函数

人工智能和机器学习中的应用

Tanh 在历史上一直很受欢迎,尤其是在以下地区:

  • 递归神经网络 (RNN):Tanh 常用于 RNN 和长短时记忆(LSTM)网络等变体的隐藏状态,尤其适用于自然语言处理(NLP)任务。它的边界范围有助于调节递归连接内的信息流。更多详情,请参阅了解 LSTM
  • 隐藏层:可用于前馈网络的隐藏层,但 ReLU 变体现在更为常见。当零心特性对特定问题或结构特别有利时,可能会选择它。
  • 情感分析在较早的 NLP 模型中,Tanh 帮助将从文本中提取的特征(例如,由 RNN 处理的单词嵌入)映射到一个连续的范围,代表从负面(-1)到正面(+1)的情感极性。斯坦福 NLP 小组等组织提供了有关此类技术的背景资料。
  • 控制系统与机器人学强化学习(RL)中,Tanh 有时被用作输出特定范围内连续动作的策略的最终激活函数(例如,在-1 和+1 之间控制电机扭矩)。OpenAI Gym等框架经常用于 RL 研究。

虽然现代架构,如 Ultralytics YOLO等现代架构通常利用 SiLU 等函数来完成物体检测等任务,但了解 Tanh 仍然很有价值。它为激活函数的发展提供了背景,并可能仍然出现在特定的网络设计或传统系统中。像 PyTorchTensorFlow等框架提供了 Tanh 的实现。您可以使用Ultralytics HUB 等平台对不同的激活函数进行训练和实验。

阅读全部