视频字幕
激活函数是神经网络的核心组件之一。在神经元中,输入信号经过权重计算后,需要通过激活函数来决定神经元的输出。激活函数的作用是为神经网络引入非线性特性,使得网络能够学习和表示复杂的函数关系。
为什么激活函数必须是非线性的呢?如果我们使用线性激活函数,那么多层神经网络的组合仍然是线性的。无论有多少层,最终的输出都可以表示为输入的线性组合。这严重限制了网络的表达能力。而非线性激活函数能够引入复杂的变换,使网络能够学习复杂的模式。
Sigmoid函数是神经网络中最早使用的激活函数之一。它的数学表达式是1除以1加e的负x次方。Sigmoid函数具有平滑的S型曲线,输出值严格限制在0到1之间。当输入为0时,输出为0.5。当输入趋向正无穷时,输出趋向1;当输入趋向负无穷时,输出趋向0。
Tanh函数是双曲正切函数,它的输出范围是负1到正1。与Sigmoid函数相比,Tanh函数关于原点对称,这意味着它的输出是零中心化的。当输入为0时,输出也为0。Tanh函数的梯度比Sigmoid函数更陡峭,因此在训练过程中收敛更快。这两个函数都具有饱和特性。
ReLU函数是现代深度学习中最常用的激活函数。它的定义非常简单:当输入小于0时输出0,当输入大于等于0时输出输入值本身。ReLU函数有很多优点:计算非常简单,只需要一个比较和选择操作;在正区间梯度恒为1,有效缓解了梯度消失问题;同时产生稀疏激活,提高了网络的效率。