首页 > 试题广场 >

BN层的作用,为什么要在后面加伽马和贝塔,不加可以吗

[问答题]

BN层的作用,为什么要在后面加伽马和贝塔,不加可以吗

BN可以认为是在每一层的输入和上一层的输出之间加入一个计算层,对数据的分布进行额外的约束,从而增强模型的泛化能力。但是BN同时也降低了模型的拟合能力,BN之后的输入分布被强制为均值为0标准差为1。以Sigmoid激活函数为例,BN之后的输入分布整体处于函数的非饱和区域,只包含线性变换,破坏了之前学习到的特征分布。为了恢复原始数据分布,所以引入了缩放和平移参数。仅用这两个参数就可以恢复最优的输入数据分布,与之前的网络层解耦,从而更加有利于优化的过程,提高模型的泛化能力。

发表于 2020-01-14 22:22:38 回复(0)
进行尺度缩放和偏移操作,这样可以换回原始的分布,实现恒等变换,这样的目的是为了补偿网络的非线性表达能力,因为经过标准化后,偏移量丢失。


发表于 2020-05-22 20:48:28 回复(0)
这个问题困扰了好久,如果说加beta和gamma是为了还原最初分布,那BN层加和不加不就完全一样了吗?我的理解是减均值除方差让每一层的均值方差都变成了0/1,加入beta和gamma为了增加非线性性。个人理解,可能是错的。
发表于 2020-01-03 10:10:19 回复(3)
使用beta(移位)和gamma(缩放)因子,将数据尽可能还原为最初的输入分布,提高模型的容纳能力。
发表于 2019-09-07 12:01:55 回复(0)
不加beta和gamma两个参数的话,那就破坏了数据的一些特征表达了。。。
发表于 2019-07-18 15:08:46 回复(0)