當前位置:
首頁 > 最新 > 生成對抗網路GAN簡介

生成對抗網路GAN簡介

摘 要:生成對抗網路GAN(Generative Adversarial Networks)自2014年提出後就受到了學界的廣泛關注。其基本思想來源於博弈論中的二人零和博弈,由一個生成模型和一個判別模型構成,通過對抗的方式進行訓練,最終擬合數據樣本中的內在分布並生成新的數據樣本。該思想首先在計算機視覺領域得到驗證與改進,近一兩年來又逐步應用到自然語言處理NLP(Natural Language Processing)上。本文首先介紹GAN提出的背景,然後簡要介紹其基本原理,並著重分析其推導過程和訓練過程。

關鍵詞:生成式對抗網路、零和博弈、計算機視覺、自然語言處理

01

背景介紹

如果把人工智慧劃分為計算智能、感知智能和認知智能的三個階段,那我們目前應該處於立足於感知智能,並且正在向認知智能逐步探索的階段。我們目前在語音識別、圖像識別等領域已經取得了實質性的突破,機器也基本達到了「能聽會說、能看會認」的基本要求,但是離認知智能中「能理解會思考」的目標還比較遙遠。在達到該目標之前,我們怎麼去衡量機器是否具備「理解」與「思考」的能力也是一個問題。目前在認知智能的一些典型任務,如機器翻譯、閱讀理解、問答系統、對話系統等任務中都取得了一定的進展,但是機器是否因此獲得了較強的「理解」與「思考」的能力還很難做出判斷。

在解決這個問題之前,我們可以先回想一下著名的物理學家理查德·費曼曾經說過的一句話「What I cannot create, I do not understand」,其大概意思是說「我們所不能創造的事物,緣於我們尚不能理解」,也就是說創造事物與理解事物本身有著某種必然關係。這個邏輯應用到人工智慧方面就可以凸顯出生成式模型的重要性了,生成式模型生成樣本的能力在一定程度上反映了其對事物本身的理解程度[1]。

02

生成模型

傳統的生成式模型有我們所熟知的隱馬爾科夫模型(HMM)、樸素貝葉斯(Na?ve Bayes)等等。這些傳統模型由於其容量有限,對樣本的刻畫與擬合能力不足,僅在特定的任務應用中有一定效果。近些年來學術界又先後提出了變分自編碼模型VAE(Variational Autoencoder)和生成式對抗網路GAN。變分自編碼模型允許帶隱變數的概率圖模型學習與貝葉斯推斷[2],但是生成的樣本比較模糊。生成式對抗網路在2014年首次提出後就因為其接近真實的樣本生成效果和嶄新的訓練框架而受到人們的關注。圖2-1是Goodfellow等[3]在2014年提出GAN的論文中的圖片生成效果,其中每張圖最後一列是訓練集中與生成樣本最相近的訓練樣本。

圖2-1 GAN生成樣本示例

從圖中可以看出,GAN在首次提出時就已經在一些數據集上達到逼近真實樣本的生成效果。這種接近真實的生成效果給了我們理解事物新的想像,因此GAN在提出後就受到一些著名學者的推崇,其中包含深度學習的三大領軍人物之一的Yann LeCun,他曾經說「GAN是近十年來機器學習領域最有趣的想法」。另外,GAN在整個人工智慧研究領域也逐漸成為一大熱點,圖2-2是百度學術上Goodfellow等人在2014年提出GAN的論文《Generative Adversarial Nets》的引用量,該數據統計可能存在遺漏,但是真實引用量肯定大於或者等於該統計值。我們從中可以看出,GAN自提出後其論文年引用量達到了將近指數級的增長,在2017年單年引用量將近1000,足以說明其在學術領域的關注程度。其實,不光是學術領域,在工業界甚至是其他相關領域,GAN也逐漸受到關注,圖2-3是Google Trends上GAN相關主題和VAE相關主題的搜索變化趨勢。圖中橫軸是時間,縱軸是其相對搜索量,其中最大搜索量設置為100。從中我們可以看出GAN相關主題在2016年之後搜索量大增,明顯比VAE相關主題受到的關注度要高,說明GAN在近兩三年急劇升溫,受到了廣泛關注。

圖2-2 論文《Generative Adversarial Nets》引用量

圖2-3 GAN與VAE搜索趨勢圖

03

GAN的基本原理


GAN的主要思想來源於博弈論中的零和遊戲,該遊戲是指參與博弈的各方,在嚴格競爭的情況下,一方的收益必然導致另一方的損失,兩方收益和相加總等於0。其主要框架包含一個生成模型G和判別模型D,具體如圖3-1所示。

圖3-1 GAN主要框架示意圖

從圖中可以看出,生成模型G的輸入是一個隨機向量,G基於這個隨機向量生成一個圖片樣本Fake Image,然後再從訓練集中隨機抽取一個真實的圖片樣本Real Image,二者輸入到判別模型D中判斷真假。整個框架訓練的目標函數如下(公式3.1):

該目標函數包含兩部分,其中右邊部分是生成模型G的目標函數,也就是最小化判別器識別出其輸出為生成樣本的概率,該部分加上左邊部分才能構成判別器的目標函數,其本質上是一個交叉熵,也就是要最大化分配給訓練數據x和生成數據G(z)的概率。


Goodfellow等人在提出GAN的基本框架的時候,對框架的全局目標和和目標是否可達都有嚴謹的證明。首先是全局目標Pg=Pdata,即生成器G的全局最優為真實數據的分布Pdata,該部分證明過程如下:

1) 對於給定的生成器G,最優的判別器為(公式3.2):

即最優生成器為真實分布占真實與生成分布總和的比例,這個比較好理解,比如對於包含5個真實樣本,3個生成樣本的集合,最優的生成器給出的判斷肯定為真實分布佔5/8。該步的數學證明也比較簡單,有興趣的讀者可以看下論文;

2) 將公式3.2帶到公式3.1即可得到(公式3.3):

上面公式變形後可以得到(公式3.4):

3) 將KL散度(公式3.5)、JS散度公式(公式3.6):

帶入到3.4中可以得到(公式3.7)

從公式3.7我們可以得到生成器損失函數最終的變形中變數僅為真實分布和生成分布的JS散度,而JS散度為KL散度的變形,用于衡量兩個分布間的距離,其值域範圍為[0,1],即兩個分布相同為1,相反為0。因此,當且僅當生成分布與真實分布相同時,C(G)取得全局最優值,即Pg=Pdata時,C(G)=-log(4)。

上面已經證明得到了GAN存在全局最優解,也就是說整個框架存在一個明確的目標,且這個目標就是生成器G重現真實分布。在證明了框架存在全局最優之後,論文中又使用了一些形式化的證明推導出了其最優解是可以達到的,即:如果G和D有足夠的容量,在訓練過程中的每一步D可以在給定G的情況下達到其最優解,而Pg也可以按照此時最優的D進行更新,即(公式3.8):

直至Pg與真實分布重合。該步驟的證明比較容易,在給定G之後,D的優化就是一個確定的交叉熵函數優化問題,該函數通過簡單的梯度計算肯定可以優化得到其最優解。而給定判別器D的最優解,根據公式3.8和上面結論1的推導,我們就可以逐步優化得到G的最優解,此時Pg=Pdata。


從上面第二部分的推導中我們就可以知道,GAN的訓練是交替的,先給定生成器訓練K輪判別模型,然後再控制判別模型不變,訓練生成器。具體演算法如圖3-2所示。

圖3-2 GAN訓練演算法

後來也有很多實驗的trick是訓練多輪生成模型G後,在訓練一輪判別模型,因為判別模型訓練得越好就越容易導致生成模型的梯度消失,這個是GAN訓練穩定性的問題。我們先理解一下GAN訓練的過程,論文中給出了GAN訓練過程的示意圖,如圖3-3。

圖3-3 GAN訓練過程示意圖

圖中黑點代表的是真實數據的分布Pdata,綠色代表的是生成數據的分布Pg,藍色代表的是判別模型的分布。從圖(a)到圖(b)的過程中,生成模型固定而判別模型得到優化,所以藍色判別模型的分布變得準確;從圖(b)到圖(c)判別模型固定,優化生成模型,所以生成分布與真實分布拉近了一些,最後從圖(c)到圖(d)生成模型和判別模型都達到最優,此時生成分布完全擬合了真實分布,判別模型預測值為1/2。

04

小結

本文簡單介紹了生成式對抗網路GAN提出的背景,回顧了生成式模型,介紹了GAN的基本框架、基本推導及其訓練過程。GAN作為生成模型中的新生代表,其接近真實的生成效果給了機器理解事物新的可能,所以自其提出後就受到廣泛關注。GAN在提出時就有一套基本完整的訓練框架、推導過程,並且在圖像領域很快得到了驗證,但是其原理和應用上也存在一些問題,這些問題在研究和探索中逐步得到解決後,相信GAN的應用也將越來越廣泛。

參考文獻

[1] 王坤峰,苟超,段艷傑,林懿倫,鄭心湖,王飛躍.生成式對抗網路GAN的研究進展與展望.自動化學報,2017, 43(3): 321?332

[2] 馮佳時. 生成對抗網路PPT,新加坡國立大學

[3] Goodfellow I, Pouget-Abadie J, Mirza M, Xu B, Warde-Farley D, Ozair S, Courville A, Bengio Y. Generative adversarial nets. In: Proceedings of the 2014 Conference on Advances in Neural Information Processing Systems 27. Montreal, Canada: Curran Associates, Inc., 2014. 2672?2680


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 哈工大訊飛聯合實驗室 的精彩文章:

TAG:哈工大訊飛聯合實驗室 |