Neural network 为什么SELU激活函数保持为0?

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,

来自Aurelian Geron的书“使用Scikit Learn、Keras和Tensorflow进行机器学习”,第。337:

“作者们表明,如果你建立一个由密集层堆栈组成的神经网络,如果所有隐藏层都使用SELU激活函数,那么网络将自我规范化:在训练期间,每层的输出将趋向于保持0的平均值和1的标准差,它解决了消失/爆炸梯度问题


我的问题是:为什么它保持平均值为0?负值比正值向0移动得更多,因此为什么输出平均值不超过输入平均值?

请注意,它本身并不保留平均值0,但仅在以方差1开始时才保留平均值0,因此负值通常很小,而不是

与正值相比,向0移动的幅度要大得多

他说,方差的标准化是主要影响,平均值的标准化由此产生:

为了给人一种直觉,SELUs的主要特性是,它们抑制负净输入的方差,增加正净输入的方差。如果净输入远离零,则方差阻尼更强,而如果净输入接近零,则方差增加更强。因此,对于较低层中激活的较大变化,阻尼效应占主导地位,而较高层中的变化减小。反之亦然,对于小方差,方差增加占主导地位,且方差在高层增加

因此,SELU网络控制激活的方差,并将其推入一个区间,然后均值和方差移向固定点。因此,SELU网络正在稳定地规范化方差,随后也规范化均值

也许这个链接也会有帮助: