当我们对所有激活层使用 ReLU 时,是否有可能为深度卷积神经网络设置负权重(在足够的 epoch 之后)?
神经网络(例如,卷积神经网络)可以有负权重吗?
机器算法验证
机器学习
神经网络
深度学习
卷积神经网络
2022-02-13 14:01:06
3个回答
整流线性单元 (ReLU) 仅使神经元的输出为非负值。然而,网络的参数可以并且将会根据训练数据变为正数或负数。
以下是我现在能想到的两个原因,可以(直观地)证明为什么某些参数会变为负数:
参数的正则化(又名权重衰减);参数值的变化使预测成为可能,如果参数以零为中心(即它们的平均值接近于零),那么它们的norm(这是一个标准的正则化器)很低。
尽管层的输出相对于层参数的梯度取决于层的输入(假设前一层通过 ReLU 传递其输出,则始终为正),但是,误差的梯度(来自离最终输出层更近的层)可能是正数或负数,这使得 SGD 在采取下一个梯度步骤后可以使某些参数值变为负数。更具体地说,让,, 和表示神经网络中层的输入、输出和参数。另外,让是一些训练样本引起的网络的最终误差。相对于误差的梯度计算为; 注意(见下图):
想象一下,您有最佳权重,这些权重都是非负的。
现在反转一些输入变量. 此设置的最佳网络是边缘倒置,所以新的权重是非正的。
除非您使用其他激活函数,例如 Leaky ReLU。第一个层之后的校正权重是非负的,无论训练多少个 epoch。