《小王愛遷移》系列之十三:在線遷移學習(online transfer learning)
本文發表於ICML-10, 是第一篇進行在線遷移學習(Online Transfer Learning)的論文,其重要性不言自明。文章的作者是Peilin Zhao和Steven Hoi(後者是前者的老師),之前在南洋理工大學(NTU),現在Peilin Zhao在阿里巴巴做研究,Steven Hoi在新加坡管理大學(SMU)做副教授。Steven Hoi是機器學習領域很有名的學者,主要做在線學習等方面的研究。值得一提的是,Hoi這個人,長得很帥很顯年輕。不信可以看他主業照片,他現在就長這樣。猜猜他幾歲?
Motivation
我們都知道遷移學習可以用來解決訓練數據缺失的問題,很多遷移學習方法都獲得了長足的進步。給定一個要學習的目標域數據,我們可以用已知標籤的源域數據來給這個目標域數據構造一個分類器。但是這些方法都存在很大的一個問題:它們都是採用離線方式(offline)進行的。什麼是離線方式?就是說,一開始,源域和目標域數據都是給出來的,我們直接做完遷移,這個過程就結束了。We are done。
但是真實的應用往往不是這樣的:數據往往是一點一點源源不斷送來的。也就是說,我們一開始的時候,也許只有源域數據,目標域數據要一點一點才能過來。這就是所謂的「在線遷移學習」。這個概念脫胎於「在線學習」的模式,在線學習是機器學習中一個重要的研究概念。
回到在線遷移學習(Online Transfer Learning, OTL)中來。作者在文中給出了形式化的定義:用 和 分別來代表源域和目標域的特徵空間和樣本空間。那麼,根據 和 是否相同,OTL可以分類兩個大類:同構OTL和異構OTL。
- 同構OTL我們可以理解成是在線的domain adaptation,就是特徵和類別都一樣,只是特徵分布不一樣,這個比較常見。
- 異構OTL簡單來說就是類別一樣,特徵維度和定義都不一樣。因為這個概念太大,不好做,所以作者又特別規定了,這裡的異構OTL中,源域的特徵是包含在目標域中的。就是說,假如源域有12個特徵,那麼目標域的前12個特徵就是源域的,然後目標域還有餘下的特徵。這樣做達到了問題的簡化。
藉助這個形式化,OTL的問題變成了:目標域數據以流式一個一個來時,如何藉助已有的源域數據,為目標域構建可依賴的分類器?作者的目標是建立一個有監督的分類器,就是說,目標域的label是要用於構建分類器的,而不是要獲得的目標。目標是分類器。這個要特別注意。
Method
下面我們來看作者提出的方法。作者分別對同構OTL和異構OTL提出了相應的方法。方法本身比較簡單,就是基於SVM以及集成學習進行組合。基本思想就是:先針對可用的源域數據建立一個分類器,然後,每來一個目標域數據,就對這個新數據建立一個分類器,然後與在源域上建立的這個分類器進行組合。核心問題是:確定源域和新數據分類器各自應該以怎麼樣的權重進行組合。
由於源域數據在同構和異構兩部分中都會用到,我們先說源域數據上的分類器構建。用 來表示在源域數據上的分類器, 是個核函數,那麼這個分類器可以被表示成
其中的 表示源域數據中的支持向量, 是協方差。因為在源域中有足夠的數據和標記,這個 可以很容易被學習到。
同構在線遷移學習(Homogeneous Online Transfer Learning)
同構OTL的學習目標是要把 和來自第 輪的目標域樣本 上的分類器 進行融合。具體來說,對於第 輪的目標域樣本 ,我們可以用下面的式子來預測它的標記:
其中的 分別是源域分類器和目標域分類器的權重,這個 函數可不是連乘,而是作者自己定義的一個歸一化函數: 。這就是為了平衡這兩部分的權重。
兩部分的權重可以由下面的公式來進行更新:
其中的這個 是個指數損失函數: ,其中的 ,就是一個平方損失。這樣交替地來學習權重,就可以完成這個同構的OTL。
總的來說,這個思想比較簡單,也比較好理解。可能對於這個權重更新會理解比較困難。我的理解就是,類似於adaboost的思想,哪部分損失大,就把哪部分的權重給高一些。
備註:我在讀這個文章的時候讀到這部分就很困惑:為什麼有個 ?為什麼要增加一個歸一化函數 ?歸一化函數又為什麼是 這個形式?於是就給作者發郵件。作者很好,第二天就回答我了。這裡加 的目的是為了把輸出從原來的 映射到 這個範圍里,所以正負號就一目了然地標識了輸出的label(二類分類)。為什麼是這個形式的歸一化函數?是為了凸優化求解方便。感謝作者的耐心指導。
異構在線遷移學習(Heterogeneous Online Transfer Learning)
異構的OTL和同構的思想差不多,借鑒了一種多視圖學習(multi-view learning)的思想。多視圖學習簡單來說就是把同樣的數據用不同的角度去分析,然後再把結果進行組合。多視圖是對目標域數據進行的:在異構的OTL中,目標域的特徵包含了源域的前N個。那麼就可以對目標域的數據進行拆分:前一半和源域相同的是第一個視圖,後一半是第二個視圖。
學習的目標就是,如何把在這兩個視圖上學習到的分類器 和 進行有機的組合。目標域的標記就變成了
在一開始的時候,因為目標域沒有數據,所以設定 。然後,用如下的方法進行更新:
其中的 和 是參數, 是一個損失函數:
這樣就可以在線更新兩個分類器,進而學習完成。
Experiments
作者在一些公開數據集上進行了相關的實驗以驗證他提出方法的精確性。特別的,除了傳統的對比精度以外,因為是在線學習,所以還特別對比了當目標數據變化時,演算法的精度變化情況。這在以後的在線遷移學習中要特別注意。作者的OTL方法是開源的,可以在這裡進行下載。
總結
這是在線遷移學習研究的第一篇文章,值得好好研究。作者在文章里首先提出了OTL問題的定義,為後來研究打下了基礎。然後,提出了一種很簡單卻很有道理的方法進行解決。後來的OTL方法基本都是在作者的這個框架里進行的。作者後來又對實驗進行了豐富,寫了一篇期刊文章發在了人工智慧領域頂級期刊Artificial Intelligence上。
想看最新的OTL方面的文章,可以去Google Scholar搜索Online transfer learning,也可以關注華南理工大學的Qingyao Wu老師,他和他的學生在這上面發了一些文章。總的來說,從2010年本文第一次發在ICML上到今天的2018年,在OTL方面的文章非常少,我總結只有不到20篇(見這裡)。遷移學習想真正被廣泛應用於工業界,在線的研究必不可少。我感覺這個領域還可以大有作為,也期待我們一起努力!
最後照例吐槽知乎不支持markdown,寫公示很費勁!得一個一個點擊圖標插入!
擴展
1. 本文是有監督的,也就是說目標域的label是被用上的。能否改成無監督?
2. 用深度網路進行?
3. Multi-source?這個Qingyao Wu他們在做。
4. 和時間序列結合?畢竟時間序列就滿足stream這個特點,數據不斷地來。
5. 總之,OTL是一個很有前景的研究方向。
References
[1] 本文所講述的ICML-10文章:Zhao P, Hoi S C. OTL: A framework of online transfer learning[C]//ICML. 2010: 1231-1238.
[2] 本文後來完整發表的期刊文章:Zhao P, Hoi S C H, Wang J, et al. Online transfer learning[J]. Artificial Intelligence, 2014, 216: 76-102.
[3] 本文介紹的OTL方法的代碼:http://stevenhoi.org/otl
[4] 本文兩個作者的個人主頁:http://stevenhoi.org 以及 Peilin Zhaos Homepage
[5] 更多OTL研究的文章:jindongwang/transferlearning
[6] 華南理工大學Qingyao Wu老師的個人主頁:https://sites.google.com/site/qysite/home
=================
[作者簡介]王晉東(不在家),中國科學院計算技術研究所博士生,目前研究方向為機器學習、遷移學習、人工智慧等。作者聯繫方式:微博@秦漢日記 ,個人網站Jindong Wang is Here。
=================
更多《小王愛遷移》系列文章:
《小王愛遷移》系列之零:遷移學習領域著名學者和研究機構
《小王愛遷移》系列之一:遷移成分分析(TCA)方法簡介
《小王愛遷移》系列之二:聯合分布適配(JDA)方法簡介
《小王愛遷移》系列之三:深度神經網路的可遷移性
《小王愛遷移》系列之四:深度適配網路(DAN)
《小王愛遷移》系列之五:測地線流式核方法(GFK)
《小王愛遷移》系列之六:學習遷移(Learning To Transfer)
《小王愛遷移》系列之七:負遷移(Negative Transfer)
《小王愛遷移》系列之八:深度遷移學習文章解讀
《小王愛遷移》系列之九:開放集遷移學習(Open Set Domain Adaptation)
《小王愛遷移》系列之十:張量遷移學習(tensor unsupervised domain adaptation)
《小王愛遷移》系列之十一:選擇性對抗遷移學習(Selective Adversarial Network)
《小王愛遷移》系列之十二:新年新氣象-重新整理的遷移學習資源倉庫
《小王愛遷移》系列之十三:在線遷移學習(online transfer learning)
推薦閱讀:
TAG:機器學習 | 遷移學習TransferLearning | 深度學習DeepLearning |