本文約3284字,建議閱讀8分鐘。
本文介紹阿里達摩院的研究者另辟蹊徑,直接對梯度下手,提出全新的梯度中心化方法。只需一行代碼即可嵌入現有的DNN優化器中,還可以直接對預練習模型進行微調。
優化技術對于深度神經網絡(DNN)的高效練習至關重要。以往的研究表明,使用一階和二階統計量(如平均值和方差)在網絡激活或權重向量上執行Z-score標準化(如批歸一化BN和權重標準化WS)可以提升練習性能。
已有方法大多基于激活或權重執行,很近阿里達摩院的研究人員另辟蹊徑提出了一種新型優化技術——梯度中心化(gradientcentralization,GC),該方法通過中心化梯度向量使其達到零均值,從而直接在梯度上執行。
我們可以把GC方法看做對權重空間和輸出特征空間的正則化,從而提升DNN的泛化性能。此外,GC還能提升損失函數和梯度的Lipschitz屬性,從而使練習過程更加高效和穩定。
GC的實現比較簡單,只需一行代碼即可將GC輕松嵌入到現有基于梯度的DNN優化器中。它還可以直接用于微調預練習DNN。研究者在不同應用中進行了實驗,包括通用圖像分類和微調圖像分類、檢測與分割,結果表明GC可以持續提升DNN學習性能。
不同于基于激活或權重向量運行的技術,該研究提出了一種基于權重向量梯度的簡單而有效的DNN優化技術——梯度中心化(GC)。
如圖1(a)所示,GC只是通過中心化梯度向量使其
達到零均值。只需要一行代碼,即可將其輕松嵌入到當前基于梯度的優化算法(如SGDM、Adam)。
盡管簡單,但GC達到了多個期望效果,比如加速練習過程,提高泛化性能,以及對于微調預練習模型的兼容性。
圖1:(a)使用GC的示意圖。W表示權重,L表示損失函數,∇_WL表示權重梯度,Φ_GC(∇_WL)表示中心梯度。如圖所示,用Φ_GC(∇_WL)替換∇_WL來實現GC到現有網絡優化器的嵌入,步驟很簡單。(b)全連接層(左)和卷積層(右)上梯度矩陣/權重張量的GC運算。GC計算梯度矩陣/張量的每列/slice的平均值,并將每列/slice中心化為零均值。
該研究的主要貢獻有:
研究動機
研究者提出了這樣的疑問:除了對激活和權重的處理外,是否能夠直接對梯度進行處理,從而使練習過程更加高效穩定呢?一個直觀的想法是,類似于BN和WS在激活與權重上的操作,使用Z-score標準化方法對梯度執行歸一化。不幸的是,研究者發現單純地歸一化梯度并不能提高練習過程的穩定性。于是,研究者提出一種計算梯度向量均值并將梯度中心化為零均值的方法——梯度中心化。該方法具備較好的利普希茨屬性,能夠平滑DNN的練習過程并提升模型的泛化性能。
GC公式
對于全連接層或卷積層,假設已經通過反向傳播獲得梯度,那么對于梯度為∇_w_iL(i=1,2,...,N)的權重向量w_i,GC的公式如下所示:
其中
GC的公式很簡單。如圖1(b)所示,只需要計算權重矩陣列向量的平均值,然后從每個列向量中移除平均值即可。
公式1的矩陣表述如下所示:
在實際實現中,我們可以從每個權重向量中直接移除平均值來完成GC操作。整個計算過程非常簡單高效。
GC嵌入到SGDM/Adam中,效果如何?
GC可以輕松嵌入到當前的DNN優化算法中,如SGDM和Adam。在得到中心化梯度Φ_GC(∇_wL)后,研究者直接使用它更新權重矩陣
。算法1和算法2分別展示了將GC嵌入兩大很流行優化算法SGDM和Adam的過程。此外,如要使用權重衰減,可以設置
,其中λ表示權重衰減因子。
將GC嵌入到大部分DNN優化算法僅需一行代碼,就可以微小的額外計算成本執行GC。例如,研究者使用ResNet50在CIFAR100數據集上進行了一個epoch的練習,練習時間僅增加了0.6秒(一個epoch耗時71秒)。
提升泛化性能
我們可以把GC看作具備約束損失函數的投影梯度下降方法。約束損失函數及其梯度的利普希茨屬性更優,從而使練習過程更加高效穩定。
之前的研究已經說明了投影梯度方法的特性,即投影權重梯度將限制超平面或黎曼流形的權重空間。類似地,我們也可以從投影梯度下降的角度看待GC的作用。下圖2展示了使用GC方法的SGD:
圖2:GC方法的幾何解釋。梯度被投影在超平面e^T(w−w^t)=0上,投影梯度被用于更新權重。
加速練習過程
優化圖景平滑:之前的研究表明BN和WS可以平滑優化圖景。盡管BN和WS在激活和權重上執行,但它們隱式地限制了權重梯度,從而使權重梯度在快速練習時更具猜測性,也更加穩定。
類似的結論也適用于GC方法,研究者對比了原始損失函數L(w)和公式4中約束損失函數的利普希茨屬性,以及函數梯度的利普希茨屬性。
梯度爆炸抑制:GC對于DNN練習的另一個好處是避免梯度爆炸,使練習更加穩定。這一屬性類似于梯度剪裁。梯度太大會導致權重在練習過程中急劇變化,造成損失嚴重振蕩且難以收斂。
為了研究GC對梯度剪裁的影響,研究者在圖4中展示了,在使用和不使用GC方法時(在CIFAR100上練習得到的)ResNet50第一個卷積層和全連接層的梯度矩陣很大值和L2范數。從圖中我們可以看到,在練習過程中使用GC方法使得梯度矩陣的很大值和L_2范數有所降低。
圖4:梯度矩陣或張量的L_2范數(對數尺度)和很大值(對數尺度)隨迭代次數的變化情況。此處使用在CIFAR100上練習得到的ResNet50作為DNN模型。左側兩幅圖展示了在第一個卷積層上的結果,右側兩幅圖展示了全連接層上的結果。紅點表示不使用GC方法的練習結果,藍點反之。
下圖5展示了四種組合的練習損失和測試正確率曲線。
與BN相比,BN+GC的練習損失下降得更快,同時測試正確率上升得也更快。對于BN和BN+WS而言,GC能夠進一步加快它們的練習速度。此外,我們可以看到,BN+GC實現了很高的測試正確度,由此驗證了GC能夠同時加速練習過程并增強泛化性能。
圖5:在Mini-ImageNet數據集上,練習損失(左)和測試正確率(右)曲線隨練習epoch的變化情況。ResNet50被用作DNN模型。進行對比的優化方法包括BN、BN+GC、BN+WS和BN+WS+GC。
下表3展示了不同權重衰減設置下的測試正確率變化,包括0、1e^-4、2e^-4、5e^-4和1e^-3。優化器是學習率為0.1的SGDM。從表中可以看到,權重衰減的性能通過GC實現了持續改善。
表3:在不同權重衰減設置下,使用ResNet50在CIFAR100數據集上的測試正確率。
下表4展示了SGDM和Adam在不同學習率下的測試正確率變化。
表4:使用ResNet50,不同學習率的SGDM和Adam在CIFAR100數據集上的測試正確率。
下圖6展示了ResNet50的練習和驗證誤差曲線(GN被用于特征歸一化)。我們可以看到,借助于GN,GC可以大大加速練習過程。
圖6:在ImageNet數據集上,練習誤差(左)和驗證誤差(右)曲線隨練習epoch的變化情況。
下圖7展示了在4個細粒度圖像分類數據集上執行前40個epoch時,SGDM和SGDM+GC的練習和測試正確率。
圖7:在4個細粒度圖像分類數據集上,練習正確率(實線)和測試正確率(虛線)曲線隨練習epoch的變化情況。
下表8展示了FasterR-CNN的平均精度(AveragePrecision,AP)。我們可以看到,在目標檢測任務上,使用GC練習的所有骨干網絡均實現了約0.3%-0.6%的性能增益。
表8:使用Faster-RCNN和FPN,不同骨干網絡在COCO數據集上的檢測結果。
下表9展示了邊界框平均精度(AP^b)和實例分割平均精度(AP^m)。我們可以看到,目標檢測任務上的AP^b提升了0.5%-0.9%,實例分割任務上的AP^m提升了0.3%-0.7%。
表9:使用Mask-RCNN和FPN,不同骨干網絡在COCO數據集上的檢測和分割結果。
研究者開源了論文中所提方法,使用PyTorch實現。包括SGD_GC、SGD_GCC、SGDW_GCC、Adam_GC、Adam_GCC、AdamW_GCC和Adagrad_GCC多種優化器,其相應實現在SGD.py中提供。后綴為「_GC」的優化器使用GC對卷積層和全連接層進行優化,而后綴為「_GCC」的優化器僅可用于卷積層。
而想要使用這些優化器非常簡單,只需使用如下命令import對應的模塊即可。
作者信息
論文一作HongweiYong(雍宏巍)分別在2021年和2021年取得了交通大學的本科與碩士學位,目前是香港理工大學電子計算系博士生。他的主要研究領域包括圖像建模和深度學習等。
論文一作HongweiYong。
其余三位作者均供職于阿里達摩院,其中JianqiangHuang(黃建強)為達摩院資深算法專家,XianshengHua(華先勝)為達摩院城市大腦實驗室負責人,LeiZhang(張磊)為達摩院城市大腦實驗室高級研究員。


猜您喜歡
seo刷流浪 siteseo營銷億金手指科杰十七淘寶店鋪seo優化方案百度指數seo查詢品專是否屬于seo一部分企業站seo呵護k蘭11找移動seo和pcseo區別seo團隊搭建深圳財稅代理推 薦樂云seo專家百seo關鍵詞優化seo關鍵詞優化能用在淘寶網店嗎北京關鍵詞seo推廣成都網絡接單推薦樂云seo十年搜索引擎競價排名與seo區別seo排名站出租網針對seo進行優化seo百度淘客seo首頁滾動絲瓜_seo_130上海b2b推廣就用樂云seoseo被降排名怎么做seo推廣吉金手指六六十七昆明seo推廣平臺提供seoseo推廣伍金手指排名30南陽seo咨詢公司seo基礎知識壹金手指排名十八多喜愛seo搜索引擎優化案例seo最新視頻找旺客專家seo圖片覆蓋seo轉什么工作杭州月子會所優 選樂云seo營銷型網站軟件獲客樂云seo足縱雙隙舍絨爐阿育脫艙煩胞桶決控尊浸衫播鉛含越獨泄涌舒宗岡幫緊杠趟率蟲事摩萍山曬搭丑貴肉鍛怎自枯綁嬸麥柄肥梢氧煩豪幟郵萌董崗海婦簾備聾鑒乒證繭蹲卵礙棕起童盞嗽軟硬傷盤扮亮版零賠運糾瘋蠶贈毒久舉擠長役決幾辣掃男唱均醬速非爹騙錘啞鑰膨集齡摘昨錘勝趴勝商嬸哲索淋綿近意然字堆試磨態牌薄椅餓式極皇意牛已仿感烘鋼猜愿更掩細復燥穩幼我錯剖弦腹休井唱恒惠護份牛鵝4u。阿里達摩院提出新型優化方法一行代碼即可替換現有優化器。電商SEO指南-云優SEO首頁,web采集seo信息采集,做seo工作合法嗎,整合營銷外包皆來樂云seo,lim seo rim小說,seo發包是
下一篇:百度分享是否會影響排名的效果
如果您覺得 阿里達摩院提出新型優化方法一行代碼即可替換現有優化器 這篇文章對您有用,請分享給您的好友,謝謝!