梯度手術-多任務學習優(yōu)化方法[NeurIPS 2020]

本文首發(fā)于公眾號“我AI”家淤,歡迎關注佳晶,共同進步抄瓦。

分享一篇NeurIPS 2020上關于多任務學習的論文坐求。

在之前的一篇文章《“一心多用”的方法——多任務學習》中蚕泽,對多任務學習(Multi-task Learning,MTL)的背景桥嗤、應用须妻、挑戰(zhàn)做了一些簡單的介紹。在文章末尾泛领,還提了我個人認為的待研究的方向:

針對這些挑戰(zhàn)荒吏,在多任務學習的領域中,可以從以下幾個研究方向考慮能做一些工作:

????1. 多任務網(wǎng)絡結(jié)構(gòu)設計

????2. 多任務損失函數(shù)設計

????3. 輔助學習(任務的篩選方法)

????4. 多任務網(wǎng)絡的訓練方法

今天分享的這一篇論文渊鞋,便是從第4點“多任務網(wǎng)絡的訓練方法”著手绰更,提出名為PCGrad的方法,在訓練多任務模型時锡宋,通過調(diào)整梯度儡湾,盡量降低任務之間的干擾。并且执俩,這一方法與模型無關:它可以與其他多任務網(wǎng)絡結(jié)構(gòu)相結(jié)合徐钠,進一步提升多任務學習的性能

圖源[1]

首先需要明確的是役首,在多任務網(wǎng)絡的訓練過程中尝丐,需要解決一些什么問題。

假設有下式中的兩個優(yōu)化任務衡奥,對應損失函數(shù)分別為L1和L2爹袁,θ對應模型的參數(shù)(在這個例子中做了簡化,只考慮兩個參數(shù)θ1和θ2)杰赛。對多任務學習而言呢簸,優(yōu)化目標是學習模型的參數(shù)θ,以最小化L(L1與L2的和)乏屯。

式源[1]

定義了這一簡化的問題后根时,下圖(a)可視化了這一多任務學習問題的目標空間(即L和(θ1, θ2)的關系),圖(b)和圖(c)分別為任務1和任務2的目標空間辰晕,即為圖(a)的拆解版蛤迎。其中,顏色越深的位置表示損失函數(shù)L越小含友。

圖源[1]

對于一個任務1+任務2的多任務問題替裆,其目標空間為下圖(d):最深顏色的一條線為兩個任務共有的目標最優(yōu)(損失最行1纭)區(qū)域。

圖源[1]?(d)中箭頭朝向表示梯度的方向辆童,箭頭長度表示梯度的大小

為了解決這一多任務的優(yōu)化問題宜咒,一個naive的做法是:使用經(jīng)典的優(yōu)化器,分別對兩個任務的損失函數(shù)進行梯度計算得到g1和g2把鉴,然后進行向量加法得到最終的梯度g (參見下面的Definition 4)故黑。

這一做法存在顯著的問題,在上圖(d)中兩個箭頭的起點處庭砍,進行梯度計算场晶,得到任務1梯度g1的紅色向量(在該點處任務1的目標空間比較陡峭(參見上圖b),故梯度大)和任務2的梯度g2的藍色向量(在該點處任務2的目標空間比較平緩(參見上圖c)怠缸,故梯度惺帷)。這兩個任務的梯度向量:

1. 數(shù)值相差巨大揭北;

2. 方向南轅北轍扳炬。

因此,簡單的對梯度進行向量加法雖然看似能夠整體上優(yōu)化損失函數(shù)搔体,但并不能達到多任務學習的優(yōu)勢鞠柄,因為上述問題可能帶來:

1. 減速訓練過程;

2. 帶來性能下降嫉柴,無法達到最優(yōu)點。

具體來說奉呛,可以將問題分解為:

1. 梯度沖突:不同任務梯度之間但更新方向不同计螺,定義上來說,當cosθ<0時瞧壮,兩個梯度存在沖突登馒;

圖源[1]

2. 存在主導梯度:兩個任務的梯度,雖然方向并不沖突咆槽,但其中一個梯度數(shù)值上遠大于另一個梯度陈轿,則較大梯度會形成主導從而影響較小梯度。文中定義一個梯度幅值相似度(gradient magnitude similarity)秦忿,用于衡量兩個梯度的大小差異麦射;

3. 高曲率:在高曲率的位置,主導任務的性能提升會被高估灯谣,其性能下降會被低估潜秋。

已有的一些改進方法,不能很好的解決上述的三個問題胎许,例如:對不同任務的損失函數(shù)增加權重(通過經(jīng)驗峻呛、或者通過Uncertainty的計算[2])罗售,但這只改變了梯度的數(shù)值差異。

這篇論文的作者提出的PCGrad (projecting conflicting gradients)方法钩述,同時處理數(shù)值和方向的差異寨躁。下圖(e)中,通過PCGrad與Adam的結(jié)合牙勘,能夠沿著空間中正確的優(yōu)化方向找到最小損失的點职恳。

圖源[1]

簡單來說,就是要處理沖突的梯度(下圖a)谜悟,將第i個任務的梯度投影到與第j個任務正交的方向(下圖b)话肖,或者相反(下圖c)。下圖d表示的是對不沖突的梯度葡幸,不做處理最筒。

圖源[1]

算法流程如下

1. 對一個batch中對每個任務Ti,隨機采樣一個其他任務Tj蔚叨,計算Ti和Tj對應梯度向量之間的余弦相似度床蜘;

2. 如果余弦相似度為正,表示梯度無沖突蔑水,不做梯度修改邢锯。若為負,表示是相互沖突的梯度搀别,根據(jù)下式計算投影丹擎;

3. 重復上述步驟,直到這一batch中的任務遍歷完成歇父;

4. 最終的梯度方向為蒂培,投影后的梯度向量之和。

圖源[1]?PCGrad的梯度更新流程

論文還提供了兩個定理及其詳細證明榜苫,論述了PCGrad方法的收斂性(定理一)以及其相較于標準梯度下降方法能達到更低誤差(定理二):

這里不講定理和證明部分护戳,分享一些我個人認為有意思的前提條件

1. 任務的損失函數(shù)是凸的且可微的,凸(convexity)對于神經(jīng)網(wǎng)絡方法來說雖然不滿足垂睬,但是很多用于神經(jīng)網(wǎng)絡的優(yōu)化方法也是基于凸的假設媳荒;

2. 定理2的(a)表示,兩個梯度的方向沖突不能太小驹饺,且兩個梯度的幅值差異要足夠大钳枕,否則可能影響收斂效果;

3. 定理2的(b)表示赏壹,多任務的曲率H有下界么伯,且曲率需要足夠大;

4. 定理2的(c)表示卡儒,學習的步長/學習率要足夠大田柔,并且這個值與曲率有關俐巴,曲率越大,步長也要越大硬爆。因此欣舵,在使用PCGrad方法時,需要設置較大的學習率缀磕。

雖然并不是說不滿足上述前提條件就一定不work了缘圈,但在一定程度上對于算法的應用效果能夠給予分析的參考。

最后袜蚕,來看一看實際的實驗效果糟把。作者在多個計算機視覺領域監(jiān)督學習數(shù)據(jù)集和機器人領域強化學習數(shù)據(jù)集上做了實驗,均取得了好的效果牲剃。具體可以查閱原文遣疯,這里摘錄一個在CityScapes和NYUv2數(shù)據(jù)集上的實驗結(jié)果:通過和其他多任務學習的方法(例如Cross-Stitch,?MTAN凿傅,Uncertainty)進行結(jié)合缠犀,能夠取得更好的性能。

表源[1]
表源[1]

總結(jié)一下

1. 代碼開源在[3]中聪舒;

2. 要說這一方法有什么明顯的缺點或者代價呢辨液,那就是會帶來額外的訓練時間和顯存占用

3. 但這一方法總體思路清晰(提出了優(yōu)化中的三個問題并針對性解決)箱残,實現(xiàn)簡單滔迈,并且模型無關,能夠與其他多任務方法共同使用被辑;

4. 類似的思路亡鼠,或許也可以用于其他領域,比如說持續(xù)學習敷待、或者多模態(tài)學習中。

參考資料:

[1]?Tianhe Yu, Saurabh Kumar, Abhishek Gupta, Sergey Levine, Karol Hausman, and Chelsea Finn. Gradient surgeryfor multi-task learning, 2020.

[2]?Alex Kendall, Yarin Gal, and Roberto Cipolla. Multi-task learning using uncertainty to weigh losses for scenegeometry and semantics, 2018.Al

[3]?https://github.com/tianheyu927/PCGrad

- END -

新朋友們可以看看我過往的相關文章?

【相關推薦閱讀】

“一心多用”的方法——多任務學習

多模態(tài):自動駕駛中的多模態(tài)學習

模式識別學科發(fā)展報告丨前言

深度學習在計算機視覺中應用的三大問題

從2018到2020的AI發(fā)展預測

本文首發(fā)于公眾號“我AI”仁热,歡迎關注榜揖,共同進步。
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抗蠢,一起剝皮案震驚了整個濱河市举哟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌迅矛,老刑警劉巖妨猩,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異秽褒,居然都是意外死亡壶硅,警方通過查閱死者的電腦和手機威兜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來庐椒,“玉大人椒舵,你說我怎么就攤上這事≡继福” “怎么了笔宿?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長棱诱。 經(jīng)常有香客問我泼橘,道長,這世上最難降的妖魔是什么迈勋? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任炬灭,我火速辦了婚禮,結(jié)果婚禮上粪躬,老公的妹妹穿的比我還像新娘担败。我一直安慰自己,他們只是感情好镰官,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布提前。 她就那樣靜靜地躺著,像睡著了一般泳唠。 火紅的嫁衣襯著肌膚如雪狈网。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天笨腥,我揣著相機與錄音拓哺,去河邊找鬼。 笑死脖母,一個胖子當著我的面吹牛士鸥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播谆级,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼烤礁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了肥照?” 一聲冷哼從身側(cè)響起脚仔,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎舆绎,沒想到半個月后鲤脏,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年猎醇,在試婚紗的時候發(fā)現(xiàn)自己被綠了窥突。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡姑食,死狀恐怖波岛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情音半,我是刑警寧澤则拷,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站曹鸠,受9級特大地震影響煌茬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜彻桃,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一坛善、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧邻眷,春花似錦眠屎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至驯镊,卻和暖如春葫督,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背板惑。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工橄镜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人冯乘。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓洽胶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親裆馒。 傳聞我的和親對象是個殘疾皇子姊氓,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容