本書(shū)主要介紹構(gòu)建和訓(xùn)練生成對(duì)抗網(wǎng)絡(luò)(GAN)的方法。全書(shū)共12 章,先介紹生成模型以及GAN 的工作原理,并概述它們的潛在用途,然后探索GAN 的基礎(chǔ)結(jié)構(gòu)(生成器和鑒別器),引導(dǎo)讀者搭建一個(gè)簡(jiǎn)單的對(duì)抗系統(tǒng)。
本書(shū)給出了大量的示例,教讀者學(xué)習(xí)針對(duì)不同的場(chǎng)景訓(xùn)練不同的GAN,進(jìn)而完成生成高分辨率圖像、實(shí)現(xiàn)圖像到圖像的轉(zhuǎn)換、生成對(duì)抗樣本以及目標(biāo)數(shù)據(jù)等任務(wù),讓所構(gòu)建的系統(tǒng)變得智能、有效和快速。
1.“深度學(xué)習(xí)系統(tǒng)的一大進(jìn)步”——GAN,在圖像生成和數(shù)據(jù)增強(qiáng)領(lǐng)域有出色表現(xiàn);
2.以Python語(yǔ)言實(shí)現(xiàn),很強(qiáng)的實(shí)戰(zhàn)性,涵蓋構(gòu)建、訓(xùn)練、優(yōu)化全過(guò)程;
3.英國(guó)創(chuàng)企孵化器Founders Factory計(jì)算機(jī)視覺(jué)領(lǐng)域的聯(lián)合創(chuàng)始人Jakub Langr與美國(guó)紐約一家初創(chuàng)公司的高級(jí)產(chǎn)品經(jīng)理Vladimir Bok合力寫(xiě)就;
4. 獲Simeon Leyzerzon、Dana Robinson、Grigory V. Sapunov、Bachir Chihani等人聯(lián)袂推薦;
5.提供本書(shū)示例代碼。
雅各布·朗格爾(Jakub Langr) 英國(guó)創(chuàng)企孵化器 Founders Factory計(jì)算機(jī)視覺(jué)領(lǐng)域的聯(lián)合創(chuàng)始人。
弗拉基米爾·博克(Vladimir Bok) 美國(guó)紐約一家初創(chuàng)公司的高級(jí)產(chǎn)品經(jīng)理,負(fù)責(zé)機(jī)器學(xué)習(xí)基礎(chǔ)架構(gòu)方面的工作和研究團(tuán)隊(duì)的整體運(yùn)作。
第 一部分 生成對(duì)抗網(wǎng)絡(luò)(GAN)與生成模型導(dǎo)論
第 1 章 GAN 簡(jiǎn)介 3
1.1 什么是 GAN 5
1.2 GAN 是如何工作的 5
1.3 GAN 實(shí)戰(zhàn) 6
1.3.1 GAN 的訓(xùn)練 7
1.3.2 達(dá)到平衡 10
1.4 為什么要學(xué) GAN 11
1.5 小結(jié) 14
第 2 章 自編碼器生成模型入門(mén) 15
2.1 生成模型簡(jiǎn)介16
2.2 自編碼器如何用于高級(jí)場(chǎng)景 16
2.3 什么是 GAN 的自編碼器 18
2.4 自編碼器的構(gòu)成 18
2.5 自編碼器的使用 20
2.6 無(wú)監(jiān)督學(xué)習(xí)21
2.6.1 吐故納新 21
2.6.2 使用自編碼器生成 22
2.6.3 變分自編碼器 23
2.7 代碼就是生命23
2.8 為什么要嘗試使用 GAN 30
2.9 小結(jié) 32
第 3 章 你的第 一個(gè) GAN 模型:生成手寫(xiě)數(shù)字 . 33
3.1 GAN 的基礎(chǔ):對(duì)抗訓(xùn)練 33
3.1.1 代價(jià)函數(shù) 35
3.1.2 訓(xùn)練過(guò)程 35
3.2 生成器和鑒別器 37
3.2.1 對(duì)抗的目標(biāo) 37
3.2.2 混淆矩陣 38
3.3 GAN 訓(xùn)練算法 38
3.4 教程:生成手寫(xiě)數(shù)字 39
3.4.1 導(dǎo)入模塊并指定模型輸入維度 40
3.4.2 構(gòu)造生成器 41
3.4.3 構(gòu)造鑒別器 41
3.4.4 搭建整個(gè)模型 42
3.4.5 訓(xùn)練 43
3.4.6 輸出樣本圖像 44
3.4.7 運(yùn)行模型 45
3.4.8 檢查結(jié)果 45
3.5 結(jié)論 46
3.6 小結(jié) 46
第 4 章 深度卷積生成對(duì)抗網(wǎng)絡(luò)(DCGAN)47
4.1 卷積神經(jīng)網(wǎng)絡(luò)48
4.1.1 卷積濾波器 48
4.1.2 參數(shù)共享 48
4.1.3 卷積神經(jīng)網(wǎng)絡(luò)可視化 48
4.2 DCGAN 簡(jiǎn)史 49
4.3 批歸一化 50
4.3.1 理解歸一化 50
4.3.2 計(jì)算批歸一化 51
4.4 教程:用 DCGAN 生成手寫(xiě)數(shù)字 52
4.4.1 導(dǎo)入模塊并指定模型輸入維度 53
4.4.2 構(gòu)造生成器 53
4.4.3 構(gòu)造鑒別器 55
4.4.4 構(gòu)建并運(yùn)行 DCGAN 57
4.4.5 模型輸出 59
4.5 結(jié)論 60
4.6 小結(jié) 60
第二部分 GAN 的前沿主題
第 5 章 訓(xùn)練與普遍挑戰(zhàn):為成功而 GAN 63
5.1 評(píng)估 65
5.1.1 評(píng)估框架 65
5.1.2 IS 67
5.1.3 FID 68
5.2 訓(xùn)練中的挑戰(zhàn)70
5.2.1 增加網(wǎng)絡(luò)深度 72
5.2.2 游戲設(shè)置 73
5.2.3 最小-最大 GAN 73
5.2.4 非飽和 GAN 74
5.2.5 何時(shí)停止訓(xùn)練 76
5.2.6 WGAN77
5.3 總結(jié)游戲設(shè)置80
5.4 訓(xùn)練技巧 81
5.4.1 輸入的歸一化 81
5.4.2 批歸一化 81
5.4.3 梯度懲罰 82
5.4.4 對(duì)鑒別器進(jìn)行更多的訓(xùn)練 82
5.4.5 避免稀疏梯度 83
5.4.6 平滑和帶噪聲的標(biāo)簽 83
5.5 小結(jié) 83
第 6 章 漸進(jìn)式增長(zhǎng)生成對(duì)抗網(wǎng)絡(luò)(PGGAN) 85
6.1 潛在空間插值 86
6.2 它們發(fā)展如此之快 87
6.2.1 高分辨率層的漸進(jìn)增長(zhǎng)和平滑 87
6.2.2 示例實(shí)現(xiàn) 90
6.2.3 小批量標(biāo)準(zhǔn)偏差 91
6.2.4 均衡學(xué)習(xí)率 92
6.2.5 生成器中的像素級(jí)特征歸一化 93
6.3 主要?jiǎng)?chuàng)新點(diǎn)總結(jié) 96
6.4 TensorFlow Hub 庫(kù)及其實(shí)踐 97
6.5 PGGAN 的實(shí)際應(yīng)用 98
6.6 小結(jié) 101
第 7 章 半監(jiān)督生成對(duì)抗網(wǎng)絡(luò)(SGAN) 103
7.1 SGAN 簡(jiǎn)介105
7.1.1 什么是 SGAN 106
7.1.2 結(jié)構(gòu)107
7.1.3 訓(xùn)練過(guò)程 107
7.1.4 訓(xùn)練目標(biāo) 108
7.2 教程:SGAN 的實(shí)現(xiàn) 108
7.2.1 架構(gòu)圖 108
7.2.2 實(shí)現(xiàn)109
7.2.3 設(shè)置109
7.2.4 數(shù)據(jù)集 110
7.2.5 生成器 112
7.2.6 鑒別器 112
7.2.7 搭建整個(gè)模型 115
7.2.8 訓(xùn)練116
7.3 與全監(jiān)督分類(lèi)器的對(duì)比 118
7.4 結(jié)論 119
7.5 小結(jié) 119
第 8 章 條件生成對(duì)抗網(wǎng)絡(luò)(CGAN) 121
8.1 動(dòng)機(jī) 121
8.2 什么是 CGAN 122
8.2.1 CGAN 的生成器 123
8.2.2 CGAN 的鑒別器 123
8.2.3 匯總表 124
8.2.4 架構(gòu)圖 124
8.3 教程:CGAN 的實(shí)現(xiàn) 125
8.3.1 實(shí)現(xiàn)125
8.3.2 設(shè)置125
8.3.3 CGAN 的生成器 126
8.3.4 CGAN 的鑒別器 128
8.3.5 搭建整個(gè)模型 130
8.3.6 訓(xùn)練131
8.3.7 輸出樣本圖像 132
8.3.8 訓(xùn)練模型 134
8.3.9 檢查輸出:生成目標(biāo)數(shù)據(jù) 134
8.4 結(jié)論 135
8.5 小結(jié) 136
第 9 章 循環(huán)一致性生成對(duì)抗網(wǎng)絡(luò)(CycleGAN) 137
9.1 圖像到圖像的轉(zhuǎn)換 137
9.2 循環(huán)一致性損失:再 GAN 一次 139
9.3 對(duì)抗損失 140
9.4 恒等損失 140
9.5 架構(gòu) 142
9.5.1 CycleGAN 架構(gòu):構(gòu)建網(wǎng)絡(luò) 143
9.5.2 生成器架構(gòu) 144
9.5.3 鑒別器架構(gòu) 146
9.6 GAN 的面向?qū)ο笤O(shè)計(jì) 146
9.7 教程:CycleGAN 146
9.7.1 構(gòu)建網(wǎng)絡(luò) 148
9.7.2 構(gòu)建生成器 149
9.7.3 構(gòu)建鑒別器 151
9.7.4 訓(xùn)練 CycleGAN 152
9.7.5 運(yùn)行 CycleGAN 154
9.8 擴(kuò)展、增強(qiáng)和應(yīng)用 154
9.8.1 增強(qiáng) CycleGAN 154
9.8.2 應(yīng)用155
9.9 小結(jié) 156
第三部分 何去何從
第 10 章 對(duì)抗樣本 159
10.1 對(duì)抗樣本的背景 160
10.2 謊言,該死的謊言及分布 161
10.3 訓(xùn)練的使用與濫用 162
10.4 信號(hào)與噪聲167
10.5 柳暗花明又一村 171
10.6 GAN 的對(duì)手 172
10.7 結(jié)論 173
10.8 小結(jié) 174
第 11 章 GAN 的實(shí)際應(yīng)用 175
11.1 醫(yī)學(xué)領(lǐng)域的 GAN 176
11.1.1 利用 GAN 提高診斷準(zhǔn)確率 176
11.1.2 方法 178
11.1.3 結(jié)果 179
11.2 時(shí)尚領(lǐng)域的GAN 180
11.2.1 利用 GAN 設(shè)計(jì)服裝 181
11.2.2 方法 181目錄
11.2.3 創(chuàng)造新單品以符合個(gè)人偏好 182
11.2.4 修改現(xiàn)有單品以更符合個(gè)人偏好 184
11.3 結(jié)論 187
11.4 小結(jié) 187
第 12 章 展望未來(lái) 189
12.1 倫理問(wèn)題189
12.2 GAN 的創(chuàng)新 191
12.2.1 相對(duì)生成對(duì)抗網(wǎng)絡(luò)(RGAN) 192
12.2.2 自注意力生成對(duì)抗網(wǎng)絡(luò)(SAGAN) 194
12.2.3 BigGAN 196
12.3 拓展閱讀 198
12.4 回顧與總結(jié)198
12.5 小結(jié) 200