CMU提出「十字綉網路」,自動決定多任務學習的最佳共享層
來自專欄 PaperWeekly
在碎片化閱讀充斥眼球的時代,越來越少的人會去關注每篇論文背後的探索和思考。 在這個欄目里,你會快速 get 每篇精選論文的亮點和痛點,時刻緊跟 AI 前沿成果。 點擊即刻加入社區,查看更多最新論文推薦。
本期推薦的論文筆記來自 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
總結與分析
雖然本文作者提到他們的方法相對於傳統方法不需要去依次嘗試如何選取所要共享的特徵層,但是增加的「十字綉」單元同樣帶來了很多麻煩的東西,例如,如何進行初始化,如何設置學習速率。最終的實驗結果表明,使用該方法對多任務學習的性能有一定的提升。
關於PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智慧前沿論文成果的學術平台。如果你研究或從事 AI 領域,歡迎在公眾號後台點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
加入社區:http://paperweek.ly
微信公眾號:PaperWeekly
新浪微博:@PaperWeekly
推薦閱讀:
※優秀的機器學習模型,可以用一輩子
※Learning Explanatory Rules from Noisy Data 閱讀筆記0
※機器學習的數學基礎-(未完待續)
※[貝葉斯八]之極大似然估計
TAG:機器學習 | 深度學習DeepLearning | 計算機視覺 |