生成對抗式網路 GAN

2021-10-20 11:08:46 字數 2830 閱讀 3688

lan goodfellow、加拿大蒙特婁大學、neurips

基於對抗的新生成式模型,它由乙個生成器和乙個判別器組成;

生成器的目標是學習樣本的資料分布,從而能生成樣本欺騙判別器;判別器的目標是判斷輸入樣本是生成/真實的概率;

gan模型等同於博弈論中的二人零和博弈;

對於任意生成器和判別器,都存在乙個獨特的全域性最優解;

本文中,生成器和判別器都由多層感知機實現,整個網路可以用反向傳播演算法來訓練;

通過實驗定性與定量分析顯示,gan具備很大的潛力;

條件概率p(y|x),判別式模型,任務學習的是聯合概率分布p(x,y);

聯合概率p(x,y),生成式模型,任務是得到屬性為x且類別為y時的聯合概率;

線性回歸、邏輯回歸、k近鄰(knn)、支援向量機(svm)、決策樹、條件隨機場(crf)、boosting方法

樸素貝葉斯、混合高斯模型、隱馬爾科夫模型(hmn)、貝葉斯網路、馬爾科夫隨機場、深度信念網路(dbn)、變分自編碼器

在零和博弈中,為使自己達到最優解,所以把對方受益最小化

mnist、tfd、cifar-10

影象生成(image generation)、影象轉換(imagetranslation)、影象編輯(image editing)

編碼器(把資料編碼成mean vector和standard deviation vector)、取樣(從構建的高斯分布中取樣的帶latent vector)、解碼器(從latent vector生成資料)

生成器g(多層感知機、relu、sigmoid)

判別器(多層感知機、maxout、dropout)

?損失函式 ?代價函式

data: 真實資料

d:  判別器,輸出值為 [0, 1],代表輸入來自真實資料的概率

z:  隨機雜訊

g:  生成器,輸出為合成資料

d的目標,是最大化價值函式v

對數函式log在底數大於1時,為單調遞增函式

最大化v,就是最大化 d(x) 和 1-d(g(z))

對於任意的x,都有 d(x) = 1

對於任意的z,都有 d(g(z))) = 0

g的目標,是針對特定的d,去最小化價值函式v

最小化v,就是最小化 d(x) 和 1-d(g(z))

對於任意的z,都有 d(g(z))) = 1

在訓練開始時,g效能較差,d(g(z))接近0,

此時:log(1 - d(g(z)))的梯度值較小

log(d(g(z)))的梯度值較大

把g的目標改為最大化log d(g(z)),在早期學習中能提供更強的梯度

• 使用mini-batch梯度下降(帶

momentum)

• 訓練k次判別器(本**實驗中k=1)

• 訓練1次生成器

資訊熵

• 乙個概率分布的複雜程度

kl散度

• 基於分布q來描述分布p所需的額外資訊量

• p和q差別的非對稱性的度量

js散度

• 基於kl散度,解決了kl散度非對稱的問題

• 如果兩個分布距離較遠沒有重疊部分時,

kl散度是沒有意義的,而js散度為常數1

凸函式 (convex function):區域性最優解等於全域性最優解

上確界 (supremum):乙個集合的最小上界,與最大值類似

次導數( ( subderivatives) ):作一條直線通過點(x, f(x)),並且要麼接觸f,要麼在f的下方,這條直線的斜率稱為f的次導數

次梯度演算法( ( subgradient  method ):與梯度下降演算法類似,用次梯度代替梯度,在凸函式上能確保收斂性

gaussian parzen window:parzen窗方法有時候方差較大,在高維空間中表現不好,但他是當時最佳方法。

缺點

• 沒有顯式表示的pg (x)

• 必須同步訓練g和d,可能會發生模式崩潰

優點

• 不使用馬爾科夫鏈,在學習過程中不需要推理

• 可以將多種函式合併到模型中

• 可以表示非常尖銳、甚至退化的分布

• 不是直接使用資料來計算loss更新生成器,而是使用判別器的梯度,所以資料不會直接複製到生成器的引數中

• 將c作為g和d的輸入,可以得到條件生成模型p(x | c)。

• 可以訓練乙個編碼網路,輸入x而**z

• 通過訓練一系列共享引數的條件概率模型,可以近似地對所有條件概率分布p(x s | x ~s )進行建模,其中s是x下標的子集

• 半監督學習: 標註資料不多時,可以用判別器的特徵來提高分類器的效能

• 效率改進: 通過設計更好的方法來協調g和d的訓練,或者給出更好的z樣本分佈,可以大大提公升模型的訓練效率

• 對抗性框架

• 價值函式的設計

• 全域性最優解

• gan的改進方向

• 使用神經網路來判斷兩個分布的相似程度

• 把兩個相互對抗的loss作為唯一的優化目標

• 從生物智慧型中繼續挖掘寶藏

• 對抗在機器學習中的應用,更多的對抗方式

• 深度神經網路handle一切

• 評價兩個分布的相似性是乙個重難點

• 能否結合統計學方法與dl方法的優缺點

GAN 生成對抗網路

原理 假設我們有兩個網路 乙個生g generator 乙個判別d discriminator g是乙個生成的的網路,它接受乙個隨機的雜訊z,通過這個雜訊生成,記做g z d是乙個判別網路,判斷一張是不是 真實的 它的輸入引數是x,x代表一張的。輸出d x 代表x為真實的概率,如果為1,就代表100...

生成對抗網路 GAN

原文 generative adversarial networks 模型組成 核心公式 演算法圖示化描述 全域性最優點 pg pdata 效果與對比展望 ming maxdv d,g exp data x logd x exp x x log 1 d g z 分析 上方為 gan 網路的核心演算法...

GAN(生成對抗網路)

gan,generative adversarial network.起源於2014年,nips的一篇文章,generative adversarial net.gan,是一種二人博弈的思想,雙方利益之和是乙個常數,是固定的。你的利益多點,對方利益就少點。gan裡面,博弈雙方是 乙個叫g 生成模型 ...