[問題] 模型收斂後,BatchNorm的gamma值太相似

看板DataScience作者 (NMOSFET)時間2年前 (2022/04/10 03:36), 2年前編輯推噓0(005)
留言5則, 1人參與, 2年前最新討論串1/1
問題類別: 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://www.ptt.cc/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

04/10 19:50, 2年前 , 1F
是不是高斯分佈先不談,你有加L2 regularizer 嗎
04/10 19:50, 1F

04/10 19:51, 2年前 , 2F
如果你的下一層還是linear的話,gamma可以忽略
04/10 19:51, 2F

04/10 19:55, 2年前 , 3F
也有可能人家後面接的不是relu,是gelu或者tanh之類
04/10 19:55, 3F
謝謝 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

04/11 15:36, 2年前 , 4F
你把你的模型放大十倍試試
04/11 15:36, 4F

04/11 15:36, 2年前 , 5F
vgg16也有個16層
04/11 15:36, 5F
文章代碼(AID): #1YKU1Pf7 (DataScience)