为什么 sigmoid 激活函数会导致次优梯度下降?

数据挖掘 神经网络 梯度下降 反向传播 激活函数
2022-03-09 21:26:34

我需要一些帮助来理解 sigmoid 激活函数的第二个缺点,如斯坦福视频中所述。她说,因为 sigmoid 的输出总是正的,所以任何从跟随 sigmoid 的神经元回流的梯度都将与流入该神经元的上游梯度共享相同的符号。然后她说,这些权重更新共享相同符号的结果是次优的锯齿形梯度下降路径。

当放大单个神经元时,我理解这种现象。但是,由于流入层的上游梯度可能具有不同的符号,因此仍然可以在层中获得正负权重更新的健康混合。因此,我很难理解使用 sigmoid 如何导致这种锯齿形下降路径,除非上游梯度都是相同的符号(这在直觉上似乎不常见)。在我看来,如果这种次优下降足够重要,可以在讲座中强调,那么它一定比这更常见。

我想知道问题是否是权重更新中的“减少熵”,而不是网络中共享相同符号的所有权重更新。也就是说,在维度的子集中曲折。例如,假设使用 sigmoid 的网络在具有两个神经元的层中有四个权重:w 1、w 2、w 3和 w 4w 1和 w 2的更新可能是正的,而如果两个上游梯度的符号不同,w 3和 w 4的更新可能是负的。但是,w 1和 w 3不可能是正数,w 2和 w 4不可能是正数为负。假设权重更新的第二种组合是最佳组合,这是斯坦福讲座所指的 sigmoid 的限制吗?

1个回答

sigmoid 是梯度下降的次优激活函数的两个主要原因:

  1. 节点的激活在 0 或 1 的尾部饱和。在这些点处产生的梯度非常小,因此学习信号非常小。
  2. 最大梯度为 0.25。由于该值小于 1,因此误差信号会被衰减,并可能导致经过多层反向传播后梯度消失。