AIGC原理與實務:零基礎學大語言模型、擴散模型與多模態模型

吳茂貴

  • 出版商: 機械工業
  • 出版日期: 2024-06-01
  • 售價: $774
  • 貴賓價: 9.5$735
  • 語言: 簡體中文
  • 頁數: 434
  • 裝訂: 平裝
  • ISBN: 7111753313
  • ISBN-13: 9787111753315
  • 相關分類: LangChain
  • 立即出貨 (庫存 < 4)

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

相關主題

商品描述

本書旨在幫助沒有任何人工智慧技術基礎的工程師們全面掌握AIGC的底層技術原理,
以及大語言模型、擴散模型和多模態模型的原理與實踐。
本書的核心價值是,首先為想學習各種大模型的讀者打下堅實的技術基礎,
然後再根據自己的研究方向展開深入的學習,達到事半功倍的效果。
透過閱讀本書,您將學習如下內容:
(1)AIGC技術基礎
深入了解神經網路的基礎知識,包括卷積神經網路和循環神經網路的原理與應用。
並透過學習神經網路的最佳化方法,您將掌握如何優化和提升神經網路的效能。
(2)影像生成模型
包括從自動編碼器(AE)、變分自編碼器(VAE)、生成對抗網路(GAN)等影像生成模型。
透過學習最佳化方法,如WGAN、WGAN-WP、StyleGAN等,您將掌握如何提高影像生成模型的品質和穩定性。
同時,了解影像生成模型的應用,如遷移學習、風格遷移等,讓您輕鬆實現個人化創作。
此外,也將帶您深入了解DDPM、DDIM等擴散模型的尖端技術,
為您展現影像生成技術的最新成果,探索更出色的生成效果和表達方式。
(3)語言生成模型
了解注意力機制、Transformer架構等基礎知識,深入探索GAT系列、大語言模型(如ChatGPT),讓您掌握自然語言處理的精髓。
(4)多模態模型
了解CLIP、Stable Diffusion、DALL.E等多模態模型,觸碰視覺和文字的奇妙交織,領略多模態智能的廣闊前景。

目錄大綱

CONTENTS
目    錄
前言
第1章  AIGC概述1
1.1  AIGC的主要技術1
1.1.1  語言生成方面的技術2
1.1.2  視覺生成方面的技術3
1.1.3  多模態方面的技術3
1.2  生成模型與判別模型4
1.2.1  生成模型4
1.2.2  判別模型5
1.3  生成模型的原理5
1.3.1  生成模型的架構6
1.3.2  生成模型的機率表示6
1.3.3  生成模型的目標函數7
1.3.4  生成模型的挑戰及解決方法8
1.4  表示學習9
1.4.1  表示學習的直觀理解10
1.4.2  表示學習的常用方式12
1.4.3  表示學習與特徵工程的差異13
1.4.4  影像的表示學習13
1.4.5  文本的表示學習14
1.4.6  多模態的表示學習15
1.4.7  表示學習的整合技巧16
1.4.8  如何衡量表示學習的優劣17
1.5  表示學習的逆過程18
第2章  深度神經網路21
2.1  用PyTorch建構深度神經網路21
2.1.1  神經網路的核心元件21
2.1.2  建構神經網路的主要工具22
2.1.3  建構模型24
2.1.4  訓練模式24
2.2  用PyTorch實現神經網路實例25
2.2.1  準備資料26
2.2.2  可視化來源資料27
2.2.3  建構模型28
2.2.4  訓練模式29
2.3  用PyTorch Lightning實現神經網路實例31
2.4  建構卷積神經網路35
2.4.1  全連接層36
2.4.2  卷積層36
2.4.3  卷積核39
2.4.4  步幅42
2.4.5  填入43
2.4.6  多通道上的捲積43
2.4.7  啟動函數48
2.4.8  卷積函數48
2.4.9  轉置卷積50
2.4.10  特徵圖與感受野53
2.4.11  卷積層如何保留影像的空間資訊53
2.4.12  現代經典網路54
2.4.13  可變形卷積59
2.5  建構循環神經網路60
2.5.1  從神經網路到有隱含狀態的循環神經網路60
2.5.2  使用循環神經網路建構語言模式62
2.5.3  多層循環神經網路63
2.5.4  現代經典循環神經網路63
2.6  遷移學習64
2.6.1  遷移學習簡介65
2.6.2  微調預訓練模式65
2.7  深度學習常用的歸一化方法68
2.7.1  歸一化方法簡介68
2.7.2  歸一化的原理70
2.7.3  歸一化的程式碼實現72
2.8  權重初始化77
2.8.1  為何要進行權重初始化77
2.8.2  權重初始化方法78
2.9  PyTorch常用的損失函數79
2.10  深度學習常用的最佳化演算法80
2.10.1  傳統梯度更新演算法80
2.10.2  批量隨機梯度下降法82
2.10.3  動量演算法83
2.10.4  Nesterov動量演算法85
2.10.5  AdaGrad演算法87
2.10.6  RMSProp演算法89
2.10.7  Adam演算法90
2.10.8  各種最佳化演算法比較92
第3章  變分自編碼器94
3.1  自編碼器簡介94
3.1.1  建構自編碼器95
3.1.2  建構編碼器96
3.1.3  建構解碼器97
3.1.4  定義損失函數及最佳化器98
3.1.5  分析自編碼器98
3.2  變分自編碼器簡介100
3.2.1  變分自編碼器的直覺理解100
3.2.2  變分自編碼器的原理102
3.3  建構變分自編碼器105
3.3.1  建構編碼器106
3.3.2  建構解碼器107
3.3.3  損失函數 108
3.3.4  分析變分自編碼器109
3.4  使用變分自編碼器產生臉部影像110
3.4.1  編碼器111
3.4.2  解碼器111
3.4.3  進一步分析變分自編碼器112
3.4.4  產生新頭像113
第4章  生成對抗網路114
4.1  GAN模型簡介114
4.1.1  GAN的直觀理解114
4.1.2  GAN的原理115
4.1.3  GAN的訓練過程116
4.2  用GAN從零開始產生影像117
4.2.1  判別器117
4.2.2  生成器117
4.2.3  損失函數118
4.2.4  訓練模式118
4.2.5  可視化結果120
4.3  GAN面臨的問題121
4.3.1  損失振盪121
4.3.2  模型坍塌的簡單例子122
4.3.3  GAN模型坍塌的原因123
4.3.4  避免GAN模型坍塌的方法124
4.4  WGAN125
4.4.1  改善方向與效果125
4.4.2  Wasserstein距離的優等性127
4.4.3  WGAN的損失函數代碼127
4.4.4  WGAN的其他核心程式碼128
4.5  WGAN-GP129
4.5.1  權重裁切的隱患129
4.5.2  梯度懲罰損失130
4.5.3  WGAN-GP的訓練過程131
4.5.4  WGAN-GP的損失函數碼132
第5章  StyleGAN模型134
5.1  ProGAN簡介135
5.2  StyleGAN架構137
5.3  StyleGAN的其他演算法140
5.4  用PyTorch從零開始實現StyleGAN141
5.4.1  建構生成網路141
5.4.2  建構判別器網路147
5.4.3  損失函數150
5.5  StyleGAN的近期新進展151
5.5.1  StyleGAN2簡介151
5.5.2  StyleGAN3簡介152
5.5.3  StyleGAN與DeepDream模型的異同153
5.6  DragGAN簡介153
第6章  風格遷移154
6.1  DeepDream模型154
6.1.1  DeepDream的原理154
6.1.2  DeepDream演算法的流程155
6.1.3  使用PyTorch實現DeepDream156
6.2  普通風格遷移159
6.2.1  內容損失160
6.2.2  風格損失161
6.2.3  使用PyTorch實現神經網路風格遷移163
6.3  使用PyTorch實現影像修復167
6.3.1  網路結構167
6.3.2  損失函數168
6.3.3  影像修復實例169
6.4  風格遷移與StyleGAN模型171
第7章  注意力機制173
7.1  注意力機制簡介173
7.1.1  兩種常見的注意力機制174
7.1.2  來自生活的注意力174
7.1.3  注意力機制的本質175
7.2  帶注意力機制的編碼器-解碼器架構177
7.2.1  引入註意力機制178
7.2.2  計算注意力分配機率分佈值180
7.3  自註意力182
7.3.1  單層自註意力182
7.3.2  多層自註意力185
7.3.3  多頭自註意力186
7.3.4  自註意力與卷積網路、循環網路的比較189
7.4  如何訓練含自註意力的模式190
7.4.1  將標記向量化191
7.4.2  新增位置編碼191
7.4.3  逆嵌入過程192
7.5  交叉注意力192
7.5.1  Transformer解碼器中的交叉注意力193
7.5.2  Stable Diffusion解碼器中的交叉注意力193
7.5.3  交叉注意力與自註意力的異同194
第8章  Transformer模型196
8.1  Transformer模型的直覺理解196
8.1.1  頂層設計197
8.1.2  嵌入與向量化199
8.1.3  位置編碼200
8.1.4  自註意力201
8.1.5  遮罩205
8.1.6  多頭注意力205
8.1.7  殘差連結207
8.1.8  層歸一化209
8.1.9  解碼器的輸出210
8.1.10  多層疊加211
8.2  用PyTorch從零開始實作Transformer212
8.2.1  建構編碼器-解碼器架構212
8.2.2  建構編碼器213
8.2.3  建構解碼器215
8.2.4  建構多頭注意力217
8.2.5  建構前饋神經網路層220
8.2.6  預處理輸入資料220
8.2.7  建構完整網路223
8.2.8  訓練模式224
8.2.9  一個簡單實例228
第9章  大語言模式231
9.1  大語言模式簡介231
9.2  可視化GPT原理233
9.2.1  GPT簡介233
9.2.2  GPT的整體架構233
9.2.3  GPT模型架構234
9.2.4  GPT-2與BERT的多頭注意力的差異235
9.2.5  GPT-2的輸入235
9.2.6  GPT-2 計算遮掩自註意力的詳細過程236
9.2.7  GPT-2的輸出238
9.2.8  GPT-1與GPT-2的異同238
9.3  GPT-3簡介239
9.4  可視化BERT原理241
9.4.1  BERT的整體架構241
9.4.2  BERT的輸入243
9.4.3  遮掩語言模式244
9.4.4  預測下一個句子245
9.4.5  微調245
9.4.6  使用特徵提取方法247
9.5  用PyTorch實現BERT248
9.5.1  BERTEmbedding類別的代碼248
9.5.2  TransformerBlock類別的程式碼249
9.5.3  建構BERT的代碼250
9.6  用GPT-2生成文本251
9.6.1  下載GPT-2預訓練模型251
9.6.2  用貪心搜尋解碼253
9.6.3  用束搜尋進行解碼254
9.6.4  用取樣進行解碼256
9.6.5  用Top-K取樣進行解碼258
9.6.6  用Top-p取樣進行解碼260
9.6.7  用綜合方法進行解碼261
第10章  ChatGPT模型263
10.1  ChatGPT簡介263
10.1.1  ChatGPT核心技術264
10.1.2  InstructGPT和ChatGPT的訓練過程265
10.1.3  指令微調267
10.1.4  ChatGPT的少於268
10.2  人類回饋強化學習268
10.2.1  工作原理268
10.2.2  工作流程269
10.2.3  PPO演算法270
10.2.4  評估架構273
10.2.5  創新與少於273
10.3  Codex274
10.3.1  對原始碼進行預處理274
10.3.2  處理代碼區塊277
10.3.3  將原始碼數位化277
10.3.4  衡量指標278
10.3.5  Codex的邏輯推理能力是如何形成的280
10.3.6  CodeGeeX的主要功能281
10.3.7  CodeGeeX模型架構282
10.4  如何將LaTeX數學公式語言轉換為自然語言283
10.5  使用PPO演算法優化車桿遊戲283
10.5.1  建構策略網路284
10.5.2  建構價值網絡285
10.5.3  建構PPO模型285
10.5.4  定義超參數287
10.5.5  實例化模型287
10.5.6  訓練模型288
10.5.7  可視化迭代289
10.6  使用RLHF演算法提升GPT-2效能289
10.6.1  基於中文情緒辨識模式的正向評論產生機器人290
10.6.2  對評論進行人工評分294
10.6.3  標註排序序列替代直接評分294
10.7  ChatGPT如何提升思考鏈推斷能力300
10.8  ChatGPT如何提升模型的數學邏輯推理能力301
第11章  擴散模型303
11.1  擴散模型簡介303
11.1.1  DDPM 304
11.1.2  擴散機率模型304
11.1.3  正向擴散過程305
11.1.4  反向擴散過程306
11.1.5  正向擴散過程的數學細部306
11.1.6  反向擴散過程的數學細部308
11.1.7  訓練目標與損失函數309
11.2  使用PyTorch從零開始寫 DDPM312
11.2.1  定義超參數312
11.2.2  創建資料集312
11.2.3  建立資料載入器314
11.2.4  可視化資料集314
11.2.5  DDPM架構315
11.2.6  以殘差塊取代雙卷積模組的優點316
11.2.7  創建擴散類別317
11.2.8  正向擴散過程318
11.2.9  可視化正向擴散過程318
11.2.10  基於訓練演算法和取樣演算法的訓練319
11.2.11  從零開始訓練DDPM321
11.2.12  使用DDPM產生影像323
第12章  多模態模型325
12.1  CLIP簡介325
12.1.1  CLIP如何將影像與影像描述對齊326
12.1.2  CLIP如何實現零樣本 分類328
12.1.3  CLIP原理328
12.1.4  從零開始運作CLIP330
12.1.5  CLIP應用335
12.2  Stable Diffusion模型335
12.2.1  Stable Diffusion模型的直觀理解335
12.2.2  Stable Diffusion模型的原理336
12.3  從零開始實現Stable Diffusion337
12.3.1  文生圖337
12.3.2  依提示詞修改圖341
12.4  Stable Diffusion 升級版簡介343
12.4.1  Stable Diffusion 2.0344
12.4.2  Stable Diffusion XL345
12.5  DALL·E模型346
12.5.1  DALL·E簡介346
12.5.2  DALL·E 2簡介346
12.5.3  DALL·E 2與GAN的異同348
12.5.4  DALL·E 3簡介348
第13章  AIGC的數學基礎350
13.1  矩陣的基本運算350
13.1.1  矩陣加法351
13.1.2  矩陣點積351
13.1.3  轉置351
13.1.4  矩陣的阿達馬積352
13.1.5  行列式352
13.2  隨機變數及其分佈353
13.2.1  從隨機事件到隨機變數354
13.2.2  離散型隨機變數及其分佈355
13.2.3  連續型隨機變數及其分佈357
13.2.4  隨機變數的分佈函數359
13.2.5  多維隨機變數及其分佈361
13.2.6  隨機變數的數字特徵369
13.2.7  隨機變數函數的分佈371
13.3  資訊理論377
13.3.1  資訊量377
13.3.2  資訊熵377
13.3.3  條件熵378
13.3.4  互資訊378
13.3.5  KL散度379
13.3.6  交叉熵379
13.3.7  JS散度383
13.3.8  Wasserstein距離383
13.3.9  困惑度384
13.4  推斷384
13.4.1  極大似然估計385
13.4.2  極大後驗機率估計390
13.4.3  EM演算法393
13.4.4  變分推斷404
13.4.5  馬可夫鏈蒙特卡羅隨機取樣405
13.5  強化學習418
13.5.1  強化學習基本概念418
13.5.2  強化學習基礎演算法425
13.5.3  策略梯度427