deep-learning - 为什么在批归一化和激活之后我们不需要卷积层的偏差

标签 deep-learning conv-neural-network

如果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/

相关文章:

python - Pytorch - RuntimeError : Trying to backward through the graph a second time, 但缓冲区已被释放

python - tensorflow 不训练(只有偏见改变)

tensorflow - 为什么 Keras 模型仅使用 imagenet 权重进行实例化?

python - 具有可变输入大小的 tensorflow Conv 网络的 Keras

machine-learning - CNN 每个节点的范围更窄,因此每层的范围更大?

python - tf.layers.conv1d 与 tf.layers.conv2d 之间的区别

deep-learning - 如何恢复 NER 的 spacy transformer 训练

python - 异常: Output tensors to a Model must be Keras tensors

使用 keras 进行图像序列预测

python - 连接两个池化层的特征