1
雷鋒網 AI 科技評論按:今年 CVPR 2018 最佳論文《Taskonomy: Disentangling Task Transfer Learning》(任務學:任務遷移學習的解耦)研究了一個非常新穎的課題,那就是研究視覺任務之間的關系,根據得出的關系可以幫助在不同任務之間做遷移學習。相比于我們看慣了的為各種任務刷分的研究,這篇論文可謂是一股計算機視覺領域的春風。
CVPR 2018 期間雷鋒網 AI 科技評論作為唯一注冊媒體進行現場報道,也參加聆聽了這篇論文的現場演講。演講者為論文第一作者 Amir R. Zamir,他是斯坦福和 UC 伯克利大學的博士后研究員。當他還博士在讀時也憑借論文《Structural-RNN: Deep Learning on Spatio-Temporal Graphs》(http://arxiv.org/abs/1511.05298)獲得了 CVPR 2016 的最佳學生論文獎。
以下為演講聽譯圖文全文。
Amir R. Zamir:大家早上好,我介紹一下我們的論文《Taskonomy: Disentangling Task Transfer Learning》,這篇論文是我與 Alexander Sax、William Shen、Leonidas Guibas、Jitendra Malik 以及 Silvio Savarese 共同完成的。
我們首先提出了一個問題,視覺任務之間有什么關系嗎?還是說它們都是各自獨立的。比如深度估計和表面法線預測之間,或者對象識別以及室內布局識別之間,有沒有什么關系。我們覺得答案是肯定的,不管是從我們的直覺上還是借助一些知識。比如我們知道表面法線預測模型、深度預測模型或者室內布局模型都可以為物體識別帶來不小的幫助。所以任務之間肯定是有一些關系的。
那么這些關系有哪些影響?它們又會有什么重要作用呢?這就是我今天要講給大家的。
我要介紹這四個要點:
任務之間的關系是存在的
這些關系可以通過計算性的方式得到,不需要我們作為人類的知識參與
各種任務屬于一個有結構的空間,而不是一些各自獨立的概念
它可以為我們提供一個用于遷移學習的統(tǒng)一化的模型
剛才我展示的例子只是許多視覺任務中的幾種。任選一些任務出來我們都可以問這樣的問題:它們之間有沒有關系、有多大關系。為了回答這些問題,我們要對任務之間的關系、任務之間的冗余有一個全局的認識,我們需要把任務作為一個集體來看待,而不是作為單個單個的任務。我們利用它們之間的關系和冗余度達到更高的效率。
其中有一個非常令人感興趣的值得提高效率的方面就是監(jiān)督的效率,就是我們希望用更少的標注數據來解決問題,我們這項研究的關注點也就在這里。許許多多的研究論文都討論了如何減少模型對標注數據的需求,現在也有自我監(jiān)督學習、無監(jiān)督學習、元學習、任務適配等方法,以及在 ImageNet 上學到的特征基礎上做精細調節(jié),現在這都已經成了一種慣用做法了。
實際上,遷移學習之所以可行就是因為任務間的這些關系。從高抽象層次上講,如果能夠遷移或者翻譯一個模型學到的內部狀態(tài),這就有可能會對學習解決別的任務起到幫助 —— 如果這兩個任務之間存在某種關系的話。下面我詳細講講這部分。
以表面法線預測任務(surface normal)為例,我們專門訓練一個神經網絡預測圖像中的平面的法線,顯然效果是不錯的。如果我們只用 2% 的訓練數據訓練網絡,就會得到左下角這樣的結果,顯然我們都能猜到結果會很糟糕。
然后我們從兩個其它的任務,圖像重整(reshading)以及圖像分割(segmentation)的模型做遷移。遷移的時候都是在一個小的復制網絡上用剛才同樣的 2% 的數據做訓練。
可以看到,圖像分割模型遷移后的表現并不好,但是圖像重整模型的表面法線預測表現就不錯。這就表明了,圖像重整和表面法線預測之間的關系要比圖像分割與表面法線預測之間的關系更強、更緊密。直覺上這還挺合理的,我們會覺得對場景做重整的時候就是會與平面的法線有不少聯系;相比之下法線預測與圖像分割之間,我就想不到會有什么關系,也可能是真的沒有什么關系吧。所以我們觀察到,對于互相之間有關系的任務,我們只需要一點點額外的信息就可以幫助一個任務的模型解決另一個任務。
如果你能有一些方法,把大量任意給定的任務之間的關系進行量化,我們就可以得到一個完整的圖結構。這就是我們期待的那種可以理解不同任務之間的冗余度的一個全局窗口。比如它可以利用我們前面提到的任務之間的冗余度解決一系列監(jiān)督學習任務,可以只用一點點資源就把舊任務遷移到新任務上;或者解決一個全新的任務,我們幾乎沒有這個任務所需的標注數據。那么現在學習解決新任務就變成了向原有的結構中增加一些內容,而無需從零開始。
這就是我們的「Taskonomy」的目的,這是一種完全計算化的方法,可以量化計算大量任務之間的關系,從它們之間提出統(tǒng)一的結構,并把它作為遷移學習的模型。我們把它稱作「Taskonomy」,也就是 task 任務 和 taxonomony 分類學 兩個詞的組合,就是意味著要學到一個分類學角度出發(fā)的遷移策略。
我們具體是這樣做的。首先我們找到了一組一共 26 個任務,包括語義、 2D、2.5D、3D 任務。我們并沒有細致全面地選擇更多的各種視覺任務,這些只是我們演示方法用的一組樣本;稍后我還會再談到參與計算的任務列表的選擇。我們收集了大約 400 萬張室內物品的照片,然后每一張照片都為這全部 26 種任務做了準備。這些圖像全部都是真實的,不是生成的;對于 3D 視覺任務,我們用結構光傳感器掃描出了相應的室內場景結構,這樣我們也可以更容易地為這些任務獲得真實值。
接下來我們?yōu)槿蝿樟斜砝锏倪@ 26 個任務分別訓練了 26 個任務專用神經網絡,這些畫面就是這 26 個任務的輸出。3D 任務比如曲率預測,語意任務比如物體識別;也有一些任務是自監(jiān)督的,比如著色。
我們的任務學模型有四個主要步驟,第一步就是訓練這 26 個任務專用網絡,然后把權值鎖定下來;這時候每一個任務就都有一個專門為了它訓練的神經網絡。
下一步是量化不同任務之間的關系。比如以計算法線估計和曲率估計之間的關系為例,我們用鎖定了權值的法線估計模型訓練一個小的復制模型,這個小模型從法線估計模型的表征中嘗試計算曲率。然后我們就用新的測試數據評估小模型的表現。這個表現就是評估具體這兩個任務之間的直接遷移關系的依據。
那么,含有 26 個任務的清單,一共有 26 x 25 中組合方式,我們把它們全都做了這樣的訓練和評估。這樣就得到了我們想要的完整的任務關系圖結構。不過,節(jié)點之間的值還需要標準化,因為這些任務都是屬于各自不同的輸出空間的,也有不同的數學性質。對于關系的描述,我們求了這樣的整個圖結構的鄰接矩陣(adjacency matrix),從計算結果可以明顯看到其中有一些東西在矩陣中起到了決定性的作用。原因就是因為這些任務存在于不同的輸出空間中,我們需要做標準化。
我們對矩陣做標準化的方法是一種名為分析性層次過程(Analytic Hiererchical Proess)的序數方法。在這里我就不詳細介紹了,不過簡單來說,我們選取了一種序數的模式,因為相比其他的一些分析方法,它對輸出空間的數學性質做出的假設對我們來說非常關鍵。具體內容可以參見我們的論文。
那么, 這個完整的關系圖結構已經是完全量化了的,針對一對一對的任務之間,它的取值就是任務遷移的依賴程度。值得注意的是,并不是任意兩個任務之間的遷移都有用,有很多任務之間的關系都很弱。但是當然有一些很強的關系,而且有一些明顯的模式。
我們就希望從完整的圖結構中提取出這種稀疏的關系。對我們來說,提取出的結構能幫助我們最大化原先任務的表現,并且告訴我們如何為新任務選擇一個最好的源任務、哪個源任務可以遷移到盡可能多的任務中,以及如何遷移到一個任務清單中不包括的新任務上去。
在這一步中我們做的簡單來說可以形式化為一個子圖選擇問題。我們已經定義好了任務清單,之前已經見過的任務用灰色的節(jié)點表示,未見過的新任務用紅色的節(jié)點表示。然后我們設定一些限制,用二進制抽取的方式計算得到最優(yōu)的子圖。計算細節(jié)可以看我們的論文或者海報,還挺簡單直接的。
子圖抽取得到的結果就給我們提供了想要解決每一個任務所需的連接性,包括全新的任務,如何使用有限的資源、不超過用戶定義限度的資源來最大化各個任務的表現,而用戶定義的資源的數量實際上也決定了源任務的任務清單能夠有多大。這也就是我們的目標。
(雷鋒網 AI 科技評論注:論文中有另一張全過程示意圖如下)
還有一點我沒有時間展開講的是高階任務遷移,就是 2 個甚至更多的任務可以一起作為源任務和資源開銷,在我們的框架內進行計算。那么實際上我們的鄰接矩陣也就遠大于 26 x 25 ,因為還有多對一的情況。
下面說一下實驗結果。對于 26 個任務的任務清單,一共有 3000 個任務遷移網絡,花費了 47829 小時的 GPU 時間。訓練模型大概花了我們 4.7 萬美元。訓練遷移后的模型只用了 1% 的任務專用網絡的訓練數據。
這是一個任務分類結果的例子。這個例子中包含的是我前面說的這 26 個任務,其中有 4 個是作為目標的任務,也就是說它們只有非常少的數據,這些數據剛剛夠訓練復制的遷移網絡,而無法從零訓練一個新的網絡。查看一下這幾個任務的連接性就會直覺上覺得是那么回事,3D 任務和其它的 3D 任務之間有更強的聯系,以及和 2D 任務的相似度很低。
為了評估我們的遷移策略的效果,我們提出了兩個評價指標,增益 Gain 以及質量 Quality。增益是指遷移的網絡的表現相比用同樣的少量數據從零訓練的表現的勝率;圖中越深的藍色表示越高的勝率,也就是說遷移的效果總是要更好。質量是指遷移的網絡相比用全部數據訓練的任務專用網絡的勝率,我們可以看到許多情況下都是白色,就是說這些遷移后的模型的表現已經和作為黃金標準的任務專用網絡的表現差不多好了。
這只是一個分類學的例子,大家可以編寫自己的實現,不過最好的方法還是試一試我們的在線實時 API, taskonomy.vision/api,你可以自己設定想要的參數,查看任務分類學的定性以及定量的計算結果。值得一提的是,我們的分類學結果很適合配合 ImageNet 的特征使用,因為它也是目前最常用的特征了。我們也做了一些和 ImageNet 相關的實驗,歡迎大家看我們的論文。
最后總結一下:
我們向著認識視覺任務空間的目標邁出了積極的一步;
我們把任務作為一個結構化空間中的群體,而不是作為單個單個的概念來看待;這里這張圖就是根據量化的關系繪制的。
這是一個完全可計算化的框架;
它可以幫助我們做遷移學習,也可以幫助我們尋找通用化的感知模型。
訪問我們的網站 http://taskonomy.stanford.edu/ 的話還可以看到一個 YouTube 的介紹視頻。謝謝!
(完)
實際上 http://taskonomy.stanford.edu/ 網站上有豐富的研究介紹以及資源,實時演示 demo、用于定制化任務計算的 API、遷移過程的可視化、預訓練模型、數據集下載等一應俱全。同作者所說一樣,希望了解更多信息的可以閱讀論文原文以及訪問他們的網站。
論文地址:http://taskonomy.stanford.edu/taskonomy_CVPR2018.pdf
雷鋒網 AI 科技評論報道。更多 AI 學術內容請繼續(xù)關注我們。
雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。