如果batchnorm之后存在一层,则由于batchnorm的输出是无偏的,因此我们不需要偏差项。好 但是,如果遵循以下顺序:
...-> batchnorm-> relu-> convlayer
比relu的输出未标准化。 为什么在最后一层中不包含偏差仍然很常见?答案 0 :(得分:2)
偏差的增加意味着总参数数量的增加,这在大型模型中可能是一件棘手的事情,并且可能影响收敛性和学习率。
“在大型模型中,删除偏置输入几乎没有什么区别,因为每个节点都可以使偏置节点超出其所有输入的平均激活,这根据大数定律是大致正常的。” / p>
RElu = max(0,x)本身会给模型增加非线性,因此在这一点上可能不需要一点偏差,尤其是在深层网络中。 进一步增加偏差还会影响模型输出的方差,还可能导致模型过度拟合。
阅读:Does bias in the convolutional layer really make a difference to the test accuracy?
这是http://neuralnetworksanddeeplearning.com/chap6.html#introducing_convolutional_networks