深度學習已經在圖像分類、檢測、分割、高分辨率圖像生成等諸多領域取得了突破性的成績。但是它也存在一些問題。
首先,它與傳統的機器學習方法一樣,通常假設訓練數據與測試數據服從同樣的分布,或者是在訓練數據上的預測結果與在測試數據上的預測結果服從同樣的分布。而實際上這兩者存在一定的偏差,比如在測試數據上的預測准確率就通常比在訓練數據上的要低,這就是過度擬合的問題。
另一個問題是深度學習的模型(比如卷積神經網絡)有時候並不能很好地學到訓練數據中的一些特征。比如,在圖像分割中,現有的模型通常對每個像素的類別進行預測,像素級別的准確率可能會很高,但是像素與像素之間的相互關系就容易被忽略,使得分割結果不夠連續或者明顯地使某一個物體在分割結果中的尺寸、形狀與在金標准中的尺寸、形狀差別較大。
1、對抗學習
對抗學習(adversarial learning)就是為了解決上述問題而被提出的一種方法。學習的過程可以看做是我們要得到一個模型(例如CNN),使得它在一個輸入數據X上得到的輸出結果盡可能與真實的結果Y(金標准)一致。
在這個過程中使用一個鑒別器(discriminator),它可以識別出一個結果y到底是來自模型的預測值還是來自真實的結果。如果這個鑒別器的水平很高,而它又把X和Y搞混了,無法分清它們之間的區別,那么就說明我們需要的模型具有很好的表達或者預測能力。
2、GAN用於圖像分割
Semantic Segmentation using Adversarial Networks (https://arxiv.org/abs/1611.08408, 25Nov 2016),這篇文章第一個將對抗網絡(adversarial network)應用到圖像分割中,該文章中的方法如下圖。
左邊是一個CNN的分割模型,右邊是一個對抗網絡。對抗網絡的輸入有兩種情況,一是原始圖像+金標准,二是原始圖像+分割結果。它的輸出是一個分類值(1代表它判斷輸入是第一種情況,0代表它判斷輸入是第二種情況)。代價函數定義為:
其中Θs和Θa分別是分割模型和對抗模型的參數。yn是金標准,s(xn)是分割結果。上式第一項是經典的分割模型的代價函數,例如交叉熵(cross entropy)即概率值的負對數。第二項和第三項是對抗模型的代價函數,由於希望對抗模型盡可能難以判別yn和S(xn), 第二項的權重是-λ。
訓練過程中,交替訓練對抗模型(Θa)和分割模型(Θs)。訓練對抗模型的代價函數為:
使該函數最小化,得到性能盡可能好的判別器,即對抗模型。訓練分割模型的代價函數為:
yn與s(xn)在像素級別盡可能接近,另一方面盡可能使判別器從整體上無法區分它們。下圖是一個分割的結果,可見對抗模型得到的結果在空間上更加具有一致性。
另外從訓練過程中的性能上也可以看出,使用對抗訓練,降低了過度擬合。
3、GAN用於半監督學習
An Adversarial Regularisation for Semi-Supervised Training of Structured Output Neural Networks(https://arxiv.org/pdf/1702.02382.pdf, 8 Feb 2017),這篇文章中使用對抗網絡來做圖像分割的半監督學習。半監督學習中一部分數據有標記,而另一部分數據無標記,可以在准備訓練數據的過程中節省大量的人力物力。
假設(xt,λt)是有標記的訓練數據,xu是未標記的訓練數據, 理論上分割結果fw(xt)與fw(xu)應該同分布,實際上由於x的維度太大而訓練數據不足以表達它的所有變化,因此fw(xt)與fw(xu)存在一定偏差。該文中使用一個判別器δu(y)來得到來自於有標記的訓練數據的分割結果fw(xt)的概率,1-δu(y)作為y是來自於未標記的訓練數據的分割結果的概率。
訓練過程的代價函數為:
C(w)是常規的基於標記數據的代價函數,Cadv(w)是基於未標記數據的代價函數,定義為:
該代價函數使分割算法在標記數據和未標記數據上得到盡可能一致的結果。整個算法可以理解成通過使用未標記數據,實現對分割網絡的參數的規則化。
上圖是在CamVid數據集上分別使用1/8, 1/4, 1/2 和1/1的標記數據進行訓練的結果。相比於藍線只使用標記數據進行訓練,該方法得到了較大的性能提高,如紅線所示。
4、GAN用於域適應的分割
關於域的理解:域適配當中的域指的是一個領域,類似於聚類中的簇。通常,域適配的文章中的實驗是針對分類任務的,某個類別就可以看作是一個領域域。但是在分割任務重,一個域指的是一類分割場景,比如街道場景、游戲場景。這里的場景中包含多中類別的物體,但是就分割任務而言,某一個場景就是一個領域。
目前的自適應語義分割的訓練策略包含兩種:對抗訓練和自訓練。針對語義分割網絡的架構,分別從輸入和輸出來做文章。
FCNs in the Wild: Pixel-level Adversarial and Constraint-based Adaptation (https://arxiv.org/abs/1612.02649, 8 Dec 2016 ),這篇文章將對抗學習用到基於域適應的分割中。
域適應是指將在一個數據集上A訓練得到的模型用到與之類似的一個數據集B上,這兩個數據集的數據分布有一定的偏移(distribution shift),也叫做域偏移(domain shift)。A 被稱為源域 source domain,B被稱為目標域 target domain。源域中的數據是有標記的,而目標域的數據沒有標記,這種問題就被稱為非監督域適應。該文章要解決的問題如下圖所示:
該文章認為一個好的分割算法應該對圖像是來自於源域還是目標域不敏感。具體而言就是從輸入圖像中提取的抽象特征不受域之間的差異影響,因此從源域中的圖像提取的抽象特征與從目標域中的圖像提取的抽象特征很接近。那么如果用一個判別器來判斷這個抽象特征是來自於源域中的圖像還是來自於目標域中的圖像,這個判別器應該盡量無法判斷出來。方法的示意圖如下:
文章認為有兩個方面引起了域之間的偏移,一個是全局性的,比如不同天氣狀況下的街道場景,一個是與特定的類別相關的 ,比如不同國家城市之間的交通標志。 因此在代價函數中考慮了這兩種情況:
其中,第一項是通常的監督學習的代價函數。
第二項是對抗學習的目標函數,該函數又包括兩個最小化過程,一個是更新特征提取網絡,使得從兩個域中的圖像提取的特征接近從而判別器無法區分,一個是更新判別器參數,使它盡可能區分兩個域中的圖像的特征。
第三項Lmi(IT,PLs)是一個與特定類別有關的代價函數。其思想是利用源域中的標記結果,統計出各個類別物體的尺寸范圍,再用這些尺寸范圍作為先驗知識去限制目標域中圖像的分割結果。
上圖是在Cityscapes數據集上的結果。實驗中把訓練集作為源域,驗證集作為目標域,分別展示了只使用全局性的域適應(GA)和類別特異性域適應(CA)的結果。
5、小結
對抗學習的概念就是引入一個判別器來解決不同數據域之間分布不一致的問題,通過使判別器無法區分兩個不同域的數據,間接使它們屬於同一個分布,從而作為一個規則化的方法去指導深度學習模型更新參數,達到更好的效果。關於它的數學證明,可以參見[1]。
6、參考資料
[1] Goodfellow, Ian, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. "Generative adversarial nets." In Advances in neural information processing systems, pp. 2672-2680. 2014.
[2] Luc, Pauline, Camille Couprie, Soumith Chintala, and Jakob Verbeek. "Semantic Segmentation using Adversarial Networks." arXiv preprint arXiv:1611.08408 (2016).
[3] Mateusz Koziński, Loïc Simon, Frédéric Jurie, "An Adversarial Regularisation for Semi-Supervised Training of Structured Output Neural Networks", arXiv preprint arXiv:1702.02382(2017).
[4] Hoffman, Judy, Dequan Wang, Fisher Yu, and Trevor Darrell. "FCNs in the Wild: Pixel-level Adversarial and Constraint-based Adaptation." arXiv preprint arXiv:1612.02649 (2016).
[5] Ledig, Christian, Lucas Theis, Ferenc Huszár, Jose Caballero, Andrew Cunningham, Alejandro Acosta, Andrew Aitken et al. "Photo-realistic single image super-resolution using a generative adversarial network." arXiv preprint arXiv:1609.04802 (2016)
感謝作者,參考資料:
https://blog.csdn.net/shenziheng1/article/details/72821001
https://blog.csdn.net/hairui88/article/details/83692090