生成對抗式網路GAN 的 loss

2021-07-31 06:30:02 字數 1184 閱讀 8508

gan同時要訓練乙個生成網路(generator)和乙個判別網路(discriminator),前者輸入乙個noise變數

z ,輸出乙個偽資料 g(

z;θg

),後者輸入乙個(real image)以及偽(fake image)資料

x ,輸出乙個表示該輸入是自然或者偽造的二分類置信度 d(

x;θd

),理想情況下,判別器

d 需要盡可能準確的判斷輸入資料到底是乙個真實的還是某種偽造的,而生成器

g又需要盡最大可能去欺騙

d ,讓

d把自己產生的偽造全部判斷成真實的。

根據上述訓練過程的描述,我們可以定義乙個損失函式:lo

ss=1

m∑mi

=1[l

ogd(

xi)+

log(

1−d(

g(zi

)))]

其中xi ,zi

mingmax

dlos

s 不過需要注意的一點是,實際訓練過程中並不是直接在上述優化目標上對 θd

,θg 計算梯度,而是分成幾個步驟:

訓練判別器即更新θd

:迴圈k 次,每次準備一組real image資料 x=

x1,x

2,⋯,

xm和一組fake image資料z=

z1,z

2,⋯,

zm,計算 ∇θ

d1m∑

mi=1

[log

d(xi

)+lo

g(1−

d(g(

zi))

)]然後梯度上公升法更新 θd

; 訓練生成器即更新 θg

:準備一組fake image資料 z=

z1,z

2,⋯,

zm,計算 ∇θ

g1m∑

mi=1

log(

1−d(

g(zi

)))

然後梯度下降法更新 θg

。 可以看出,第一步內部有乙個

k 層的迴圈,某種程度上可以認為是因為我們的訓練首先要保證判別器足夠好然後才能開始訓練生成器,否則對應的生成器也沒有什麼作用,然後第二步求提督時只計算fake image那部分資料,這是因為real image不由生成器產生,因此對應的梯度為0。

生成對抗式網路 GAN

lan goodfellow 加拿大蒙特婁大學 neurips 基於對抗的新生成式模型,它由乙個生成器和乙個判別器組成 生成器的目標是學習樣本的資料分布,從而能生成樣本欺騙判別器 判別器的目標是判斷輸入樣本是生成 真實的概率 gan模型等同於博弈論中的二人零和博弈 對於任意生成器和判別器,都存在乙個...

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 網路的核心演算法...