遷移學習怎麼做?遷移成分分析 (TCA) 方法簡介

2021-01-10 雷鋒網

雷鋒網(公眾號:雷鋒網)按:本文原作者王晉東不在家,本文原載於知乎專欄——機器有顆玻璃心。雷鋒網已獲得轉載授權。王晉東 (不在家),中國科學院計算技術研究所博士生,目前研究方向為機器學習、遷移學習、人工智慧等。

之前整理總結遷移學習資料的時候有網友評論,大意就是現在的類似資料大全的東西已經太多了,想更深入地了解特定的細節。從這篇文章開始我將以《小王愛遷移》為名寫一系列的介紹分析性的文章,與大家共享遷移學習中的代表性方法、理論與自己的感想。由於我的水平有限,請各位多多提意見,我們一起進步。今天第一篇必須以我最喜愛的楊強老師的代表性方法 TCA 為主題!(我的第一篇文章也是基於 TCA 做的)

【我剛整理重寫好的加速版 TCA 代碼(matlab):jindongwang/transferlearning】

問題背景

機器學習中有一類非常有效的方法叫做降維(dimensionality reduction),用簡單的話來說就是,把原來很高維度的數據(比如數據有 1000 多列)用很少的一些代表性維度來表示(比如 1000 多維用 100 維來表示)而不丟失關鍵的數據信息。這些降維方法多種多樣,比如:主成分分析(PCA,principal component analysis)、局部線性嵌入(LLE,locally linear embedding)、拉普拉斯特徵映射(Laplacian eigen-map)等。這些方法的過程大體都是一個大的矩陣作為輸入,然後輸出一個小矩陣。那麼在遷移學習中,有沒有這樣的方法,通過降維來達到數據維度減少,而且能達到遷移學習目的呢?答案是顯然的,就是我們要說的遷移成分分析(TCA,transfer component analysis)。看,名字就跟 PCA 很像。

TCA 最早是由香港科技大學楊強教授團隊提出,首次出現在 AAAI-09 上,後來整理豐富成了一篇期刊文章,發表在 11 年的 IEEE Trans. Neural Network(現在這個期刊名字後面多了 and Learning System)上。這個方法是遷移學習領域經典性的文章,從 2011 年到現在接近 6 年過去,在 Google scholar 上引用量為 569 次,並且在持續增長。

簡介

TCA 屬於基於特徵的遷移學習方法。那麼,它做了一件什麼事呢?用通俗的語言來說,跟 PCA 很像:PCA 是一個大矩陣進去,一個小矩陣出來,TCA 呢,是兩個大矩陣進去,兩個小矩陣出來。從學術角度講,TCA 針對 domain adaptation 問題中,源域和目標域處於不同數據分布時,將兩個領域的數據一起映射到一個高維的再生核希爾伯特空間。在此空間中,最小化源和目標的數據距離,同時最大程度地保留它們各自的內部屬性。直觀地理解就是,在現在這個維度上不好最小化它們的距離,那麼我就找個映射,在映射後的空間上讓它們最接近,那麼我不就可以進行分類了嗎?

我一直強調,任何問題都要看它的本質,TCA 本質是什麼呢?完成遷移學習的要求。遷移學習的要求是什麼呢?讓源域和目標域距離儘可能小唄。

方法

有許多種方法都在試圖減小源域和目標域的距離,那麼,TCA 的貢獻在哪裡?以我的理解,TCA 將這個計算距離的方法變得通用而簡單,這就是它最大的貢獻。下面我以自己的理解介紹 TCA 方法的基本流程。

假設

任何方法都基於一定的假設。胡適說過,大膽假設,小心求證。但是他那個時候沒有計算機,我們搞計算機的人則是,大膽假設,更大膽求證。為啥?我們就算失敗了也沒有什麼嘛,最多把電腦搞崩潰了我再重裝系統麼。所以,搞學術一定不要怕假設。假設是學術成功的基石呢!

TCA 的假設是什麼呢?很簡單:源域和目標域的邊緣分布是不一樣的,也就是說,,所以不能直接用傳統的機器學習方法。但是呢,TCA 假設存在一個特徵映射 $\phi$,使得映射後數據的分布,更進一步,條件分布。這不就行了麼。好了,我們現在的目標是,找到這個合適的 $\phi$,一作映射,這事就解決了。

具體

但是世界上有無窮個這樣的,也許終我們一生也無法找到這樣的。莊子說過,吾生也有涯,而知也無涯,以有涯隨無涯,殆已!我們肯定不能通過窮舉的方法來找的。那麼怎麼辦呢?

回到遷移學習的本質上來:最小化源域和目標域的距離。好了,我們能不能先假設這個是已知的,然後去求距離,看看能推出什麼呢?

更進一步,這個距離怎麼算?世界上有好多距離,從歐氏距離到馬氏距離,從曼哈頓距離到餘弦相似度,我們需要什麼距離呢?TCA 利用了一個經典的也算是比較 「高端」 的距離叫做最大均值差異(MMD,maximum mean discrepancy)。這個距離的公式如下:

看著很高端(實際上也很高端)。MMD 是做了一件什麼事呢?簡單,就是求映射後源域和目標域的均值之差嘛。

事情到這裡似乎也沒什麼進展:我們想求的仍然沒法求。

TCA 是怎麼做的呢,這裡就要感謝矩陣了!我們發現,上面這個 MMD 距離平方展開後,有二次項乘積的部分!那麼,聯繫在 SVM 中學過的核函數,把一個難求的映射以核函數的形式來求,不就可以了?於是,TCA 引入了一個核矩陣

以及:

這樣的好處是,直接把那個難求的距離,變換成了下面的形式:

trace 是矩陣的跡,用人話來說就是一個矩陣對角線元素的和。這樣是不是感覺離目標又進了一步呢?

其實這個問題到這裡就已經是可解的了,也就是說,屬於計算機的部分已經做完了。只不過它是一個數學中的半定規劃(SDP,semi-definite programming)的問題,解決起來非常耗費時間。由於 TCA 的第一作者 Sinno Jialin Pan 以前是中山大學的數學碩士,他想用更簡單的方法來解決。他是怎麼做的呢?

他想出了用降維的方法去構造結果。

這裡的 W 矩陣是比 K 更低維度的矩陣。最後的 W 就是問題的解答了!

求解

好了,問題到這裡,整理一下,TCA 最後的優化目標是:

這裡的 $H$ 是一個中心矩陣,.

這個式子下面的條件是什麼意思呢?那個 min 的目標我們大概理解,就是要最小化源域和目標域的距離,加上 W 的約束讓它不能太複雜。那麼下面的條件是什麼呢?下面的條件就是要實現第二個目標:維持各自的數據特徵。TCA 要維持的是什麼特徵呢?文章中說是 variance,但是實際是 scatter matrix,就是數據的散度。就是說,一個矩陣散度怎麼計算?對於一個矩陣,它的 scatter matrix 就是。這個就是上面的中心矩陣啦。

解決上面的優化問題時,作者又求了它的拉格朗日對偶。最後得出結論,W 的解就是的前 m 個特徵值!簡單不?數學美不美?然而,我是想不出的呀!

小結

好了,我們現在總結一下 TCA 方法的步驟。輸入是兩個特徵矩陣,我們首先計算 L 和 H 矩陣,然後選擇一些常用的核函數進行映射(比如線性核、高斯核)計算 K,接著求的前 m 個特徵值。僅此而已哦。然後,得到的就是源域和目標域的降維後的數據,我們就可以在上面用傳統機器學習方法了。

總結

怎麼樣,到此為止我們把 TCA 方法介紹完了。我們回顧一下,它的最核心工作是什麼呢?我認為有兩點:一是把問題轉化成數學問題轉化得很徹底;二是最優化求解方法很厲害。我們能從中學習什麼呢?求解問題的方法感覺是學不來了,我們又不是數學出身。我們只能照貓畫虎,學習人家對問題的轉化方式,怎麼就能很好地把一個問題轉化成數學表示?這也是機器學習和人工智慧相關方向研究生最重要的能力!關於 TCA 的 Python 和 Matlab 代碼可以參考我的 Github:jindongwang/transferlearning。

最後說一個 TCA 的優缺點。優點是實現簡單,方法本身沒有太多的限制,就跟 PCA 一樣很好用。缺點就是,儘管它繞開了 SDP 問題求解,然而對於大矩陣還是需要很多計算時間。主要消耗時間的操作是,最後那個偽逆的求解以及特徵值分解。在我的電腦上(i7-4790CPU+24GB 內存)跑 2000*2000 的核矩陣時間大概是 20 秒。

References

[1] TCA 原版文章:S. J. Pan, I. W. Tsang, J. T. Kwok and Q. Yang, "Domain Adaptation via Transfer Component Analysis," in IEEE Transactions on Neural Networks, vol. 22, no. 2, pp. 199-210, Feb. 2011.doi: 10.1109/TNN.2010.2091281

[2] Scatter matrix: Scatter matrix | Wikiwand

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 聯邦學習 OR 遷移學習?No,我們需要聯邦遷移學習
    與此同時,基於遷移學習的的特性,FTL 的參與方可以擁有自己的特徵空間,而無需強制要求所有參與方都擁有或使用相同特徵的數據,這使得 FTL 適合於更多的應用場景。本文關注聯邦遷移學習方法,在介紹聯邦學習和遷移學習相關知識的基礎上,重點探討向經典聯邦學習中引入遷移學習的目的和意義。此外,本文還將梳理目前主流的聯邦遷移學習方法,並重點介紹其中的 4 篇文章。
  • 82 凝膠遷移實驗(EMSA)實驗方法
    凝膠遷移或電泳遷移率實驗(EMSA)是一種研究DNA結合蛋白和其相關的DNA結合序列相互作用的技術,可用於定性和定量分析。今天分享與之相關的資料,具體內容如下:1.凝膠遷移實驗(EMSA)實驗方法 - 副本.docx2.EMSA實驗室試劑盒3.EMSA圖片zc4.03 凝膠遷移實驗(EMSA).docx5.EMSA protocol.docx6.EMSA 孫偉.doc7.EMSA.pdf
  • 快速掌握學習遷移理論
    近期很多地市都在開展教師招聘考試,很多同學都進入了最後的備考衝刺階段,進入了刷題階段,但是很多同學都在反映在學習遷移理論的人物和觀點時,還是不能理解相關考點,那麼今天就和大家分享一下教育心理學中學習遷移理論的相關人物和主要觀點:首先我們要清楚,教育心理學所研究的學習遷移是狹義的遷移,特指前一種學習對後一種學習的影響或者後一種學習對前一種學習的影響。
  • NLP領域中的遷移學習現狀
    圖1一、內容簡介我們在這篇文章中的對遷移學習的主要定義如圖所示,遷移學習是一種從源設置中提取信息並將其應用於不同設定目標的方法在當前的自然語言處理領域中,普遍存在著不同類型的遷移學習。它們可以按照三個維度進行分類:1、源設定和目標設定是否處理相同的任務;2、源域和目標域的性質;3、學習任務的順序。這樣就可以把各種遷移學習分為圖中的幾類。
  • 教師資格證筆記:學習心理——學習動機、遷移和策略
    教師資格證筆記:學習心理——學習動機、遷移和策略教學高頻考點1. 學習動機是直接推動學生進行學習的內部動力,兩個基本成分是學習需要和學習期待。耶克斯—多德森定律(倒U曲線):中等程度的動機水平最有利於學習效果的提高;最佳的動機水平與作業難度密切相關:任務較容易,最佳動機水平較高;任務難度中等,最佳動機水平也適中;任務越困難,最佳動機水平越低。4. 成就動機可以分為兩類,一類是力求成功的動機,另一類是避免失敗的動機。
  • 自監督學習知識遷移
    通過對前置任務的預訓練,希望模型能夠學習到有用的表示。之後,我們可以只用一小組標記的訓練數據,可以將模型微調到下遊任務,例如圖像分類、對象檢測和語義分割。評估表示的挑戰所以,前置任務可以幫助我們學習表徵。但是,這就提出了一個問題:目前,衡量表徵的標準方法是在一組標準任務和基準數據集上進行評估。
  • 深度學習實踐:如何使用Tensorflow實現快速風格遷移?
    一、風格遷移簡介風格遷移(Style Transfer)是深度學習眾多應用中非常有趣的一種,如圖,我們可以使用這種方法把一張圖片的風格「遷移」到另一張圖片上:然而,(點擊查看論文)的速度是非常慢的。在GPU上,生成一張圖片都需要10分鐘左右,而如果只使用CPU而不使用GPU運行程序,甚至需要幾個小時。這個時間還會隨著圖片尺寸的增大而迅速增大。
  • 從遷移學習走向整體建構
    【一堂好課】 遷移是一條重要的心理學原理。美國心理學家奧蘇伯爾指出,有學習的地方就有遷移。先前學習對後續學習產生積極影響的,稱為正遷移;產生消極影響,稱為負遷移(或稱「幹擾」)。雖然遷移廣泛存在,但要能夠進行正遷移並非易事。我的師父——張興華研究表明,學生學習的正遷移量越大,他們通過學習所產生的適應新的學習情境或解決新問題的能力就越強。這種正遷移量的實質,是學生掌握已知的概括化程度。在我20多年的小學數學教學中,我始終注重讓學生溫故知新,探新再連舊,實現新舊知識的「跨越」。
  • 一種利用兩個輕型的卷積神經網絡來學習獲取任意遷移矩陣的方法
    一種利用兩個輕型的卷積神經網絡來學習獲取任意遷移矩陣的方法 李倩 發表於 2018-08-31 11:16:03 藝術風格轉換算得上是AI最有趣的應用之一了,你可以將梵谷的名畫風格添加到自己的照片中,也可以個自己的頭像來一幅映像派的油畫
  • 載流子遷移率測量方法總結
    已有很多文章對載流子遷移率的重要性進行研究,但對其測量方法卻少有提到。本文對載流子測量方法進行了小結。  1 遷移率μ的相關概念  在半導體材料中,由某種原因產生的載流子處於無規則的熱運動,當外加電壓時,導體內部的載流子受到電場力作用,做定向運動形成電流,即漂移電流,定向運動的速度成為漂移速度,方向由載流子類型決定。
  • 中科院計算技術研究所王晉東:遷移學習的發展和現狀 | 分享總結
    遷移學習強調通過不同領域之間的知識遷移,來完成傳統機器學習較難完成的任務。它是解決標定數據難獲取這一基礎問題的重要手段,也是未來更好地研究無監督學習的重要方法。在近日雷鋒網(公眾號:雷鋒網) AI研習社的公開課上,來自中國科學院計算技術研究所的在讀博士王晉東帶來了題為《遷移學習的發展和現狀》的分享。
  • 機器人強化遷移學習指南:架設模擬和現實的橋梁
    當強化學習的狀態動作空間 S×A 很大時,為了尋找最優策略,搜索過程非常耗時。此外,學習近似最優解所需的樣本數量在實際問題中往往令人望而卻步。無論是基於值的方法還是基於策略的方法,只要問題稍稍變動,之前的學習結果就會失效,而重新訓練的代價巨大。因此,研究者們針對強化學習中的遷移學習展開了研究,希望能夠將知識從源任務遷移到目標任務以改善性能。
  • 概述:遷移學習在NLP和CV中的應用實例
    【IT168 資訊】昨天在我們的網站上已經有一篇介紹遷移學習的文章,簡單的將遷移學習的基本情況進行了概述,在今天的這篇文章中,將討論遷移學習的兩個應用,概述自然語言處理和計算機視覺領域的相關例子。了解這些模型和語料庫的背景是非常重要的,以了解是否用詞嵌入來進行轉移學習是明智的。人們通常不會調用嵌入式遷移學習,但其實,因為與計算機視覺中傳輸學習的相似性。基本上,使用詞嵌入意味著你正在使用一個特徵提升器或嵌入網絡將單詞轉換為信息向量。
  • 柵極導電層Au 遷移導致放大器失效原因分析
    當凸點及其界面處的局部電流密度超過電遷移門檻值時,高速運動的電子流形成的電子風與金屬原子發生劇烈碰撞,進行部分的衝量交換,迫使原子沿著電子流方向運動,從而發生凸點互連的電遷移。通常電遷移能在陰極造成金屬原子的流失而產生微空洞,使互連面積減小導致斷路,在陽極造成金屬原子的堆積而形成凸起的「小丘」,導致短路,從而引起IC及元器件失效。電遷移是引起IC及電子產品失效的一種重要機制。
  • 姓氏分布與人口遷移
    以姓氏分布為基礎,利用不同空間尺度的系統分析,配合運用指標分析、聚類分析、因素分析等社會統計學的研究方法,可以探討與人口遷移相關的許多問題,如大規模的人口遷移事件、地理隔離對群體結構的影響、人口遷移率的計算等,為研究人口遷移問題提供新的視角。
  • 使用PyTorch進行主動遷移學習:讓模型預測自身的錯誤
    本文詳細說明主動遷移學習, 它是主動學習和遷移學習技術的結合,本文將實現書籍  Human-in-the-Loop Machine Learning 中的所有用到 PyTorch 的方法。什麼是遷移學習?遷移學習是將為一個特定任務建立的機器學習模型應用於另一個任務的過程。
  • 利用差壓變送器測量液位時的遷移故障分析
    利用遷移原理對液面測量方法進行改進從以上分析中可以了解到智能差壓變送器測液面正、負遷移的原理,簡單的來說,就是當h = 0 時,若變送器感受到的△p = 0,則不需要遷移; 若變送器感受到的
  • 簡論人口遷移理論的跨學科應用
    如所周知,人口學學科理論體系的建設,大量汲取了經濟學、社會學、統計學等其他學科的相關理論和方法,逐步形成了現代人口學理論和方法體系。由此啟發了我們兩點思考:其一,經濟學、社會學等學科研究的事物,其決定因素是人,人對於地球上各種事物的支配程度越來越高,使得許多事物在一些方面表現出很大程度的「人格化」特徵。
  • 2020教師招聘——教育心理學經典實驗篇之學習遷移理論
    【導讀】華圖寧夏教師招聘考試網同步華圖教師發布:2020教師招聘——教育心理學經典實驗篇之學習遷移理論,詳細信息請閱讀下文!而學過折射原理的學生,則能迅速適應水下4英寸的學習情境,學得快,投得準。
  • 「乾貨」NLP中的遷移學習教程來啦!(238頁PPT下載)
    經典的監督機器學習範式是基於對使用單個數據集的任務的單個預測模型的孤立學習。這種方法需要大量的訓練示例,並且對於定義明確、範圍狹窄的任務效果最好。遷移學習指的是一組方法,這些方法通過利用來自其他域或任務的數據來訓練具有更好泛化特性的模型來擴展此方法。