1. 程式人生 > >深度學習模型-13 遷移學習(Transfer Learning)技術概述

深度學習模型-13 遷移學習(Transfer Learning)技術概述


前一期介紹了表示學習Representation Learning,指出其中比較有趣的一個方向-共享表示學習。今天介紹共享表示學習最相關的機器學習領域-遷移學習(Transfer Learning)。文章內容主要整理自論文《A survey on transfer Learning》。

1 遷移學習提出的背景及歷史

1、遷移學習提出背景

在機器學習、深度學習和資料探勘的大多數任務中,我們都會假設traininginference時,採用的資料服從相同的分佈(distribution)、來源於相同的特徵空間(feature space)。但在現實應用中,這個假設很難成立,往往遇到一些問題:

1、帶標記的訓練樣本數量有限。比如,處理A領域(target domain)的分類問題時,缺少足夠的訓練樣本。同時,與A領域相關的Bsource domain)領域,擁有大量的訓練樣本,但B領域與A領域處於不同的特徵空間或樣本服從不同的分佈。

2、資料分佈會發生變化。資料分佈與時間、地點或其他動態因素相關,隨著動態因素的變化,資料分佈會發生變化,以前收集的資料已經過時,需要重新收集資料,重建模型。

這時,知識遷移(knowledge transfer)是一個不錯的選擇,即把B領域中的知識遷移到A領域中來,提高A領域分類效果,不需要花大量時間去標註A領域資料。遷移學習,做為一種新的學習正規化,被提出用於解決這個問題。

2 遷移學習發展歷史

遷移學習的研究來源於一個觀測:人類可以將以前的學到的知識應用於解決新的問題,更快的解決問題或取得更好的效果。遷移學習被賦予這樣一個任務:從以前的任務當中去學習知識(knowledge)或經驗,並應用於新的任務當中。換句話說,遷移學習目的是從一個或多個源任務(source tasks)中抽取知識、經驗,然後應用於一個目標領域(target domain)當中去。

1995年以來,遷移學習吸引了眾多的研究者的目光,遷移學習有很多其他名字:學習去學習(Learning to learn)、終身學習(life-long learning)、推導遷移(inductive transfer

)、知識強化(knowledge consolidation)、上下文敏感性學習(context-sensitive learning)、基於知識的推導偏差(knowledge-based inductive bias)、累計/增量學習(increment / cumulative learning)等。

2 遷移學習中的符號及概念的定義

1、符號定義

領域(domain)和任務(task)定義:

領域由兩個部分組成:特徵空間(feature spaceX和特徵空間的邊緣分佈Px),其中,x={x1,x2......xn} 屬於X。如果兩個領域不同,它們的特徵空間或邊緣概率分佈不同。領域表示成D={X,P(x)}

任務組成:給定一個領域D={XPx}的情況下,一個任務也包含兩個部分:標籤空間Y和一個目標預測函式f.)。一個任務表示為:T={Yf.}。目標預測函式不能被直接觀測,但可以通過訓練樣本學習得到。從概率論角度來看,目標預測函式f.)可以表示為P(Y|X)。任務表示成T={YPY|X}

一般情況下,只考慮只存在一個source domain Ds 和一個target domain Dt的情況。其中,源領域Ds = {xs1ys1),(xs2,ys2......xsns,ysns}xsi 屬於Xs,表示源領域的觀測樣本,ysi屬於Ys,表示源領域觀測樣本xsi對應的標籤。目標領域Dt = {xt1yt1,xt2yt2.......xtntytnt}xti屬於Xt,表示目標領域觀測樣本,ysi屬於Yt,表示目標領域xti對應的輸出。通常情況下,源領域觀測樣本數目ns與目標領域觀測樣本數目nt存在如下關係:1<=  nt  <<  ns

2、遷移學習定義

基於以上的符號定義,給出正式的遷移學習的定義:在給定源領域Ds和源領域學習任務Ts、目標領域Dt和目標領域任務Tt的情況,且Ds 不等於DtTs不等於Tt,情況下;遷移學習使用源領域DsTs中的知識提升或優化目標領域Dt中目標預測函式ft.)的學習效果。

通過以上的定義可以發現:

1)、領域D=XPx)),當源和目標領域D不同時,存在兩種情況:(1Xs不等於XT,源領域和目標領域的特徵空間不同;(2Pxs)不等於Pxt),即源空間和目標空間的特徵空間相同,但觀測樣本X的邊緣分佈不同。

2)任務T={YPY|X},當源和目標領域T不同時,存在兩種情況:(1Ys不等於Yt,源領域的標籤空間與目標領域的標籤空間不同;(2PYs|Xs)不等於PYt|Xt),即源領域和目標領域的條件概率分佈不同。

3 遷移學習的分類

1、遷移學習的研究問題

在遷移學習領域有三個研究問題:(1)、遷移什麼;(2)、如何遷移;(3)、什麼時候遷移。

1)遷移什麼:那一部分知識可以在多個領域或任務之間遷移,即多個領域或任務知識的共同部分,通過從源領域學習這部分共同的知識,提升目標領域任務的效果。

關注遷移什麼知識時,需要注意negative transfer問題:當源領域和目標領域之間沒有關係,卻要在之間強制遷移知識是不可能成功的。極端情況下,反倒會影響目標領域任務學習的效果,這種情況稱為負遷移(negative transfer),需要盡力避免。

2)找到了遷移什麼,接下來需要解決如何遷移:怎麼做知識遷移。什麼時候遷移:在什麼情況下、什麼時候,可以做知識的遷移。

2、轉導學習與推導學習區別

推導學習(inductive learning)與轉導學習(tranductive learning)的區別:

推到學習:需要先用一些樣本(training set)建立一個模型,再基於建立好的模型去去預測新的樣本(testing set)的型別。以分類為例,推到學習就是一個經典的貝葉斯決策,通過貝葉斯共識:PY|X=PX|Y*PY/ PX),建立後驗概率分佈PY|X),進而預測測試樣本類別。缺點就是必須先建立一個模型,很多時候建立效果好的模型並不容易,特別是當帶標記的訓練樣本少、無標記的測試樣本非常多時。那麼能否直接利用大量無標記的測試樣本來識別樣本類別呢?由此產生了轉到學習方法。

轉導學習:不需要建立後驗概率模型,直接從無標記的測試樣本X出發,構建PX)的分佈,對測試樣本分類。與推到學習相比,轉到學習也有它的缺點:因為是直接基於PX)處理,轉導學習的測試樣本必須預先已知。

3、基於定義的遷移學習分類

基於遷移學習的定義中源領域和目標領域D和任務T的不同,遷移學習可以分成三類:推導遷移學習(inductive transfer learning),轉導遷移學習(tranductive transfer learning)和無監督遷移學習(unsupervised transfer learning

1、推導遷移學習定義:給定源領域Ds和源領域學習任務Ts、目標領域Dt和目標領域任務Tt的情況,且Ts不等於Tt,情況下;推導遷移學習使用源領域DsTs中的知識提升或優化目標領域Dt中目標預測函式ft.)的學習效果。

可見,在推導遷移學習中,源任務(source task)與目標任務(target task)一定不同,目標領域Dt與源領域Ds可以相同,也可以不同。在這種情況下,目標領域需要一部分帶標記的資料用於建立目標領域的預測函式ft.)。根據源領域中是否含有標記樣本,可以把推導遷移學習分為兩個類:

(1)、當源領域中有很多標記樣本時,推導遷移學習與多工學習(multitask learning)類似。區別在於,通過從源領域遷移知識,推導遷移學習只注重提升目標領域的效果;但多工學習注重同時提升源領域和目標領域的效果。

(2)當源領域沒有標記樣本時,推導遷移學習與自學習類似。

2、轉導遷移學習定義:給定源領域Ds和源領域學習任務Ts、目標領域Dt和目標領域任務Tt的情況,且Ts等於TtDs不等於Dt,情況下;轉導遷移學習使用源領域DsTs中的知識提升或優化目標領域Dt中目標預測函式ft.)的學習效果。此外,模型訓練師,目標領域Dt中必須提供一些無標記的資料。

可見,在轉導遷移學習中,源任務Ts和目標任務Tt相同,但領域DsDt不同。這種情況下,源領域有大量標記樣本,但目標領域沒有標記樣本。根據DsDt的不同,可以把轉到學習分為兩個類:(1)、源領域和目標領域特徵空間不同,即Xs不等於Xt。(2)、特徵空間相同,但邊緣概率不同,即Pxs)不等於Pxt)。在(2)情況下,轉導遷移學習與領域適應性(domain adaptation)、協方差偏移(covariate shift)問題相同。

3、無監督遷移學習定義:給定源領域Ds和源領域學習任務Ts、目標領域Dt和目標領域任務Tt的情況,且Ts不等於Tt、標籤空間YtYs不可觀測,情況下;轉導遷移學習使用源領域DsTs中的知識提升或優化目標領域Dt中目標預測函式ft.)的學習效果。

在無監督遷移學習中,目標任務與源任務不同但卻相關。此時,無監督遷移學習主要解決目標領域中的無監督學習問題,類似於傳統的聚類、降維和密度估計等機器學習問題。

由此可以得到遷移學習的分類,以及和其他機器學習方法之間的關係圖1所示。

 

                                  圖1 基於定義的遷移學習分類

4、基於遷移的內容分類

根據遷移的內容,遷移學習可以分為四類:

基於例項的遷移學習(instance-based transfer learning):源領域(source domain)中的資料(data)的某一部分可以通過reweighting的方法重用,用於target domain的學習。

基於特徵表示的遷移學習(feature-representation transfer learning):通過source domain學習一個好的(good)的特徵表示,把知識通過特徵的形式進行編碼,並從suorce domain傳遞到target domain,提升target domain任務效果。

基於引數的遷移學習(parameter-transfer learning):target domainsource domian的任務之間共享相同的模型引數(model parameters)或者是服從相同的先驗分佈(prior distribution)。

基於關係知識遷移學習(relational-knowledge transfer learning):相關領域之間的知識遷移,假設source domaintarget domain中,資料(data)之間聯絡關係是相同的。

前三類遷移學習方式都要求資料(data)獨立同分布假設。同時,四類遷移學習方式都要求選擇的sourc domatarget domain相關,

1給出了遷移內容的遷移學習分類:

 

                                  表1 基於遷移內容的遷移學習分類

將基於定義遷移學習分類和基於遷移內容的遷移學習分類結合,得到遷移學習分類結果如表2所示:

 

                               表2 基於定義遷移學習分類和基於遷移內容的遷移學習分類結合

從表2可以發現,遷移學習大多數的研究工作都集中於推導遷移學習和轉導遷移學習上,無監督的遷移學習模式,在未來會吸引更多研究者關注。

4、遷移學習的應用

用於情感分類,影象分類,命名實體識別,WiFi訊號定位,自動化設計,中文到英文翻譯等問題。

參考論文:

[1] A survey on transfer Learning. IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 22, NO. 10, OCTOBER 2010

[2] Learning to Learn. S. Thrun and L. Pratt, eds. Kluwer Academic Publishers, 1998.

[3] R. Caruana, “Multitask Learning,” Machine Learning, vol. 28, no. 1, pp. 41-75, 1997.

[4] R. Raina, A. Battle, H. Lee, B. Packer, and A.Y. Ng, “Self-Taught Learning: Transfer Learning from Unlabeled Data,” Proc. 24th Int’l Conf. Machine Learning, pp. 759-766, June 2007.

[5] H. Daume´ III and D. Marcu, “Domain Adaptation for Statistical Classifiers,” J. Artificial Intelligence Research, vol. 26, pp. 101-126, 2006.

[6] B. Zadrozny, “Learning and Evaluating Classifiers under Sample Selection Bias,” Proc. 21st Int’l Conf. Machine Learning, July 2004.

[7] H. Shimodaira, “Improving Predictive Inference under Covariate Shift by Weighting the Log-Likelihood Function,” J. Statistical Planning and Inference, vol. 90, pp. 227-244, 2000.

[8] W. Dai, Q. Yang, G. Xue, and Y. Yu, “Self-Taught Clustering,” Proc. 25th Int’l Conf. Machine Learning, pp. 200-207, July 2008.

[9] Z. Wang, Y. Song, and C. Zhang, “Transferred Dimensionality Reduction,” Proc. European Conf. Machine Learning and Knowledge Discovery in Databases (ECML/PKDD ’08), pp. 550-565, Sept. 2008.

 往期精彩內容推薦

更多深度學習NLP方面應用的經典論文、實踐經驗和最新訊息,歡迎關注微信公眾號“深度學習與NLPDeepLearning_NLP”或掃描二維碼新增關注。

                       

相關推薦

深度學習模型-13 遷移學習Transfer Learning技術概述

前一期介紹了表示學習Representation Learning,指出其中比較有趣的一個方向-共享表示學習。今天介紹共享表示學習最相關的機器學習領域-遷移學習(Transfer Learning)。文章內容主要整理自論文《A survey on transfer Le

遷移學習transfer learning、多工學習multi-task learning深度學習deep learning概念摘抄

本文在寫作過程中參考了諸多前輩的部落格、論文、筆記等。由於人數太多,在此不一一列出,若有侵權,敬請告知,方便我進行刪改,謝謝!!! 遷移學習(Transfer Learning) 遷移學習出現的背景如下:在一些新興領域很難得到我們需要的大量的訓練資料,另外,傳統的機器學習

遷移學習簡介transfer learning

遷移學習簡介(transfer learning) https://blog.csdn.net/qq_33414271/article/details/78756366   一、什麼是遷移學習? 遷移學習將一個場景中學到的知識遷移到另一個場景中 達叔也說將來遷移學習也會

PyTorch之遷移學習Transfer Learning

TRANSFER LEARNING TUTORIAL Finetuning the convnet: Instead of random initializaion, we initialize the network with a pretrained network, l

遷移學習TRANSFER LEARNING

在本教程中,您將學習如何使用遷移學習來培訓您的網路。 在實踐中,很少有人從頭開始訓練整個卷積網路(使用隨機初始化),因為擁有足夠大小的資料集是相對少見的。相反,在一個非常大的資料集上預先訓練一個卷積神經網路是很常見的(例如,ImageNet,它包含了120萬個有1000個類

淺說“遷移學習Transfer Learning

—— 原文釋出於本人的微信公眾號“大資料與人工智慧Lab”(BigdataAILab),歡迎關注。 什麼是遷移學習? 遷移學習(Transfer Learning)是一種機器學習方法,是把一個領域(即源領域)的知識,遷移到另外一個領域(即目標領域),使得目標領

遷移學習transfer learning和微調fine-tune的幾點認識

遷移學習和微調的區別 什麼是遷移學習? 即一種學習對另一種學習的影響,它廣泛地存在於知識、技能、態度和行為規範的學習中。任何一種學習都要受到學習者已有知識經驗、技能、態度等的影響,只要有學習,就有

深度學習模型調優方法Deep Learning學習記錄

深度學習模型的調優,首先需要對各方面進行評估,主要包括定義函式、模型在訓練集和測試集擬合效果、交叉驗證、啟用函式和優化演算法的選擇等。 那如何對我們自己的模型進行判斷呢?——通過模型訓練跑程式碼,我們可以分別從訓練集和測試集上看到這個模型造成的損失大小(loss),還有它的精確率(ac

深度學習模型壓縮方法綜述

前言 目前在深度學習領域分類兩個派別,一派為學院派,研究強大、複雜的模型網路和實驗方法,為了追求更高的效能;另一派為工程派,旨在將演算法更穩定、高效的落地在硬體平臺上,效率是其追求的目標。複雜的模型固然具有更好的效能,但是高額的儲存空間、計算資源消耗是使其難以有

深度學習 - 模型調優經歷1

模型調優經歷(1) 背景 遇到問題 思路 解決辦法 背景 樣本規模及劃分

深度學習模型壓縮方法綜述

前言在前兩章,我們介紹了一些在已有的深度學習模型的基礎上,直接對其進行壓縮的方法,包括核的稀疏化,和模型的裁剪兩個方面的內容,其中核的稀疏化可能需要一些稀疏計算庫的支援,其加速的效果可能受到頻寬、稀疏度等很多因素的制約;而模型的裁剪方法則比較簡單明瞭,直接在原有的模型上剔除掉

深度學習模型的量化方法論文學習 & tensorflow lite量化方法

curl -L "https://storage.googleapis.com/download.tensorflow.org/models/inception_v3_2016_08_28_frozen.pb.tar.gz" | tar -C tensorflow/examples/label_imag

六種人體姿態估計的深度學習模型和程式碼總結轉載

六種人體姿態估計的深度學習模型和程式碼總結 姿態估計的目標是在RGB影象或視訊中描繪出人體的形狀,這是一種多方面任務,其中包含了目標檢測、姿態估計、分割等等。有些需要在非水平表面進行定位的應用可能也會用到姿態估計,例如圖形、增強現實或者人機互動。姿態估計同樣包

深度學習語言模型的通俗講解Deep Learning for Language Modeling

感想 這是臺灣大學Speech Processing and Machine Learning Laboratory的李巨集毅 (Hung-yi Lee)的次課的內容,他的課有大量生動的例子,把原理也剖析得很清楚,感興趣的同學可以去看看,這裡是我對它的一次課的筆記,我覺得

深度學習Deep Learning讀書思考四:模型訓練優化

概述 機器學習應用包括模型構建、求解和評估,對於深度模型而言也是類似,根據之前的介紹可以構建自己的深度神經網路結構。相對於一般的優化問題,深度模型更難優化,本節主要介紹深度學習模型優化挑戰、優化演算法以及優化策略等。 深度學習模型優化挑戰 深

深度學習計算模型中“門函式Gating Function”的作用

/*.*/                                                     author: 張俊林看深度學習文獻,門函式基本上已經是你必然會遇到的一個概念了,最典型的就是LSTM,首先上來你就得過得去“遺忘門”“輸入門”“輸出門”這三個

深度學習知識點查漏補缺反向傳播

普通 就是 post 神經網絡 節點 深度學習 網絡 非線性 關系 神經網絡反向傳播 首先理解一個基礎前提,神經網絡只是一個嵌套的,非線性函數(激活函數)復合線性函數的函數。對其優化,也同一般機器學習算法的目標函數優化一樣,可以用梯度下降等算法對所有函數參數進行優化。 但因

深度學習】一文讀懂機器學習常用損失函數Loss Function

back and 們的 wiki 導出 歐氏距離 classes 自變量 關於 最近太忙已經好久沒有寫博客了,今天整理分享一篇關於損失函數的文章吧,以前對損失函數的理解不夠深入,沒有真正理解每個損失函數的特點以及應用範圍,如果文中有任何錯誤,請各位朋友指教,謝謝~

解釋機器學習模型的一些方法——理解復雜的機器學習模型

p s 結果 origin 得出 驗證 場景 這樣的 機器 發的 在這一部分中我們所要展現的技術,可以為非線性、非單調的響應函數生成解釋。我們可以把它們與前兩部分提到的技巧結合起來,增加所有種類模型的可解釋性。實踐者很可能需要使用下列增強解釋性技巧中的一種以上,為他們手中

遷移學習】簡述遷移學習深度學習中的應用

選自MachineLearningMastery 作者:Jason Brownlee 機器之心編譯 參與:Nurhachu Null、劉曉坤 本文介紹了遷移學習的基本概念,以及該方法在深度學習中的應用,引導構建預測模型的時候使用遷移學習的基本策略。 遷移學習是一種機器學習