起因
之前使用的是inception-v2模型,在v2中,标准的卷积模块为:
* conv_w_b->bn->relu ->pooling*
即,在v2中,尽管在卷积之后、激活函数之前大量使用batch normalization,但是卷积层依然使用可学习的偏置参数。
这也比较符合我的直观理解,因为偏置在一般的卷积神经网络中本来就是很重要的,可以让超判决面不过原点。
但是我在读inception-v3的代码时,发现v3中一个卷积模块中 bn和bias是不共存的,这令我很费解,这么重要的参数为什么没有?
解
后来想明白了,接下来是明白的过程:
首先,看bias的有无到底会不会对bn的结果造成影响?
bn操作的关键一步可以简写为:
好了。
那么为什么没有bias的卷积层能够对bn后的输入学习到很好的决策面呢?
当然啦,bn本身就是将数据归一化到标准分布的呀~
---------------------
作者:夕何
来源:CSDN
原文:https://blog.csdn.net/u010698086/article/details/78046671
版权声明:本文为博主原创文章,转载请附上博文链接!