如果batchnorm之后有一层,那么我们不需要偏差项,因为batchnorm的输出是无偏的。好的 但如果层的顺序如下:
... -> batchnorm -> relu -> 卷积层
relu 的输出未标准化。 为什么在最后一层中不包含偏差仍然很常见?
最佳答案
添加偏差意味着总参数数量的增加,这在大型模型中可能是一件棘手的事情,并且会影响收敛和学习率。
“在大型模型中,删除偏置输入几乎没有什么区别,因为每个节点都可以通过其所有输入的平均激活来生成偏置节点,根据大数定律,这将大致是正常的。”
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
关于deep-learning - 为什么在批归一化和激活之后我们不需要卷积层的偏差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56544217/