自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

直接對梯度下手,阿里達(dá)摩院提出新型優(yōu)化方法,一行代碼即可替換現(xiàn)有優(yōu)化器

新聞 人工智能
優(yōu)化技術(shù)何其多也!比如批歸一化、權(quán)重標(biāo)準(zhǔn)化……但現(xiàn)有的優(yōu)化方法大多基于激活或權(quán)重執(zhí)行,最近阿里達(dá)摩院的研究者另辟蹊徑,直接對梯度下手,提出全新的梯度中心化方法。

優(yōu)化技術(shù)何其多也!比如批歸一化、權(quán)重標(biāo)準(zhǔn)化……但現(xiàn)有的優(yōu)化方法大多基于激活或權(quán)重執(zhí)行,最近阿里達(dá)摩院的研究者另辟蹊徑,直接對梯度下手,提出全新的梯度中心化方法。只需一行代碼即可嵌入現(xiàn)有的 DNN 優(yōu)化器中,還可以直接對預(yù)訓(xùn)練模型進(jìn)行微調(diào)。

優(yōu)化技術(shù)對于深度神經(jīng)網(wǎng)絡(luò) (DNN) 的高效訓(xùn)練至關(guān)重要。以往的研究表明,使用一階和二階統(tǒng)計量(如平均值和方差)在網(wǎng)絡(luò)激活或權(quán)重向量上執(zhí)行 Z-score 標(biāo)準(zhǔn)化(如批歸一化 BN 和權(quán)重標(biāo)準(zhǔn)化 WS)可以提升訓(xùn)練性能。

已有方法大多基于激活或權(quán)重執(zhí)行,最近阿里達(dá)摩院的研究人員另辟蹊徑提出了一種新型優(yōu)化技術(shù)——梯度中心化(gradient centralization,GC),該方法通過中心化梯度向量使其達(dá)到零均值,從而直接在梯度上執(zhí)行。

我們可以把 GC 方法看做對權(quán)重空間和輸出特征空間的正則化,從而提升 DNN 的泛化性能。此外,GC 還能提升損失函數(shù)和梯度的 Lipschitz 屬性,從而使訓(xùn)練過程更加高效和穩(wěn)定。

GC 的實現(xiàn)比較簡單,只需一行代碼即可將 GC 輕松嵌入到現(xiàn)有基于梯度的 DNN 優(yōu)化器中。它還可以直接用于微調(diào)預(yù)訓(xùn)練 DNN。研究者在不同應(yīng)用中進(jìn)行了實驗,包括通用圖像分類和微調(diào)圖像分類、檢測與分割,結(jié)果表明 GC 可以持續(xù)提升 DNN 學(xué)習(xí)性能。

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

  • 論文地址:https://arxiv.org/pdf/2004.01461.pdf
  • 項目地址:https://github.com/Yonghongwei/Gradient-Centralization

不同于基于激活或權(quán)重向量運行的技術(shù),該研究提出了一種基于權(quán)重向量梯度的簡單而有效的 DNN 優(yōu)化技術(shù)——梯度中心化(GC)。

如圖 1(a) 所示,GC 只是通過中心化梯度向量使其達(dá)到零均值。只需要一行代碼,即可將其輕松嵌入到當(dāng)前基于梯度的優(yōu)化算法(如 SGDM、Adam)。

盡管簡單,但 GC 達(dá)到了多個期望效果,比如加速訓(xùn)練過程,提高泛化性能,以及對于微調(diào)預(yù)訓(xùn)練模型的兼容性。

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

圖 1:(a) 使用 GC 的示意圖。W 表示權(quán)重,L 表示損失函數(shù),∇_WL 表示權(quán)重梯度,Φ_GC(∇_WL) 表示中心梯度。如圖所示,用 Φ_GC(∇_WL) 替換 ∇_WL 來實現(xiàn) GC 到現(xiàn)有網(wǎng)絡(luò)優(yōu)化器的嵌入,步驟很簡單。(b) 全連接層(左)和卷積層(右)上梯度矩陣/權(quán)重張量的 GC 運算。GC 計算梯度矩陣/張量的每列/slice 的平均值,并將每列/slice 中心化為零均值。

研究貢獻(xiàn)

該研究的主要貢獻(xiàn)有:

  • 提出了一種通用網(wǎng)絡(luò)優(yōu)化技術(shù)——梯度中心化(GC),GC 不僅能夠平滑和加速 DNN 的訓(xùn)練過程,還可以提升模型的泛化性能。
  • 分析了 GC 的理論性質(zhì),指出 GC 通過對權(quán)重向量引入新的約束來約束損失函數(shù),該過程對權(quán)重空間和輸出特征空間進(jìn)行了正則化,從而提升了模型的泛化性能。此外,約束損失函數(shù)比原始損失函數(shù)具備更好的利普希茨屬性,使得訓(xùn)練過程更加穩(wěn)定高效。

梯度中心化

研究動機(jī)

研究者提出了這樣的疑問:除了對激活和權(quán)重的處理外,是否能夠直接對梯度進(jìn)行處理,從而使訓(xùn)練過程更加高效穩(wěn)定呢?一個直觀的想法是,類似于 BN 和 WS 在激活與權(quán)重上的操作,使用 Z-score 標(biāo)準(zhǔn)化方法對梯度執(zhí)行歸一化。不幸的是,研究者發(fā)現(xiàn)單純地歸一化梯度并不能提高訓(xùn)練過程的穩(wěn)定性。于是,研究者提出一種計算梯度向量均值并將梯度中心化為零均值的方法——梯度中心化。該方法具備較好的利普希茨屬性,能夠平滑 DNN 的訓(xùn)練過程并提升模型的泛化性能。

GC 公式

對于全連接層或卷積層,假設(shè)已經(jīng)通過反向傳播獲得梯度,那么對于梯度為 ∇_w_i L (i = 1, 2, ..., N ) 的權(quán)重向量 w_i,GC 的公式如下所示:

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

其中

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

GC 的公式很簡單。如圖 1(b) 所示,只需要計算權(quán)重矩陣列向量的平均值,然后從每個列向量中移除平均值即可。

公式 1 的矩陣表述如下所示:

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

在實際實現(xiàn)中,我們可以從每個權(quán)重向量中直接移除平均值來完成 GC 操作。整個計算過程非常簡單高效。

GC 嵌入到 SGDM/Adam 中,效果如何?

GC 可以輕松嵌入到當(dāng)前的 DNN 優(yōu)化算法中,如 SGDM 和 Adam。在得到中心化梯度 Φ_GC(∇_wL) 后,研究者直接使用它更新權(quán)重矩陣。算法 1 和算法 2 分別展示了將 GC 嵌入兩大最流行優(yōu)化算法 SGDM 和 Adam 的過程。此外,如要使用權(quán)重衰減,可以設(shè)置

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

,其中 λ 表示權(quán)重衰減因子。

將 GC 嵌入到大部分 DNN 優(yōu)化算法僅需一行代碼,就可以微小的額外計算成本執(zhí)行 GC。例如,研究者使用 ResNet50 在 CIFAR100 數(shù)據(jù)集上進(jìn)行了一個 epoch 的訓(xùn)練,訓(xùn)練時間僅增加了 0.6 秒(一個 epoch 耗時 71 秒)。

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

GC 的特性

提升泛化性能

我們可以把 GC 看作具備約束損失函數(shù)的投影梯度下降方法。約束損失函數(shù)及其梯度的利普希茨屬性更優(yōu),從而使訓(xùn)練過程更加高效穩(wěn)定。

之前的研究已經(jīng)說明了投影梯度方法的特性,即投影權(quán)重梯度將限制超平面或黎曼流形的權(quán)重空間。類似地,我們也可以從投影梯度下降的角度看待 GC 的作用。下圖 2 展示了使用 GC 方法的 SGD:

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

圖 2:GC 方法的幾何解釋。梯度被投影在超平面 e^T (w − w^t) = 0 上,投影梯度被用于更新權(quán)重。

加速訓(xùn)練過程

優(yōu)化圖景平滑:之前的研究表明 BN 和 WS 可以平滑優(yōu)化圖景。盡管 BN 和 WS 在激活和權(quán)重上執(zhí)行,但它們隱式地限制了權(quán)重梯度,從而使權(quán)重梯度在快速訓(xùn)練時更具預(yù)測性,也更加穩(wěn)定。

類似的結(jié)論也適用于 GC 方法,研究者對比了原始損失函數(shù) L(w) 和公式 4 中約束損失函數(shù)的利普希茨屬性,以及函數(shù)梯度的利普希茨屬性。

梯度爆炸抑制:GC 對于 DNN 訓(xùn)練的另一個好處是避免梯度爆炸,使訓(xùn)練更加穩(wěn)定。這一屬性類似于梯度剪裁。梯度太大會導(dǎo)致權(quán)重在訓(xùn)練過程中急劇變化,造成損失嚴(yán)重振蕩且難以收斂。

為了研究 GC 對梯度剪裁的影響,研究者在圖 4 中展示了,在使用和不使用 GC 方法時(在 CIFAR100 上訓(xùn)練得到的)ResNet50 第一個卷積層和全連接層的梯度矩陣最大值和 L2 范數(shù)。從圖中我們可以看到,在訓(xùn)練過程中使用 GC 方法使得梯度矩陣的最大值和 L_2 范數(shù)有所降低。

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

圖 4:梯度矩陣或張量的 L_2 范數(shù)(對數(shù)尺度)和最大值(對數(shù)尺度)隨迭代次數(shù)的變化情況。此處使用在 CIFAR100 上訓(xùn)練得到的 ResNet50 作為 DNN 模型。左側(cè)兩幅圖展示了在第一個卷積層上的結(jié)果,右側(cè)兩幅圖展示了全連接層上的結(jié)果。紅點表示不使用 GC 方法的訓(xùn)練結(jié)果,藍(lán)點反之。

實驗結(jié)果

下圖 5 展示了四種組合的訓(xùn)練損失和測試準(zhǔn)確率曲線。

與 BN 相比,BN+GC 的訓(xùn)練損失下降得更快,同時測試準(zhǔn)確率上升得也更快。對于 BN 和 BN+WS 而言,GC 能夠進(jìn)一步加快它們的訓(xùn)練速度。此外,我們可以看到,BN+GC 實現(xiàn)了最高的測試準(zhǔn)確度,由此驗證了 GC 能夠同時加速訓(xùn)練過程并增強(qiáng)泛化性能。

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

圖 5:在 Mini-ImageNet 數(shù)據(jù)集上,訓(xùn)練損失(左)和測試準(zhǔn)確率(右)曲線隨訓(xùn)練 epoch 的變化情況。ResNet50 被用作 DNN 模型。進(jìn)行對比的優(yōu)化方法包括 BN、BN+GC、BN+WS 和 BN+WS+GC。

下表 3 展示了不同權(quán)重衰減設(shè)置下的測試準(zhǔn)確率變化,包括 0、1e^-4、2e^-4、5e^-4 和 1e^-3。優(yōu)化器是學(xué)習(xí)率為 0.1 的 SGDM。從表中可以看到,權(quán)重衰減的性能通過 GC 實現(xiàn)了持續(xù)改善。

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

表 3:在不同權(quán)重衰減設(shè)置下,使用 ResNet50 在 CIFAR100 數(shù)據(jù)集上的測試準(zhǔn)確率。

下表 4 展示了 SGDM 和 Adam 在不同學(xué)習(xí)率下的測試準(zhǔn)確率變化。

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

表 4:使用 ResNet50,不同學(xué)習(xí)率的 SGDM 和 Adam 在 CIFAR100 數(shù)據(jù)集上的測試準(zhǔn)確率。

下圖 6 展示了 ResNet50 的訓(xùn)練和驗證誤差曲線(GN 被用于特征歸一化)。我們可以看到,借助于 GN,GC 可以大大加速訓(xùn)練過程。

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

圖 6:在 ImageNet 數(shù)據(jù)集上,訓(xùn)練誤差(左)和驗證誤差(右)曲線隨訓(xùn)練 epoch 的變化情況。

下圖 7 展示了在 4 個細(xì)粒度圖像分類數(shù)據(jù)集上執(zhí)行前 40 個 epoch 時,SGDM 和 SGDM+GC 的訓(xùn)練和測試準(zhǔn)確率。

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

圖 7:在 4 個細(xì)粒度圖像分類數(shù)據(jù)集上,訓(xùn)練準(zhǔn)確率(實線)和測試準(zhǔn)確率(虛線)曲線隨訓(xùn)練 epoch 的變化情況。

下表 8 展示了 Faster R-CNN 的平均精度(Average Precision,AP)。我們可以看到,在目標(biāo)檢測任務(wù)上,使用 GC 訓(xùn)練的所有骨干網(wǎng)絡(luò)均實現(xiàn)了約 0.3%-0.6% 的性能增益。

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

表 8:使用 Faster-RCNN 和 FPN,不同骨干網(wǎng)絡(luò)在 COCO 數(shù)據(jù)集上的檢測結(jié)果。

下表 9 展示了邊界框平均精度(AP^b)和實例分割平均精度(AP^m)。我們可以看到,目標(biāo)檢測任務(wù)上的 AP^b 提升了 0.5%-0.9%,實例分割任務(wù)上的 AP^m 提升了 0.3%-0.7%。

直接对梯度下手,阿里达摩院提出新型优化方法,一行代码即可替换现有优化器

表 9:使用 Mask-RCNN 和 FPN,不同骨干網(wǎng)絡(luò)在 COCO 數(shù)據(jù)集上的檢測和分割結(jié)果。

使用方法

研究者開源了論文中所提方法,使用 PyTorch 實現(xiàn)。包括 SGD_GC、SGD_GCC、SGDW_GCC、Adam_GC、Adam_GCC、AdamW_GCC 和 Adagrad_GCC 多種優(yōu)化器,其相應(yīng)實現(xiàn)在 SGD.py 中提供。后綴為「_GC」的優(yōu)化器使用 GC 對卷積層和全連接層進(jìn)行優(yōu)化,而后綴為「_GCC」的優(yōu)化器僅可用于卷積層。

而想要使用這些優(yōu)化器非常簡單,只需使用如下命令 import 對應(yīng)的模塊即可。

  1. from SGD import SGD_GC  

作者信息

論文一作 Hongwei Yong(雍宏?。┓謩e在 2013 年和 2016 年取得了西安交通大學(xué)的本科與碩士學(xué)位,目前是香港理工大學(xué)電子計算系博士生。他的主要研究領(lǐng)域包括圖像建模和深度學(xué)習(xí)等。

[[321808]]

論文一作 Hongwei Yong。

其余三位作者均供職于阿里達(dá)摩院,其中 Jianqiang Huang(黃建強(qiáng))為達(dá)摩院資深算法專家,Xiansheng Hua(華先勝)為達(dá)摩院城市大腦實驗室負(fù)責(zé)人,Lei Zhang(張磊)為達(dá)摩院城市大腦實驗室高級研究員。

 

責(zé)任編輯:張燕妮 來源: 機(jī)器之心
相關(guān)推薦

2022-07-12 14:45:54

達(dá)摩院模型

2020-07-15 09:40:37

代碼Python瀏覽記錄

2022-04-22 11:22:47

達(dá)摩院阿里巴巴

2022-04-12 14:36:58

達(dá)摩院訓(xùn)練模型

2023-05-30 10:23:45

模型研究

2023-08-09 17:35:11

開源模型

2022-08-25 06:42:00

飛書GCD 隊列啟動優(yōu)化

2018-07-20 14:58:16

深度學(xué)習(xí)梯度下降損失函數(shù)

2016-12-02 08:53:18

Python一行代碼

2022-08-10 11:31:34

阿里達(dá)摩院虛擬電廠

2020-12-29 09:36:57

科技趨勢阿里

2020-01-02 11:19:55

阿里巴巴2020科技趨勢5G

2020-02-28 15:27:31

代碼開發(fā)工具

2018-06-07 10:34:22

開源DFSMN語音識別

2022-08-17 10:39:44

AI阿里達(dá)摩院文檔智能

2020-06-09 10:15:21

模型人工智能自然語言

2016-11-28 09:24:08

Python內(nèi)存技巧

2021-12-26 12:10:21

React組件前端

2023-04-28 15:24:06

模型研究

2021-02-22 17:18:35

MySQLSQL行鎖
點贊
收藏

51CTO技術(shù)棧公眾號