本書從深度學習的基礎知識講起,逐步深入當前最尖端的架構。你可以通過書中的技巧和竅門,學習如何構建能夠更有效地學習以及更具創(chuàng)造力的模型。本書的主要內容有:學習如何通過變分自動編碼器(VAE)改變圖像中人物的面部表情。學習如何訓練GAN,根據數據集生成圖像。學習如何構建擴散模型,生成全新的花卉品種。學習如何訓練自己的生成文本GPT。了解大型語言模型(如ChatGPT)的訓練過程。探索最先進的生成式架構,如StyleGAN2和ViT-VQGAN。使用Transformer和MuseGAN創(chuàng)作多聲部樂曲。學習生成式世界模型如何解決強化學習任務。深入研究多模態(tài)模型,如DALL.E 2、Imagen和Stable Diffusion。
編輯推薦
生成式人工智能是高科技領域最熱門的話題之一。機器學習工程師和數據科學家可以通過本書學習如何使用TensorFlow和Keras,從零開始構建強大的生成式深度學習模型,包括變分自編碼器(VAE)、生成對抗網絡(GAN)、Transformer、標準化流模型、基于能量的模型(EBM)以及去噪擴散模型。
本書從深度學習的基礎知識講起,逐步深入當前最尖端的架構。你可以通過書中的技巧和竅門,學習如何構建能夠更有效地學習以及更具創(chuàng)造力的模型。
專家推薦
“本書深入淺出地介紹了生成式建模深度學習工具包。如果你是一位富有創(chuàng)造力的編程愛好者,希望在實際工作中應用深度學習,那么本書是不二之選!
—— David Ha
Stability AI的戰(zhàn)略主管
“這本精彩的教程深入探討了最先進的生成式深度學習技術。帶你體驗人工智能世界中最令人著迷的一次精彩探索!”
——Fran?ois Chollet
Keras創(chuàng)建者
David Foste是Applied Data Science Partners的聯合創(chuàng)始人。
目錄
序 1
前言 3
第一部分 生成式深度學習簡介
第1 章 生成式建模 17
1.1 什么是生成式建模 18
1.1.1 生成式建模與判別式建模 19
1.1.2 生成式建模的興起 .21
1.1.3 生成式建模與AI .22
1.2 我們的第一個生成式建模 23
1.2.1 Hello World 23
1.2.2 生成式建?蚣 25
1.2.3 表示學習 .27
1.3 核心概率理論 .29
1.4 生成式模型的分類 33
1.5 生成式深度學習代碼庫 .34
1.5.1 克隆代碼庫 35
1.5.2 使用Dokcer 35
1.5.3 運行GPU 35
1.6 小結 .35
1.7 參考資料36
第2 章 深度學習 37
2.1 深度學習的數據 38
2.2 深度神經網絡 .39
2.2.1 什么是神經網絡 39
2.2.2 學習高層特征 41
2.2.3 TensorFlow 和Keras .41
2.3 多層感知器 42
2.3.1 準備數據 .43
2.3.2 構建模型 .45
2.3.3 編譯模型 .50
2.3.4 訓練模型 .52
2.3.5 評估模型 .53
2.4 卷積神經網絡(CNN) .56
2.4.1 卷積層 56
2.4.2 批標準化 .62
2.4.3 Dropout 層 65
2.4.4 構建CNN 67
2.4.5 訓練和評估CNN .70
2.5 小結 .71
2.6 參考資料71
第二部分 方法
第3 章 變分自動編碼器 .75
3.1 引言 .76
3.2 自動編碼器 77
3.2.1 Fashion-MNIST 數據集 78
3.2.2 自動編碼器的架構 .79
3.2.3 編碼器 80
3.2.4 解碼器 82
3.2.5 連接編碼器與解碼器.84
3.2.6 重建圖像 .86
3.2.7 可視化隱空間 87
3.2.8 生成新圖像 89
3.3 變分自動編碼器 91
3.3.1 編碼器 92
3.3.2 損失函數 .98
3.3.3 訓練變分自動編碼器.99
3.3.4 分析變分自動編碼器101
3.4 探索隱空間 103
3.4.1 CelebA 數據集 103
3.4.2 訓練變分自動編碼器105
3.4.3 分析變分自動編碼器107
3.4.4 生成新面孔 .108
3.4.5 隱空間的算術運算 110
3.4.6 面部變形 111
3.5 小結 112
3.6 參考資料. 113
第4 章 生成對抗網絡 115
4.1 引言 116
4.2 深度卷積GAN(DCGAN) . 118
4.2.1 Bricks 數據集 . 118
4.2.2 判別器 119
4.2.3 生成器 122
4.2.4 訓練DCGAN .126
4.2.5 分析DCGAN .131
4.2.6 訓練GAN 的技巧 132
4.3 WGAN-GP .135
4.3.1 Wasserstein 損失 136
4.3.2 利普希茨約束 .138
4.3.3 施加利普希茨約束 139
4.3.4 梯度懲罰損失 139
4.3.5 訓練WGAN-GP 141
4.3.6 分析WGAN-GP 144
4.4 條件GAN(CGAN) 145
4.4.1 CGAN 架構 .146
4.4.2 訓練CGAN .148
4.4.3 分析CGAN .149
4.5 小結 150
4.6 參考資料.151
第5 章 自回歸模型 153
5.1 引言 154
5.2 長短期記憶網絡 .156
5.2.1 Recipes 數據集 156
5.2.2 處理文本數據 .158
5.2.3 分詞 .159
5.2.4 創(chuàng)建訓練集 .162
5.2.5 LSTM 架構 163
5.2.6 嵌入層 163
5.2.7 LSTM 層 164
5.2.8 LSTM 元胞 166
5.2.9 訓練LSTM 168
5.2.10 分析LSTM 170
5.3 循環(huán)神經網絡擴展 .174
5.3.1 堆疊式循環(huán)網絡 174
5.3.2 門控制循環(huán)單元 176
5.3.3 雙向元胞 178
5.4 PixelCNN178
5.4.1 掩碼卷積層 .179
5.4.2 殘差塊 181
5.4.3 訓練PixelCNN 183
5.4.4 分析PixelCNN 185
5.4.5 混合分布 187
5.5 小結 190
5.6 參考資料.190
第6 章 標準化流模型 193
6.1 引言 194
6.2 標準化流.196
6.2.1 變量變換 196
6.2.2 雅可比行列式 .198
6.2.3 變量變換方程 .200
6.3 RealNVP .201
6.3.1 雙月數據集 .201
6.3.2 耦合層 202
6.3.3 訓練RealNVP 模型 .207
6.3.4 分析RealNVP 模型 .210
6.4 其他標準化流模型 .212
6.4.1 GLOW 212
6.4.2 FFJORD 213
6.5 小結 214
6.6 參考資料.215
第7 章 基于能量的模型 217
7.1 引言 218
7.2 基于能量的模型 .219
7.2.1 MNIST 數據集 220
7.2.2 能量函數 221
7.2.3 使用朗之萬動力學采樣 .223
7.2.4 使用對比散度訓練模型 .225
7.2.5 分析基于能量的模型230
7.2.6 其他基于能量的模型231
7.3 小結 232
7.4 參考資料.233
第8 章 擴散模型 . 235
8.1 引言 236
8.2 去噪擴散模型 238
8.2.1 Flowers 數據集 238
8.2.2 前向擴散過程 .240
8.2.3 重新參數化技巧 241
8.2.4 擴散計劃 242
8.2.5 反向擴散過程 .245
8.2.6 U-Net 去噪模型 .248
8.2.7 訓練擴散模型 .256
8.2.8 從去噪擴散模型中采樣 .257
8.2.9 分析擴散模型 .260
8.3 小結 263
8.4 參考資料.264
第三部分 應用
第9 章 Transformer . 267
9.1 引言 268
9.2 GPT 268
9.2.1 葡萄酒評論數據集 269
9.2.2 注意力 270
9.2.3 查詢與鍵值 .272
9.2.4 多頭注意力 .274
9.2.5 因果掩碼 275
9.2.6 Transformer 塊 278
9.2.7 位置編碼 281
9.2.8 訓練GPT 283
9.2.9 分析GPT 285
9.3 其他Transformer 287
9.3.1 T5 .288
9.3.2 GPT-3 和GPT-4 291
9.3.3 ChatGPT 293
9.4 小結 297
9.5 參考資料.297
第10 章 高級GAN 299
10.1 引言 300
10.2 ProGAN 301
10.2.1 漸進式訓練301
10.2.2 輸出 308
10.3 StyleGAN 309
10.3.1 映射網絡 310
10.3.2 合成網絡 311
10.3.3 StyleGAN 的輸出 312
10.4 StyleGAN2313
10.4.1 權重調制與去調制 314
10.4.2 路徑長度正則化 .316
10.4.3 非漸進式增長 317
10.4.4 StyleGAN2 的輸出 318
10.5 其他重要的GAN .319
10.5.1 自注意力GAN(SAGAN) .319
10.5.2 BigGAN .320
10.5.3 VQ-GAN 321
10.5.4 ViT VQ-GAN 325
10.6 小結 326
10.7 參考資料 327
第11 章 音樂生成 329
11.1 引言 330
11.2 音樂生成Transformer 331
11.2.1 巴赫大提琴組曲數據集 333
11.2.2 解析MIDI 文件 333
11.2.3 分詞 335
11.2.4 創(chuàng)建訓練集 337
11.2.5 正弦位置編碼 338
11.2.6 多個輸入與輸出 .339
11.2.7 分析音樂生成Transformer 341
11.2.8 復音音樂的分詞 .345
11.3 MuseGAN 349
11.3.1 巴赫圣詠曲數據集 350
11.3.2 MuseGAN 生成器 351
11.3.3 MuseGAN 評論者 359
11.3.4 分析MuseGAN 361
11.4 小結 363
11.5 參考資料 364
第12 章 世界模型 365
12.1 引言 365
12.2 強化學習 366
12.3 世界模型簡介 370
12.3.1 架構 370
12.3.2 訓練 373
12.4 收集隨機rollout 數據 374
12.5 訓練VAE .375
12.5.1 VAE 架構 376
12.5.2 探索VAE379
12.6 收集訓練MDN-RNN 的數據 .381
12.7 訓練MDN-RNN 381
12.7.1 MDN-RNN 的架構 382
12.7.2 從MDN-RNN 中采樣 .383
12.8 訓練控制器 .384
12.8.1 控制器的架構 384
12.8.2 CMA-ES .385
12.8.3 并行化CMA-ES .387
12.9 在想象環(huán)境中訓練 389
12.10 小結 .392
12.11 參考資料 393
第13 章 多模態(tài)模型 . 395
13.1 引言 396
13.2 DALL.E 2 397
13.2.1 架構 398
13.2.2 文本編碼器398
13.2.3 CLIP .399
13.2.4 先驗 403
13.2.5 解碼器 .405
13.2.6 DALL.E 2 生成的示例 409
13.3 Imagen 413
13.3.1 架構 413
13.3.2 DrawBench 414
13.3.3 Imagen 生成的示例 415
13.4 Stable Diffusion 416
13.4.1 架構 416
13.4.2 Stable Diffusion 生成的示例 417
13.5 Flamingo 418
13.5.1 架構 418
13.5.2 視覺編碼器419
13.5.3 感知重采樣器 420
13.5.4 語言模型 420
13.5.5 Flamingo 生成的示例 423
13.6 小結 426
13.7 參考資料 427
第14 章 總結 429
14.1 生成式AI 的時間線 430
14.1.1 2014 ~ 2017 年:VAE 與GAN 時代 432
14.1.2 2018、2019 年:Transformer 時代 432
14.1.3 2020 ~ 2022 年:大模型時代 433
14.2 生成式AI 的現狀 435
14.2.1 大型語言模型 435
14.2.2 文本到代碼模型 .439
14.2.3 文本到圖像模型 .440
14.2.4 其他應用 445
14.3 生成式AI 的未來 446
14.3.1 生成式AI 對日常生活的影響 .447
14.3.2 生成式AI 對工作環(huán)境的影響 .448
14.3.3 生成式AI 對教育的影響 449
14.3.4 生成式AI 面臨的道德問題與挑戰(zhàn) 450
14.4 最后的感想 .452
14.5 參考資料 454