Neural network 为什么SELU激活函数保持为0?
来自Aurelian Geron的书“使用Scikit Learn、Keras和Tensorflow进行机器学习”,第。337: “作者们表明,如果你建立一个由密集层堆栈组成的神经网络,如果所有隐藏层都使用SELU激活函数,那么网络将自我规范化:在训练期间,每层的输出将趋向于保持0的平均值和1的标准差,它解决了消失/爆炸梯度问题Neural network 为什么SELU激活函数保持为0?,neural-network,artificial-intelligence,activation-function,Neural Network,Artificial Intelligence,Activation Function,来自Aurelian Geron的书“使用Scikit Learn、Keras和Tensorflow进行机器学习”,第。337: “作者们表明,如果你建立一个由密集层堆栈组成的神经网络,如果所有隐藏层都使用SELU激活函数,那么网络将自我规范化:在训练期间,每层的输出将趋向于保持0的平均值和1的标准差,它解决了消失/爆炸梯度问题 我的问题是:为什么它保持平均值为0?负值比正值向0移动得更多,因此为什么输出平均值不超过输入平均值?请注意,它本身并不保留平均值0,但仅在以方差1开始时才保留平均值0,
我的问题是:为什么它保持平均值为0?负值比正值向0移动得更多,因此为什么输出平均值不超过输入平均值?请注意,它本身并不保留平均值0,但仅在以方差1开始时才保留平均值0,因此负值通常很小,而不是 与正值相比,向0移动的幅度要大得多 他说,方差的标准化是主要影响,平均值的标准化由此产生: 为了给人一种直觉,SELUs的主要特性是,它们抑制负净输入的方差,增加正净输入的方差。如果净输入远离零,则方差阻尼更强,而如果净输入接近零,则方差增加更强。因此,对于较低层中激活的较大变化,阻尼效应占主导地位,而较高层中的变化减小。反之亦然,对于小方差,方差增加占主导地位,且方差在高层增加 因此,SELU网络控制激活的方差,并将其推入一个区间,然后均值和方差移向固定点。因此,SELU网络正在稳定地规范化方差,随后也规范化均值 也许这个链接也会有帮助: