Tanh(双曲正切)函数是机器学习和深度学习模型中广泛使用的激活函数。它将输入值映射到-1 和 1 之间的范围,因此特别适用于输出需要代表负值和正值的任务。Tanh 在数学上与 Sigmoid 函数相似,但输出范围更广,因此对某些类型的神经网络非常有效。
Tanh 是一个围绕原点对称的 S 形(sigmoid)函数。它的主要特性包括
Tanh 常用于需要计算负值的情况。下面是它的一些重要应用:
Tanh 常用于处理时间序列或自然语言等序列数据的递归神经网络 (RNN)。Tanh 能够提供从负值到正值的范围,因此适用于捕捉数据点随时间变化的关系。
对于预测二元结果的模型,Tanh 可用于隐藏层,将输入数据转换为便于下游决策任务的范围。例如,Tanh 可以在使用Softmax 激活函数的最终层之前处理输入特征。
在图像分割等计算机视觉任务中,Tanh 可以将像素强度归一化,从而增强特征提取。这在与卷积神经网络(CNN)等模型搭配时尤其有用。
在文本情感分析中,Tanh 被用于 RNN或长短时记忆网络(LSTM),通过捕捉正面和负面情感来模拟情感的极性。该函数的零中心性质有助于有效区分对立情绪。
在自动驾驶汽车系统中,Tanh 可用于处理传感器数据的神经网络层。例如,它可以对传感器读数(如激光雷达信号)进行归一化处理,以考虑与参考点的正负偏差。
虽然 Tanh 与 Sigmoid 函数有相似之处,但与 Sigmoid 函数(0 至 1)相比,Tanh 的范围更广(-1 至 1)。这使得 Tanh 更适合需要零中心输出的任务。不过,对于深度网络而言,整流线性单元(ReLU)因其简单且不存在梯度消失问题,通常更受青睐。
使用 Tanh 的主要挑战之一是梯度消失问题,当函数在极端输入值达到饱和时就会出现这一问题。这在深度网络中尤为严重,基于梯度的优化效果会大打折扣。为了解决这个问题,可以采用 ReLU 或Leaky ReLU等替代激活函数。
对于许多机器学习应用,尤其是那些需要输出包含负值和正值范围的应用,Tanh 仍然是一个通用而有效的激活函数。虽然更新的激活函数解决了它的一些局限性,但它在推动早期深度学习架构方面的作用不容低估。要以简单实用的方式尝试使用 Tanh 等激活函数,请访问Ultralytics HUB 无缝地训练和部署模型。