機器不學習 jqbxx.com-專一機器學習,深度學習,天然語言處理,大數據,個性化推薦,搜索算法,知識圖譜算法
雖然我不是專門研究遷移學習的,可是做爲一個AI研究者,就如題圖吳老師所說,遷移學習極爲重要,是必需要學習的,今天就先總結介紹一些遷移學習的基礎知識,目錄以下:網絡
遷移學習一些概念app
遷移學習簡介dom
遷移學習的分類機器學習
遷移學習熱門研究方向ide
遷移學習一些概念函數
在文章的一開始,先來學習遷移學習一些概念:工具
域:一個域 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(.) 。
爲何須要進行遷移學習?
數據的標籤很難獲取,當有些任務的數據標籤很難獲取時,就能夠經過其餘容易獲取標籤且和該任務類似的任務來遷移學習。
從頭創建模型是複雜和耗時的,也便是須要經過遷移學習來加快學習效率。
和一塊兒相關領域的辨析:
多任務學習:區別在於在遷移學習中,咱們主要關心在咱們的目標任務和域上的表現。而多任務學習中的目標是在全部可用的任務上都要表現良好,儘管某個標籤數據一般都被假定在一個任務上。固然,如今遷移學習和多任務學習也並無很大的區別,好比概括式遷移學習中當兩個域都有標籤的時候, 這就與多任務學習類似
持續學習:雖然多任務學習容許咱們在許多任務中保留知識,而不會對咱們的源任務形成性能損失,但只有在全部任務都處於訓練時間的狀況下,這纔是可能的。對於每一個新任務,咱們一般須要從新訓練咱們全部任務的模型。然而,在現實世界中,咱們但願一個代理可以經過使用它以往的一些經驗來處理逐漸變得複雜的任務。爲了達到這個目的,咱們須要讓一個模型在不忘記的狀況下持續地學習。這個機器學習的領域被稱爲學會學習、元學習(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