大資料時代下的遷移學習
遷移學習不是機器學習的乙個模型或技術,它是機器學習中的一種「設計方**」,還有一些其他的設方**,比如說主動學習。
在後續的文章中,作者將解釋如何結合主動學習與遷移學習來最優地利用現有(或者新的)資料。 從廣義上說,在利用外部資訊來提高效能或泛化能力時,可以使用遷移學習來實現一些機器學習的應用。
▌遷移學習的定義
遷移學習的總體思路是:對於帶大量標籤資料及可用引數設定的源任務,遷移已學習的知識,處理帶少量標籤的目標任務。因為標記資料的成本是昂貴的,最佳地利用現有資料集來解決目標任務是關鍵。
在傳統的機器學習模型中,主要目標是將訓練資料中學習到的模式,推廣到未知的資料。 通過遷移學習,你可以嘗試從已經學習的任務模式開始,啟動這個泛化過程。本質上,這不是從無到有地(通常是隨機初始化的)開始學習過程,而是在學會了其他任務模式的基礎上開始學習新任務。
能夠從影象中區分線條和形狀(左),這些特徵能夠更容易確定圖中是否是「汽車」。可以運用遷移學習來學習其他計算機視覺模型中的模式,而不必從影象的原始畫素值開始。
存在不同的方法來表示自然語言中的單詞(詞嵌入像左、右側的詞表示)。借助詞嵌入演算法,機器學習模型就可以利用不同單詞之間存在的關係。
知識和模式的遷移在各種領域都是有可能實現的。這篇文章將通過幾個不同領域的例子來說明遷移學習是如何工作的。我們的目標是鼓勵資料科學家在機器學習專案中使用遷移學習,並讓他們意識到這種方法的優缺點。
對於遷移學習的理解,以下這三個方面是我認為資料科學家都應具備的關鍵技能:
在任何一種學習模式中,遷移學習的應用都是至關重要的。為了獲得成功,人類不可能學習到每乙個任務或問題。每個人都會遇到從未遇到過的情況,但我們仍然希望以特殊的方式解決問題。從大量的經驗中學習,並將「知識」轉移到新環境中的能力正是遷移學習的關鍵所在。從這個角度來看,遷移學習和泛化能力在概念層面上是非常相似的。它們的主要區別在於遷移學習經常被用於「跨任務遷移知識,而不是在乙個特定的任務中進行概括」。因此,遷移學習與所有機器學習模型所必需的泛化能力概念有著內在聯絡。
對於小資料量情況下深度學習技術,應用遷移學習是取得成功的關鍵。在實際研究中,深度學習幾乎是無處不在,但是對於很多現實生活場景來說,通常都沒有數百萬個帶標籤的資料來訓練模型。而深度學習技術需要大量的資料來調整神經網路中的數百萬個引數,特別是在監督式學習的情況下。這就意味著你需要大量帶標籤資料來訓練模型,而標註資料則需要昂貴的人工成本。標記影象聽起來很平常的,但是在諸如自然語言處理(nlp)任務中,需要專家知識才能建立大型標記資料集。例如,penn
treebank是乙個詞性標註語料庫,至今已有7年的歷史了,它需要與多位語言學專家的密切合作才能完成。為保證小資料量上的神經網路能夠正常執行,遷移學習是一種可行的方法。而其他可行的選擇正朝著更多概率啟發的模式發展,這些模式通常更適合處理有限的小資料集。
遷移學習有著顯著的優點和缺點。了解這些缺點對於機器學習應用程式的成功是至關重要。知識遷移只有在「適當」的情況下才有可能。這種情況下,確切地定義「適當」的概念是不容易的,需要點經驗知識來幫助確定。例如,你不應該相信乙個在玩具車裡開車的孩子能夠開上法拉利。遷移學習的原理也是一樣的:雖然它很難被量化,但遷移學習也是有上限的,也就是說它不是乙個適合所有問題的解決方案。
▌遷移學習的一般概念
遷移學習的要求
正如它的名字,遷移學習需要將知識從乙個領域遷移到另乙個領域的能力。通常,遷移學習可以在高層級上進行解釋。例如,自然語言處理任務中的體系結構可以在序列**問題中重複使用,因為很多自然語言處理問題本質上都可以歸結為序列**問題。遷移學習也可以在低層級上進行解釋,例如在實際中你經常會重複使用不同模型中的引數(跳過片語,連續詞袋等)。遷移學習的要求,一方面是針對具體的問題而定,另一方面則是由具體的模型決定。接下來的兩節將分別討論遷移學習在高層級和低層級的應用方法。儘管在文獻中通常會用不同的名字來闡述這些概念,但是遷移學習的總體概念仍然存在。
多工學習
在多工學習中,你可以同時在不同的任務上訓練模型,通常這些都是深度學習模型,因為它們可以靈活地進行調整。
網路體系結構是這樣調整的:第一層跨越不同的任務使用,隨後為不同的任務指定特定的任務層和輸出。總體的思路是,通過對不同任務的網路進行訓練,網路將更好地推廣,因為模型需要在相似的「知識」或「處理」任務上表現良好。
例如,自然語言處理任務的最終目標是執行實體識別的模型,而不是在實體識別任務純粹地訓練模型。你還用它來處理一部分語音分類,詞語聯想等任務......因此,模型將從不用的結構、不同的任務和不同的資料集的學習中獲益。如果你想學習更多關於多工學習的內容,強烈建議你閱讀sebastian
ruder的關於多工學習的博文(
▌特徵提取
深度學習模型的一大優點是能夠「自動化」地提取特徵。基於標記的資料和反向傳播法則,網路能夠捕捉到對任務有用的特徵。例如,對於影象分類任務,網路會計算出輸入的哪一部分是重要的。這意味著手動定義的特徵是很抽象的,而深度神經網路學習到的特徵可以在其他問題中重複地使用。因為網路所提取的特徵型別,常常對其他問題也是有用。本質上,你可以使用網路的第一層來確定有用的特徵,但是你不能在其他任務上使用網路的輸出,因為這些輸出是針對特定任務的。
考慮到深度學習系統強大的特徵提取能力,如何重複使用現有網路來執行其他任務的特徵提取?
這裡有乙個方法,可以將新的資料樣本饋送到網路中,並將網路中的乙個中間層作為輸出。這個中間層可以被設定為乙個固定的長度,來表示原始資料的輸出。特別地,在計算機視覺領域使用影象特徵,饋送到預訓練好的網路(例如,vgg或alexnet),並在新的資料表示上使用不同的機器學習方法。提取中間層作為影象的表示能夠顯著地減少了原始資料大小,以便它們更適合於傳統的機器學習技術(例如,對於乙個128×128的小影象:大小為128x128=16384畫素,邏輯回歸演算法或支援向量機通常有更好的演算法效能)。
完 謝謝**
大資料時代下的遷移學習 大資料時代下的遷移學習
遷移學習不是機器學習的乙個模型或技術,它是機器學習中的一種 設計方 還有一些其他的設方 比如說主動學習。在後續的文章中,作者將解釋如何結合主動學習與遷移學習來最優地利用現有 或者新的 資料。從廣義上說,在利用外部資訊來提高效能或泛化能力時,可以使用遷移學習來實現一些機器學習的應用。遷移學習的定義 遷...
大資料時代下的遷移學習 大資料時代下的遷移學習
在這篇博文中,你將了解到什麼是遷移學習,它的一些應用以及它為什麼能夠成為資料科學家應具備的關鍵技能。遷移學習不是機器學習的乙個模型或技術,它是機器學習中的一種 設計方 還有一些其他的設方 比如說主動學習。在後續的文章中,作者將解釋如何結合主動學習與遷移學習來最優地利用現有 或者新的 資料。從廣義上說...
大資料之大資料時代
下面,開啟第一講 大資料之大資料時代 講大資料一定脫離不開乙個大的背景。下面先從大資料背景講起。縱觀整個it發展史,也不過短短幾十年,在這幾十年裡,我們這個資訊化社會經歷了三次大的資訊化浪潮。第一次浪潮是在上個世紀90年代前,1980年前後,pc機進入市場,ibm公司制定了全球的pc標準,即一台電腦...