【深度學習】--DCGAN從入門到例項應用

LHBlog發表於2018-07-02

一、前述

DCGAN就是Deep Concolutions應用到GAN上,但是和傳統的卷積應用還有一些區別,最大的區別就是沒有池化層。本文將詳細分析卷積在GAN上的應用。

二、具體

1、DCGAN和傳統GAN區別

    1.將pooling層convolutions替代(對於判別模型:容許網路學習自己的空間下采樣 ,因為沒有池化層,所以讓判別網路自習學習。對於生成模型:容許它學習自己的空間上取樣,即改變原先卷積策略,通過圖片提取特徵,而生成模型通過特徵生成圖片。)
    2.在generator和discriminator上都使用batchnorm:

      解決初始化差的問題
      幫助梯度傳播到每一層
      防止generator把所有的樣本都收斂到同一個點。

   3.在CNN中移除全連線層

   4.在generator的除了輸出層外的所有層使用ReLU,輸出層採用tanh。

   5.在discriminator的所有層上使用LeakyReLU

2、生成網路生成影象過程

 

 

3、判別網路過程

 4、程式碼

 程式碼部分詳見git地址:https://github.com/LhWorld/DCGAN

 

 

 

相關文章