一、前述
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