天天看點

論文 | 2017CIKM - 遷移學習專題論文分享Supervised TL: Feature learningUnsupervised Deep TLTransitive Transfer Learning

​導讀

ACM CIKM 2017全稱是The 26th ACM International Conference on Information and Knowledge Management,是國際計算機學會(ACM)主辦的資料庫、知識管理、資訊檢索領域的重要學術會議。

參會歸來後,小編邀請了參會的同學與各位讀者們第一時間分享了CIKM的參會感受。在接下來的CIKM系列分享中,你将會看到:CIKM最佳論文分享,Network Embedding專題和遷移學習專題。本篇文章是CIKM系列分享的三篇:CIKM 遷移學習專題分享。(CIKM其他系列分享請參考本周二、周三的推送。)

Transfer learning (遷移學習,以下簡稱TL),有時也稱為domain adaptation,是機器學習主流的技術之一。TL的核心思想是從一個有很多标注資料的源領域裡學習一些知識來幫助一個标注資料不多的目标領域。TL在工業界有很大的需求,因為大量新的應用場景不斷湧現。傳統的機器學習需要對每個場景積累大量訓練資料,這将會耗費大量的人力與物力。如果我們能利用好現有的訓練資料去幫助學習新的場景的學習任務将會大大減少标注的資源。香港科技大學教授、人工智能和資料挖掘專家楊強在TL領域有非常大的貢獻,這次他的CIKM2017 keynote就是關于TL怎麼和近幾年大火的DL(深度學習)結合的。

PS.完整的keynote的ppt,請關注本賬号“螞蟻金服科技”微信公衆号後在背景回複“CIKM”即可收到!

值得一提的是,斯坦福的教授吳恩達(Andrew Ng)認為下一個機器學習成功的應用将是由TL來驅動的:「TL will be the next driver of ML sucess」。

論文 | 2017CIKM - 遷移學習專題論文分享Supervised TL: Feature learningUnsupervised Deep TLTransitive Transfer Learning

Why TL is hard? TL的最大挑戰是如何學習出源領域和目标領域共同的knowledge(知識),這個knowledge需要具有很好的領域的适應性。

論文 | 2017CIKM - 遷移學習專題論文分享Supervised TL: Feature learningUnsupervised Deep TLTransitive Transfer Learning

通常來說有以下四類TL算法:

論文 | 2017CIKM - 遷移學習專題論文分享Supervised TL: Feature learningUnsupervised Deep TLTransitive Transfer Learning

樣本遷移(Instance based TL)

這裡需要在源域中找到與目标域相似的資料,然後調整這個資料的權重在和目标域混合訓練。這裡的假設是,源域和目标域可能有部分重疊,找出這些重疊的部分可以幫助學習目标域。下個例子就是找到源域的例子3來幫助目标域的學習。這個方法比較簡單,但是不适合源域與目标域分布不一緻的情況。

論文 | 2017CIKM - 遷移學習專題論文分享Supervised TL: Feature learningUnsupervised Deep TLTransitive Transfer Learning

特征遷移(Feature based TL)

這裡假設源域和目标域有一些交叉特征,通過映射可以把源域和目标域放到相同的空間,在這個新的空間裡再進行傳統的機器學習。這個優點是方法比較通用,效果也不錯,但是特征映射比較難,容易過拟合。下圖1就是可以從兩種類型的狗裡面抽象出狗的一些特征,用來幫助目标領域的學習。

論文 | 2017CIKM - 遷移學習專題論文分享Supervised TL: Feature learningUnsupervised Deep TLTransitive Transfer Learning

模型遷移(Parameter based TL)

這裡通常是把一個領域訓練好的模型用到新的領域,這個時候可能需要新的領域的樣本就比較少。再一些圖檔的分類場景,大家用imagenet訓練好的模型來finetune,通常finetune最後幾層就可以達到不錯的效果。這個方法可以充分利用模型之間的相似性,但是主要問題是不容易收斂。

關系遷移(Relation based TL)

這裡假設源域和目标域是相似的,可以将源域學到的一些邏輯關系用到目标域。

近年來随着DL(深度學習)的火熱,越來越多的研究開始關注DL和TL的結合。深度學習,也被稱為representation learning,是個非常有效的feature representation方法。是以DL和TL的結合很自然的是在feature based TL的基礎上的。下面我們會重點講述一下這幾類工作:supervised TL, unsupervised TL,和Transitive Transfer Learning。

[Deep Adaptation Networks (DAN) Long et al. 2015] 這個論文展示了一個fully-shared的TL模型,也是最常用的一種TL模型,基本idea是用一個NN學一個shared representation,然後對于源領域和目标領域各自訓練一個分類器來學習各自的label。他們還提出了一個MK-MMD來學習最後一層的domain difference。整體結構如下:

論文 | 2017CIKM - 遷移學習專題論文分享Supervised TL: Feature learningUnsupervised Deep TLTransitive Transfer Learning

[Yosinski, Jason, et al. "How transferable are features in deep neural networks?."NIPS. 2014.] 這篇文章詳細的分析了對于DL來說,哪些特征是可以transfer的,哪些特征是不可以transfer的。基本的idea是,對于DL來說,底層學習的是一些通用或者基礎的特征,高層學的特征比較進階,抽象,通常來說越高層學到的資訊越和domain相關。是以對于DL來說,我們通常把底層的特征share,最後的幾層的特征分開學。這個和上面講的fully-shared TL模型的思路是一緻的。

這類方法假設沒有目标領域的标注。這裡需要優化的是源領域的loss(有标注)和目标領域的差異(目标領域和源領域的差異),然後把源領域的模型直接用在目标領域。整體的優化目标如下:

論文 | 2017CIKM - 遷移學習專題論文分享Supervised TL: Feature learningUnsupervised Deep TLTransitive Transfer Learning

考慮domain loss常用的方式是計算domain間的相似度,有以下幾個工作:

論文 | 2017CIKM - 遷移學習專題論文分享Supervised TL: Feature learningUnsupervised Deep TLTransitive Transfer Learning

另外,也可以用一個domain discrimninator去差別不同domains,同時用adversarial loss去學習一個common features。詳見這幾個工作: [Ganinetal.2015, Tzengetal.2015, Liu and Tuzel2016, Tzeng et al.2017]. 還有一種是build一個reconstruction loss, 相當于加了一個autoencoder,詳見[Ghifaryet al. 2016,Bousmaliset al.2016]。

Transitive TL (傳遞性遷移學習)是指,如果兩個domain之間如果相隔得太遠,那麼我們就插入一些intermediate domains,一步步做遷移。傳統遷移學習就好比是踩着一塊石頭過河,傳遞遷移學習就好比是踩着連續的兩塊石頭。更進一步,遠領域遷移學習Distant domain transfer learning,這就好比是踩着一連串石頭過河。傳統遷移學習隻有兩個領域足夠相似才可以完成,而當兩個領域不相似時,傳遞遷移學習卻可以利用處于這兩個領域之間的若幹領域,将知識傳遞式的完成遷移。

[Distant Domain TL, Ben Tan, et al., AAAI 2017] 這篇文章核心的idea就是通過reconstruction loss來選出好的source和intermediate data,然後把source, intermediate, target三個領域的資料合起來用一個shared的模型來拟合結果。這裡的reconstruction是通過autoencoder來做的。Instance selection loss:

論文 | 2017CIKM - 遷移學習專題論文分享Supervised TL: Feature learningUnsupervised Deep TLTransitive Transfer Learning

這個是instance selection需要優化的loss,其中:

v是binary的,表示該資料有沒有被選中。

第一項和第二項表示的是選中的source和intermediate資料的reconstruction loss。

第三項是target的reconstruction loss。

最後一項是為了是的選的source和intermediate資料越多越好,具體計算公式如下。

論文 | 2017CIKM - 遷移學習專題論文分享Supervised TL: Feature learningUnsupervised Deep TLTransitive Transfer Learning

Incorporation of Side Information: 通過J1可以選出好的source和intermediate資料,然後reconstruction沒有考慮source和target的labels,是以使用J2來計算這部分的loss。

論文 | 2017CIKM - 遷移學習專題論文分享Supervised TL: Feature learningUnsupervised Deep TLTransitive Transfer Learning

第一項是source data的classification loss,第二項是target的。

第三項是intermediate的,由于這部分沒有label,第三項是用來選出高置信度的intermediate data。

最後J1和J2可以通過block coordinate descent (BCD)來優化,簡單來說就是不斷重複下面兩步:

fix v,用BP優化模型參數。

fix模型參數,優化v。

模型的架構如下:

論文 | 2017CIKM - 遷移學習專題論文分享Supervised TL: Feature learningUnsupervised Deep TLTransitive Transfer Learning

繼續閱讀