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