一文彻底搞懂深度学习 -激活函数(Activation Function) 原创

发布于 2024-10-24 13:23
浏览
0收藏

一文彻底搞懂深度学习 -激活函数(Activation Function)-AI.x社区

神经网络中的线性组合(即加权求和)本身只能表示线性关系。然而,现实世界中的大多数问题都是非线性的。通过引入激活函数,决定神经元是否应该被激活(将信号传递给下一个神经元)以及信号的强度。这样神经网络才能够学习并表示这些非线性关系,从而解决更复杂的问题。


传统激活函数Sigmoid将输入映射到(0,1)之间,常用于二分类问题;主流激活函数ReLU在正区间保持梯度不变,计算高效且能缓解梯度消失问题,广泛应用于深度学习;输出层激活函数Softmax则将原始分数转换为概率分布,确保所有类别概率之和为1,适用于多分类问题。

一文彻底搞懂深度学习 -激活函数(Activation Function)-AI.x社区

Activation Function

一、传统激活函数(Sigmoid)

传统激活函数Sigmoid:Sigmoid 是传统神经网络中常用的一种激活函数,尤其在早期的神经网络结构中。

一文彻底搞懂深度学习 -激活函数(Activation Function)-AI.x社区

Sigmoid 函数的输出始终在 0 和 1 之间,这使得它经常被用于二分类问题中,其中输出可以解释为属于某一类的概率。

一文彻底搞懂深度学习 -激活函数(Activation Function)-AI.x社区

激活函数Tanh(Sigmoid双曲线版本):Tanh函数是Sigmoid函数的双曲版本,它将任何实数映射到-1到1之间。

一文彻底搞懂深度学习 -激活函数(Activation Function)-AI.x社区

Tanh函数是双曲正切函数,其输出值在-1和1之间,常用于神经网络隐藏层,以提供比Sigmoid函数更广的激活范围。

一文彻底搞懂深度学习 -激活函数(Activation Function)-AI.x社区

二、主流激活函数(ReLU)

主流激活函数ReLU:ReLU(Rectified Linear Unit)是当今深度学习领域中最主流的激活函数之一。

一文彻底搞懂深度学习 -激活函数(Activation Function)-AI.x社区

与传统的Sigmoid和Tanh激活函数相比,ReLU函数在输入为正数时导数为1,在输入为负数时导数为0,这有效地避免了梯度消失问题。由于ReLU函数的非线性特性和计算简单性,它可以帮助神经网络更快地收敛到最优解。

一文彻底搞懂深度学习 -激活函数(Activation Function)-AI.x社区图片

激活函数Leaky ReLU(ReLU改进版本)Leaky ReLU是一种改进的ReLU激活函数,旨在解决传统ReLU在输入小于等于0时导致的神经元“死亡”问题。它通过允许一个小的、固定的梯度通过负值区域来实现这一点。

一文彻底搞懂深度学习 -激活函数(Activation Function)-AI.x社区

注意:虽然上面的公式直接使用了0.01作为α的值,但在实际应用中,α可以是一个在(0, 1)区间内的任意小正数,具体值需要根据任务和数据集进行调整。

与ReLU相比,Leaky ReLU的主要优势在于它能够解决神经元“死亡”问题。然而,在某些情况下,ReLU可能由于其简单的形式和计算效率而更受欢迎。因此,在选择激活函数时,需要根据具体任务和数据集的特点进行权衡。

一文彻底搞懂深度学习 -激活函数(Activation Function)-AI.x社区

三、输出层激活函数(Softmax)

多分类问题激活函数Softmax:Softmax函数是一种用于多分类问题的激活函数,它将神经网络的输出(logits-原始未经处理的得分)转换为一个概率分布。转换后的每个值都在0和1之间,且所有值的总和为1,这使得Softmax函数非常适合用于表示各个类别的概率。

一文彻底搞懂深度学习 -激活函数(Activation Function)-AI.x社区

Softmax是一种归一化函数,它将一个数值向量转换为概率分布向量,使得输出值落在0到1之间,且所有输出值的总和为1。

一文彻底搞懂深度学习 -激活函数(Activation Function)-AI.x社区


本文转载自公众号架构师带你玩转AI 作者:AllenTang

原文链接:​​https://mp.weixin.qq.com/s/bdJLU8OodbBaicWJw8TtjA​​​

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复
相关推荐