Partial Transfer Learning 使用選擇性對抗網路的部分遷移學習
簡介
何為部分遷移學習呢,部分遷移的應用場景又是什麼呢?----當目標域中的標籤空間只是源域標籤空間的一個子集時,如果將這個子集外的知識遷移到目標任務識別中,那麼很大程度上會發生負遷移,而通過篩選,選出源域中與目標域的標籤空間對應的那部分資料進行遷移,則很大程度上減少了負遷移的發生,這種關於源域部分知識的遷移就是部分遷移學習。
目前很大一部分遷移學習演算法的應用場景都是目標域的標籤空間與源域的標籤空間相同,然後在現實場景中,這樣的條件經常是達不到的,更多的情況則是因為源域的資料量比目標域大得多,往往源域的標籤空間比目標域大,而目標域則是源域標籤空間的一個子集,這篇論文則是應於這樣的場景下提出將對抗學習與遷移學習相結合,以實現部分遷移。其實這篇論文的框架與Ganin的《Unsupervised domain adaptation by backpropagation》[2]中的框架很相似,也可以看做是以上網路的改進版。
文中通過擴充套件深度對抗網路來處理了一個大的域(源域)向一個小的域(目標域)的部分遷移問題,通過源域和目標域的標籤空間對齊,從而篩選出異常類(源域和目標域標籤空間交集之外的類別)的源域資料。 Selective Adversarial Networks(SAN)框架如下:
Selective Adversarial Networks
選擇性對抗網路的框架如上圖所示,其中f為被提取出來的深度特徵。 為預測標籤, 為預測的域標籤, 是特徵提取器, 和 是標籤預測器和標籤預測器的loss, 和 是第k個域判別器和域判別器的loss,k的大小為源域中類別的數量(比如只有兩個類別,那麼k=2),GRL則表示梯度反轉層[2]。
文中稱源域的標籤空間為 ,目標域的標籤空間為 ,而部分遷移中源域和目標域存在這樣的關係: 。同時稱源域標籤空間中除了目標域那部分以外的標籤集為 ,也叫作異常標籤空間。SAN要做的就是要篩選出這些異常源域類資料以減小負遷移。
SAN的思想是讓 通過有監督的方式優化標籤預測器,最小化預測損失值,讓網路根據 儘可能分類好樣本,同時又要讓域判別器的損失最大化,以至於域判別器能夠更準確的判斷出 是屬於所有類別k中的哪一類,好給樣本分配權重,讓屬於與目標域相關的源域類別樣本的權值高,而屬於異常類的權值低。然後通過一個GRL層(也就是讓正的梯度變為負的,讓負的梯度變為正的),讓梯度反轉,這樣由於反轉,最大化域判別器損失也就變為了最小化了,就可以與上面的 同時通過最小化進行優化。
存在一個問題, 是一個有監督判別器,源域資料有標籤是很正常的,但是目標域沒有標籤哦,遇到目標域資料怎麼給域判別器損失進行優化呢?我們都知道資料經過 會得到一個概率指數,比如樣本有多少比例屬於哪一類,像[0.2,0.8]則表明樣本有0.2的機率屬於第一類,而有0.8的機率屬於第二類,這個概率指數被稱為probability-weighted,而作者也是用這個probability-weighted將樣本分配到不同的域判別器 。
目標函式
好了,那我們現在來看一下網路的損失函式:
第一項 是標籤預測器的交叉熵損失,很常規的監督網路損失,其中 為樣本的真實標籤。
因為域判別器 的表現效果很受概率指數 的影響(因為上面說了 的損失 根據 而來)。因此作者用了一個熵最小化原則來重定義標籤預測器 ,使得類之間進行低密度分離。這由條件熵H在目標域 上的概率 實現,如下:
因此,這就有了以上損失函式中的第二項。
第三項 為域判別器的損失,其由眾多小判別器 通過加權構成,其中的權值則是上面提到的,樣本屬於異常類的權值低,而屬於相關類的權值高。這裡的權值由 表示。後面的 則是一個正常的有監督損失,其中 為樣本的域標籤, 則為上面提到的probability-weighted,第三項損失的意義是說每個子判別器通過probability-weighted來進行有監督優化,同時每個子判別器又通過權值相乘進行結合而成,其中樣本屬於異常類的權值低,而屬於相關類的權值高。而第三項前面的負號則是因為上面提到的要最小化 並最大化 的原因。
好,到此為止,網路就可以根據這個損失函式進行優化了。
總結
SAN的框架和《Unsupervised domain adaptation by backpropagation》[2]中的很相似,其不同之處在於域判別器分為不同類的子判別器