機器學習論文報告筆記(一):
論文:http://ice.dlut.edu.cn/valse2018/ppt/Generative_Adversarial_Nets_JSFeng.pdf
這個是我第一次寫論文報告筆記,然後我也希望能通過寫自己在讀報告的過程中的一下心得體會,和你們一起分享吧
1):為什麼研究生成模型 ?
? 測試高維複雜的概率分布建模? 模擬未來 (規劃, 模擬)
? 處理缺失數據
? 多模態輸出
? 解決真實的數據生成問題
生成對抗網路(GANs)
– 優點:生成樣本細節清晰
– 缺點:優化困難(訓練過程不穩定性)
變分自動編碼模型(VAE)
– 優點:允許帶隱變數的概率圖模型學習與貝葉斯推斷
(例如 DRAW, Attend Infer Repeat)– 缺點:生成樣本模糊
自回歸模型(Auto-regressive)
– 優點:簡單,穩定的訓練過程(例如PixelRNN)– 缺點:採樣效率低
變分自編碼模型 :
缺點:
如果分布q不完美, 則估計不一致生成的數據質量通常不高
GANS的優點:使用隱性編碼;不需要馬爾可夫鏈;生產數據質量高。
GAN避免了馬爾科夫鏈式的學習機制」
「概率密度不可計算時,GAN仍可以應用」
引用https://arxiv.org/abs/1406.2661
首先生成對抗網路是一種很好的是一種很好的圖像生成模型。他可以去別人傳統的概率生成模型,因為傳統的概率生存模型因為傳統的概率生成模型是基於馬爾科夫鏈的採樣盒放段。但是生成對抗網路就避開了這個演算法複雜度高的過程,他是直接採樣腿斷還提高它的效率。
在傳統網路中我們在傳統網路中我們很難定義一個有效地概率密度,但是。在生成對抗網路下,我們可以通過內部對抗的訓練方式,逼近一些難以達到的目標函數。
特別值得一提的是gan屬於一種無監督學習。
你你在傳統的數據你在傳統的數據生成中,而你是用一個高斯分布,然後把那個參數概率模型進行操作化,然後再通過概率分布的方法進行逆採樣。從而得到它一個概率分布。
生成對抗網路採用的思想是。他既對這個生成的網路進行一個神經網路的優化又對這個判別器進行一個快速的參數的優化。
通過優化目標,使得我們可以調節概率生成模型的參數 heta,從而使得生成的概率分布和真實數據分布盡量接近。
那麼怎麼去定義一個恰當的優化目標或一個損失?傳統的生成模型,一般都採用數據的似然性來作為優化的目標,但GAN創新性地使用了另外一種優化目標。首先,它引入了一個判別模型(常用的有支持向量機和多層神經網路)。其次,它的優化過程就是在尋找生成模型和判別模型之間的一個納什均衡。
其實GANs的訓練沒過程,就是一個博弈的過程,一個生成器和一個判別器,彼此對抗,然後來彼此學習的過程。有點像兩個人下象棋,然後一直下下下來,提高自己的水平一樣。
假設判別器是一個警察,但是生成器就是一個要善於偽裝自己的小偷,他們在博弈的過程中小偷可以不斷地欺騙警察而己,茶業會不斷的識別出小偷欺騙他的那些過程,直到最後面,警察變得無比的精明小偷也變得無比了善於偽裝自己。
但是現在有一個問題就是我們的生存模型,它可能會專門的針對這個判別模型去優化,而不是說針對他要盡量的去你和這個真實世界的圖像進入一個擬合,就是過擬合一樣的感覺。所以如何去把優化這個生成對抗網路是不要進入這種過擬合是很重要的。
生成對抗網路的基本原理
它生成對抗網路,它需要一個一個生成器G和一個判別器D,而生成對抗網路的目標函數就是一個關於D和G的一個零和博弈,也就是所謂的一個最小最大化問題。
這裡判別模型D實際上是對數據的來源進行一個判別:究竟這個數據是來自真實的數據分布Pdata,還是來自於一個生成模型G所產生的一個數據分布Pg。
判別模型D的訓練目的就是要盡量最大化自己的判別準確率。當這個數據被判別為來自於真實數據時,標註 1,自於生成數據時,標註 0。
生成模型G的訓練目標,就是要最小化判別模型D的判別準確率。在訓練過程中,GAN採用了一種非常直接的交替優化方式,它可以分為兩個階段,第一個階段是固定判別模型D,然後優化生成模型G,使得判別模型的準確率盡量降低。而另一個階段是固定生成模型G,來提高判別模型的準確率。
下面是一個訓練的過程:
圖(a)中黑色大點虛線P(x)是真實的數據分布,綠線G(z)是通過生成模型產生的數據分布(輸入是均勻分布變數z,輸出是綠色的曲線)。藍色的小點虛線D(x)代表判別函數。
在圖(a)中,我們可以看到,綠線G(z)分布和黑色P(x)真實分布,還有比較大的差異。這點也反映在藍色的判別函數上,判別函數能夠準確的對左面的真實數據輸入,輸出比較大的值。對右面虛假數據,產生比較小的值。但是隨著訓練次數的增加,圖(b)和圖(c)反映出,綠色的分布在逐漸靠近黑色的分布。到圖(d),產生的綠色分布和真實數據分布已經完全重合。這時,判別函數對所有的數據(無論真實的還是生成的數據),輸出都是一樣的值,已經不能正確進行分類。G成功學習到了數據分布,這樣就達到了GAN的訓練和學習目的。GAN的優點很多,前面我們提到了一部分。這裡要提到的一個重要優點,就是生成模型G的參數更新不是來自於數據樣本本身(不是對數據的似然性進行優化),而是來自於判別模型D的一個反傳梯度。
實際中,我們就可以使用深度卷積網路,來參數化生成模型。
為了避免G坍縮到同一點,需要同步D和G
//未完待續……
推薦閱讀:
※(生活與感悟)讀博士有什麼實用價值嗎?
※目標跟蹤演算法SRDCF論文筆記
※懺悔曾經找人代寫代發論文,普勸大家要認真研究獨立完成
※盲目自卑的SCI心態,你有嗎?
※改論文改到嗨是一種什麼樣的體驗