領域自適應(domain adaption)--學習一個不變的希爾伯特空間(CVPR 2017)
論文《Learning an Invariant Hilbert Space for Domain Adaptation》
論文地址:https://arxiv.org/pdf/1611.08350.pdf
代碼地址: http://bitbucket.org/sherath/ils.git.
該論文已經被CVPR2017收錄,主要工作是針對領域自適應(domain adaptation)問題,提出了一種學習不變的希爾伯特空間的方法。他能夠完成在無監督學習和半監督學習中常常用到的領域自適應工作。
解決的問題:
1、提出了一種新的能夠完成非監督學習和監督學習領域自適應的模型;
2、在latent space中,能夠最小化分類誤差,同時最小化源數據集(source data)和目標數據集(target data)之間的分布差異;
3、提出了目標函數相應的優化策略;
4、在多個數據集上取得了最好的效果。
模型結構如圖1所示
圖1 模型結構圖
演算法細節
本演算法的目的就是學習一個不變的希爾伯特空間,在該空間里,源數據集和目標數據集能夠有著盡量小的差異(discrepancy)。假設該空間為H,源數據為Xs,目標數據為Xt,通過映射矩陣Ws和Wt即可將數據投影到該空間中,並且在空間中使用的是馬氏度量(Mahalanobis metric),設一個馬氏矩陣為M。這裡所說的馬氏度量是指,在空間H中,我們使用數據的協方差矩陣來度量兩組數據之間的差異。
可以定義目標函數為
該目標函數的目的是學習Ws,Wt和M。其中Ld表示分類誤差(discriminative loss)用來衡量帶標籤數據之間的相似性損失,Lu表示源數據集與目標數據集之間的在latent space中的統計差異性,因此最小化目標函數L可以學習一個理想的latent space,在該空間中可以對數據類別進行很好的劃分,並且最小化源數據集和目標數據集之間的差異。
分類誤差
該分類誤差的目的是:最小化同類樣本之間的差異,並最大化不同類之間的差異。
設Z為輸入數據X映射之後,在latent space中的表示,設有Np對數據(z1,k , z2,k),若z1,k與z2,k為同類,則有對應的yk=1,反之,yk=-1。可以設目標函數Ld為
其中
(3)是一個帶有u大小間隔(margin)結構的廣義邏輯斯蒂函數,其中的 - 表示的就是z1,k與z2,k之間的馬氏距離。r(M)是對M矩陣的約束,作者使用的是Stein divergence[1]的形式,有
使用Stein divergence主要是因為它具有對稱性和仿射不變性,具體可參考論文[1]。
軟間隔擴展(soft margin extension)
上述目標函數中的間隔為硬間隔,它很容易受到雜訊的影響,因此需要引入軟間隔(soft-margin)。
其中 為一個正數,稱為懲罰項(slack),它能夠使得間隔更加靈活。
數據集差異損失
這部分其實就是最小化源數據集和測試數據集之間的差異,這是通過最小化兩個數據集的協方差矩陣來達到目的,同樣使用Stein divergence,則有
表示數據的協方差矩陣。
最優化
最優化目標函數是為了學習參數Ws,Wt,M和懲罰項(slacks)。在正式介紹最優化方法之前,需要了解一些數學概念。
黎曼空間:可參考https://www.zhihu.com/question/36959297
黎曼度量:相當於一把尺子,它可以度量黎曼流形上的距離量。
黎曼流形:用低維結構表示更高維的歐幾里德空間結構。
Stiefel流形:簡單來說就是k個正交向量所組成的空間。
SPD流形:SPD表示Symmetric Positive Definite在黎曼流形中引入仿射不變的黎曼度量,則該流形稱為SPD流形。
對於上述的目標函數,我們加入一個正交約束,即
這個約束能夠保證W是滿秩的,避免損失函數發散[2]。目標函數是一個非凸的函數,而且包含了多個變數,因此可以使用Projected Gradient Descent(PGD)方法,即對變數分別求偏導數,並固定其他變數不變,進行梯度下降法,得到最終收斂的最優解。PGD方法有著很大的隨機性,很有可能得到不太好的結果,因此作者使用了黎曼最優化方法(Riemannian optimization technique)對目標函數進行求解。
黎曼最優化
黎曼最優化技術使用的是共軛梯度法(Conjugate Gradient)。共軛梯度法簡單來說是指將共軛法和隨機梯度法相結合的方法[3]。假設有一個非凸的最優化問題
其中M為黎曼流形,使用黎曼梯度下降法(Riemannian gradient Descent Method(RGDM)),則有遞推關係
其中,阿爾法表示步長, 稱為「回縮」(retraction),它類比的是歐幾里得空間中的梯度下降法,表示在流形空間中沿著流形結構進行梯度下降的過程;grad表示梯度。
為了使得建立的模型能夠更好地收斂,並且具有仿射不變性,在此引入了兩種流形約束。
1、The Stiefel Manifold
該流形的形式化定義為
它其實就是一個對於映射矩陣W的正交約束。
2、SPD manifold
它的形式化定義為
它表示的是仿射不變性約束。
利用流形結構上的梯度下降法,就可以對目標損失函數(1)進行求解,作者給出了公式(1)對於各個參數的偏導數,如表1所示。其中要注意的是,為了保證懲罰項是非負的,將其寫成了指數的形式
總結
本文提出了一種新的領域自適應的方法,學習了一個不變的希爾伯特空間,其思路其實是跳脫歐幾里得空間,在黎曼空間上學習模型,從而使得模型具有流形的「非剛」性質。其實近年來,利用流形學習理論解決機器學習問題,有著不錯的發展,因為很多分類模型都符合黎曼流形的性質[2]。
參考
[1]Papanikolopoulos. Jensen-Bregman logdet divergence with application to efficient similarity search for covariance matrices.
[2]Dimensionality Reduction on SPD Manifolds:The Emergence of Geometry-Aware Methods.
[3]最優化學習筆記(四)共軛梯度法 - 隨煜而安的專欄 - CSDN博客
推薦閱讀:
※如何才能看得懂變分貝葉斯方法(Variational Bayesian)?
※關於大學至博士期間的數學學習你有什麼學習的經驗?
※自然語言處理(NLP)基礎概念4:直觀理解Skip-gram演算法過程
※[note]Learning from Simulated and Unsupervised Images through Adversarial Training
TAG:机器学习 | 迁移学习TransferLearning | CVPR |