GAN的基本概念


一、 基本描述

1. 組成

1) 判別算法discriminative algorithms

判別算法根據(jù)輸入數(shù)據(jù)的feature進(jìn)行分類label; 比如這封郵件是不是垃圾郵件

2) 生成算法 generative algorithms

生成算法根據(jù)特定的label預(yù)測feature

3) 生成器 generator

一個卷積神經(jīng)網(wǎng)絡(luò)

生成新數(shù)據(jù)

4) 判別器 discriminator

一個卷積神經(jīng)網(wǎng)絡(luò)

評估生成數(shù)據(jù)的真實(shí)性

2. 工作過程

1) 簡述

生成模型生成一些圖片->判別模型學(xué)習(xí)區(qū)分生成的圖片和真實(shí)圖片->生成模型根據(jù)判別模型改進(jìn)自己,生成新的圖片->····


2) 過程

a) 在以下兩個Minibatch應(yīng)用梯度下降等優(yōu)化算法

訓(xùn)練樣本

生成樣本

b) 優(yōu)化

3) 結(jié)果

生成模型與判別模型無法提高自己——即判別模型無法判斷一張圖片是生成出來的還是真實(shí)的而結(jié)束

二、 數(shù)學(xué)描述

1. 生成模型 g(z)

1) 概念

輸入z是一個隨機(jī)噪聲

g的輸出就是一張圖片


2. 判別模型? D(x)

1) 概念

輸入X是從模型中的抽取的樣本

D(x)的輸出是0-1范圍內(nèi)的一個實(shí)數(shù),用來判斷這個圖片是一個真實(shí)圖片的概率是多大

2) 公式


解釋: ????D=1(真實(shí)圖片),則P_data=1, P_model=0

????????????????D=0(假的圖片),則 P_data=0

3. 優(yōu)化方法

o 交互迭代

????? 固定g,優(yōu)化D,一段時間后,固定D再優(yōu)化g,直到過程收斂。

4. 代價函數(shù)

1) 判別器的代價函數(shù)J(D)


迄今為止,所有的判別其代價函數(shù)都一樣,不一樣的是生成器的代價函數(shù)。

這是一個標(biāo)準(zhǔn)的cross-entropy cost

真實(shí)數(shù)據(jù)的label=1,生成器生成的數(shù)據(jù)的label=0

目標(biāo)是最小化判別器的代價函數(shù)

2) Minimax 博弈/零和博弈


3) Non-saturating heuristic啟發(fā)式,非飽和博弈


啟發(fā)式驅(qū)動是說按照實(shí)際操作改變策略,而不是遵循理論。

為了防止生成器的梯度消失,把生成器的cost變成:

4) Maximum likelihood最大似然博弈

5) Divergence的選擇

6) Generator 的Cost function的比較


結(jié)論:使用non-saturating

三、 DCGAN

1. 引入——CNN

1) 概念

(convolutional neural network,卷積神經(jīng)網(wǎng)絡(luò))。深度神經(jīng)網(wǎng)絡(luò)的一種,可以通過卷積層(convolutional layer)提取不同層級的信息

2) 輸入

圖片

3) 輸出

圖片

抽象表達(dá)(紋理/形狀etc)

2. 簡介

o 人們?yōu)閳D像生成設(shè)計了一種類似反卷積的結(jié)構(gòu):Deep convolutional NN for GAN(DCGAN)

o 是GAN的使用場景——在圖片中的生成模型DCGAN。

3. 輸入

o 隨機(jī)噪聲向量(高斯噪聲etc)

4. 處理流程

o 輸入通過與CNN類似但是相反的結(jié)構(gòu),將輸入放大成二維數(shù)據(jù)。

o 通過生成模型+判別模型

o 生成圖片

四、 訓(xùn)練GAN的tips

1. 用label訓(xùn)練

2. One-sided label smoothing

防止判別器的極端的可信分類(某一類的可能性為1)

幫助判別器抵抗生成器的攻擊

3. 注意Batch norm的使用

1) Feature norm的定義

subtract mean, divide by standard deviation

2) 注意

會導(dǎo)致batch之間相互影響,應(yīng)該使用virtual batch norm

4. 平衡G和D

D應(yīng)該獲勝,應(yīng)該多鍛煉D,D應(yīng)該更加復(fù)雜

https://deeplearning4j.org/generative-adversarial-network#tips-in-training-a-gan

1. discriminator 與generator,固定一個,訓(xùn)練另一個

2. 開始訓(xùn)練generator之前預(yù)先訓(xùn)練discriminator

3. GAN訓(xùn)練很費(fèi)時間,建議用GPU不要用CPU

五、 GAN與其他神經(jīng)網(wǎng)絡(luò)的比較

1. Auto encoder/decoder

可以壓縮原始數(shù)據(jù)

2. VAE(Variational變化的 auto encoder)

增加了額外的限制

可以壓縮原始數(shù)據(jù)

可以生成數(shù)據(jù)(生成效果沒有GAN好)

六、 GAN的有趣應(yīng)用

https://deeplearning4j.org/generative-adversarial-network#unclassified-papers--resources

七、 評估

1. inception scores

It's particularly interesting because it seems to be a very reliable way to "quantify realism" in GANs,

八、 前沿研究

1. 解決Non-convergence

2. 如何評估生成模型

3. 離散的輸出

4. 半監(jiān)督化學(xué)習(xí)

5. 。。。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這苦行的人生何以尋求幸福? 那遙遠(yuǎn)的回響 將靜靜用心聆聽 我的訴說 將在某日傳入你的耳中 命運(yùn)的神?。?請您高抬貴...
    蕭瀹閱讀 499評論 0 10
  • 機(jī)緣巧合 我坐在車上抬頭看見,馬上抓拍 太像了 20170813
    金聲說今事閱讀 439評論 0 1
  • 世界上的最遠(yuǎn)的距離,就是從知道到做到。為什么我們知道了那么多,在行動上卻沒有改變。 反思這段時間不斷不斷的學(xué)習(xí)新知...
    一縷陽光v閱讀 314評論 4 7

友情鏈接更多精彩內(nèi)容