深度|遷移學習全面概述:從基本概念到相關研究
選自sebastianruder.com
作者:Sebastian Ruder
機器之心編譯
參與:馬亞雄、吳攀、李亞洲
將在一個場景中學習到的知識遷移到另一個場景應用中一直是人工智慧研究領域的一個熱門領域,本文從遷移學習的基本概念談起,介紹了遷移學習的技術、應用和方法。本文作者為 Insight Research Centre for Data Analytics 的自然語言處理與深度學習博士生 Sebastian Ruder,他同時也是愛爾蘭都柏林的文本分析創業公司 AYLIEN 的研究科學家。
目錄:
1.什麼是遷移學習?
2.為什麼現在需要遷移學習?
3.遷移學習的定義
4.遷移學習的場景
5.遷移學習的應用
從模擬中學習
適應到新的域
跨語言遷移知識
6.遷移學習的方法
使用預訓練的 CNN 特徵
學習域不變的表徵
讓表徵更加相似
混淆域
7.相關的研究領域
半監督學習
更有效地使用可用的數據
提高模型的泛化能力
讓模型更加穩健
多任務學習
持續學習
zero-shot 學習
8.總結
近年來,我們越來越擅長訓練深度神經網路,使其能從大量的有標籤的數據中學習非常準確的輸入到輸出的映射,無論它們是圖像、語句還是標籤預測。
我們的模型仍舊極度缺乏泛化到不同於訓練的環境的能力。什麼時候需要這種能力呢?就是你每一次將你的模型用到現實世界,而不是精心構建的數據集的時候。現實世界是混亂的,並且包含大量全新的場景,其中很多是你的模型在訓練的時候未曾遇到的,因此這又使得模型不足以做出好的預測。將知識遷移到新環境中的能力通常被稱為遷移學習(transfer learning),這就是本文將討論的內容。
在這篇文章中,我首先會將遷移學習與機器學習的最普遍和成功的範式——監督學習——做一下對比。然後我會概括一下遷移學習值得我們去關注的原因。隨後,我會給出一個更加技術性的定義以及介紹多個不同的遷移學習的場景。然後,我會提供一些遷移學習的應用的例子,再探究一些可以被用來遷移知識的實際方法。最後,我會概述一下相關的研究方向,並展望一下未來的前景。
什麼是遷移學習?
在機器學習的經典監督學習場景中,如果我們要針對一些任務和域 A 訓練一個模型,我們會假設被提供了針對同一個域和任務的標籤數據。我們可以在圖 1 中清楚地看到這一點,其中我們的模型 A 在訓練數據和測試數據中的域和任務都是一樣的(後面我會詳細地定義什麼是任務(task),以及什麼是域(domain))。現在,讓我們假設,一個任務就是我們的模型要去執行的目標,例如,識別圖片中的物體;而域就是數據的來源,例如,來自於舊金山的咖啡店的照片。
圖 1:機器學習領域中傳統監督學習的設置
現在我們可以在這個數據集上訓練一個模型 A,並期望它在同一個任務和域中的未知數據上表現良好。在另一種情況下,當給定一些任務或域 B 的數據時,我們還需要可以用來訓練模型 B 的有標籤數據,這些數據要屬於同一個任務和域,這樣我們才能預期能在這個數據集上表現良好。
當我們沒有足夠的來自於我們關心的任務或域的標籤數據來訓練可靠的模型時,傳統的監督學習範式就支持不了了。
如果我們要訓練一個模型來檢測在夜間拍攝的照片上的行人,我們可以用一個在相似的域中訓練的模型,例如白天拍攝的圖片。然而,實際上,我們經常會遭遇表現上的衰退或者崩潰,因為模型已經繼承了它的訓練數據中的偏差,不知道如何泛化到新的域中。
如果我們要訓練一個模型來執行新的任務,例如檢測騎自行車的人,我們甚至不能夠使用已有的模型,因為任務之間的標籤都是不一樣的。
遷移學習允許我們通過借用已經存在的一些相關的任務或域的標籤數據來處理這些場景。我們嘗試著把在源域中解決源任務時獲得的知識存儲下來,並將其應用在我們感興趣的目標域中的目標任務上去,如圖 2 所示。
圖 2:遷移學習的設置
在實踐中,我們力求將儘可能多的知識從源環境遷移到目標任務和域中。依據數據的不同,這種知識有不同的形式:它可以涉及物體是如何組成的,以允許我們更加容易地識別新的對象;也可以是關於人們用來表達觀點的普通辭彙,等等。
為什麼現在需要遷移學習?
前百度首席科學家、斯坦福的教授吳恩達(Andrew Ng)在廣受流傳的 2016 年 NIPS 會議的教程中曾經說過:「遷移學習將會是繼監督學習之後的下一個機器學習商業成功的驅動力」。
圖 3:吳恩達在 2016 年 NIPS 上談論遷移學習
特別地,他在白板上畫了一個圖表,我儘可能忠實地將它複製在如下所示的圖 4 中(抱歉坐標軸沒有詳細的標註)。據吳恩達說,遷移學習將成為機器學習在產業界取得成功的一個關鍵驅動力。
圖 4:吳恩達心中機器學習產業成功的驅動力
不容置疑,機器學習在產業界的應用和成功主要是受監督學習的驅動。受到深度學習中的進步、更強大的計算資源以及大量的標籤數據集的推動,監督學習是人們對人工智慧的興趣復甦浪潮、多輪融資以及收購的主要原因,尤其是我們近年來看到的機器學習的應用,它們已經成為了我們生活的一部分。如果我們忽視關於另一個人工智慧寒冬的懷疑和傳言,並且相信吳恩達的預見,這種成功很可能會持續下去。
然而,不太清楚為什麼已經存在了大約幾十年並且至今在產業界很少被使用的遷移學習會出現吳恩達所預言的那種爆炸式增長。更有甚者,與機器學習的其他領域(如無監督學習和強化學習等)相比,遷移學習目前受到的關注更少。而且那些領域也正越來越受歡迎:無監督學習是實現通用人工智慧的關鍵成分(如圖 5 中 Yann LeCun 所說),人們對此興趣已經復甦,尤其是在生成對抗網路(GAN)的推動下。反過來,強化學習在 Google DeepMind 的牽頭下已經實現遊戲 AI 的進步,AlphaGo 的成功堪稱典範,並且也早已在現實世界中實現了成功,例如將 Google 數據中心的冷卻費用降低了 40%。這兩個領域雖然很有希望,但是在可預見的未來可能只會有著相對較小的商業影響力,並且大部分還停留在前沿研究論文的範圍之內,因為它們仍然面臨著許多挑戰。
圖 5:顯然遷移學習沒有出現在 Yann LeCun 的蛋糕成分問題中
什麼使得遷移學習與眾不同呢?下面我們會看一下在我看來驅使了吳恩達的預見的因素,並且總結一下現在正是重視遷移學習的時機的原因。
目前產業界對機器學習的應用分為兩類:
一方面,在過去幾年中,我們已經獲得了訓練越來越準確的模型的能力。我們現在所處的階段,對很多任務而言,最先進的模型已經達到了這樣的水平:它們的表現是如此的好以至於對使用者來說不再有障礙了。有多麼好呢?最新的 ImageNet 上的殘差網路 [1] 在進行物體識別時實現了超越人類的性能;Google 的 Smart Reply 系統 [2] 可以處理所有移動手機中的回復的 10%;語音識別的錯誤率在持續降低,並且比鍵盤輸入更加準確 [3];我們已經實現了和皮膚科醫師一樣好的自動皮膚癌識別;Google 的神經機器翻譯系統(NMT)[4] 已被用在了超過 10 種以上的語言對的生產中;百度可以實時地生成逼真的語音;類似的還有很多很多。這種成熟度允許將這些模型大規模地部署到數百萬的用戶上,並且已經得到了廣泛的採用。
另一方面,這些成功的模型都是極其地重視數據的,依靠大量的標籤數據來實現它們的性能。對一些任務和域而言,經過了多年的精心收集,這種數據是可以得到的。在少數情況下,數據是公開的,例如 ImageNet[5],但是在很多語音或者 MT 的數據集中,大量的標籤數據都是有專利的,或者是很昂貴的,因為它們在競爭中提供了前沿參考。
同時,把機器學習的模型應用在自然環境中時,模型會面臨大量之前未曾遇到的條件,它不知道如何去處理;每一個用戶都有他們自己的偏好,也需要處理和生成不同於之前用來訓練的數據;要求模型執行很多和訓練相關但是不相同的任務。在所有這些情況下,儘管我們最先進的模型在它們被訓練的任務和域上展示出了和人類一樣甚至超越人類的性能,然而還是遭遇了明顯的表現下降甚至完全失敗。
遷移學習可以幫助我們處理這些全新的場景,它是機器學習在沒有大量標籤數據的任務和域中規模化應用所必須的。到目前為止,我們已經把我們的模型應用在了能夠容易獲取數據的任務和域中。為了應對分布的長尾,我們必須學會把已經學到的知識遷移到新的任務和域中。
為了做到這個,我們需要理解遷移學習所涉及到的概念。基於這個原因,我會在下面的內容中給出更加技術性的定義。
遷移學習的定義
為了這個定義,我會緊密地遵循 Pan 和 Yang(2010) 所做的傑出的綜述 [6],並以一個二元文檔分類為例。
遷移學習涉及到域和任務的概念。一個域 D 由一個特徵空間 X 和特徵空間上的邊際概率分布 P(X) 組成,其中 X=x1,…, xn∈X。對於有很多詞袋錶征(bag-of-words representation)的文檔分類,X 是所有文檔表徵的空間,xi 是第 i 個單詞的二進位特徵,X 是一個特定的文檔。(註:這裡的 X 有兩種不同的形式,這裡不太好呈現,具體請參考原文。)
給定一個域 D={X,P(X)},一個任務 T 由一個標籤空間 y 以及一個條件概率分布 P(Y|X) 構成,這個條件概率分布通常是從由特徵—標籤對 xi∈X,yi∈Y 組成的訓練數據中學習得到。在我們的文檔分類的例子中,Y 是所有標籤的集合(即真(True)或假(False)),yi 要麼為真,要麼為假。
給定一個源域 Ds,一個對應的源任務 Ts,還有目標域 Dt,以及目標任務 Tt,現在,遷移學習的目的就是:在 Ds≠Dt,Ts≠Tt 的情況下,讓我們在具備來源於 Ds 和 Ts 的信息時,學習得到目標域 Dt 中的條件概率分布 P(Yt|Xt)。絕大多數情況下,假設可以獲得的有標籤的目標樣本是有限的,有標籤的目標樣本遠少於源樣本。
由於域 D 和任務 T 都被定義為元組(tuple),所以這些不平衡就會帶來四個遷移學習的場景,我們將在下面討論。
遷移學習的場景
給定源域和目標域 Ds 和 Dt,其中,D={X,P(X)},並且給定源任務和目標任務 Ts 和 Tt,其中 T={Y,P(Y|X)}。源和目標的情況可以以四種方式變化,我們仍然以我們的文檔分類的例子在下面描述:
XS≠XT。源域和目標域的特徵空間不同,例如,文檔是用兩種不同的語言寫的。在自然語言處理的背景下,這通常被稱為跨語言適應(cross-lingual adaptation)。
P(Xs)≠P(Xt)。源域和目標域的邊際概率分布不同,例如,兩個文檔有著不同的主題。這個情景通常被稱為域適應(domain adaptation)。
YS≠YT。兩個任務的標籤空間不同,例如,在目標任務中,文檔需要被分配不同的標籤。實際上,這種場景通常發生在場景 4 中,因為不同的任務擁有不同的標籤空間,但是擁有相同的條件概率分布,這是極其罕見的,
P(Ys|Xs)≠P(Yt|Xt)。源任務和目標任務的條件概率分布不同,例如,源和目標文檔在類別上是不均衡的。這種場景在實際中是比較常見的,諸如過採樣、欠採樣以及 SMOTE[7] 這些方法被廣泛應用。
在明白了與遷移學習相關的概念和常被用到的一些場景之後,我們將要介紹一些能夠說明它的潛力的應用。
遷移學習的應用
從模擬中學習
一個非常令我興奮並且我認為我們在將來會見到更多的遷移學習應用就是從模擬中學習。對很多依靠硬體來交互的機器學習應用而言,在現實世界中收集數據、訓練模型,要麼很昂貴,要麼很耗時間,要麼只是太危險。所以最好能以某些風險較小的其他方式來收集數據。
模擬是針對這個問題的首選工具,在現實世界中它被用來實現很多先進的機器學習系統。從模擬中學習並將學到的知識應用在現實世界,這是遷移學習場景 2 中的實例,因為源域和目標域的特徵空間是一樣的(僅僅依靠像素),但是模擬和現實世界的邊際概率分布是不一樣的,即模擬和目標域中的物體看上去是不同的,儘管隨著模擬的逐漸逼真,這種差距會消失。同時,模擬和現實世界的條件概率分布可能是不一樣的,因為模擬不會完全複製現實世界中的所有反應,例如,一個物理引擎不會完全模仿現實世界中物體的交互。
圖 6:谷歌的自動駕駛車輛(來源: Google Research 博客)
從模擬中學習有利於讓數據收集變得更加容易,因為物體可以容易地被限制和分析,同時實現快速訓練,因為學習可以在多個實例之間並行進行。因此,這是需要與現實世界進行交互的大規模機器學習項目的先決條件,例如自動駕駛汽車。谷歌無人車的技術主管 Zhaoyin Jia 說,「如果你真的想做無人駕駛車,模擬是必需的」。Udacity 已經開源了它用來進行無人駕駛汽車工程納米學位教學的模擬器,在圖 7 中可以看到,OpenAI 的 Universe 平台將可能允許用《俠盜飛車 5(GTA 5)》或者其他視頻遊戲來訓練無人駕駛汽車。
圖 7:Udacity 的無人駕駛汽車模擬器
另一個必需從模擬中學習的領域是機器人:在實際的機器人上訓練模型是非常緩慢和昂貴的。從模擬中學習並且將知識遷移到現實世界的機器人上的方式能緩解這個問題,並且這種方面最近正得到越來越多的關注 [8]。圖 8 中可以看到一個在現實世界和模擬中操作數據的一個例子。
圖 8:機器人和模擬圖片 (Rusu et al., 2016)
最後,另一個方向是通向通用人工智慧的途徑,其中模擬會是一個必需的組成部分。在現實世界中直接訓練一個代理來實現通用人工智慧的代價太高,並且不必要的複雜度還會在初始的時候阻礙訓練。相反,如果基於諸如 CommAI-env [9] 的模擬環境的話,學習也許會更加成功,如圖 9 所示。
圖 9:Facebook 人工智慧研究院的 CommAI-env (Mikolov et al., 2015)
適應到新的域
儘管從模擬中學習是域適應的一個特例,總結一些域適應的其他例子也是有價值的。
域適應在視覺中是一個常規的需求,因為標籤信息易於獲取的數據和我們實際關心的數據經常是不一樣的,無論這涉及到如圖 11 所示的識別自行車還是自然界中的其他物體。即使訓練數據和測試數據看起來是一樣的,訓練數據也仍然可能包含人類難以察覺的偏差,而模型能夠利用這種偏差在訓練數據上實現過擬合 [10]。
圖 10:不同的視覺域 (Sun et al., 2016)
另一個常見的域適應場景涉及到適應不同的文本類型:標準的自然語言處理工具(例如詞性標籤器或者解析器)一般都是在諸如華爾街日報這種新聞數據上進行訓練,這種新聞數據在過去都是用來評價這些模型的。然而,在新聞數據上訓練出的模型面臨挑戰,難以應對更加新穎的文本形式,例如社交媒體信息。
圖 11:不同的文本類型/風格
即使在產品評價這樣的域中,人們採用不同的辭彙和短語去表達同樣的觀點。因此,在一種類型的評論上訓練出的模型應該能夠解決人們使用的通用和特定領域的意見詞,以免被域的變化所混淆。
圖 12:不同的主題
最後,儘管以上的挑戰都是處理一般的文本或者圖像類型,如果我們考慮涉及到單個用戶或者用戶組的域,問題就被放大了:以自動語音識別(ASR)為例。語音指定會成為下一個大平台,據預測,到 2020 年,我們所有搜索的 50% 將會通過語音執行。大多數自動語音識別系統都在由 500 位說話人組成的標準數據集上進行傳統測試。如此一來,大多數擁有標準口音的人則是幸運的,然而,移民、非標準口音的人、語音障礙的人以及兒童則會不容易被理解。現在比以往任何時候都需要能夠適應個體用戶和少數群體的系統,以確保每個人的聲音都能被聽懂。
圖 13:不同的口音
跨語言遷移知識
最後,在我看來,遷移學習的另一個殺手級別的應用是將知識從一種語言遷移到另一種語言,我曾經在此處寫過一篇關於跨語言環境的嵌入式模型的文章(博文鏈接:http://sebastianruder.com/cross-lingual-embeddings/index.html)。可靠的跨語言域的方法會允許我們借用大量的已有的英文標籤數據並將其應用在任何一種語言中,尤其是沒有足夠服務且真正缺少資源的語言。已有的最先進的方法看起來仍然太過理想,但是以 zero-shot 翻譯 [11] 為例的最近的進展已在這個領域取得了快速的進步。
雖然到目前為止我們已經考慮過一些遷移學習的特殊應用,但是現在我們要研究一下文獻中那些解決了一些挑戰的實際方法和方向。
遷移學習的方法
在解決前文提及的四種遷移學習場景上,遷移學習擁有悠久的研究和技術的歷史。深度學習的出現導致了一系列遷移學習的新方法,我們下面將會概覽其中的一些。參考文獻 [6] 可以看到一些早期方法的綜述。
使用預訓練的 CNN 特徵
為了了解目前應用中最常見的遷移學習方式,我們必須理解在 ImageNet 上大型卷積神經網路所取得的傑出成功 [12]。
理解卷積神經網路
雖然這些模型工作方式的許多細節仍然是一個謎,但我們現在已經意識到,較低的卷積層捕獲低級圖像特徵,例如邊緣(見圖 14),而較高的卷積層捕獲越來越複雜的細節,例如身體部位、面部和其他組合性特徵。
圖 14:AlexNet 學習得到的實例濾波器 (Krizhevsky et al., 2012)
最後的全連接層通常被認為是捕獲了與解決相應任務相關的信息,例如 AlexNet 的全連接層可以指出哪些特徵與在 1000 個物體類中分類一張圖片相關的。
然而,儘管知道一隻貓有鬍鬚、爪子、毛皮等是將一個動物識別為貓所必需的(參見圖 15),但它並不能幫助我們識別新物體或解決其他共同的視覺任務(如場景識別、細粒度識別、屬性檢測和圖像檢索)。
圖 15:這篇博文的標誌貓
然而,能夠幫助我們的是捕獲關於一幅圖像是如何組成的以及它包括什麼樣的邊緣和形狀組合的通用信息。正如我們之前所描述的,這種信息被包含在在 ImageNet 上訓練出的卷積神經網路的最後卷積層或者最後一層之前的全連接層。
所以,對於一個新任務,我們可以簡單地使用這種由最先進的卷積神經網路在 ImageNet 上預訓練出的現成特徵,並在這些抽象的特徵上面訓練出新的模型。在實際中,我們要麼保持預訓練的參數固定不變,要麼以一個較小的學習率來調節它們,以保證我們不會忘記之前學習到的知識。這個方法已經被證明可以在一系列的視覺任務 [13] 以及一些依靠圖像作為輸入的任務(例如看圖說話)上實現出色的結果。在 ImageNet 上訓練出的模型似乎能夠捕獲到關於動物以及物體的構造和組成方式的細節,這種方式通常在處理圖像的時候是有價值的。因此,ImageNet 上的任務似乎對於一般的計算機視覺問題來說是一個很好的代理(proxy),因為在其中所需的相同知識也與許多其他任務相關。
學習圖像的隱含結構
一個類似的假設被用來推動生成模型:當訓練一個生成模型的時候,我們假設生成逼真圖像的能力需要對圖像隱含結構的理解,它反過來可以被用在很多其他任務中。這個假設本身也依賴一個前提,即所有圖像都由一個低維度的流形結構決定,這就是說,可以用一個模型來抽象出圖像的隱含結構。利用生成對抗網路來生成逼真圖片的最新進展揭示,這種模型或許真的存在,如圖 16 所示,卧室空間的點之間的逼真過渡證明了這個模型的能力。
圖 16:行走在卧室的圖像流形中
預訓練的特徵在視覺之外的領域有用嗎?
現成的卷積神經網路特徵在視覺任務上有著無出其右的結果,但是問題在於,使用其它的數據,在其它領域(例如語言)能否複製這種成功?目前,對自然語言處理而言沒有能夠實現與圖像領域一樣令人驚嘆結果的現成特徵。為什麼呢?這樣的特徵是否存在呢?如果不存在,那為什麼視覺比語言更有利於這種形式的遷移呢?
諸如詞性標註或分塊這類低級別任務的輸出就可以被比作現成的特徵,但是在沒有語法學的幫助下,不能採集到更細粒度的特徵。正如我們看到的,可概括的現成特徵似乎存在似乎存在於眾多任務中原型任務中。在視覺中,物體識別就佔據了這樣的地位。在語言中,最接近的類似物可能是語言建模:為了預測給定辭彙序列中的下一個單詞或者句子,模型需要處理語言是如何構造的知識,需要理解那些單詞很可能是相關的,那些單詞很可能是彼此跟隨出現的,需要對長期依賴關係進行建模,等等。
儘管最先進的語言模型越來越接近人類的水平 [15],但是它們的功能使用是有限的。同時語言建模方面的進步已經為其他任務也帶來了正面的結果:用語言模型的目標函數對一個模型進行預訓練能夠提升性能 [16]。此外,在一個大規模的無標籤的語料庫上用一個近似的語言模型目標函數進行預訓練的單詞嵌入已經變得普遍 [17]。雖然它們不如視覺中的現成特徵那樣有效,但仍然能夠帶來相當大的收益 [18],並且它們可以被看做是從大規模的無標籤的語料庫向通用域知識的一種簡單形式的遷移。
儘管自然語言處理領域的通用代理任務(general proxy)在當前似乎是無法企及的,但是輔助任務可以採用局部代理的形式。不管是通過多任務目標 [19] 還是綜合任務目標 [20,21],它們都可以被用來為模型增加更多的相關知識。
使用預訓練特徵是目前做遷移學習的最直接、最常用的方式。然而,到目前為止它並不是唯一的一種。
學習域不變的表徵
在實際中,預訓練特徵通常被用在我們想適應的新任務的場景適應中 3。對其他場景而言,另一個由深度學習實現知識遷移的方式是學習基於域而不會改變的表徵。這個方法在概念上和我們思考過的使用預訓練的卷積神經網路特徵非常相似:兩者都只編碼關於域的一般知識。然而,給非視覺任務創建基於特定域的不變表徵要比為所有任務生成有用的表徵要更加經濟,更加可行。ImageNet 已經花費了多年、數千個小時來創建,然而為了創建域不變的表徵,我們通常只需要每個域中的無標籤數據。這種表徵通常用大量的去噪自動解碼器學習得到,而且已經在自然語言處理中取得了和視覺中一樣的成功 [22,23]。
讓表徵更加相似
為了提高學到的表徵從源域到目標域的可遷移性,我們希望兩個域之間的表徵儘可能相似,這樣一來,我們就不用考慮可能阻礙遷移的特定域的特徵,只需要考慮域之間的共同點。
與其僅僅讓我們的自動解碼器學到一些表徵,不如積極地激勵以讓兩個域中的表徵和彼此變得更加相似。我們可以像預處理步驟一樣把這個直接應用在我們的數據表證過程中 [25,26],然後把新的表徵用來訓練。我們也可以促使我們的模型中的表徵變得更加相似 [27,28]。
混淆域
另一個最近變得流行的、用來確保兩個域的表徵之間相似性的方式就是在現有的模型上增加一個目標函數來鼓勵兩個域的混淆 [29,30]。這個域混淆的損失函數就是常規的分類損失函數,模型嘗試預測輸入樣例的類別。然而,又和常規的損失函數有所不同,如圖 17 所示,從損失函數到網路的剩餘部分的流動是反向的。
圖 17:用一個梯度反向層(gradient reversal layer)來混淆域。
梯度反向層會導致模型最大化誤差,而不是學著去最小化域分類的損失函數的誤差。在實際中,這意味著該模型會學習那些允許最小化原目標函數的表徵,同時不允許區分兩個域,這樣有利於知識遷移。如圖 18 所示,儘管僅僅使用常規的目標函數訓練的模型可以基於它學到的表徵清晰地區分兩種域,但是用域方法增強的目標函數訓練得到的模型卻不能做到這一點。
圖 18:常規模型和域混淆模型的域分類得分比較 (Tzeng et al, 2015)
相關的研究領域
儘管這篇博文是關於遷移學習的,但是到今天為止,遷移學習並不是唯一一個試圖利用有限的數據、在新的任務上使用學到的知識、並讓模型在新環境上具有較好的泛化能力的機器學習領域。所以,在下面的內容中,我們會介紹一些其他的與遷移學習相關或者能夠補充遷移學習目標的方向。
半監督學習
遷移學習力圖最大效率地使用某些任務或者域中的無標籤數據。這也是半監督學習所恪守的準則,半監督學習遵循經典機器學習的設定,但是它僅僅採用有限數量的標籤數據來訓練。如此,半監督域適應本質上就是在域變化的情況下進行半監督學習。許多來自於半監督學習的教訓和思想同樣地適用於遷移學習。文獻 [31] 是一個很不錯的關於半監督學習的綜述。
更有效地使用可用的數據
另外一個與遷移學習和半監督學習相關的方向是讓模型在有限數量的數據上運行得更好。
這個可以用幾種方式實現:你可以使用無監督學習或者半監督學習從無標籤數據中抽取信息,以減少對有標籤樣本的依賴;你可以允許模型能夠獲取一些數據的固有屬性,同時減輕正則化過程中的過擬合傾向;最後,你還可以使用至今仍然被忽視或者位於不明顯的地方的一些數據。
作為用戶生成內容的意外結果,這種巧合的數據 [32] 可能會被創建,例如能夠提升命名實體和詞性標註的超鏈接;它也可能作為注釋的副產品存在,例如注釋器不一致(annotator disagreement) 可能改進標註或者解析;或者來源於用戶行為的數據,例如視線追蹤或者鍵入變化,可以影響自然語言處理的任務。雖然這些數據只是以有限的方式被利用,但是這樣的例子鼓勵我們在意外的地方查找數據,並研究檢索數據的新方法。
提高模型的泛化能力
讓模型更好地泛化也是與此相關的一個方向。為了實現更好的泛化能力,我們首先必須理解大規模神經網路的行為和錯綜複雜的結構,並且去研究它們泛化的原因和方式。最近的工作已經朝著這個目標邁出了大有希望的步伐 [33],但是很多問題仍然等待解答。
讓模型更加穩健(robust)
儘管提升我們的模型的泛化能力這方面已經比較成功了,在類似的例子上面我們也許泛化得很好,但是在出乎意料或者者非典型的輸入情況下仍然會失敗。所以,一個關鍵的補充目標就是讓我們的模型更加穩健。在近來對抗學習的進步的推動下,這個方向越來越受關注,並且,最近的方法研究了很多讓模型在最糟糕的情況下或者面對不同設置的對抗樣本時變得更加穩健的方式 [34,35]。
多任務學習
在遷移學習中,我們主要關心在我們的目標任務和域上友好的表現。相反,多任務學習中的目標是在所有可用的任務上都要表現良好,儘管某個標籤數據通常都被假定在一個任務上。雖然多任務學習的方法沒有直接用在遷移學習上,但是對多任務學習有利的關於任務的思想 [19] 仍然能夠指引遷移學習的決策。
持續學習
雖然多任務學習允許我們在許多任務中保留知識,而不會對我們的源任務造成性能損失,但只有在所有任務都處於訓練時間的情況下,這才是可能的。對於每個新任務,我們通常需要重新訓練我們所有任務的模型。
然而,在現實世界中,我們希望一個代理能夠通過使用它以往的一些經驗來處理逐漸變得複雜的任務。為了達到這個目的,我們需要讓一個模型在不忘記的情況下持續地學習。這個機器學習的領域被稱為學會學習 [36]、元學習、終生學習,或者持續學習。持續學習在最近的強化學習 (強化學習以 Google DeepMind 對通用學習代理的探索而著稱) 上已經取得了成功 [37,38,39],也正在被用於序列到序列的模型上 [40]。
zero-shot 學習
最後,如果我們把遷移學習使用到極限,並且想要僅僅從很少的(一個,甚至 0 個)實例中學習,這就分別得到了 few-shot、one-shot 以及 zero-shot 學習。讓模型執行 one-shot 和 zero-shot 學習,無疑屬於機器學習中最艱難的問題。而另一方面,這卻是我們人類天生就會的:幼年的時候,為了讓我們能夠認出任何狗狗,我們僅僅需要被告知一次「這是一條狗」,然而成年人可以僅通過在文中閱讀就理解一個東西的本質,不需要事先見過它。
one-shot 學習的新進展利用了這樣的思想,即為了在測試的時候實現好的性能,模型需要顯式地被訓練,從而進行 one-shot 學習 [41,42]。但更加逼真、具有概括性的 zero-shot 學習設置在最近已經引起了注意,在零點學習中訓練類別出現在測試的時候 [43]。
總結
總之,遷移學習提供了很多令人興奮的研究方向,特別是許多應用需要能夠將知識遷移到新的任務和域中的模型。希望我在這篇博客中為你們給出了關於遷移學習的概述並且激發了你們的興趣。
參考文獻:
因參考文獻太多,超出微信字數限制,讀者可點擊以下原文鏈接查看。
原文鏈接:http://sebastianruder.com/transfer-learning/
※觀點|機器學習確實還沒商品化,但也不是必需博士學位
※機器之心「GMIS 2017」嘉賓:LSTM之父Jürgen
※綜述|一文幫你發現各種出色的GAN變體
※業界|自動駕駛事故頻發:Uber步特斯拉、谷歌之後塵
TAG:機器之心 |
※淺析深度遷移學習
※基因組學研究追溯人類遷移歷史下
※基因組學研究追溯人類遷移歷史 上
※當深度學習成為過去,遷移學習才是真正的未來?
※香港科技大學楊強教授:深度學習如何擁抱遷移學習?
※探索學習的終極目標——遷移
※中國傳統文化與深度學習的結合:上交論文「漢字字體遷移」
※超級個體整理#比學習技能更重要的,是遷移技能
※中介語、語言遷移、過度概括
※機器學習變形記:AI向手機端遷移,移動平台將強化人類感官!
※深度領會「遷移能力」
※我科學家繪出霍亂「遷移地圖」
※日本面臨滅頂之災,美國專家建議:不想全族毀滅就遷移中國
※3分鐘幫你全面解決技術遷移過程中棘手問題!
※基因組研究揭示人類大遷移之謎
※高頻考點——學習遷移的分類
※FB擴展移動端:從移動設備上實時風格遷移到速文本分類器
※韓國歷史造假算什麼,日本教科書:亞洲人種都是從日本遷移過去的
※全球海洋溫度變化,迫使這些生物遷移