1. 程式人生 > >LSGAN (Least Squares Generative Adversarial Networks)

LSGAN (Least Squares Generative Adversarial Networks)

1.前言

傳統GAN出現的問題: 傳統GAN, 將Discriminator當作分類器,最後一層使用Sigmoid函式,使用交叉熵函式作為代價函式,容易出現梯度消失和collapse mode等問題,具體原因參考本部落格Wasserstein GAN
LSGAN主要解決關鍵: 使用最小二乘損失代替交叉熵損失,解決了傳統GAN生成的圖片質量不高以及訓練過程不穩定這倆個缺陷。

為什麼使用最小二乘法能夠改善傳統GAN存在的問題?

1.避免梯度消失
文章指出,傳統的GAN在使用生成的“fake”圖片(已被Discriminator分類為正樣本) 來更新Generator的引數的時候,會造成梯度消失,儘管該生成的"fake"圖片資料離真實樣本的資料還有一定的距離。當使用最小二乘來作為Discriminator的代價函式的時候,最小二乘會將生成的“fake”圖片拉向決策邊界,這裡的決策邊界穿過真實樣本,可以使得LSGANs生成的圖片更接近真實的資料。如文章中下圖所示:
在這裡插入圖片描述


倆種不同損失函式的區別:(a)上圖藍色線代表交叉熵代價函式的Sigmoid決策邊界,紅色線代表最小二乘的決策邊界。值得注意的是,對於成功的GANs學習過程,決策邊界應該穿過真實樣本分佈,除非學習過程已經飽和了。(b)對於Sigmoid 交叉熵損失函式,當生成的“fake”圖片被歸類在決策邊界正確的一邊的時候(correct side),得到的誤差非差小以至於不能更新Generator,儘管這些資料離決策邊界很遠,也即離真實樣本很遠。©最小二乘損失函式會懲罰離決策邊界很遠的資料,使之朝著決策邊界邁進,避免了梯度消失。

2.使訓練過程更加穩定

由於GANs學習過程不穩定導致GANs訓練困難。特別的,對於傳統的由於其存在梯度消失的問題,所以很難更新Generator,造成訓練困難。而LSGANs基於離邊界的距離而對生成的樣本進行懲罰,一定程度上避免了梯度消失,減緩了訓練困難的問題。

在這裡插入圖片描述
上圖中,(a) 為Sigmoid交叉熵損失函式; (b)為最小二乘損失函式

文章的貢獻:

  • 提出最小二乘損失函式,在最小化LSGAN目標函式的時候也在最小化皮爾森χ2\chi ^ { 2 }散度(Pearson χ2\chi ^ { 2 } 散度)。
  • 設計了倆種LSGANs, 其中一個用於圖片生成(112x112分別率),可生成高質量的圖片。另一網路用於多類別任務,文章使用了中國字作為測試。

2. 傳統的GAN

GAN的學習過程即同時訓練Discriminator (D)和Generator (G)的過程,G從高斯分佈的變數zz, 學習潛在變數θg\theta _ { g }

g,來產生分佈pgp_{g},使得該分佈與真實分佈越接近越好。因此,G學習的是一個對映過程,通過G(z;θg)G \left( \boldsymbol { z } ; \theta _ { g } \right)變數對映空間來產生分佈。另一方方面,D是一個分類器,來判斷G產生的分佈是否與真實樣本接近,通過變數空間D(x;θd)D \left( \boldsymbol { x } ; \theta _ { d } \right)判斷是否一樣,同樣的也是一個對映。傳統GAN的代價函式如下:

minGmaxDVGAN(D,G)=Expdata(x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]\min _ { G } \max _ { D } V _ { \mathrm { GAN } } ( D , G ) = \mathbb { E } _ { \boldsymbol { x } \sim p _ { data } ( \boldsymbol { x } ) } [ \log D ( \boldsymbol { x } ) ] + \mathbb { E } _ { \boldsymbol { z } \sim p _ { \boldsymbol { z } } ( \boldsymbol { z } ) } [ \log ( 1 - D ( G ( \boldsymbol { z } ) ) ) ] (公式1)

這裡稍微解釋下:

  • 整個式子由兩項構成。xx表示真實圖片,zz表示輸入GG網路的噪聲或者高斯分佈資料,而G(z)G(z)表示GG網路生成的圖片。
  • D(x)D(x)表示DD網路判斷真實圖片是否真實的概率(因為xx就是真實的,所以對於DD來說,這個值越接近1越好)。而D(G(z))D(G(z))DD網路判斷GG生成的圖片的是否真實的概率。
  • GG的目的:D(G(z))D(G(z))DD網路判斷GG生成的圖片是否真實的概率,GG應該希望自己生成的圖片“越接近真實越好”。也就是說,GG希望D(G(z))D(G(z))儘可能得大,這時V(D,G)V(D, G)會變小。因此我們看到式子的最前面的記號是minGmin_G
  • DD的目的:DD的能力越強,D(x)D(x)應該越大,D(G(x))D(G(x))應該越小。這時V(D,G)V(D,G)會變大。因此式子對於DD來說是求最大(max_D)

3. Least Squares Generative Adversarial Networks

LSGANs在Discriminator上使用a-b編碼策略,簡單來說就是用a來代表“fake”資料,用b來代表“real”資料。LSGANs的目標函式為:

minDVLSGAN(D)=12Expdata(x)[(D(x)b)2]+12Ezpz(z)[(D(G(z))a)2]\min _ { D } V _ { \mathrm { LSGAN } } ( D ) = \frac { 1 } { 2 } \mathbb { E } _ { \boldsymbol { x } \sim p _ { \mathrm { data } } ( \boldsymbol { x } ) } \left[ ( D ( \boldsymbol { x } ) - b ) ^ { 2 } \right] + \frac { 1 } { 2 } \mathbb { E } _ { \boldsymbol { z } \sim p _ { \boldsymbol { z } } ( \boldsymbol { z } ) } \left[ ( D ( G ( \boldsymbol { z } ) ) - a ) ^ { 2 } \right]

minGVLSGAN(G)=12Ezpz(z)[(D(G(z))c)2]\min _ { G } V _ { \mathrm { LSGAN } } ( G ) = \frac { 1 } { 2 } \mathbb { E } _ { \boldsymbol { z } \sim p _ { \boldsymbol { z } } ( \boldsymbol { z } ) } \left[ ( D ( G ( \boldsymbol { z } ) ) - c ) ^ { 2 } \right]  (公式2)

其中c代表生成器為了讓判斷器認為生成的資料是真實分佈資料而定的值。在文章中作者設定a=c=1,c=0a=c=1, c=0

同時在文章中,作者列出了傳統的GAN其實在優化的是JS散度,具體參考Wasserstein GAN

C(G)=KL(pdatapdata+pg2)+KL(pgpdata+pg2)log(4)C ( G ) = K L \left( p _ {data} \| \frac { p _ {data} + p _ { g } } { 2 } \right) + K L \left( p _ { g } \| \frac { p _ {data} + p _ { g } } { 2 } \right) - \log ( 4 ) (公式3)

化為JS散度為 2JS(PdataPg)2log22 J S \left( P _ {data } \| P _ { g } \right) - 2 \log 2

因此當倆個分佈沒有重疊或者重疊部分可忽略的時候,JS(PdataPg)=0J S \left( P _ {data } \| P _ { g } \right)=0, 因此此時的梯度就變為0了。

因此,對於作者提出的LSGANs, 研究了LSGANs損失函式和f散度 (f-divergence)之間的聯絡:

minDVLSGAN(D)=12Expdata(x)[(D(x)b)2]+12Ezpz(z)[(D(G(z))a)2]\min _ { D } V _ { \mathrm { LSGAN } } ( D ) = \frac { 1 } { 2 } \mathbb { E } _ { \boldsymbol { x } \sim p _ { \mathrm { data } } ( \boldsymbol { x } ) } \left[ ( D ( \boldsymbol { x } ) - b ) ^ { 2 } \right] + \frac { 1 } { 2 } \mathbb { E } _ { \boldsymbol { z } \sim p _ { \boldsymbol { z } } ( \boldsymbol { z } ) } \left[ ( D ( G ( \boldsymbol { z } ) ) - a ) ^ { 2 } \right]

相關推薦

LSGAN (Least Squares Generative Adversarial Networks)

1.前言 傳統GAN出現的問題: 傳統GAN, 將Discriminator當作分類器,最後一層使用Sigmoid函式,使用交叉熵函式作為代價函式,容易出現梯度消失和collapse mode等問題,具體原因參考本部落格Wasserstein GAN。 LSG

FACE AGING WITH CONDITIONAL GENERATIVE ADVERSARIAL NETWORKS

文章用於生成不同年齡的圖片,採用的模型是條件對抗網路,主要創新點是,首先通過一個網路,提取影象特徵向量,並通過身份保持網路,優化影象的特徵向量,特到特徵向量 z∗ z^*,之後便可以對於每個輸入年齡,查詢其年齡向量,並將該年齡向量與輸入圖片特徵向量

論文學習:Learning to Generate Time-Lapse Videos Using Multi-StageDynamic Generative Adversarial Networks

Welcome To My Blog 這篇論文收錄於KDD2018,有關視訊生成的,論文有個專案主頁,題目翻譯過來大致是:使用多階段動態生成對抗網路學習生成time-lapse(延時)視訊. 多階段具體來說是兩階段, 1. 第一階段(Base-Net): 注重每一幀內容的真實性

Generative Adversarial Networks: An Overview文獻閱讀筆記

Generative Adversarial Networks: An Overview筆記 Abstract Generative adversarial networks (GANs) provide a way to learn deep representations w

【GAN ZOO翻譯系列】基於能量的生成對抗網路 Energy-Based Generative Adversarial Networks

趙俊博, Michael Mathieu, Yann LeCun 紐約大學計算機科學系 Facebook人工智慧研究院 {jakezhao, mathieu, yann}@cs.nyu.edu 原文連結https://arxiv.org/abs/1609.031

論文解讀:DeLiGAN: Generative Adversarial Networks for Diverse and Limited Data

前言:DeLiGAN是計算機視覺頂會CVPR2017發表的一篇論文,本文將結合Python原始碼學習DeLiGAN中的核心內容。DeLiGAN最大的貢獻就是將生成對抗網路(GANs)的輸入潛空間編碼為混合模型(高斯混合模型),從而使得生成對抗網路(GANs)在數量有限但具有多樣性的訓練資料上表現出較

Speech Bandwidth Extension Using Generative Adversarial Networks

owb codec 同時 ephone 參數 listen 註意 nbu 分數 論文下載地址。博客園文章地址。 摘要 語音盲帶寬擴展技術已經出現了一段時間,但到目前為止還沒有出現廣泛的部署,部分原因是增加的帶寬伴隨著附加的工件。本文提出了三代盲帶寬擴展技術,從矢量量化映

Dihedral angle prediction using generative adversarial networks 閱讀筆記

使用生成對抗網路的二面角預測 Abstract         為蛋白質結構預測及其他應用開發了幾種二面角預測方法。 然而,預測角度的分佈與實際角度的分佈不同。 為了解決這個問題,我們採用了生成對抗網路(GAN),它在影象生成任務中顯示了有希望的結果。 生成性對抗網路由兩

Machine Learning is Fun Part 7: Abusing Generative Adversarial Networks to Make 8

The goal of Generative ModelsSo why exactly are AI researchers building complex systems to generate slightly wonky-looking pictures of bedrooms?The idea is

Generative Adversarial Networks and the Rise of Fake Faces: an Intellectual Property Perspective

The tremendous growth in the artificial intelligence (AI) sector over the last several years may be attributed in large part to the proliferation of so-

論文筆記:Spectral Normalization for Generative Adversarial Networks [ICLR2018 oral]

Spectral Normalization for Generative Adversarial Networks 原文連結:傳送門 一篇純數學類文章,有興趣的時候再看! Emma CUH

【GAN ZOO閱讀】模式正則化的生成對抗網路 MODE REGULARIZED GENERATIVE ADVERSARIAL NETWORKS

原文地址: https://arxiv.org/abs/1612.02136 引用之請註明出處。 Tong Che 1,Yanran Li 2 3,Athul Paul Jacob 1,Yoshua Bengio 1,Wenjie Li 2 1 蒙特利爾學習演算法

GaitGAN: Invariant Gait Feature Extraction Using Generative Adversarial Networks論文翻譯以及理解

GaitGAN: Invariant Gait Feature Extraction Using Generative Adversarial Networks論文翻譯以及理解 格式:一段英文,一段中文 2. Proposed method To reduce the eff

【Learning Notes】生成式對抗網路(Generative Adversarial Networks,GAN)

在學習 Variational Auto-Encoder時,同時注意到了 GAN 研究的火熱。但當時覺得 GAN 非常不成熟(訓練不穩定,依賴各種說不清的 tricks;沒有有效的監控指標,需要大量的人工判斷,因此難以擴展到圖像之外的高維數據)。在讀了 Good

乾貨 | Generative Adversarial Networks(GAN)的現有工作(2016.02)

乾貨 | Generative Adversarial Networks(GAN)的現有工作 程式媛的日常(小S) · 2016-02-29 15:21 今天想與大家分享的是影象生成中一些工作。這些工作都基於一大類模型,Generative

【論文筆記】Generative Adversarial Networks

        該文提出一種新穎的對抗式生成模型架構,這種框架同時訓練兩個模型,一個是生成模型G,用來習得資料的真實分佈,一個是判別模型D,用來判斷一個樣本是否是真實樣本。G的訓練過程就是儘可能地讓D犯錯誤,該網路最後的目標就是讓G通過輸入的噪聲重構出訓練資料的分佈,並且讓D

目標檢測“Perceptual Generative Adversarial Networks for Small Object Detection”

解決小目標檢測問題的一般方法:提高輸入影象的解析度,會增加運算量;多尺度特徵表示,結果不可控。 方法提出 論文使用感知生成式對抗網路(Perceptual GAN)提高小物體檢測率,generator將小物體的poor表示轉換成super-resolved的

GANs學習系列(2):cGANs:Conditional Generative Adversarial Networks

結論by ym: 轉完這篇,理解一下表達一下自己的一點感想。 其實cgan潛在的道理很簡單,但是這個簡單直接的改進被證明非常有效。 簡單來說就是因為: 在生成模型中,先驗輸入噪聲p(z)和條件資訊y聯合組成了聯合隱層表徵。對抗訓練框架在隱層表徵的組成方式方面相當地靈活。 即cnn一直以來的

Self-Attention Generative Adversarial Networks 論文解讀

論文地址:https://arxiv.org/abs/1805.08318 Ian goodfellow 2018年 新作,在GAN生成中加入了attention的機制,同時將SNgan的思想引入到生成器當中。傳統gan的問題使用小的卷積核很難發現影象中的依賴關係使用大的卷積

GANs學習系列(5): 生成式對抗網路Generative Adversarial Networks

【前言】      本文首先介紹生成式模型,然後著重梳理生成式模型(Generative Models)中生成對抗網路(Generative Adversarial Network)的研究與發展。作者按照GAN主幹論文、GAN應用性論文、GAN相關論文分類整理了45篇近兩年的論文,著重梳理了主幹論文之間的聯絡