为了账号安全,请及时绑定邮箱和手机立即绑定

卷积层中的偏差真的会影响测试精度吗?

卷积层中的偏差真的会影响测试精度吗?

繁星淼淼 2021-05-30 12:08:53
我知道在小型网络中需要偏置来改变激活函数。但是,对于具有多个CNN层,池化,丢失和其他非线性激活的Deep网络而言,Bias是否真的有所作为? 卷积滤波器正在学习局部特征,并且对于给定的 conv 输出通道使用相同的偏差。这不是对这个链接的欺骗。上面的链接仅说明了偏差在小型神经网络中的作用,并未尝试说明偏差在包含多个CNN层,辍学,合并和非线性激活函数的深层网络中的作用。我进行了一个简单的实验,结果表明从 conv 层去除偏差对最终测试精度没有影响。 训练了两个模型,测试准确率几乎相同(没有偏差的一个稍微好一点。)model_with_bias,model_without_bias(在conv层中没有添加偏差)它们是否仅用于历史原因?如果使用偏差不能提高准确性,我们不应该忽略它们吗?要学习的参数更少。如果有人比我有更深的知识,可以解释深层网络中这些偏见的重要性(如果有的话),我将不胜感激。输出:已初始化测试精度(有偏差):90.5%测试准确率(无偏差):90.6%
查看完整描述

2 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

通过学习算法(例如梯度下降),可以将偏差与权重一起进行调整。偏差与权重的不同之处在于它们独立于先前各层的输出。从概念上讲,偏差是由来自固定激活值为1的神经元的输入引起的,因此可以通过减去增量值和学习率的乘积来更新偏差。

在大型模型中,去除偏置输入几乎没有什么区别,因为每个节点都可以从其所有输入的平均激活中生成偏置节点,根据大数定律,这将是大致正常的。在第一层,发生这种情况的能力取决于您的输入分布。例如,对于MNIST,输入的平均激活大致恒定。在小型网络上,您当然需要一个偏置输入,但是在大型网络上,删除它几乎没有什么区别

尽管在大型网络中没有什么区别,但仍取决于网络体系结构。例如在 LSTM 中:

LSTM 的大多数应用程序只是用小的随机权重初始化 LSTM,这在许多问题上都很好。但是此初始化有效地将忘记门设置为0.5。这会导致消失的梯度(每时间步长为0.5),每当长期依赖性特别严重时,就会引起问题。通过简单地将遗忘门偏置初始化为较大的值(例如1或2)即可解决此问题。通过这样做,遗忘门将被初始化为接近1的值,从而实现梯度流动。


查看完整回答
反对 回复 2021-06-01
?
慕后森

TA贡献1802条经验 获得超5个赞

在大多数网络中,在 conv 层之后都有一个 batchnorm 层,它有一个偏差。因此,如果您有一个 batchnorm 层,则没有任何收益。请参阅: 不能在卷积层中同时使用偏差和批量归一化

否则,从数学的角度来看,您正在学习不同的功能。但是,事实证明,特别是如果您有一个非常复杂的网络来解决一个简单的问题,则可能会在没有偏见的情况下实现几乎与有偏见相同的事情,而最终会使用更多的参数。根据我的经验,使用比所需参数多2到4倍的参数很少会损害深度学习的性能-特别是如果您进行正则化。因此,很难注意到任何差异。但是,您可能会尝试使用很少的通道(我认为网络的深度不如卷积的通道数重要)并查看偏差是否会产生影响。我猜是这样。


查看完整回答
反对 回复 2021-06-01
  • 2 回答
  • 0 关注
  • 522 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号