iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0

前言

昨天實作了簡單的GAN之後,今天我們來介紹GAN第一個常見的種類-DCGAN!

正文

DCGAN全名為Deep Convolutional Generative Adversarial Networks,是一種生成對抗網路(GAN)的變種,專門用於生成逼真的圖像。他與前面的CAE一樣,DCGAN引入了卷積神經網路(CNN)的概念,以有效地生成高解析度的圖像。

以下是論文中DCGAN的核心架構

https://ithelp.ithome.com.tw/upload/images/20231004/20161913V1i9hUJEkH.png

  1. 用步進卷積替換池化層(鑑別器)和分數步進卷積(fractional-strided convolutions)(生成器): 在鑑別器中,將池化層替換為步進卷積,以維持圖像的空間分辨率。在生成器中,使用分數步進卷積,以實現圖像的放大。
  2. 在生成器和鑑別器中使用批次正規化(batch normalization): 批次正規化有助於穩定訓練過程,防止梯度爆炸或消失問題,因此建議在兩個模型中都使用它。
  3. 去除深度架構中的全連接隱藏層: 在更深的網絡中,不建議使用全連接隱藏層,而是專注於卷積和步進卷積層。
  4. 在生成器中使用ReLU激活函數(Rectified Linear Unit): 除了輸出層外,建議在生成器的所有層中使用ReLU激活函數,以促進訓練中的非線性學習。輸出層可以使用Tanh函數,將像素值縮放到合適的範圍。
  5. 在鑑別器中使用LeakyReLU激活函數: 在鑑別器的所有層中使用LeakyReLU激活函數,這有助於處理梯度消失問題,並提高鑑別性能

以下是以生成64*64的圖為例:

https://ithelp.ithome.com.tw/upload/images/20231004/20161913XAJLtOs7Ol.png

卷積的部分可以參考第14天的CAE:[DAY14] Convolutional Autoencoder(CAE)的理論

總結

今天稍微介紹了DCGAN的理論,明天將會實作DCGAN,那我們明天見!


上一篇
[DAY24]實作簡單的GAN
下一篇
[DAY26]一起來實作DCGAN吧!
系列文
Autoencoder與GAN:生成與重建的完美結合30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言