CMU提出「十字绣网络」,自动决定多任务学习的最佳共享层
在碎片化閱讀充斥眼球的時代,越來越少的人會去關(guān)注每篇論文背后的探索和思考。
在這個欄目里,你會快速 get 每篇精選論文的亮點和痛點,時刻緊跟 AI 前沿成果。
點擊本文底部的「閱讀原文」即刻加入社區(qū),查看更多最新論文推薦。
這是 PaperDaily 的第?77?篇文章本期推薦的論文筆記來自 PaperWeekly 社區(qū)用戶 @Cratial。多任務(wù)學(xué)習(xí)是機器學(xué)習(xí)的重要組成部分,但是對于應(yīng)用深度學(xué)習(xí)進行多任務(wù)學(xué)習(xí)時會遇到一個棘手的問題,那就是我們該如何確定網(wǎng)絡(luò)的共享部分。針對不同的任務(wù),其最佳共享層往往不同。
此外,針對不同的多任務(wù)學(xué)習(xí),我們需要根據(jù)任務(wù)需求設(shè)計不同的共享層,并沒有統(tǒng)一的標(biāo)準(zhǔn)。因此,本文針對這一問題設(shè)計了“十字繡”單元,通過端對端的學(xué)習(xí)來自動決定共享層。
如果你對本文工作感興趣,點擊底部閱讀原文即可查看原論文。
關(guān)于作者:吳仕超,東北大學(xué)碩士生,研究方向為腦機接口、駕駛疲勞檢測和機器學(xué)習(xí)。
■?論文 | Cross-stitch Networks for Multi-task Learning
■ 鏈接 | https://www.paperweekly.site/papers/1969
■ 作者 | Ishan Misra / Abhinav Shrivastava / Abhinav Gupta / Martial Hebert
引出主題
多任務(wù)學(xué)習(xí)是機器學(xué)習(xí)的重要組成部分,但是在應(yīng)用深度學(xué)習(xí)進行多任務(wù)學(xué)習(xí)時會遇到一個棘手的問題,那就是我們該如何確定網(wǎng)絡(luò)的共享部分。針對不同的任務(wù),其最佳共享層往往不同。?
本文使用 AlexNet 網(wǎng)絡(luò)分別進行圖像檢測、圖像屬性生成及圖像語義分割、圖像平面法向量生成(Surface Normal)等多任務(wù)學(xué)習(xí)。針對兩個任務(wù),作者分別從 fc8 層進行共享,一直測試到兩者完全不進行共享的為止。
▲?圖1
實驗結(jié)果如圖 1 所示,其中,圖 1(b)是不同共享層完全獨立時的效果對比,可以看出對于任務(wù)一來說,共享部分在 conv4 時所能達到的效果,針對于任務(wù)二來說,在 fc7 層的效果最好。
此外,針對不同的多任務(wù)學(xué)習(xí),我們需要根據(jù)任務(wù)需求設(shè)計不同的共享層,并沒有統(tǒng)一的標(biāo)準(zhǔn)。因此,本文針對這一問題設(shè)計了“十字繡”單元,通過端對端的學(xué)習(xí)來自動決定共享層。
“十字繡”單元與網(wǎng)絡(luò)設(shè)計
Cross-stitch Unit
本文的核心就在這里,設(shè)計“十字繡”單元的思想如圖 2 所示,通過在兩個網(wǎng)絡(luò)的特征層之間增加“十字繡”單元可以使網(wǎng)絡(luò)自動學(xué)習(xí)到需要共享的特征。
▲?圖2
其中的“十字繡”單元就是一個系數(shù)矩陣。其表達式如式(1)所示。
針對這個“十字繡”單元如何進行端對端學(xué)習(xí)呢?作者給了具體的計算公式:
在下文中,為了方便,將 αAB 及 αBA 統(tǒng)稱為 αD 表示不同任務(wù)的權(quán)重值,αAA 及 αBB 統(tǒng)稱為 αS 表示相同任務(wù)的權(quán)重值。
“十字繡”網(wǎng)絡(luò)設(shè)計?
圖 3 是作者通過對網(wǎng)絡(luò)添加“十字繡”單元設(shè)計的網(wǎng)絡(luò)。
▲?圖3
網(wǎng)絡(luò)設(shè)計好之后,作者又針對網(wǎng)絡(luò)提出了以下幾個問題:?
1. 如何對“十字繡”單元進行初始化,及如何設(shè)置“十字繡”單元的學(xué)習(xí)速率??
作者認為初始值設(shè)置應(yīng)該在 [0,1] 之間,此外,作者還針對初始值及學(xué)習(xí)速率的設(shè)計進行了實驗,以決定如何對兩者進行設(shè)計能夠達到最優(yōu)效果。
2. 如何對網(wǎng)絡(luò) A 和 B 進行初始化?
如何對 A、B 進行初始化呢?作者提出了兩種方案,第一種就是網(wǎng)絡(luò)全用由 ImageNet 訓(xùn)練出的參數(shù)進行初始化,然后對整個“十字繡”網(wǎng)絡(luò)進行訓(xùn)練。第二種是針對一種任務(wù)在網(wǎng)絡(luò)上進行微調(diào),然后再添加“十字繡”單元,并對網(wǎng)絡(luò)進行訓(xùn)練。?
參數(shù)選取?
針對 2.2 中提到的兩個問題,作者分別嘗試了不同的策略來對參數(shù)進行選擇。實驗結(jié)果如表 1 所示:
▲?表1
在對“十字繡”單元進行訓(xùn)練時作者發(fā)現(xiàn),用來更新網(wǎng)絡(luò)參數(shù)的學(xué)習(xí)速率相對于“十字繡”單元而言太小了,以至于無法得到好的效果,實驗結(jié)果如表 2 所示:
▲?表2
關(guān)于如何對網(wǎng)絡(luò) A、B 進行初始化,作者同樣進行了實驗,實驗結(jié)果如表 3 所示:
▲?表3
表 4 展示了在 αD 及 αS 取不同的初始值時,最終網(wǎng)絡(luò)各層各個通道的 αD 及 αS 的值的分布情況。其中 αD 越大說明共享程度越大,αS 越大,說明特征的特殊性越強。
▲?表4
實驗及結(jié)果分析
為驗證本文算法的有效性,作者分別在 NYU-v2 數(shù)據(jù)集進行了圖像語義分割及圖片平面法向量生成實驗,在 PASCAL VOC 2008 數(shù)據(jù)集上進行了物體檢測和屬性預(yù)測實驗。?
作者分別針對單任務(wù)網(wǎng)絡(luò)、結(jié)合兩個單任務(wù)的網(wǎng)絡(luò)(文中稱為“ensemble”)、多任務(wù)網(wǎng)絡(luò)(如圖 1 中那樣嘗試在各個特征層共享特征)進行了實驗。平面法向量生成及圖像語義分割的實驗結(jié)果如表 5 所示:
▲?表5
從表 5 可以看出,使用“十字繡”單元的網(wǎng)絡(luò)均能在兩個任務(wù)上得到較好的結(jié)果。此外,作者分析在圖像語義分割任務(wù)中,存在嚴(yán)重的數(shù)據(jù)匱乏問,如圖 5 中黑線所示,wall、floor 的數(shù)據(jù)數(shù)量遠超出其余的類別數(shù),其中,藍色柱狀表示采用“十字繡”單元的多任務(wù)學(xué)習(xí)相對于單任務(wù)學(xué)習(xí)在效果上的增益,從圖中可以看出,數(shù)量越少的類別所獲得增益越多。
▲?圖5
圖像檢測及屬性預(yù)測的實驗結(jié)果及增益情況分別如表 6 及圖 6 所示:
▲?表6
▲?圖6
總結(jié)與分析
雖然本文作者提到他們的方法相對于傳統(tǒng)方法不需要去依次嘗試如何選取所要共享的特征層,但是增加的“十字繡”單元同樣帶來了很多麻煩的東西,例如,如何進行初始化,如何設(shè)置學(xué)習(xí)速率。最終的實驗結(jié)果表明,使用該方法對多任務(wù)學(xué)習(xí)的性能有一定的提升。
本文由 AI 學(xué)術(shù)社區(qū) PaperWeekly 精選推薦,社區(qū)目前已覆蓋自然語言處理、計算機視覺、人工智能、機器學(xué)習(xí)、數(shù)據(jù)挖掘和信息檢索等研究方向,點擊「閱讀原文」即刻加入社區(qū)!
點擊標(biāo)題查看更多論文解讀:?
??Tree-CNN:一招解決深度學(xué)習(xí)中的災(zāi)難性遺忘
??深度神經(jīng)網(wǎng)絡(luò)模型壓縮和加速都有哪些方法?
??深度強化學(xué)習(xí)在指代消解中的一種嘗試
??綜述:圖像風(fēng)格化算法最全盤點
5 篇 AAAI 2018 論文看「應(yīng)答生成」
深度協(xié)同過濾:用神經(jīng)網(wǎng)絡(luò)取代內(nèi)積建模
▲?戳我查看招募詳情
#作 者 招 募#
讓你的文字被很多很多人看到,喜歡我們不如加入我們
? ? ? ? ? ?
關(guān)于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點擊 |?閱讀原文?| 查看原論文
總結(jié)
以上是生活随笔為你收集整理的CMU提出「十字绣网络」,自动决定多任务学习的最佳共享层的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度协同过滤:用神经网络取代内积建模
- 下一篇: 进化计算在深度学习中的应用 | 附多篇论