發布日期:2022-10-09 點擊率:57
前言: 深度學習主要強調的是特征,強化學習主要強調的是反饋,而遷移學習主要強調的是適應。
之前介紹過人工智能之機器學習算法有前5大類內容,具體請參見相關文章。今天我們重點探討一下第6類--遷移學習(Transfer Learning)。 ^_^
傳統的機器學習是種瓜得瓜,種豆得豆,而遷移學習可以舉一反三,投桃報李。
人工智能競爭,從算法模型的研發競爭,轉向數據和數據質量的競爭,這些成功的模型和算法主要是由監督學習推動的,而監督學習對數據極度饑渴,需要海量數據(大數據)支撐來達到應用的精準要求。而人工智能發展更趨向于不要求海量數據也能達到應用的精準要求,因此“小數據學習”正在成為新的熱點,以遷移學習,強化學習為代表的小數據學習技術,更能體現人工智能的未來之路。有專家稱,在監督學習之后,遷移學習將引領下一波機器學習技術商業化浪潮。
遷移學習(TL)的概念自從1995年在NIPS5專題討論會上被提出來后,受到學術界的廣泛關注。遷移學習定義過于寬泛,相關研究中曾出現多種專用術語,比如learning to learn, life-long learn,multi-task learning, meta-learning, inductive transfer, knowledge transfer, context sensitive learning等。其中,遷移學習與多任務學習(multi-task learning)關系最為緊密。多任務學習同時學習多個不同的任務,從中發現隱含的共同特征,以幫助單個任務的學習。
什么是遷移學習?
遷移學習TL(Transfer Learning)是把已學訓練好的模型參數遷移到新的模型來幫助新模型訓練。考慮到大部分數據或任務是存在相關性的,所以通過遷移學習,可以將已經學到的模型參數通過某種方式來分享給新模型從而加快并優化模型的學習效率。
遷移學習的基本動機:
遷移學習的基本動機是試圖從一個問題中獲取的知識應用到另外一個不同但是相關的問題中去。比如,一個熟練應用C++語言編程的程序員能很快地學習和掌握JAVA語言。在某種程度上,機器學習中的遷移學習跟心理學上的“學習能力遷移”有一定的關聯。在人類進化中,遷移學習這種能力是非常重要。比如說,人類在學會騎自行車后,再騎摩托車就很容易了,人類在學會打羽毛球后再學習打網球也會容易很多。人類能把過去的知識和經驗應用到不同的新場景中,這樣就有了一種適應的能力。
遷移學習主要類別方法:
1)實例加權方法:通過某種方式對來自源領域的訓練樣本進行權重計算,以決定每個樣本在訓練過程中的重要性大小。
2)共同特征學習方法:通過若干個共同特征在源領域和目標領域之間傳遞有用的知識。
遷移學習的重要性:
1)從數據角度:數據為王,計算是核心,但沒有足夠數據或收集數據很耗時,對數據打標簽很難,用數據訓練模型很繁瑣。如何進行機器學習?遷移學習適用于小數據量場景;
2)從模型角度:云-端融合的模型被普遍使用,通過需要對設備、環境、用戶做具體適配。個性化模型適配很復雜,需要有不同的用戶隱私處理方式。遷移學習適合個性化方面。
3)從應用角度:機器學習應用中的冷啟動問題,推薦系統沒有初始用戶數據,無法精準推薦。遷移學習可以解決冷啟動問題。
遷移學習可減少對標定數據的依賴,通過和已有數據模型之間的遷移,更好地完成機器學習任務。
遷移學習實現方法:
1)樣本遷移(Instance-based Transfer Learning):在數據集(源領域)中找到與目標領域相似的數據,把這個數據放大多倍,與目標領域的數據進行匹配。其特點是:需要對不同例子加權;需要用數據進行訓練。一般就是對樣本進行加權,給比較重要的樣本較大的權重。
2)特征遷移(Feature-based Transfer Learning):通過觀察源領域圖像與目標域圖像之間的共同特征,然后利用觀察所得的共同特征在不同層級的特征間進行自動遷移。在特征空間進行遷移,一般需要把源領域和目標領域的特征投影到同一個特征空間里進行。
3)模型遷移(Model-based Transfer Learning):利用上千萬的圖象訓練一個圖象識別的系統,當遇到一個新的圖象領域,就不用再去找幾千萬個圖象來訓練了,可以原來的圖像識別系統遷移到新的領域,所以在新的領域只用幾萬張圖片同樣能夠獲取相同的效果。模型遷移的一個好處是可以區分,就是可以和深度學習結合起來,可以區分不同層次可遷移的度,相似度比較高的那些層次被遷移的可能性就大一些。
4)關系遷移(Relational Transfer Learning):利用源域學習邏輯關系網絡,再應用于目標域上。如社會網絡,社交網絡之間的遷移。
遷移學習工具:
NanoNets(納米網絡)是一個簡單方便的基于云端實現的遷移學習工具,內部包含了一組已經實現好的預訓練模型,每個模型有數百萬個訓練好的參數。用戶可以自己上傳或通過網絡搜索得到數據,NanoNets將自動根據待解問題選擇最佳的預訓練模型,并根據該模型建立一個NanoNets,并將之適配到用戶的數據。NanoNets和預訓練模型之間的關系結構如下圖所示。
遷移學習發展:
1)結構與內容分離:當面臨一個機器學習問題,想要發現不同問題之間的共性,那么可以把問題的結構和內容剝離開。雖然這樣的分離并不容易,但是一旦完成,那么系統舉一反三的能力就非常強。
2)多層次特征學習:把問題分到不同層次,有些層次就更容易幫助進行機器學習的遷移。用了這種層次型的遷移學習,不同的層次具有不同的遷移能力,對于不同層次的遷移能力就有了一個定量的估計。當需要處理新任務時,就可以把某些區域或某些層次給固定住,把其他的區域用小數據來做訓練,這樣就能夠達到遷移學習的效果。
3)多步、傳遞式學習:從舊領域遷移到新領域,從一個多數據的領域遷移到少數據的領域,這種稱之為單步遷移。很多場景是需要分階段進行多步傳導式的遷移,可以構建一個深度網絡,而這個網絡中間層既能照顧目標這個問題領域,又能照顧原來的領域。如果有一些中間領域,那么其可以把原領域和目標領域一步步的銜接起來。可以定義兩個目標函數,兩個目標函數一同工作時,一個優化了最后的目標,另一個則選擇了樣本。如此迭代,原領域的數據就從多步遷移到目標領域。
4)學習如何遷移:在給定任何一個遷移學習問題,系統可以自動在過去所有嘗試過的算法里面,利用經驗找到最合適的算法,可以是基于特征的、基于多層網絡的、基于樣本的或者是基于某種混合。或者把經驗總結起來訓練一個新的算法,這個算法的老師就是所有這些機器學習算法、文章、經歷和數據。所以,學習如何遷移,就好像常說的學習如何學習,這個才是學習的最高境界,也就是學習方法的獲取。
5)遷移學習作為元學習:把遷移學習本身作為一個元學習(meta Learning)的方法,賦予到不同學習的方式上。假設以前有一個機器學習的問題或者是模型,現在只要在上面套一個遷移學習的罩子,它就可以變成一個遷移學習的模型了。
6)數據生成式遷移學習:對于生成式對抗網絡來說,圖靈測試外面的裁判是學生,里面的那個機器也是學生,兩個人的目的是在對抗中共同成長,兩方不斷互相刺激,形成一種對抗(共同學習特點)。通過小數據可以生成很多模擬數據,通過模擬數據又來判定它是真的還是假的,用以刺激生成式模型的成長。可以通過小數據產生更多的數據,在新的領域就可以實現遷移學習的目的。
最近,遷移學習技術在機器學習和數據挖掘領域得到了深入的研究。
結語:
伴隨著最近幾年的機器學習熱潮,遷移學習也成為目前最炙手可熱的研究方向。機器學習的未來發展在小數據、個性化、可靠性上面,那就是遷移學習。遷移學習體現了人類特有的類比能力,是“舉一反三”式的發散思維。遷移學習已經廣泛被使用在各種人工智能機器學習應用場景中。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV