遷移學習——機器學習的下一個前沿陣地

摘要: 深度學習作為機器學習的重要領域,在過去的幾年時間裡面發揮了巨大的作用。但是隨著機器學習在不同領域的深入應用,遷移學習正在成為不可忽視的力量。

我們越來越善於訓練深度神經網路,從大量的標記數據中學習到從輸入到輸出的非常準確的映射,無論它們是圖像,句子,標籤預測等。

但,我們的模型所缺乏的是能夠概括出不同於訓練過程中遇到的情況。當你將模型應用於精心構建的數據集,它表現的總是不錯。但,現實世界是混亂的,包含無數的新情景,其中許多是你的模型在訓練期間沒有遇到過的。將知識遷移到新情景的能力通常被稱為遷移學習,這是我們將在本文的其餘部分討論的內容。

在本篇博文中,我將首先將轉換學習與機器學習的最普遍和成功的範例 - 監督式學習進行對比。隨後,我會給出一個更具技術性的定義和詳細的不同遷移學習場景。然後,我將提供遷移學習的應用實例,然後深入研究可用於傳授知識的實用方法。最後,我將對相關的方向進行概述,並提出展望未來。

Advertisements

什麼是遷移學習?

在機器學習的監督學習場景中,如果我們打算為某個任務和領域A訓練一個模型,我們假設我們為相同的任務和域提供了標籤數據。我們可以在圖1中清楚地看到這一點,其中我們模型A和B的訓練和測試數據的任務和領域是一樣的。讓我們假設一個任務是我們的模型旨在執行的目標,例如識別圖像中的對象,一個域是我們的數據來自舊金山咖啡店拍攝的圖像。

傳統的方法是我們要分別訓練模型A和B,這勢必會造成大量的資源和時間上的浪費。

而且當我們沒有足夠的標記數據為我們訓練可靠模型的任務或領域時,傳統的監督式學習範式就會崩潰。

如果我們想要訓練一個模型來檢測夜間圖像上的行人,我們可以應用一個已經在類似的領域進行訓練的模型,例如在日間圖像上。然而在實踐中,由於模型繼承了訓練數據的偏見,這個時候我們就需要改動其中的一些參數或者尋找一些新的模型。

Advertisements

如果我們想要訓練一個模型來執行一個新的任務,比如檢測騎自行車的人,我們甚至不能重複使用現有的模型,因為任務之間的標籤是不同的。

遷移學習使我們能夠利用已經存在的某些相關任務的標記數據來處理這些場景,新的模型繼承了老模型的相關能力。

在實踐中,我們試圖將儘可能多的知識從源頭遷移到目標任務或領域。這些知識可以根據數據採取多種形式:它可以涉及如何組成對象,使我們更容易識別新的對象等。

為什麼要遷移學習?

斯坦福大學教授Andrew Ng在他廣泛流行的NIPS 2016教程中表示,遷移學習將是在監督學習之後成為ML商業成功的下一個推動力。

他在白板上畫出了一張圖表,據Andrew Ng介紹,遷移學習將成為機器學習在行業中取得成功的關鍵因素。

毫無疑問,ML在工業界的使用和成功迄今主要是由監督學習推動的。在深度學習、強大的演算法和大量標記數據集的推動下,監督學習使得人類對人工智慧興趣大增,特別是我們已經看到的機器學習的應用近幾年來,這已成為我們日常生活的一部分。

然而,為什麼遷移學習已經存在了幾十年,目前在工業上很少被利用,為什麼會看到吳恩達預測的爆炸性增長呢?與其他機器學習領域相比,遷移學習目前受到關注較少,例如無監督學習和強化學習。強化學習是由Google DeepMind領導,例如AlphaGo的成功,以及通過將Google的數據中心冷卻費用降低40%。這兩個領域雖然很有希望,但在可預見的未來可能只會產生相對較小的商業影響,大部分仍然處於尖端研究報告的範圍內,因為它們仍然面臨著許多挑戰。

目前在工業中使用機器學習的特點是二分天下:

一方面:在過去的幾年中,我們已經獲得了訓練越來越精確模型的能力。最先進的模型表現的非常好,已經滿足了用戶的需求。到底有多好?ImageNet上的最新殘差網路在識別物體方面實現了超人的性能;天貓小秘的智能回復廣泛應用,語音識別錯誤一直下降;我們可以自動識別皮膚癌以及其他癥狀。這種成熟度使得這些模型能夠大規模地部署到數百萬用戶。

另一方面:這些成功的模型非常需要數據,並依靠大量的標記數據來實現其性能。對於一些任務和領域,這些數據是多年來一直苦心經營的。在一些情況下,它是公開的,例如ImageNet,但是大量的標記數據通常是專有的或昂貴的,就像語音或MT數據集一樣,因此在數據上就有了競爭優勢,有了競爭機器學習才能更好的商業化。

同時,在應用機器學習模型時,存在著大量問題,如:模型以前從未見過,不知如何處理的諸多條件,每個客戶和每個用戶都有自己的偏好,擁有與用於訓練的數據不同的數據;一個模型被要求執行許多沒有被訓練的任務。在所有這些情況下,我們目前最先進的模型有的時候也會崩潰。

遷移學習可以幫助我們處理這些,首先我們必須學會將我們所獲得的知識遷移到新的任務和領域。為了做到這一點,我們需要了解遷移學習涉及的概念。接著我們來介紹一些遷移學習的相關應用。

遷移學習的應用

遷移學習中一個特別重要的應用是模擬學習,對於許多依靠硬體進行交互的機器學習應用程序來說,在現實世界中收集數據和訓練模型是昂貴的、耗時的。因此,以其他風險較小的方式收集數據是明智的。

模擬就是這方面的首選方法,它已經被用於在現實世界中許多先進的ML系統。從模擬中學習並將獲得的知識應用到現實世界中是一個遷移學習場景的實例,因為源域和目標域之間的特徵空間是相同的(兩者通常都依賴於像素),但是模擬和邊界概率分佈現實是在模擬和來源不同,即物體的樣子不同,儘管這種差異隨著模擬變得更現實而減少。與此同時,模擬和真實世界之間的條件概率分佈可能是不同的,因為模擬不能完全複製現實世界中的所有反應,例如物理引擎不能完全模擬真實世界對象的複雜相互作用。

模擬的好處是可以方便地收集數據,因為可以輕鬆地綁定和分析對象,同時實現快速訓練,因為學習可以跨多個實例并行化。因此,它是大型機器學習項目需要與現實世界交互的先決條件,如自駕車。據谷歌自駕汽車技術負責人趙引佳介紹,「如果你真的想做一輛自駕車,模擬是必不可少的」。Udacity已經開源了模擬器,它用於教自己駕駛的汽車工程師nanodegree,而且OpenAI的世界可能允許使用GTA 5或其他視頻遊戲來訓練自駕車。

其他的應用還有適應新的領域以及跨語言傳輸知識。這些應用都是非常有趣的,而且商業價值也比較高。

結論:遷移學習一定會成為未來繼監督學習研究的熱點,因為它本身可以創造足夠多的經濟價值。有了更清晰的商業價值,科技巨頭才會更多的關注這項科技。

以上為譯文,阿里云云棲社區組織翻譯。

文章原標題《transfer-learning Machine Learning』s Next Frontier》,作者:Sebastian Ruder,譯者:虎說八道,審校:袁虎。

Advertisements

你可能會喜歡