機器不學習:初識遷移學習


機器不學習 jqbxx.com-專注機器學習,深度學習,自然語言處理,大數據,個性化推薦,搜索算法,知識圖譜

雖然我不是專門研究遷移學習的,但是作為一個AI研究者,就如題圖吳老師所說,遷移學習極為重要,是必須要學習的,今天就先總結介紹一些遷移學習的基礎知識,目錄如下:

  1. 遷移學習一些概念

  2. 遷移學習簡介

  3. 遷移學習的分類

  4. 遷移學習熱門研究方向

遷移學習一些概念

在文章的一開始,先來學習遷移學習一些概念:

域:一個域 D 由一個特征空間 X 和特征空間上的邊際概率分布 P(X) 組成,其中 X=x1,x2,...xn 。舉個例子:對於一個有文檔,其有很多詞袋表征(bag-of-words representation)X 是所有文檔表征的空間,而 xi 是第 i 個單詞的二進制特征。P(X)代表對X的分布。

任務 :在給定一個域 D={X,P(X)} 之后,一個任務 T 由一個標簽空間 y 以及一個條件概率分布 P(Y/X) 構成,其中,這個條件概率分布通常是從由特征—標簽對 xi, yi組成的訓練數據中學習得到。

源域(source domain),目標域(target domain):在遷移學習中,我們已有的知識叫做源域(source domain),要學習的新知識叫目標域(target domain)。

負遷移:指的是在源域上學習到的知識,對於目標域上的學習產生負面作用。產生負遷移的原因主要有兩個:一個是源域 和目標域的相似度很低,無法做遷移。另一個是雖數據問源域和目標域是相似的,但是,遷移學習方法不夠好,沒找到可遷移的成分,導致負遷移。

遷移學習簡介

先舉幾個例子,比如我們已經會編寫Java程序,就可以類比着來學習C++,都是面向對象的語言,就很快學會了,或者在學會騎自行車之后,騎摩托車也自己比較容易了,因為這兩種交通工具有許多相似之處。總結起來,用成語來說遷移學習就是舉一反三!

再來個圖示,如下左圖,傳統機器學習對不同的學習任務需要建立不同的模型,學習不同的參數,而對於遷移學習(右圖),只需要利用源域中的數據將知識遷移到目標域,就能完成模型建立。

機器不學習:初識遷移學習

遷移學習的嚴格定義:

給定源域 Ds={Xs, Fs(X)} 和學習任務 Ts ,目標域 DT={Xt,Ft(X)} 和學習任務 Tt ,遷移學習旨在源域不同於目標域或學習任務 Tt 不同於學習任務 Ts 的條件下通過使用學習任務 Ts 和源域 Ds={Xs,Fs(X)} 所獲取的知識來幫助學習目標的在目標域Dt的預測函數 Ft(.) 。

為什么需要進行遷移學習?

  1. 數據的標簽很難獲取,當有些任務的數據標簽很難獲取時,就可以通過其他容易獲取標簽且和該任務相似的任務來遷移學習。

  2. 從頭建立模型是復雜和耗時的,也即是需要通過遷移學習來加快學習效率。

和一起相關領域的辨析:

多任務學習:區別在於在遷移學習中,我們主要關心在我們的目標任務和域上的表現。而多任務學習中的目標是在所有可用的任務上都要表現良好,盡管某個標簽數據通常都被假定在一個任務上。當然,現在遷移學習和多任務學習也並沒有很大的區別,比如歸納式遷移學習中當兩個域都有標簽的時候, 這就與多任務學習相似

持續學習:雖然多任務學習允許我們在許多任務中保留知識,而不會對我們的源任務造成性能損失,但只有在所有任務都處於訓練時間的情況下,這才是可能的。對於每個新任務,我們通常需要重新訓練我們所有任務的模型。然而,在現實世界中,我們希望一個代理能夠通過使用它以往的一些經驗來處理逐漸變得復雜的任務。為了達到這個目的,我們需要讓一個模型在不忘記的情況下持續地學習。這個機器學習的領域被稱為學會學習、元學習(meta learning)、終生學習,或者持續學習。持續學習在最近的強化學習 (強化學習以 Google DeepMind 對通用學習代理的探索而著稱) 上已經取得了成功 ,也正在被用於序列到序列的模型上 。

最近元學習(meta learning)也挺火爆的,再來舉個網上的例子:我們都知道,在金庸的武俠世界中,有各種各樣的武功,不同的武功都不一樣,有內功也有外功。那么里面的張無忌就特別厲害,因為他練成了九陽神功。有了九陽神功,張無忌學習新的武功就特別快,在電影倚天屠龍記之魔教教主中,張無忌分分鍾學會了張三豐的太極拳打敗了玄冥二老。九陽神功就是一種學會學習的武功!我們希望神經網絡也能學會學習,這樣也就能快速學習啦!

zero-shot 學習:如果我們把遷移學習使用到極限,並且想要僅僅從很少的實例中學習,這就分別得到了 few-shot、one-shot 以及 zero-shot 學習。讓模型執行 one-shot 和 zero-shot 學習,無疑屬於機器學習中最艱難的問題。而另一方面,這卻是我們人類天生就會的:幼年的時候,為了讓我們能夠認出任何狗狗,我們僅僅需要被告知一次「這是一條狗」,然而成年人可以僅通過在文中閱讀就理解一個東西的本質,不需要事先見過它。

one-shot 學習的新進展利用了這樣的思想,即為了在測試的時候實現好的性能,模型需要顯式地被訓練,從而進行 one-shot 學習。但更加逼真、具有概括性的 zero-shot 學習設置在最近已經引起了注意,在零點學習中訓練類別出現在測試的時候。

以上就是一些相關領域,當然這里只是很簡單的介紹,有一個概念,詳細請自行了解

遷移學習的分類

按遷移情景分

  • 歸納式遷移學習(Inductive TL):源域和目標域的學習任務不同

  • 直推式遷移學習(Transductive TL):源域和目標域不同,學習任務相同

  • 無監督遷移學習(Unsupervised TL):源域和目標域均沒有標簽

根據源Domain和目前Domain 之間的關系,源Task 和 目標Task之間的關系,以及任務方法更詳細的整理為下表:

機器不學習:初識遷移學習

按遷移學習的基本方法分

  • 基於實例的遷移學習方法

在源域中找到與目標域相似的數據,把這個數據的權值進行調整,使得新的數據與目標域的數據進行匹配。然后進行訓練學習,得到適用於目標域的模型。這樣的方法優點是方法簡單,實現容易。缺點在於權重的選擇與相似度的度量依賴經驗,且源域與目標域的數據分布往往不同。

機器不學習:初識遷移學習

  • 基於特征的遷移學習方法

當源域和目標域含有一些共同的交叉特征時,我們可以通過特征變換,將源域和目標域的特征變換到相同空間,使得該空間中源域數據與目標域數據具有相同分布的數據分布,然后進行傳統的機器學習。優點是對大多數方法適用,效果較好。缺點在於難於求解,容易發生過適配。

機器不學習:初識遷移學習

需要注意的的是基於特征的遷移學習方法和基於實例的遷移學習方法的不同是基於特征的遷移學習需要進行特征變換來使得源域和目標域數據到到同一特征空間,而基於實例的遷移學習只是從實際數據中進行選擇來得到與目標域相似的部分數據,然后直接學習。
  • 基於模型的遷移學習方法

源域和目標域共享模型參數,也就是將之前在源域中通過大量數據訓練好的模型應用到目標域上進行預測。基於模型的遷移學習方法比較直接,這樣的方法優點是可以充分利用模型之間存在的相似性。缺點在於模型參數不易收斂。

舉個例子:比如利用上千萬的圖象來訓練好一個圖象識別的系統,當我們遇到一個新的圖象領域問題的時候,就不用再去找幾千萬個圖象來訓練了,只需把原來訓練好的模型遷移到新的領域,在新的領域往往只需幾萬張圖片就夠,同樣可以得到很高的精度。

機器不學習:初識遷移學習

基於關系的遷移學習方法

當兩個域是相似的時候,那么它們之間會共享某種相似關系,將源域中學習到的邏輯網絡關系應用到目標域上來進行遷移,比方說生物病毒傳播規律到計算機病毒傳播規律的遷移。這部分的研究工作比較少。典型方法就是mapping的方法

機器不學習:初識遷移學習

看一個圖來總結以上的知識(可以看成歸納式遷移學習是最廣泛應用的):

機器不學習:初識遷移學習

按特征空間分

  • 同構遷移學習(Homogeneous TL): 源域和目標域的特征維度相同分布不同

  • 異構遷移學習(Heterogeneous TL):源域和目標域的特征空間不同

以下圖是做遷移學習分類的一個梳理:

機器不學習:初識遷移學習

遷移學習熱門研究方向

域適配問題(domain adaptation):有標簽的源域和無標簽的目標域共享相同的特征和類別,但是特征分布不同,如何利用源域標定目標域。解決Domain adaptation問題主要的思路就是將source訓練好的模型能夠用在target上,而域適配問題最主要的也就是如何減少source域和target域不同分布之間的差異。

代表性論文有:Domain adaptation via transfer component analysis--基於特征的遷移方法;Density ratio estimation in machine learning--基於實例的遷移方法;Cross-domain video concept detection using adaptive svms--基於模型的遷移方法等等

最近的進展也有 Wasserstein Distance Guided Representation Learning for Domain Adaptation等,用W-GAN來做domain adaptation,可以一看。

多源遷移學習(multi-source TL):多個源域和目標域,通過進行有效的域篩選,從而進行遷移。多源遷移學習可以有效利用存在的多個可用域,綜合起來進行遷移,達到較好的效果。當然現在如何衡量多個域之間的相關性和多個域的利用方法還是一個比較大的問題

代表性論文有:Boosting for transfer learning;Multi-source transfer learning with multi-view adaboost等等

深度遷移學習(deep TL) :特別是近年來由於深度學習的火爆,越來越多研究者利用深度神經網絡的結構進行遷移學習,深度學習可以深度表征域中的知識結構,也大大增強了模型的泛化能力,可以說利用深度學習做遷移學習的前景還是很好的。

代表性論文有:Simultaneous deep transfer across domains and tasks;Multi-source transfer learning with multi-view adaboost;Learning Transferable Features with Deep Adaptation Networks等等

更多精彩內容,機器不學習官方網站 jqbxx.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM