生成對抗網絡GAN:從理論到PyTorch實現

袁梅宇

  • 生成對抗網絡GAN:從理論到PyTorch實現-preview-1
  • 生成對抗網絡GAN:從理論到PyTorch實現-preview-2
  • 生成對抗網絡GAN:從理論到PyTorch實現-preview-3
生成對抗網絡GAN:從理論到PyTorch實現-preview-1

相關主題

商品描述

"《生成對抗網絡GAN:從理論到PyTorch實現》系統地講解了生成對抗網絡(GAN)的基本原理以及PyTorch編程技術,內容較全面,可操作性強,將理論與實踐相結合。讀者通過理論學習和編程實踐操作,可了解並掌握生成對抗網絡的基本原理和PyTorch編程技能,拉近理論與實踐的距離。 《生成對抗網絡GAN:從理論到PyTorch實現》共分8章,主要內容包括生成對抗網絡介紹、簡單全連接GAN、深度卷積GAN、Wasserstein GAN、條件GAN、StyleGAN、Pix2Pix、CycleGAN,涵蓋了豐富多彩的生成對抗網絡的原理和示例。此外,本書源碼已全部在Python 3.10.9 + PyTorch 1.13.1 + CUDA 11.6版本上調試成功。 《生成對抗網絡GAN:從理論到PyTorch實現》適合生成對抗網絡愛好者和PyTorch編程人員作為入門和提高的技術參考書,也適合用作計算機專業高年級本科生和研究生的教材或教學參考書。 "

目錄大綱

第1章  生成對抗網絡介紹 1

1.1   生成對抗網絡與PyTorch簡介 2

1.1.1  生成對抗網絡介紹 2

1.1.2  PyTorch介紹 5

1.2   判別模型與生成模型 6

1.3   GAN架構介紹 7

1.3.1  判別器 7

1.3.2  生成器 9

1.3.3  損失函數 11

1.3.4  GAN完整架構 13

1.4   常用數據集 15

1.4.1  MNIST數據集 15

1.4.2  Fashion-MNIST數據集 17

1.4.3  CIFAR-10數據集 18

1.4.4  CelebA數據集 21

1.4.5  Pix2Pix數據集 22

1.4.6  CycleGAN數據集 24

習題 27

第2章  簡單全連接GAN 29

2.1   生成1001模式的GAN 30

2.1.1  1001模式GAN架構 30

2.1.2  數據源 30

2.1.3  判別器網絡實現 31

2.1.4  生成器網絡實現 34

2.1.5  訓練GAN 35

2.2   生成MNIST數據的GAN 39

2.2.1  數據集 39

2.2.2  MNIST判別器 40

2.2.3  MNIST生成器 40

2.2.4  訓練GAN 41

2.2.5  模式崩潰初探 46

習題 47

第3章  深度卷積GAN 49

3.1   DCGAN簡介 50

3.1.1  DCGAN網絡結構 50

3.1.2  卷積 52

3.1.3  反卷積 60

3.1.4  批規範化 61

3.2   DCGAN實現 63

3.2.1  加載Celeb-A數據集 63

3.2.2  生成器網絡實現 65

3.2.3  判別器網絡實現 66

3.2.4  DCGAN訓練 67

3.2.5  運行結果展示 70

習題 74

第4章  Wasserstein GAN 75

4.1   WGAN介紹 76

4.2   WGAN基礎 78

4.2.1  原始GAN的問題 78

4.2.2  Wasserstein損失 79

4.2.3  1-Lipschitz連續性限制 81

4.2.4  兩種1-L連續性限制 81

4.2.5  WGAN和WGAN-GP算法 84

4.3   WGAN實現 85

4.3.1  判別器實現 86

4.3.2  生成器實現 87

4.3.3  WGAN訓練 88

4.3.4  WGAN結果 90

4.4   WGAN-GP實現 91

4.4.1  判別器實現 91

4.4.2  生成器實現 92

4.4.3  損失函數實現 93

4.4.4  WGAN-GP訓練 94

4.4.5  WGAN-GP結果 96

習題 97

第5章  條件GAN 99

5.1   條件GAN介紹 100

5.1.1  條件生成 100

5.1.2  可控生成 102

5.1.3  Z空間的向量運算 104

5.1.4  類別梯度上升 106

5.1.5  解耦合 107

5.2   cGAN實現 108

5.2.1  判別器網絡 108

5.2.2  生成器網絡 109

5.2.3  cGAN訓練 111

5.2.4  cGAN結果 114

5.3   可控生成實現 115

5.3.1  定義超參數 115

5.3.2  輔助函數 116

5.3.3  判別器網絡 117

5.3.4  生成器網絡 118

5.3.5  網絡訓練 120

5.3.6  可控生成結果 121

習題 123

第6章  StyleGAN 125

6.1   StyleGAN介紹 126

6.2   StyleGAN架構 128

6.2.1  StyleGAN生成器結構 128

6.2.2  漸進式增長 129

6.2.3  噪聲映射網絡 131

6.2.4  樣式模塊AdaIN 134

6.2.5  樣式混合和隨機噪聲 136

6.3   StyleGAN實現 139

6.3.1  加載數據集 139

6.3.2  網絡層實現 140

6.3.3  判別器 144

6.3.4  生成器 146

6.3.5  模型訓練 149

6.3.6  運行結果展示 152

習題 155

第7章  Pix2Pix 157

7.1   匹配圖像轉換 158

7.2   Pix2Pix基本原理 159

7.2.1  Pix2Pix的概念 160

7.2.2  PatchGAN 162

7.2.3  U-Net 163

7.2.4  損失函數 165

7.2.5  Pix2Pix完整框架 167

7.3   Pix2Pix編程實現 169

7.3.1  加載數據集 169

7.3.2  判別器 171

7.3.3  生成器 173

7.3.4  Pix2Pix訓練 179

7.3.5  運行結果展示 181

習題 184

第8章  CycleGAN 185

8.1   非匹配圖像轉換 186

8.2   CycleGAN基本原理 188

8.2.1  CycleGAN面臨的問題 188

8.2.2  兩個GAN 189

8.2.3  CycleGAN損失函數 191

8.2.4  CycleGAN完整框架 195

8.3   CycleGAN編程實現 197

8.3.1  加載數據集 197

8.3.2  判別器 199

8.3.3  生成器 201

8.3.4  CycleGAN訓練 209

8.3.5  運行結果展示 213

習題 214

參考文獻 215