神经网络(例如,卷积神经网络)可以有负权重吗?

机器算法验证 机器学习 神经网络 深度学习 卷积神经网络
2022-02-13 14:01:06

当我们对所有激活层使用 ReLU 时,是否有可能为深度卷积神经网络设置负权重(在足够的 epoch 之后)?

3个回答

整流线性单元 (ReLU) 仅使神经元的输出为非负值。然而,网络的参数可以并且将会根据训练数据变为正数或负数。

以下是我现在能想到的两个原因,可以(直观地)证明为什么某些参数会变为负数:

  1. 参数的正则化(又名权重衰减);参数值的变化使预测成为可能,如果参数以零为中心(即它们的平均值接近于零),那么它们的2norm(这是一个标准的正则化器)很低。

  2. 尽管层的输出相对于层参数的梯度取决于层的输入(假设前一层通过 ReLU 传递其输出,则始终为正),但是,误差的梯度(来自离最终输出层更近的层)可能是正数或负数,这使得 SGD 在采取下一个梯度步骤后可以使某些参数值变为负数。更具体地说,让I,O, 和w表示神经网络中层的输入、输出和参数。另外,让E是一些训练样本引起的网络的最终误差。相对于误差的梯度w计算为Ew=(k=1KEOk)Okw; 注意Ok=O,k(见下图):

在此处输入图像描述

想象一下,您有最佳权重,这些权重都是非负的。

现在反转一些输入变量xi=xi. 此设置的最佳网络是{xi,y}边缘倒置,所以新的权重是非正的。

除非您使用其他激活函数,例如 Leaky ReLU。第一个层之后的校正权重是非负的,无论训练多少个 epoch。