今年CVPR發表了很多遷移學習在深度學習上的應用,這裡介紹其中一篇
CVPR 2019論文:
Taking A Closer Look at Domain Shift: Category-level Adversaries for Semantics Consistent Domain Adaptation
域適應在語義分割中的關鍵問題在於 減少域漂移(domain shift)。一般,我們對齊兩個域之間的分佈來解決這個關鍵問題。問題是,這種全域性性的對齊兩個域的分佈,並沒有考慮類別級別的對齊。這種忽略會造成:目標域中 原本已經對齊的類別,經過訓練後,對映到錯誤的類別。
基於以上問題,作者提出類別級別的對抗網路,目標是在全域性對齊的過程中,保持區域性的語義不變性
語義分割是指在一張圖片上給每個畫素都打上類別標籤。要實現這樣的模型,人工標註成本太高。為了省點錢,我們採用合成數據集訓練。比如用遊戲中的街景資料集訓練街景的語義分割模型。問題在於,該模型在真實場景中並不好使。所以採用域適應的策略,解決標註資料缺少的問題。
域適應的關鍵問題在於減少源域和目標域之間的差異。目前主要有兩類方法:
上述方法都有一個很明顯的缺陷:
當生成器網路能完美地騙過判別器網路時,兩個域的全域性邊緣分佈幾乎完全對齊了。但是此時,忽略了局部的聯合分佈差異。目標域有些類別的特徵分佈已經對齊了。但是最小化對抗損失函式之後,會將該特徵對映到錯誤的類別。
作者為了解決該問題提出了一下演算法:
問題背景
源域:資料X_S,標籤Y_S
目標域:資料X_T,無標籤
目標:訓練一個模型G,能正確分類目標域的資料
網路架構
整個網路由生成器G 和判別器D組成。G是一個由任意FCN為基礎的語義分割網路。D是一個以CNN為基礎的二分類網路。
其中G又可以細分為:特徵提取器E和兩個分類器C_1 , C_2。結構示意圖如圖片所示。
論文采用了兩種思想:對抗(GAN)和協同訓練(co-traning)
GAN
GAN在遷移學習中的應用形式:訓練生成器和判別器。生成器用來產生域不變的特徵。判別器用來判別 特徵屬於哪個域.
本文中,生成器是G,判別器是D
協同訓練(co-traning)
協同訓練是一種半監督模型,針對標註資料很少的情況。協同訓練的基本假設:資料有兩種特徵表達,並且這兩種表達都可以對資料進行分類。即可以從兩個不同的視角(view)看待資料。
假設資料有兩種視角:(x1,y1),(x2,y2),其中x是特徵,y是標籤。
在本篇論文中的網路架構中,分類器C_1 , C_2,充當協同訓練的模型f1,f2。
分類器C_1預測的語義分割圖記為p1,分類器C_2預測的語義分割圖記為p2。最終的語義分割圖記為p=p1+p2
訓練流程
在訓練中,一共包含三個 loss:語義損失函式 (segmentation loss),差異損失函式 (discrepancy loss),自適應的對抗損失函式 (self-adaptive adversarial loss)
首先是,源域圖片經過生成器G,其中包括特徵提取器E,和兩個分類器C_1 , C_2,得到預測結果——語義分割圖p。這裡產生一個語義損失函式 (segmentation loss):
然後,我們考慮標準的協同訓練流程。為了得到同一張圖片的兩種表達,我們需要對分類器C_1 , C_2的引數進行約束。
特徵提取器E,提取所需的所有引數,而兩個分類器分別選取一部分,進行畫素分類。為了使得兩個分類器選取的特徵儘可能不一樣,這裡採用最小化卷積層引數的餘弦相似度函式,即差異損失函式 ( discrepancy loss)
其中,w是分類器的卷積層的引數展開
最後考慮對抗過程。源域和目標域的影象經過整個網路,產生一個自適應的對抗損失函式
所以最終的訓練損失函式為
損失函式分析
在網路中,C_1 , C_2的作用是:
差異損失函式 ( discrepancy loss),即公式4的作用是第一項
語義損失函式 (segmentation loss)和自適應的對抗損失函式 (self-adaptive adversarial loss)的作用是第二項
本文最大的貢獻點在於:在傳統的對抗loss中加入了自適應的權重
如果這一項很大,則表明:該類別的特徵在兩個域上面並沒有對齊。所以,我們鼓勵生成器去忽悠判別器,從而減小該類別兩個域之間的差異
如果這一項很小,則表明:該類別特徵在兩個域上面已經對齊了,我們不需要對生成器做過大的修改。
從而我們達到了類別級別的特徵對齊
以上是我對這篇文章的解讀,文章地址
https://www.toutiao.com/i6712322062754513420/
也可檢視其它遷移學習論文的解讀
遷移學習系列文章一:ADVENT: Adversarial Entropy Minimization for Domain Adaptation in Semantic Segmentation
https://www.toutiao.com/i6707098269777920516/
https://www.toutiao.com/i6709022915318252040/
https://www.toutiao.com/i6709803871042011661/
https://www.toutiao.com/i6710737805296796164/
https://www.toutiao.com/i6711262857461236235/
https://www.toutiao.com/i6711559345680695812/
今年CVPR發表了很多遷移學習在深度學習上的應用,這裡介紹其中一篇
CVPR 2019論文:
Taking A Closer Look at Domain Shift: Category-level Adversaries for Semantics Consistent Domain Adaptation
摘要域適應在語義分割中的關鍵問題在於 減少域漂移(domain shift)。一般,我們對齊兩個域之間的分佈來解決這個關鍵問題。問題是,這種全域性性的對齊兩個域的分佈,並沒有考慮類別級別的對齊。這種忽略會造成:目標域中 原本已經對齊的類別,經過訓練後,對映到錯誤的類別。
基於以上問題,作者提出類別級別的對抗網路,目標是在全域性對齊的過程中,保持區域性的語義不變性
介紹語義分割是指在一張圖片上給每個畫素都打上類別標籤。要實現這樣的模型,人工標註成本太高。為了省點錢,我們採用合成數據集訓練。比如用遊戲中的街景資料集訓練街景的語義分割模型。問題在於,該模型在真實場景中並不好使。所以採用域適應的策略,解決標註資料缺少的問題。
域適應的關鍵問題在於減少源域和目標域之間的差異。目前主要有兩類方法:
透過縮小某種距離 來減少源域和目標域特徵之間的差異透過gan學習域不變的特徵上述方法都有一個很明顯的缺陷:
當生成器網路能完美地騙過判別器網路時,兩個域的全域性邊緣分佈幾乎完全對齊了。但是此時,忽略了局部的聯合分佈差異。目標域有些類別的特徵分佈已經對齊了。但是最小化對抗損失函式之後,會將該特徵對映到錯誤的類別。
作者為了解決該問題提出了一下演算法:
演算法問題背景
源域:資料X_S,標籤Y_S
目標域:資料X_T,無標籤
目標:訓練一個模型G,能正確分類目標域的資料
網路架構
整個網路由生成器G 和判別器D組成。G是一個由任意FCN為基礎的語義分割網路。D是一個以CNN為基礎的二分類網路。
其中G又可以細分為:特徵提取器E和兩個分類器C_1 , C_2。結構示意圖如圖片所示。
相關工作論文采用了兩種思想:對抗(GAN)和協同訓練(co-traning)
GAN
GAN在遷移學習中的應用形式:訓練生成器和判別器。生成器用來產生域不變的特徵。判別器用來判別 特徵屬於哪個域.
本文中,生成器是G,判別器是D
協同訓練(co-traning)
協同訓練是一種半監督模型,針對標註資料很少的情況。協同訓練的基本假設:資料有兩種特徵表達,並且這兩種表達都可以對資料進行分類。即可以從兩個不同的視角(view)看待資料。
假設資料有兩種視角:(x1,y1),(x2,y2),其中x是特徵,y是標籤。
利用標註資料的不同視角(x1,y1),(x2,y2),可以得到兩個不同的模型f1和f2訓練完之後用f1、f2 為目標域未標註資料生成偽標籤,並將置信度高的樣本加入到對方的訓練集中在本篇論文中的網路架構中,分類器C_1 , C_2,充當協同訓練的模型f1,f2。
分類器C_1預測的語義分割圖記為p1,分類器C_2預測的語義分割圖記為p2。最終的語義分割圖記為p=p1+p2
訓練流程
在訓練中,一共包含三個 loss:語義損失函式 (segmentation loss),差異損失函式 (discrepancy loss),自適應的對抗損失函式 (self-adaptive adversarial loss)
首先是,源域圖片經過生成器G,其中包括特徵提取器E,和兩個分類器C_1 , C_2,得到預測結果——語義分割圖p。這裡產生一個語義損失函式 (segmentation loss):
然後,我們考慮標準的協同訓練流程。為了得到同一張圖片的兩種表達,我們需要對分類器C_1 , C_2的引數進行約束。
特徵提取器E,提取所需的所有引數,而兩個分類器分別選取一部分,進行畫素分類。為了使得兩個分類器選取的特徵儘可能不一樣,這裡採用最小化卷積層引數的餘弦相似度函式,即差異損失函式 ( discrepancy loss)
其中,w是分類器的卷積層的引數展開
最後考慮對抗過程。源域和目標域的影象經過整個網路,產生一個自適應的對抗損失函式
所以最終的訓練損失函式為
損失函式分析
在網路中,C_1 , C_2的作用是:
期望兩個分類器抓取不同的特徵對由E提取的任意特徵,兩個分類函式的輸出一樣差異損失函式 ( discrepancy loss),即公式4的作用是第一項
語義損失函式 (segmentation loss)和自適應的對抗損失函式 (self-adaptive adversarial loss)的作用是第二項
本文最大的貢獻點在於:在傳統的對抗loss中加入了自適應的權重
如果這一項很大,則表明:該類別的特徵在兩個域上面並沒有對齊。所以,我們鼓勵生成器去忽悠判別器,從而減小該類別兩個域之間的差異
如果這一項很小,則表明:該類別特徵在兩個域上面已經對齊了,我們不需要對生成器做過大的修改。
從而我們達到了類別級別的特徵對齊
實驗以上是我對這篇文章的解讀,文章地址
https://www.toutiao.com/i6712322062754513420/
也可檢視其它遷移學習論文的解讀
遷移學習系列文章一:ADVENT: Adversarial Entropy Minimization for Domain Adaptation in Semantic Segmentation
https://www.toutiao.com/i6707098269777920516/
遷移學習系列文章二:AdaGraph: Unifying Predictive and Continuous Domain Adaptation through Graphshttps://www.toutiao.com/i6709022915318252040/
遷移學習系列文章三:Selective Zero-Shot Classification with Augmented Attributeshttps://www.toutiao.com/i6709803871042011661/
遷移學習系列文章四:Universal Domain Adaptationhttps://www.toutiao.com/i6710737805296796164/
遷移學習系列文章五:Leveraing the Invariant Side of Generative Zero-Shot Learninghttps://www.toutiao.com/i6711262857461236235/
遷移學習系列文章六:CVPR 2018論文:Feature Generating Networks for Zero-Shot Learninghttps://www.toutiao.com/i6711559345680695812/