神经网络中的线性组合(即加权求和)本身只能表示线性关系。然而,现实世界中的大多数问题都是非线性的。通过引入激活函数,决定神经元是否应该被激活(将信号传递给下一个神经元)以及信号的强度。这样神经网络才能够学习并表示这些非线性关系,从而解决更复杂的问题。
Activation Function
一、传统激活函数(Sigmoid)
传统激活函数Sigmoid:Sigmoid 是传统神经网络中常用的一种激活函数,尤其在早期的神经网络结构中。
Sigmoid 函数的输出始终在 0 和 1 之间,这使得它经常被用于二分类问题中,其中输出可以解释为属于某一类的概率。
激活函数Tanh(Sigmoid双曲线版本):Tanh函数是Sigmoid函数的双曲版本,它将任何实数映射到-1到1之间。
二、主流激活函数(ReLU)
主流激活函数ReLU:ReLU(Rectified Linear Unit)是当今深度学习领域中最主流的激活函数之一。
与传统的Sigmoid和Tanh激活函数相比,ReLU函数在输入为正数时导数为1,在输入为负数时导数为0,这有效地避免了梯度消失问题。由于ReLU函数的非线性特性和计算简单性,它可以帮助神经网络更快地收敛到最优解。
激活函数Leaky ReLU(ReLU改进版本):Leaky ReLU是一种改进的ReLU激活函数,旨在解决传统ReLU在输入小于等于0时导致的神经元“死亡”问题。它通过允许一个小的、固定的梯度通过负值区域来实现这一点。
与ReLU相比,Leaky ReLU的主要优势在于它能够解决神经元“死亡”问题。然而,在某些情况下,ReLU可能由于其简单的形式和计算效率而更受欢迎。因此,在选择激活函数时,需要根据具体任务和数据集的特点进行权衡。
三、输出层激活函数(Softmax)
多分类问题激活函数Softmax:Softmax函数是一种用于多分类问题的激活函数,它将神经网络的输出(logits-原始未经处理的得分)转换为一个概率分布。转换后的每个值都在0和1之间,且所有值的总和为1,这使得Softmax函数非常适合用于表示各个类别的概率。
限时五折优惠,快快抢购吧!