生成對抗網絡項目實戰 (Generative Adversarial Networks Projects)

[印] 凱拉什·阿伊瓦(Kailash Ahirwar)

  • 生成對抗網絡項目實戰 (Generative Adversarial Networks Projects)-preview-1
  • 生成對抗網絡項目實戰 (Generative Adversarial Networks Projects)-preview-2
生成對抗網絡項目實戰 (Generative Adversarial Networks Projects)-preview-1

買這商品的人也買了...

商品描述

生成對抗網絡(GAN)可以模擬任何數據分佈方式,因而潛力巨大,為很多難以自動化的問題提供瞭解決途徑。本書立足理論,著重實踐,帶領讀者快速熟悉並上手GAN。本書首先介紹構建高效項目所涉及的概念、工具和庫,然後利用不同類型的數據集,依次構建7個GAN項目,訓練並優化GAN模型。這些項目涵蓋了各種流行方法,包括3D-GAN、Age-cGAN、DCGAN、SRGAN、StackGAN、CycleGAN和pix2pix。

作者簡介

凱拉什·阿伊瓦(Kailash Ahirwar)是機器學習解決方案平台Mate Labs的聯合創始人兼首席技術官,與人合作發明了去中心化的分佈式深度學習訓練協議Raven Protocol,機器學習和深度學習愛好者,其研究工作涉及人工智能的許多領域,包括自然語言處理、計算機視覺,以及使用GAN進行生成建模。

目錄大綱

 

前言


第1章生成對抗網絡簡介1
1.1什麼是GAN 1
1.1.1什麼是生成網絡1
1.1.2什麼是判別網絡2
1.1.3 GAN通過對抗競賽進行訓練2
1.2 GAN的實際應用2
1.3 GAN的具體架構3
1.3.1生成網絡的架構3
1.3.2判別網絡的架構4
1.3.3 GAN相關重要概念5
1.3.4評分算法7
1.4 GAN變體8
1.4.1深度卷積生成對抗網絡8
1.4. 2 StackGAN 9
1.4.3 CycleGAN 9
1.4.4 3D-GAN 9
1.4.5 Age-cGAN 9
1.4.6 pix2pix 9
1.5 GAN的優勢10
1.6訓練GAN的問題10
1.6.1模式塌陷10
1.6.2梯度消失10
1.6.3內部協變量轉移11
1.7解決GAN訓練穩定性問題11
1.7.1特徵匹配11
1.7.2小批量判別12
1.7.3歷史平均13
1.7.4單面標籤平滑13
1.7.5批歸一化14
1.7.6實例歸一化14
1.8小結14


第2章使用3D-GAN生成圖形15
2.1 3D-GAN簡介15
2.1.1 3D卷積15
2.1.2 3D-GAN架構16
2.1.3目標函數20
2.1.4訓練3D-GAN 20
2.2創建項目21
2.3準備數據21
2.3.1下載並提取數據集22
2.3.2探索數據集22
2.4 3D-GAN的Keras實現25
2.4.1生成網絡25
2.4.2判別網絡27
2.5訓練3D-GAN 28
2.5.1訓練兩個網絡28
2.5.2保存模型31
2.5.3測試模型32
2.5.4損失可視化32
2.5.5圖可視化33
2.6超參數優化34
2.7 3D-GAN的實際應用34
2.8小結34


第3章使用cGAN實現人臉老化35
3.1人臉老化cGAN簡介35
3.1.1理解cGAN 35
3.1.2 Age-cGAN架構36
3.1.3 Age-cGAN的訓練階段37
3.2創建項目39
3.3準備數據39
3.3.1下載數據集40
3.3.2提取數據集40
3.4 Age-cGAN的Keras實現41
3.4 .1編碼網絡42
3.4.2生成網絡44
3.4.3判別網絡47
3.5訓練cGAN 49
3.5.1訓練cGAN 49
3.5.2潛在向量初步近似55
3.5.3潛在向量優化57
3.5.4損失可視化59
3.5. 5圖可視化60
3.6 Age-cGAN的實際應用61
3.7小結62


第4章使用DCGAN生成動畫人物63
4.1 DCGAN簡介63
4.2創建項目69
4.3下載並準備動畫人物數據集70
4.3.1下載數據集70
4.3.2探索數據集71
4.3.3剪裁及縮放訓練集圖像71
4.4使用Keras實現DCGAN 73
4.4.1生成網絡74
4.4 .2判別網絡76
4.5訓練DCGAN 78
4.5.1加載樣本79
4.5.2構建並編譯網絡79
4.5.3訓練判別網絡81
4.5.4訓練生成網絡81
4.5.5生成圖像82
4.5.6保存模型83
4.5 .7生成圖像可視化83
4.5.8損失可視化84
4.5.9圖可視化85
4.5.10超參數調優85
4.6 DCGAN的實際應用86
4.7小結86


第5章使用SRGAN生成逼真圖像87
5.1 SRGAN簡介87
5.1. 1 SRGAN架構87
5.1.2訓練目標函數91
5.2創建項目92
5.3下載CelebA數據集93
5.4 SRGAN的Keras實現94
5.4.1生成網絡94
5.4.2判別網絡98
5.4.3 VGG19網絡101
5.4.4對抗網絡102
5.5訓練SRGAN 103
5.5.1構建並編譯網絡103
5.5.2訓練判別網絡105
5.5.3訓練生成網絡106
5.5.4保存模型107
5.5.5生成圖像可視化107
5.5.6損失可視化109
5.5.7圖可視化110
5.6 SRGAN的實際應用110
5.7小結110


第6章StackGAN:基於文本合成逼真圖像111
6.1 StackGAN簡介111
6.2 StackGAN架構112
6.2.1文本編碼網絡113
6.2.2 CA塊113
6.2.3第一階段114
6.2.4第二階段117
6.3創建項目122
6.4準備數據123
6.4.1下載數據集123
6.4.2提取數據集124
6.4.3探索數據集124
6.5 StackGAN的Keras實現124
6.5.1第一階段124
6.5.2第二階段132
6.6訓練StackGAN 141
6.6.1訓練StackGAN第一階段141
6.6.2訓練StackGAN第二階段148
6.6.3生成圖像可視化152
6.6.4損失可視化152
6.6.5圖可視化153
6.7 StackGAN的實際應用154
6.8小結154


第7章使用CycleGAN將繪畫轉換為照片155
7.1 CycleGAN簡介155
7.1.1 CycleGAN架構156
7.1.2訓練目標函數160
7.2創建項目161
7.3下載數據集162
7.4 CycleGAN的Keras實現162
7.4.1生成網絡163
7.4.2判別網絡165
7.5訓練CycleGAN 167
7.5.1加載數據集167
7.5.2構建並編譯網絡169
7.5.3開始訓練171
7.5.4保存模型173
7.5.5生成圖像可視化174
7.5.6損失可視化175
7.5.7圖可視化176
7.6 CycleGAN的實際應用176
7.7小結177
7.8延伸閱讀177


第8章使用cGAN實現圖像對圖像變換178
8.1 pix2pix簡介178
8.1.1 pix2pix架構179
8.1.2訓練目標函數184
8.2創建項目184
8.3準備數據185
8.4 pix2pix的Keras實現189
8.4.1生成網絡189
8.4.2判別網絡195
8.4.3對抗網絡200
8.5訓練pix2pix網絡202
8.5.1保存模型206
8.5.2生成圖像可視化206
8.5.3損失可視化207
8.5.4圖可視化208
8.6 pix2pix網絡的實際應用208
8.7小結211


第9章預測GAN的未來210
9.1對GAN未來的預測211
9.1.1提升現有的深度學習方法211
9.1.2 GAN商業應用的演化211
9.1. 3 GAN訓練過程的成熟211
9.2 GAN未來的潛在應用211
9.2.1基於文本創建信息圖212
9.2.2設計網站212
9.2.3壓縮數據212
9.2.4研發藥物212
9.2.5使用GAN生成文本212
9.2.6使用GAN生成音樂213
9.3探索GAN 213
9.4小結213


版權聲明214