2 回答

TA贡献1856条经验 获得超5个赞
通过学习算法(例如梯度下降),可以将偏差与权重一起进行调整。偏差与权重的不同之处在于它们独立于先前各层的输出。从概念上讲,偏差是由来自固定激活值为1的神经元的输入引起的,因此可以通过减去增量值和学习率的乘积来更新偏差。
在大型模型中,去除偏置输入几乎没有什么区别,因为每个节点都可以从其所有输入的平均激活中生成偏置节点,根据大数定律,这将是大致正常的。在第一层,发生这种情况的能力取决于您的输入分布。例如,对于MNIST,输入的平均激活大致恒定。在小型网络上,您当然需要一个偏置输入,但是在大型网络上,删除它几乎没有什么区别。
尽管在大型网络中没有什么区别,但仍取决于网络体系结构。例如在 LSTM 中:
LSTM 的大多数应用程序只是用小的随机权重初始化 LSTM,这在许多问题上都很好。但是此初始化有效地将忘记门设置为0.5。这会导致消失的梯度(每时间步长为0.5),每当长期依赖性特别严重时,就会引起问题。通过简单地将遗忘门偏置初始化为较大的值(例如1或2)即可解决此问题。通过这样做,遗忘门将被初始化为接近1的值,从而实现梯度流动。

TA贡献1802条经验 获得超5个赞
在大多数网络中,在 conv 层之后都有一个 batchnorm 层,它有一个偏差。因此,如果您有一个 batchnorm 层,则没有任何收益。请参阅: 不能在卷积层中同时使用偏差和批量归一化
否则,从数学的角度来看,您正在学习不同的功能。但是,事实证明,特别是如果您有一个非常复杂的网络来解决一个简单的问题,则可能会在没有偏见的情况下实现几乎与有偏见相同的事情,而最终会使用更多的参数。根据我的经验,使用比所需参数多2到4倍的参数很少会损害深度学习的性能-特别是如果您进行正则化。因此,很难注意到任何差异。但是,您可能会尝试使用很少的通道(我认为网络的深度不如卷积的通道数重要)并查看偏差是否会产生影响。我猜是这样。
添加回答
举报