神经网络的核心计算能力并非来自单纯的线性加权求和,而是源于激活函数引入的非线性变换。如果没有激活函数,无论网络堆叠多少隐藏层,其输入与输出之间的关系始终可化简为一次线性组合,这会使模型彻底失去拟合复杂非线性模式的能力。激活函数的作用正是在仿射变换之后施加非线性映射,使网络具备逼近任意复杂连续函数的理论基础。

从具体工作流程来看,单个神经元首先接收来自上一层的输入信号,将其与对应权重相乘并求和,再加上偏置项。这一步完成的是线性特征组合。随后,激活函数对这个累加结果进行处理,将其映射到新的输出空间。早期的感知机使用阶跃函数,输出仅为二值,虽然能实现简单的线性分类,但由于其不可导,无法直接应用于基于梯度下降的多层网络优化。
现代神经网络普遍采用可微的激活函数,这直接关系到反向传播算法的执行效率。在训练过程中,网络通过链式法则计算损失函数对各层参数的梯度。激活函数的导数是这条梯度反向传播链路中的关键乘积因子。如果激活函数在输入值绝对值较大时导数趋近于零,即出现饱和现象,梯度在向底层传递时会迅速衰减,导致浅层网络参数难以有效更新,这就是梯度消失问题。Sigmoid 和 Tanh 函数是典型的饱和型激活函数,它们将输出压缩到有限区间,虽在早期网络中广泛使用,但在深层结构中容易引发优化停滞。
为了解决深层网络的梯度传播障碍,修正线性单元(ReLU)及其变体逐渐成为主流。ReLU 在输入为正时保持线性输出,导数恒为 1,有效缓解了梯度消失现象;在输入为负时输出为零,使网络具备稀疏激活特性,降低了计算开销。然而,ReLU 在负半轴导数为零,可能导致部分神经元在训练过程中永久失活。理解不同激活函数的导数特性与输出分布,是判断其能否在特定网络结构和数据分布下有效工作的关键。激活函数的选择并非追求绝对的先进性,而是需要在梯度传播的稳定性、计算复杂度以及模型整体表达能力之间取得平衡。
参与讨论
暂无评论,快来发表你的观点吧!