TOP
0
0
即日起~6/30,暑期閱讀書展,好書7折起
PyTorch深度學習和圖神經網路(卷2):開發應用(簡體書)
滿額折

PyTorch深度學習和圖神經網路(卷2):開發應用(簡體書)

商品資訊

人民幣定價:129.8 元
定價
:NT$ 779 元
優惠價
87678
領券後再享88折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:20 點
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次

商品簡介

本書通過深度學習實例,從可解釋性角度出發,闡述深度學習的原理,並將圖神經網絡與深度學習結合,介紹圖神經網絡的實現技術。本書分為6章,主要內容包括:圖片分類模型、機器視覺的高級應用、自然語言處理的相關應用、神經網絡的可解釋性、識別未知分類的方法――零次學習、異構圖神經網絡。本書中的實例是在PyTorch框架上完成的,具有較高的實用價值。
本書適合人工智能從業者、程序員進階學習,也適合作為大專院校相關專業師生的教學和學習用書,以及培訓學校的教材。

作者簡介

李金洪, 精通C、Python、Java語言,擅長神經網絡、算法、協定分析、移動互聯網安全架構等技術,先後擔任過CAD算法工程師、架構師、項目經理、部門經理等職位。參與過深度學習領域某移動互聯網後臺的OCR項目,某娛樂節目機器人的語音辨識、聲紋識別項目,金融領域的若干分類項目。

名人/編輯推薦

1.知識系統,逐層遞進。

本書著重於圖神經網絡相關的系統知識和基礎原理的講解。內容方面涵蓋了與圖神經網絡有關的完整技術棧。在上冊《PyTorch深度學習和圖神經網絡(卷1)——基礎知識》的基礎原理之上結合實踐,分別從圖像、視頻、文本、可解釋性等應用角度提供項目級別實戰案例即代碼實例。並基於圖片分類中常見的樣本不足問題,介紹了零次學習技術及實例。

2.跟進前沿技術,大量引用前沿論文

本書中所介紹的知識中,有很大比例源自近幾年的前沿技術。在介紹其原理和應用的同時,還附有論文的出處,這些論文引用可以方便讀者對感興趣的知識進行溯源,並可以自主擴展閱讀。在系統掌握了基礎知識之後,為後續的能力進階提供了擴展空間。

3.插圖較多便於學習

本書在介紹模型結構、原理的同時,還提供了大量的插圖。這些圖解有的可視化了模型中的資料流程向、有的展示了模型擬合能力、有的細化了某種技術的內部原理、有的直觀化了模型的內部結構。可以幫助讀者對知識更容易、快捷的理解和掌握。

4.提供原始程式碼下載

目次

目錄

第 1章 圖片分類模型 1

1.1 深度神經網絡起源 2

1.2 Inception系列模型 2

1.2.1 多分支結構 2

1.2.2 全域均值池化 3

1.2.3 Inception V1模型 3

1.2.4 Inception V2模型 4

1.2.5 Inception V3模型 5

1.2.6 Inception V4模型 6

1.2.7 Inception-ResNet V2模型 6

1.3 ResNet模型 6

1.3.1 殘差連接的結構 7

1.3.2 殘差連接的原理 8

1.4 DenseNet模型 8

1.4.1 DenseNet模型的網絡結構 8

1.4.2 DenseNet模型的特點 9

1.4.3 稠密塊 9

1.5 PNASNet模型 9

1.5.1 組卷積 10

1.5.2 深度可分離卷積 11

1.5.3 空洞卷積 12

1.6 EfficientNet模型 14

1.6.1 MBConv卷積塊 15

1.6.2 DropConnect層 16

1.7 實例:使用預訓練模型識別圖片內容 16

1.7.1 瞭解torchvision庫中的預訓練模型 16

1.7.2 代碼實現:下載並載入預訓練模型 17

1.7.3 代碼實現:載入標籤並對輸入資料進行預處理 18

1.7.4 代碼實現:使用模型進行預測 19

1.7.5 代碼實現:預測結果可視化 20

1.8 實例:使用遷移學習識別多種鳥類 21

1.8.1 什麼是遷移學習 21

1.8.2 樣本介紹:鳥類資料集CUB-200 22

1.8.3 代碼實現:用torch.utils.data接口封裝資料集 22

1.8.4 代碼實現:獲取並改造ResNet模型 27

1.8.5 代碼實現:微調模型後一層 28

1.8.6 代碼實現:使用退化學習率對 模型進行全域微調 29

1.8.7 擴展實例:使用亂數據增強方法訓練模型 30

1.8.8 擴展:分類模型中常用的3種損失函數 31

1.8.9 擴展實例:樣本均衡 31

1.9 從深度卷積模型中提取視覺特徵 33

1.9.1 使用鉤子函數的方式提取視覺特徵 33

1.9.2 使用重組結構的方式提取視覺特徵 34

第 2章 機器視覺的高級應用 37

2.1 基於圖片內容的處理任務 38

2.1.1 目標檢測任務 38

2.1.2 圖片分割任務 38

2.1.3 非極大值抑制算法 39

2.1.4 Mask R-CNN模型 39

2.2 實例:使用Mask R-CNN模型進行目標檢測與語義分割 41

2.2.1 代碼實現:瞭解PyTorch中目標檢測的內置模型 41

2.2.2 代碼實現:使用PyTorch中目標檢測的內置模型 42

2.2.3 擴展實例:使用內置的預訓練模型進行語義分割 43

2.3 基於視頻內容的處理任務 47

2.4 實例:用GaitSet模型分析人走路的姿態,並進行身份識別 47

2.4.1 步態識別的做法和思路 47

2.4.2 GaitSet模型 48

2.4.3 多層全流程管線 50

2.4.4 水準金字塔池化 51

2.4.5 三元損失 52

2.4.6 樣本介紹:CASIA-B資料集 53

2.4.7 代碼實現:用torch.utils.data接口封裝資料集 54

2.4.8 代碼實現:用torch.utils.data.sampler類創建含多標籤批次數據的採樣器 60

2.4.9 代碼實現:搭建 GaitSet模型 64

2.4.10 代碼實現:自訂三元損失類 67

2.4.11 代碼實現:訓練模型並保存模型權重檔 69

2.4.12 代碼實現:測試模型 72

2.4.13 擴展實例:用深度卷積和池化 優化模型 77

2.4.14 擴展實例:視頻採樣並提取 輪廓 78

2.4.15 步態識別模型的局限性 79

2.5 調試技巧 79

2.5.1 解決顯存過滿損失值為0問題 80

2.5.2 跟蹤PyTorch顯存並查找顯存洩露點 81

第3章 自然語言處理的相關應用 83

3.1 BERT模型與NLP任務的發展階段 84

3.1.1 基礎的神經網絡階段 84

3.1.2 BERTology階段 84

3.2 NLP中的常見任務 84

3.2.1 基於文章處理的任務 85

3.2.2 基於句子處理的任務 85

3.2.3 基於句子中詞的處理任務 86

3.3 實例:訓練中文詞向量 87

3.3.1 CBOW和Skip-Gram模型 87

3.3.2 代碼實現:樣本預處理並生成字典 88

3.3.3 代碼實現:按照Skip-Gram模型的規則製作資料集 90

3.3.4 代碼實現:搭建模型並進行 訓練 92

3.3.5 夾角余弦 95

3.3.6 代碼實現:詞嵌入可視化 96

3.3.7 詞向量的應用 97

3.4 常用文本處理工具 98

3.4.1 spaCy庫的介紹和安裝 98

3.4.2 與PyTorch深度結合的文本 處理庫torchtext 99

3.4.3 torchtext庫及其內置資料集與 調用庫的安裝 99

3.4.4 torchtext庫中的內置預訓練詞 向量 100

3.5 實例:用TextCNN模型分析評論者是否滿意 100

3.5.1 瞭解用於文本分類的卷積神經網絡模型——TextCNN 101

3.5.2 樣本介紹:瞭解電影評論 資料集IMDB 102

3.5.3 代碼實現:引入基礎庫 102

3.5.4 代碼實現:用torchtext載入 IMDB並拆分為資料集 103

3.5.5 代碼實現:載入預訓練詞向量並進行樣本資料轉化 105

3.5.6 代碼實現:定義帶有Mish啟動 函數的TextCNN模型 107

3.5.7 代碼實現:用資料集參數產生實體 模型 109

3.5.8 代碼實現:用預訓練詞向量 初始化模型 109

3.5.9 代碼實現:用Ranger優化器訓練模型 109

3.5.10 代碼實現:使用模型進行預測 112

3.6 瞭解Transformers庫 113

3.6.1 Transformers庫的定義 113

3.6.2 Transformers庫的安裝方法 114

3.6.3 查看Transformers庫的版本信息 115

3.6.4 Transformers庫的3層應用 結構 115

3.7 實例: 使用Transformers庫的管道方式完成多種NLP任務 116

3.7.1 在管道方式中指定NLP任務 116

3.7.2 代碼實現:完成文本分類任務 117

3.7.3 代碼實現:完成特徵提取任務 119

3.7.4 代碼實現:完成完形填空任務 120

3.7.5 代碼實現:完成閱讀理解任務 121

3.7.6 代碼實現:完成摘要生成任務 123

3.7.7 預訓練模型檔的組成及其載入時的固定檔案名稱 124

3.7.8 代碼實現:完成實體詞識別任務 124

3.7.9 管道方式的工作原理 125

3.7.10 在管道方式中載入指定 模型 127

3.8 Transformers庫中的AutoModel類 128

3.8.1 各種AutoModel類 128

3.8.2 AutoModel類的模型載入機制 129

3.8.3 Transformers庫中更多的預訓練 模型 130

3.9 Transformers庫中的BERTology系列模型 131

3.9.1 Transformers庫的檔結構 131

3.9.2 查找Transformers庫中可以使用的模型 135

3.9.3 實例:用BERT模型實現完形填空任務 136

3.9.4 擴展實例:用 AutoModelWithMHead類 替換BertForMaskedLM類 138

3.10 Transformers庫中的詞表工具 139

3.10.1 PreTrainedTokenizer類中的 特殊詞 139

3.10.2 PreTrainedTokenizer類的 特殊詞使用 140

3.10.3 向PreTrainedTokenizer類中 添加詞 144

3.10.4 實例:用手動載入GPT-2模型 權重的方式將句子補充完整 145

3.10.5 子詞的拆分 148

3.11 BERTology系列模型 149

3.11.1 Transformer之前的主流模型 149

3.11.2 Transformer模型 151

3.11.3 BERT模型 153

3.11.4 GPT-2模型 157

3.11.5 Transformer-XL模型 157

3.11.6 XLNet模型 158

3.11.7 XLNet模型與AE模型和AR 模型間的關係 161

3.11.8 RoBERTa模型 161

3.11.9 SpanBERT模型 162

3.11.10 ELECTRA模型 162

3.11.11 T5模型 163

3.11.12 ALBERT模型 164

3.11.13 DistillBERT模型與知識蒸餾 166

3.12 實例: 用遷移學習訓練BERT模型來對中文分類 167

3.12.1 樣本介紹 167

3.12.2 代碼實現:構建資料集 168

3.12.3 代碼實現:構建並載入BERT預訓練模型 169

3.12.4 BERT模型類的內部邏輯 170

3.12.5 代碼實現:用退化學習率訓練模型 172

3.12.6 擴展:更多的中文預訓練模型 175

3.13 實例:用R-GCN模型理解文本中的代詞 175

3.13.1 代詞資料集 175

3.13.2 R-GCN模型的原理與實現 176

3.13.3 將GAP資料集轉化成圖結構資料的思路 179

3.13.4 代碼實現:用BERT模型提取代詞特徵 181

3.13.5 代碼實現:用BERT模型提取 其他詞特徵 183

3.13.6 用spaCy工具對句子依存 分析 185

3.13.7 代碼實現:使用spaCy和批次 圖方法構建圖資料集 187

3.13.8 代碼實現:搭建多層R-GCN 模型 192

3.13.9 代碼實現:搭建神經網絡 分類層 193

3.13.10 使用5折交叉驗證方法訓練 模型 196

第4章 神經網絡的可解釋性 197

4.1 瞭解模型解釋庫 198

4.1.1 瞭解Captum工具 198

4.1.2 可視化可解釋性工具Captum Insights 198

4.2 實例:用可解釋性理解數值分析神經網絡模型 199

4.2.1 代碼實現:載入模型 199

4.2.2 代碼實現:用梯度積分算法分析模型的敏感屬性 200

4.2.3 代碼實現:用Layer Conductance方法查看單個網絡層中的神經元 202

4.2.4 代碼實現:用Neuron Conductance方法查看每個神經元所關注的屬性 204

4.3 實例:用可解釋性理解NLP相關的神經網絡模型 205

4.3.1 詞嵌入模型的可解釋性方法 205

4.3.2 代碼實現:載入模型類並將其處理 過程拆開 206

4.3.3 代碼實現:產生實體並載入模型權重,提取模型的詞嵌入層 207

4.3.4 代碼實現:用梯度積分算法計算模型的可解釋性 208

4.3.5 代碼實現:輸出模型可解釋性的可視化圖像 210

4.4 實例:用Bertviz工具可視化BERT模型權重 211

4.4.1 什麼是Bertviz工具 212

4.4.2 代碼實現:載入BERT模型並可視化其權重 212

4.4.3 解讀BERT模型的權重可視化結果 216

4.5 實例:用可解釋性理解影像處理相關的神經網絡模型 219

4.5.1 代碼實現:載入模型並進行圖像分類 219

4.5.2 代碼實現:用4種可解釋性算法對模型進行可解釋性計算 220

4.5.3 代碼實現:可視化模型的4種可解釋性算法結果 221

4.6 實例:用可解釋性理解圖片分類相關的神經網絡模型 222

4.6.1 瞭解Grad-CAM方法 223

4.6.2 代碼實現:載入ResNet18模型並註冊鉤子函數提取特徵資料 225

4.6.3 代碼實現:調用模型提取中間層特徵資料和輸出層權重 226

4.6.4 代碼實現:可視化模型的識別區域 227

第5章 識別未知分類的方法——零次 學習 229

5.1 瞭解零次學習 230

5.1.1 零次學習的思想與原理 230

5.1.2 與零次學習有關的常用資料集 232

5.1.3 零次學習的基本做法 233

5.1.4 直推式學習 233

5.1.5 泛化的零次學習任務 233

5.2 零次學習中的常見問題 233

5.2.1 領域漂移問題 234

5.2.2 原型稀疏性問題 235

5.2.3 語義間隔問題 235

5.3 帶有視覺結構約束的VSC模型 236

5.3.1 分類模型中視覺特徵的本質 236

5.3.2 VSC模型的原理 237

5.3.3 基於視覺中心點學習的約束方法 238

5.3.4 基於倒角距離的視覺結構約束方法 239

5.3.5 什麼是對稱的倒角距離 239

5.3.6 基於二分匹配的視覺結構約束方法 239

5.3.7 什麼是指派問題與耦合矩陣 240

5.3.8 基於W距離的視覺結構約束方法 240

5.3.9 什麼是傳輸 241

5.3.10 什麼是傳輸中的熵 正則化 242

5.4 詳解Sinkhorn 算法 244

5.4.1 Sinkhorn算法的求解轉換 244

5.4.2 Sinkhorn算法的原理 245

5.4.3 Sinkhorn算法中參數ε的 原理 246

5.4.4 舉例Sinkhorn算法過程 246

5.4.5 Sinkhorn算法中的質量守恆 248

5.4.6 Sinkhorn算法的代碼實現 250

5.5 實例:使用VSC模型來識別未知類別的鳥類圖片 252

5.5.1 樣本介紹:用於ZSL任務的鳥類資料集 252

5.5.2 代碼實現:用遷移學習的方式獲得 訓練資料集分類模型 253

5.5.3 使用分類模型提取圖片視覺 特徵 254

5.5.4 代碼實現:用多層圖卷積神經 網絡實現VSC模型 255

5.5.5 代碼實現:基於W距離的損失 函數 256

5.5.6 載入資料並進行訓練 257

5.5.7 代碼實現:根據特徵距離對圖片 進行分類 258

5.6 針對零次學習的性能分析 259

5.6.1 分析視覺特徵的質量 259

5.6.2 分析直推式學習的效果 260

5.6.3 分析直推模型的能力 261

5.6.4 分析未知類別的聚類效果 262

5.6.5 清洗測試集 263

5.6.6 利用可視化方法進行輔助分析 264

第6章 異構圖神經網絡 267

6.1 異構圖的基礎知識 268

6.1.1 同構圖與異構圖 268

6.1.2 什麼是異構圖神經網絡 268

6.1.3 二分圖 268

6.1.4 局部圖卷積 270

6.2 二分圖的實現方式 270

6.2.1 用NetworkX實現二分圖 270

6.2.2 使用DGL構建二分圖 272

6.2.3 二分圖物件的調試技巧 275

6.3 異構圖的實現方式 276

6.3.1 創建異構圖 276

6.3.2 設置異構圖的節點個數 277

6.3.3 異構圖結構的查看方式 278

6.3.4 異構圖與同構圖的相互轉化 280

6.3.5 異構圖與同構圖的屬性操作方式 281

6.4 隨機行走採樣 282

6.4.1 什麼是隨機行走 283

6.4.2 普通隨機行走 283

6.4.3 帶停止概率的隨機行走 284

6.4.4 帶路徑概率的隨機行走 284

6.4.5 基於原圖的隨機行走 285

6.4.6 在基於異構圖的隨機行走中設置停止概率 286

6.4.7 基於隨機行走採樣的資料處理 287

6.4.8 以隨機行走的方式對鄰居節點採樣 287

6.5 DGL庫中的塊圖結構 289

6.5.1 設計塊圖的動機 289

6.5.2 將同構圖轉化成塊圖 290

6.5.3 塊圖的屬性操作 290

6.5.4 將二分圖轉化成塊圖 291

6.6 實例:使用PinSAGE模型搭建推薦系統 292

6.6.1 準備MoiveLens資料集 292

6.6.2 代碼實現:用Panadas庫載入資料 293

6.6.3 Categories與category 類型 294

6.6.4 代碼實現:生成異構圖 295

6.6.5 代碼實現:用邊分組方法拆分並保存資料集 296

6.6.6 PinSAGE模型 299

6.6.7 代碼實現:構建帶有鄰居節點採樣功能的資料載入器 300

6.6.8 代碼實現:PinSAGE模型的採樣 過程 305

6.6.9 代碼實現:搭建PinSAGE模型 309

6.6.10 代碼實現:產生實體PinSAGE模型類並進行訓練 315

6.6.11 代碼實現:用PinSAGE模型為 使用者推薦電影 315

6.6.12 擴展:在PinSAGE模型中融合 更多的特徵資料 317

6.7 總結 317

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 678
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區