CMU提出「十字繡網路」,自動決定多工學習的最佳共享層
在碎片化閱讀充斥眼球的時代,越來越少的人會去關注每篇論文背後的探索和思考。
在這個欄目裡,你會快速 get 每篇精選論文的亮點和痛點,時刻緊跟 AI 前沿成果。
點選本文底部的「閱讀原文」即刻加入社群,檢視更多最新論文推薦。
這是 PaperDaily 的第 77 篇文章本期推薦的論文筆記來自 PaperWeekly 社群使用者 @Cratial。多工學習是機器學習的重要組成部分,但是對於應用深度學習進行多工學習時會遇到一個棘手的問題,那就是我們該如何確定網路的共享部分。針對不同的任務,其最佳共享層往往不同。
此外,針對不同的多工學習,我們需要根據任務需求設計不同的共享層,並沒有統一的標準。因此,本文針對這一問題設計了“十字繡”單元,通過端對端的學習來自動決定共享層
如果你對本文工作感興趣,點選底部閱讀原文即可檢視原論文。
關於作者:吳仕超,東北大學碩士生,研究方向為腦機介面、駕駛疲勞檢測和機器學習。
■ 論文 | Cross-stitch Networks for Multi-task Learning
■ 連結 | https://www.paperweekly.site/papers/1969
■ 作者 | Ishan Misra / Abhinav Shrivastava / Abhinav Gupta / Martial Hebert
引出主題
多工學習是機器學習的重要組成部分,但是在應用深度學習進行多工學習時會遇到一個棘手的問題,那就是我們該如何確定網路的共享部分。針對不同的任務,其最佳共享層往往不同。
本文使用 AlexNet 網路分別進行影象檢測、影象屬性生成及影象語義分割、影象平面法向量生成(Surface Normal)等多工學習。針對兩個任務,作者分別從 fc8 層進行共享,一直測試到兩者完全不進行共享的為止。
▲圖1
實驗結果如圖 1 所示,其中,圖 1(b)是不同共享層完全獨立時的效果對比,可以看出對於任務一來說,共享部分在 conv4 時所能達到的效果,針對於任務二來說,在 fc7 層的效果最好。
此外,針對不同的多工學習,我們需要根據任務需求設計不同的共享層,並沒有統一的標準。因此,本文針對這一問題設計了“十字繡”單元,通過端對端的學習來自動決定共享層。
“十字繡”單元與網路設計
Cross-stitch Unit
本文的核心就在這裡,設計“十字繡”單元的思想如圖 2 所示,通過在兩個網路的特徵層之間增加“十字繡”單元可以使網路自動學習到需要共享的特徵。
▲圖2
其中的“十字繡”單元就是一個係數矩陣。其表示式如式(1)所示。
針對這個“十字繡”單元如何進行端對端學習呢?作者給了具體的計算公式:
在下文中,為了方便,將 αAB 及 αBA 統稱為 αD 表示不同任務的權重值,αAA 及 αBB 統稱為 αS 表示相同任務的權重值。
“十字繡”網路設計
圖 3 是作者通過對網路新增“十字繡”單元設計的網路。
▲圖3
網路設計好之後,作者又針對網路提出了以下幾個問題:
1. 如何對“十字繡”單元進行初始化,及如何設定“十字繡”單元的學習速率?
作者認為初始值設定應該在 [0,1] 之間,此外,作者還針對初始值及學習速率的設計進行了實驗,以決定如何對兩者進行設計能夠達到最優效果。
2. 如何對網路 A 和 B 進行初始化?
如何對 A、B 進行初始化呢?作者提出了兩種方案,第一種就是網路全用由 ImageNet 訓練出的引數進行初始化,然後對整個“十字繡”網路進行訓練。第二種是針對一種任務在網路上進行微調,然後再新增“十字繡”單元,並對網路進行訓練。
引數選取
針對 2.2 中提到的兩個問題,作者分別嘗試了不同的策略來對引數進行選擇。實驗結果如表 1 所示:
▲表1
在對“十字繡”單元進行訓練時作者發現,用來更新網路引數的學習速率相對於“十字繡”單元而言太小了,以至於無法得到好的效果,實驗結果如表 2 所示:
▲表2
關於如何對網路 A、B 進行初始化,作者同樣進行了實驗,實驗結果如表 3 所示:
▲表3
表 4 展示了在 αD 及 αS 取不同的初始值時,最終網路各層各個通道的 αD 及 αS 的值的分佈情況。其中 αD 越大說明共享程度越大,αS 越大,說明特徵的特殊性越強。
▲表4
實驗及結果分析
為驗證本文演算法的有效性,作者分別在 NYU-v2 資料集進行了影象語義分割及圖片平面法向量生成實驗,在 PASCAL VOC 2008 資料集上進行了物體檢測和屬性預測實驗。
作者分別針對單任務網路、結合兩個單任務的網路(文中稱為“ensemble”)、多工網路(如圖 1 中那樣嘗試在各個特徵層共享特徵)進行了實驗。平面法向量生成及影象語義分割的實驗結果如表 5 所示:
▲表5
從表 5 可以看出,使用“十字繡”單元的網路均能在兩個任務上得到較好的結果。此外,作者分析在影象語義分割任務中,存在嚴重的資料匱乏問,如圖 5 中黑線所示,wall、floor 的資料數量遠超出其餘的類別數,其中,藍色柱狀表示採用“十字繡”單元的多工學習相對於單任務學習在效果上的增益,從圖中可以看出,數量越少的類別所獲得增益越多。
▲圖5
影象檢測及屬性預測的實驗結果及增益情況分別如表 6 及圖 6 所示:
▲表6
▲圖6
總結與分析
雖然本文作者提到他們的方法相對於傳統方法不需要去依次嘗試如何選取所要共享的特徵層,但是增加的“十字繡”單元同樣帶來了很多麻煩的東西,例如,如何進行初始化,如何設定學習速率。最終的實驗結果表明,使用該方法對多工學習的效能有一定的提升。
本文由 AI 學術社群 PaperWeekly 精選推薦,社群目前已覆蓋自然語言處理、計算機視覺、人工智慧、機器學習、資料探勘和資訊檢索等研究方向,點選「閱讀原文」即刻加入社群!
點選標題檢視更多論文解讀:
▲戳我檢視招募詳情
#作 者 招 募#
關於PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智慧前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號後臺點選「交流群」,小助手將把你帶入 PaperWeekly 的交流群裡。
▽ 點選 | 閱讀原文 | 檢視原論文