Generative Adversarial Nets (GAN) 閱讀筆記

  Generative Adversarial Nets 生成對抗網絡的出現所引起的影響,不用我多說,想必大家也都知道了.我也是最近幾天纔看完這篇文章(汗,我這科研速度),把自己的一些理解分享給大家.

一 Abstract

  作者提出了一個網絡結構, 該結構包含兩個模型, 一個是生成模型, 另一個是辨別模型. 這兩個模型的存在就是一個相互促進或者說是互懟的過程.

二 Introduction

  顧名思義, G就是生成模型, D就是辨別模型. D的存在就是判斷G生成的結果是好還是壞, 或者說G生成了和minist數據相似的手寫字體, D就是用來判斷G生成的結果的好壞. D覺着G生成的效果不好, 然後就把誤差傳遞給G, G更新自己的參數變成G1 , 此時G1 就再生成一個一次類minist數據, 這時的結果是可以騙過上次的D的. G1 騙了一次D, D在判斷的過程中也學習甚麼是好的minist甚麼是假的minist(更新參數), D就變成了D1 . 再重複進行上述過程, 這樣就成了G騙一次D, D揭發一次G, 二者相互促進, G的騙術越來越高, D的辨別能力越來越強, 直到D不能揭發G了, 此時G的生成能力可以以假亂真了.
  我相信你看了上面這一段描述還不是很清楚, 那就讓我來給你細細的描述一下. 來一段僞代碼吧:

g代表生成模型 d代表辨別模型 d_on_g代表二者結合起來
for every_epoch in epoch:
 for every_batch in batch:
  z = noise
  g對噪聲預測得到gen_imgs
  將gen_imgs和minist放在一起, gen_imgs的label爲0, minist的label爲0, 得到的數據爲mix_imgs.
  d 訓練 mix_imgs數據,更新d的參數
  凍結d的權重, 將噪聲的label設置爲0
  d_on_g去訓練 mix_imgs.更新g的參數
  放開d的權重

以上就是GAN的訓練思路, 首先由G生成數據(predict), 然後把生成數據和真實數據混合, 二者的label分別爲0, 1. 送入d去訓練d的辨別能力,訓練完畢之後, 此時d的參數更新完畢. 然後固定d的參數, 把噪聲的label設爲1, 訓練d_on_g模型, 此時d被freeze了, 所以更新的參數是g的,並強制讓d對噪聲的label爲1. 這就相當於新一代的g已經能夠騙過d了. 然後再把d的參數放開. 進行下一個batch.
這樣循環下去, 直到d不能分別出來g生成的數據和真實數據, 說明我們訓練了一個很好的g.

三 損失函數

  說了這麼多, 兩個模型怎麼更新參數? 損失函數又是甚麼?好吧, 是時候祭出公式了:

min(G)max(D)=Expdata[logD(x)]+Ezpz(z)[log(1D(G(z)))]

我們先來說一下min和max分別代表甚麼, max(D)是指讓D的損失越大越好, 越大說明D越能發現G生成的數據是假的, 因爲二者本來就是給對方製造麻煩的. min(G)是指G希望D的損失越小越好, 因爲越小說明G生成的數據越能騙過D.
max(D) 是希望Expdata[logD(x)]+Ezpz(z)[log(1D(G(z)))] 最大, 當D(x)爲1,D(G(z))爲0時,說明D把所有真實的數據識別出來了, 並把所有的假的數據也識別出來, 你說這是不是最好的辨別器, 你說此時的損失是不是最大.
min(G) 是希望Ezpz(z)[log(1D(G(z)))] 最小, 它最小時是不是D(G(z))=1 , D(G(z))=1 爲1就是辨別器把所有的假數據當作了真的, 說明G非常成功啊.
  也就是說我們在更新D和G的參數時就是分別對D進行梯度上升更新, 對G進行梯度下降更新. 到最後達到一個動態平衡, 也就是D的輸出爲12 , 即D已經不能區分真假了.
文章中的描述如下圖所示:
這裏寫圖片描述

文章的整體思路就是這樣, 公式還有很多細節值得去推導, GAN的應用還是很廣泛的, 比如在圖像分割, 超分辨, 分割遷移等. 而且衍生出來了很多GAN, 所以這篇開山之作還是非常推薦的.
  下面是我利用GAN生成的一些結果:


這裏寫圖片描述
上圖是在運行了約5000次的一個結果

這裏寫圖片描述
上圖是根據生成的結果製作的一個動圖

  GAN還有很多好玩的地方, 值得去嘗試, 去玩.
  歡迎各位拍磚, 謝謝.

  打個廣告,新建的語義分割羣, 674968699, 有問題請進羣討論(不僅僅是語義分割), 可能還只有羣主一個人(捂臉)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章