作者NMOSFET (NMOSFET)
看板DataScience
标题[问题] 模型收敛後,BatchNorm的gamma值太相似
时间Sun Apr 10 03:36:52 2022
问题类别: DL
问题内容: 模型收敛後,每层的BatchNorm gamma值分布太过集中
各位大大好,小的目前在实作网路剪枝相关演算法,
在训练完分类任务模型的时候,发现每层的 BatchNorm gamma 值都很相近,
所有的gamma值差异量都非常小,如下图:
https://imgur.com/a/f7cGrtL
可以看到大部分的值都落在 0.9 ~ 1.2 之间,
几乎没有趋近於 0 的 gamma 值,
上述结果与这篇论文
https://arxiv.org/abs/1708.06519
Learning Efficient Convolutional Networks Through Network Slimming
给出 gamma 值的分布图天差地别,如下图:
https://imgur.com/3CYPP21
论文中的 gamma 值呈现变异数较大的高斯分布,且趋近於0的系数较多,
想请问各位大大,为甚麽我的gamma值会这麽集中,且没有任何趋近於0的值?
是我哪里做错了吗? 还是这是正常现象?
以下是我用 pytorch 训练 CIFAR-10 的程式码:
模型:
https://pastebin.com/CQvyg88V
训练:
https://pastebin.com/18D4vdw7
印出模型 gamma 值:
https://pastebin.com/5QwvXFLC
恳请大大帮帮小弟解惑 , 感谢各位看完!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.255.176.78 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DataScience/M.1649533017.A.A47.html
※ 编辑: NMOSFET (111.255.176.78 台湾), 04/10/2022 03:37:38
※ 编辑: NMOSFET (111.255.176.78 台湾), 04/10/2022 03:38:18
※ 编辑: NMOSFET (111.255.176.78 台湾), 04/10/2022 06:11:22
1F:→ chang1248w: 是不是高斯分布先不谈,你有加L2 regularizer 吗 04/10 19:50
2F:→ chang1248w: 如果你的下一层还是linear的话,gamma可以忽略 04/10 19:51
3F:→ chang1248w: 也有可能人家後面接的不是relu,是gelu或者tanh之类 04/10 19:55
谢谢 c 大的回答,
有阿,没加和有加的版本都试过了,加了regularizer後gamma系数会向0靠近,但全部系数
都非常相似,只有0.1左右的差距,试了两个不同架构在不使用pretrain model的情况下,
train 出来的结果都是 gamma 系数非常相近(0.1左右的差距)。
论文中使用的是VGG架构,查了下vgg也是用relu,另外还去载了 EFficientNet-B0 的
pretrain model,它的BatchNorm gamma系数分布也跟上面论文一样,有正有负高斯分布
-1 ~ +4 范围,差异值都可以到整数项,如下图:
https://imgur.com/a/Xb2nIDY
我的疑惑是,要怎麽在从头开始训练网路的情况下(不用pretrain model),
才能让 gamma 系数彼此会有较大差异,现在是不管怎麽train,gamma系数都很相近
※ 编辑: NMOSFET (111.255.176.78 台湾), 04/11/2022 07:38:11
※ 编辑: NMOSFET (111.255.176.78 台湾), 04/11/2022 07:53:49
4F:→ chang1248w: 你把你的模型放大十倍试试 04/11 15:36
5F:→ chang1248w: vgg16也有个16层 04/11 15:36