PyTorch深度學(xué)習(xí)和圖神經(jīng)網(wǎng)絡(luò) 卷2 開(kāi)發(fā)應(yīng)用
定 價(jià):129.8 元
- 作者:李金洪
- 出版時(shí)間:2021/12/1
- ISBN:9787115560926
- 出 版 社:人民郵電出版社
- 中圖法分類(lèi):TP181
- 頁(yè)碼:318
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)通過(guò)深度學(xué)習(xí)實(shí)例,從可解釋性角度出發(fā),闡述深度學(xué)習(xí)的原理,并將圖神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)結(jié)合,介紹圖神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)技術(shù)。本書(shū)分為6章,主要內(nèi)容包括:圖片分類(lèi)模型、機(jī)器視覺(jué)的高級(jí)應(yīng)用、自然語(yǔ)言處理的相關(guān)應(yīng)用、神經(jīng)網(wǎng)絡(luò)的可解釋性、識(shí)別未知分類(lèi)的方法——零次學(xué)習(xí)、異構(gòu)圖神經(jīng)網(wǎng)絡(luò)。本書(shū)中的實(shí)例是在PyTorch框架上完成的,具有較高的實(shí)用價(jià)值。
本書(shū)適合人工智能從業(yè)者、程序員進(jìn)階學(xué)習(xí),也適合作為大專(zhuān)院校相關(guān)專(zhuān)業(yè)師生的教學(xué)和學(xué)習(xí)用書(shū),以及培訓(xùn)學(xué)校的教材。
1.知識(shí)系統(tǒng),逐層遞進(jìn)。
本書(shū)著重于圖神經(jīng)網(wǎng)絡(luò)相關(guān)的系統(tǒng)知識(shí)和基礎(chǔ)原理的講解。內(nèi)容方面涵蓋了與圖神經(jīng)網(wǎng)絡(luò)有關(guān)的完整技術(shù)棧。在上冊(cè)《PyTorch深度學(xué)習(xí)和圖神經(jīng)網(wǎng)絡(luò)(卷1)——基礎(chǔ)知識(shí)》的基礎(chǔ)原理之上結(jié)合實(shí)踐,分別從圖像、視頻、文本、可解釋性等應(yīng)用角度提供項(xiàng)目級(jí)別實(shí)戰(zhàn)案例即代碼實(shí)例。并基于圖片分類(lèi)中常見(jiàn)的樣本不足問(wèn)題,介紹了零次學(xué)習(xí)技術(shù)及實(shí)例。
2.跟進(jìn)前沿技術(shù),大量引用前沿論文
本書(shū)中所介紹的知識(shí)中,有很大比例源自近幾年的前沿技術(shù)。在介紹其原理和應(yīng)用的同時(shí),還附有論文的出處,這些論文引用可以方便讀者對(duì)感興趣的知識(shí)進(jìn)行溯源,并可以自主擴(kuò)展閱讀。在系統(tǒng)掌握了基礎(chǔ)知識(shí)之后,為后續(xù)的能力進(jìn)階提供了擴(kuò)展空間。
3.插圖較多便于學(xué)習(xí)
本書(shū)在介紹模型結(jié)構(gòu)、原理的同時(shí),還提供了大量的插圖。這些圖解有的可視化了模型中的數(shù)據(jù)流向、有的展示了模型擬合能力、有的細(xì)化了某種技術(shù)的內(nèi)部原理、有的直觀化了模型的內(nèi)部結(jié)構(gòu)。可以幫助讀者對(duì)知識(shí)更容易、快捷的理解和掌握。
4.提供源代碼下載
李金洪, 精通C、Python、Java語(yǔ)言,擅長(zhǎng)神經(jīng)網(wǎng)絡(luò)、算法、協(xié)議分析、移動(dòng)互聯(lián)網(wǎng)安全架構(gòu)等技術(shù),先后擔(dān)任過(guò)CAD算法工程師、架構(gòu)師、項(xiàng)目經(jīng)理、部門(mén)經(jīng)理等職位。參與過(guò)深度學(xué)習(xí)領(lǐng)域某移動(dòng)互聯(lián)網(wǎng)后臺(tái)的OCR項(xiàng)目,某娛樂(lè)節(jié)目機(jī)器人的語(yǔ)音識(shí)別、聲紋識(shí)別項(xiàng)目,金融領(lǐng)域的若干分類(lèi)項(xiàng)目。
目錄
第 1章 圖片分類(lèi)模型 1
1.1 深度神經(jīng)網(wǎng)絡(luò)起源 2
1.2 Inception系列模型 2
1.2.1 多分支結(jié)構(gòu) 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 殘差連接的結(jié)構(gòu) 7
1.3.2 殘差連接的原理 8
1.4 DenseNet模型 8
1.4.1 DenseNet模型的網(wǎng)絡(luò)結(jié)構(gòu) 8
1.4.2 DenseNet模型的特點(diǎn) 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 實(shí)例:使用預(yù)訓(xùn)練模型識(shí)別圖片內(nèi)容 16
1.7.1 了解torchvision庫(kù)中的預(yù)訓(xùn)練模型 16
1.7.2 代碼實(shí)現(xiàn):下載并加載預(yù)訓(xùn)練模型 17
1.7.3 代碼實(shí)現(xiàn):加載標(biāo)簽并對(duì)輸入數(shù)據(jù)進(jìn)行預(yù)處理 18
1.7.4 代碼實(shí)現(xiàn):使用模型進(jìn)行預(yù)測(cè) 19
1.7.5 代碼實(shí)現(xiàn):預(yù)測(cè)結(jié)果可視化 20
1.8 實(shí)例:使用遷移學(xué)習(xí)識(shí)別多種鳥(niǎo)類(lèi) 21
1.8.1 什么是遷移學(xué)習(xí) 21
1.8.2 樣本介紹:鳥(niǎo)類(lèi)數(shù)據(jù)集CUB-200 22
1.8.3 代碼實(shí)現(xiàn):用torch.utils.data接口封裝數(shù)據(jù)集 22
1.8.4 代碼實(shí)現(xiàn):獲取并改造ResNet模型 27
1.8.5 代碼實(shí)現(xiàn):微調(diào)模型最后一層 28
1.8.6 代碼實(shí)現(xiàn):使用退化學(xué)習(xí)率對(duì) 模型進(jìn)行全局微調(diào) 29
1.8.7 擴(kuò)展實(shí)例:使用隨機(jī)數(shù)據(jù)增強(qiáng)方法訓(xùn)練模型 30
1.8.8 擴(kuò)展:分類(lèi)模型中常用的3種損失函數(shù) 31
1.8.9 擴(kuò)展實(shí)例:樣本均衡 31
1.9 從深度卷積模型中提取視覺(jué)特征 33
1.9.1 使用鉤子函數(shù)的方式提取視覺(jué)特征 33
1.9.2 使用重組結(jié)構(gòu)的方式提取視覺(jué)特征 34
第 2章 機(jī)器視覺(jué)的高級(jí)應(yīng)用 37
2.1 基于圖片內(nèi)容的處理任務(wù) 38
2.1.1 目標(biāo)檢測(cè)任務(wù) 38
2.1.2 圖片分割任務(wù) 38
2.1.3 非極大值抑制算法 39
2.1.4 Mask R-CNN模型 39
2.2 實(shí)例:使用Mask R-CNN模型進(jìn)行目標(biāo)檢測(cè)與語(yǔ)義分割 41
2.2.1 代碼實(shí)現(xiàn):了解PyTorch中目標(biāo)檢測(cè)的內(nèi)置模型 41
2.2.2 代碼實(shí)現(xiàn):使用PyTorch中目標(biāo)檢測(cè)的內(nèi)置模型 42
2.2.3 擴(kuò)展實(shí)例:使用內(nèi)置的預(yù)訓(xùn)練模型進(jìn)行語(yǔ)義分割 43
2.3 基于視頻內(nèi)容的處理任務(wù) 47
2.4 實(shí)例:用GaitSet模型分析人走路的姿態(tài),并進(jìn)行身份識(shí)別 47
2.4.1 步態(tài)識(shí)別的做法和思路 47
2.4.2 GaitSet模型 48
2.4.3 多層全流程管線(xiàn) 50
2.4.4 水平金字塔池化 51
2.4.5 三元損失 52
2.4.6 樣本介紹:CASIA-B數(shù)據(jù)集 53
2.4.7 代碼實(shí)現(xiàn):用torch.utils.data接口封裝數(shù)據(jù)集 54
2.4.8 代碼實(shí)現(xiàn):用torch.utils.data.sampler類(lèi)創(chuàng)建含多標(biāo)簽批次數(shù)據(jù)的采樣器 60
2.4.9 代碼實(shí)現(xiàn):搭建 GaitSet模型 64
2.4.10 代碼實(shí)現(xiàn):自定義三元損失類(lèi) 67
2.4.11 代碼實(shí)現(xiàn):訓(xùn)練模型并保存模型權(quán)重文件 69
2.4.12 代碼實(shí)現(xiàn):測(cè)試模型 72
2.4.13 擴(kuò)展實(shí)例:用深度卷積和最大池化 優(yōu)化模型 77
2.4.14 擴(kuò)展實(shí)例:視頻采樣并提取 輪廓 78
2.4.15 步態(tài)識(shí)別模型的局限性 79
2.5 調(diào)試技巧 79
2.5.1 解決顯存過(guò)滿(mǎn)損失值為0問(wèn)題 80
2.5.2 跟蹤PyTorch顯存并查找顯存泄露點(diǎn) 81
第3章 自然語(yǔ)言處理的相關(guān)應(yīng)用 83
3.1 BERT模型與NLP任務(wù)的發(fā)展階段 84
3.1.1 基礎(chǔ)的神經(jīng)網(wǎng)絡(luò)階段 84
3.1.2 BERTology階段 84
3.2 NLP中的常見(jiàn)任務(wù) 84
3.2.1 基于文章處理的任務(wù) 85
3.2.2 基于句子處理的任務(wù) 85
3.2.3 基于句子中詞的處理任務(wù) 86
3.3 實(shí)例:訓(xùn)練中文詞向量 87
3.3.1 CBOW和Skip-Gram模型 87
3.3.2 代碼實(shí)現(xiàn):樣本預(yù)處理并生成字典 88
3.3.3 代碼實(shí)現(xiàn):按照Skip-Gram模型的規(guī)則制作數(shù)據(jù)集 90
3.3.4 代碼實(shí)現(xiàn):搭建模型并進(jìn)行 訓(xùn)練 92
3.3.5 夾角余弦 95
3.3.6 代碼實(shí)現(xiàn):詞嵌入可視化 96
3.3.7 詞向量的應(yīng)用 97
3.4 常用文本處理工具 98
3.4.1 spaCy庫(kù)的介紹和安裝 98
3.4.2 與PyTorch深度結(jié)合的文本 處理庫(kù)torchtext 99
3.4.3 torchtext庫(kù)及其內(nèi)置數(shù)據(jù)集與 調(diào)用庫(kù)的安裝 99
3.4.4 torchtext庫(kù)中的內(nèi)置預(yù)訓(xùn)練詞 向量 100
3.5 實(shí)例:用TextCNN模型分析評(píng)論者是否滿(mǎn)意 100
3.5.1 了解用于文本分類(lèi)的卷積神經(jīng)網(wǎng)絡(luò)模型——TextCNN 101
3.5.2 樣本介紹:了解電影評(píng)論 數(shù)據(jù)集IMDB 102
3.5.3 代碼實(shí)現(xiàn):引入基礎(chǔ)庫(kù) 102
3.5.4 代碼實(shí)現(xiàn):用torchtext加載 IMDB并拆分為數(shù)據(jù)集 103
3.5.5 代碼實(shí)現(xiàn):加載預(yù)訓(xùn)練詞向量并進(jìn)行樣本數(shù)據(jù)轉(zhuǎn)化 105
3.5.6 代碼實(shí)現(xiàn):定義帶有Mish激活 函數(shù)的TextCNN模型 107
3.5.7 代碼實(shí)現(xiàn):用數(shù)據(jù)集參數(shù)實(shí)例化 模型 109
3.5.8 代碼實(shí)現(xiàn):用預(yù)訓(xùn)練詞向量 初始化模型 109
3.5.9 代碼實(shí)現(xiàn):用Ranger優(yōu)化器訓(xùn)練模型 109
3.5.10 代碼實(shí)現(xiàn):使用模型進(jìn)行預(yù)測(cè) 112
3.6 了解Transformers庫(kù) 113
3.6.1 Transformers庫(kù)的定義 113
3.6.2 Transformers庫(kù)的安裝方法 114
3.6.3 查看Transformers庫(kù)的版本信息 115
3.6.4 Transformers庫(kù)的3層應(yīng)用 結(jié)構(gòu) 115
3.7 實(shí)例: 使用Transformers庫(kù)的管道方式完成多種NLP任務(wù) 116
3.7.1 在管道方式中指定NLP任務(wù) 116
3.7.2 代碼實(shí)現(xiàn):完成文本分類(lèi)任務(wù) 117
3.7.3 代碼實(shí)現(xiàn):完成特征提取任務(wù) 119
3.7.4 代碼實(shí)現(xiàn):完成完形填空任務(wù) 120
3.7.5 代碼實(shí)現(xiàn):完成閱讀理解任務(wù) 121
3.7.6 代碼實(shí)現(xiàn):完成摘要生成任務(wù) 123
3.7.7 預(yù)訓(xùn)練模型文件的組成及其加載時(shí)的固定文件名稱(chēng) 124
3.7.8 代碼實(shí)現(xiàn):完成實(shí)體詞識(shí)別任務(wù) 124
3.7.9 管道方式的工作原理 125
3.7.10 在管道方式中加載指定 模型 127
3.8 Transformers庫(kù)中的AutoModel類(lèi) 128
3.8.1 各種AutoModel類(lèi) 128
3.8.2 AutoModel類(lèi)的模型加載機(jī)制 129
3.8.3 Transformers庫(kù)中更多的預(yù)訓(xùn)練 模型 130
3.9 Transformers庫(kù)中的BERTology系列模型 131
3.9.1 Transformers庫(kù)的文件結(jié)構(gòu) 131
3.9.2 查找Transformers庫(kù)中可以使用的模型 135
3.9.3 實(shí)例:用BERT模型實(shí)現(xiàn)完形填空任務(wù) 136
3.9.4 擴(kuò)展實(shí)例:用 AutoModelWithMHead類(lèi) 替換BertForMaskedLM類(lèi) 138
3.10 Transformers庫(kù)中的詞表工具 139
3.10.1 PreTrainedTokenizer類(lèi)中的 特殊詞 139
3.10.2 PreTrainedTokenizer類(lèi)的 特殊詞使用 140
3.10.3 向PreTrainedTokenizer類(lèi)中 添加詞 144
3.10.4 實(shí)例:用手動(dòng)加載GPT-2模型 權(quán)重的方式將句子補(bǔ)充完整 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 模型間的關(guān)系 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模型與知識(shí)蒸餾 166
3.12 實(shí)例: 用遷移學(xué)習(xí)訓(xùn)練BERT模型來(lái)對(duì)中文分類(lèi) 167
3.12.1 樣本介紹 167
3.12.2 代碼實(shí)現(xiàn):構(gòu)建數(shù)據(jù)集 168
3.12.3 代碼實(shí)現(xiàn):構(gòu)建并加載BERT預(yù)訓(xùn)練模型 169
3.12.4 BERT模型類(lèi)的內(nèi)部邏輯 170
3.12.5 代碼實(shí)現(xiàn):用退化學(xué)習(xí)率訓(xùn)練模型 172
3.12.6 擴(kuò)展:更多的中文預(yù)訓(xùn)練模型 175
3.13 實(shí)例:用R-GCN模型理解文本中的代詞 175
3.13.1 代詞數(shù)據(jù)集 175
3.13.2 R-GCN模型的原理與實(shí)現(xiàn) 176
3.13.3 將GAP數(shù)據(jù)集轉(zhuǎn)化成圖結(jié)構(gòu)數(shù)據(jù)的思路 179
3.13.4 代碼實(shí)現(xiàn):用BERT模型提取代詞特征 181
3.13.5 代碼實(shí)現(xiàn):用BERT模型提取 其他詞特征 183
3.13.6 用spaCy工具對(duì)句子依存 分析 185
3.13.7 代碼實(shí)現(xiàn):使用spaCy和批次 圖方法構(gòu)建圖數(shù)據(jù)集 187
3.13.8 代碼實(shí)現(xiàn):搭建多層R-GCN 模型 192
3.13.9 代碼實(shí)現(xiàn):搭建神經(jīng)網(wǎng)絡(luò) 分類(lèi)層 193
3.13.10 使用5折交叉驗(yàn)證方法訓(xùn)練 模型 196
第4章 神經(jīng)網(wǎng)絡(luò)的可解釋性 197
4.1 了解模型解釋庫(kù) 198
4.1.1 了解Captum工具 198
4.1.2 可視化可解釋性工具Captum Insights 198
4.2 實(shí)例:用可解釋性理解數(shù)值分析神經(jīng)網(wǎng)絡(luò)模型 199
4.2.1 代碼實(shí)現(xiàn):載入模型 199
4.2.2 代碼實(shí)現(xiàn):用梯度積分算法分析模型的敏感屬性 200
4.2.3 代碼實(shí)現(xiàn):用Layer Conductance方法查看單個(gè)網(wǎng)絡(luò)層中的神經(jīng)元 202
4.2.4 代碼實(shí)現(xiàn):用Neuron Conductance方法查看每個(gè)神經(jīng)元所關(guān)注的屬性 204
4.3 實(shí)例:用可解釋性理解NLP相關(guān)的神經(jīng)網(wǎng)絡(luò)模型 205
4.3.1 詞嵌入模型的可解釋性方法 205
4.3.2 代碼實(shí)現(xiàn):載入模型類(lèi)并將其處理 過(guò)程拆開(kāi) 206
4.3.3 代碼實(shí)現(xiàn):實(shí)例化并加載模型權(quán)重,提取模型的詞嵌入層 207
4.3.4 代碼實(shí)現(xiàn):用梯度積分算法計(jì)算模型的可解釋性 208
4.3.5 代碼實(shí)現(xiàn):輸出模型可解釋性的可視化圖像 210
4.4 實(shí)例:用Bertviz工具可視化BERT模型權(quán)重 211
4.4.1 什么是Bertviz工具 212
4.4.2 代碼實(shí)現(xiàn):載入BERT模型并可視化其權(quán)重 212
4.4.3 解讀BERT模型的權(quán)重可視化結(jié)果 216
4.5 實(shí)例:用可解釋性理解圖像處理相關(guān)的神經(jīng)網(wǎng)絡(luò)模型 219
4.5.1 代碼實(shí)現(xiàn):載入模型并進(jìn)行圖像分類(lèi) 219
4.5.2 代碼實(shí)現(xiàn):用4種可解釋性算法對(duì)模型進(jìn)行可解釋性計(jì)算 220
4.5.3 代碼實(shí)現(xiàn):可視化模型的4種可解釋性算法結(jié)果 221
4.6 實(shí)例:用可解釋性理解圖片分類(lèi)相關(guān)的神經(jīng)網(wǎng)絡(luò)模型 222
4.6.1 了解Grad-CAM方法 223
4.6.2 代碼實(shí)現(xiàn):加載ResNet18模型并注冊(cè)鉤子函數(shù)提取特征數(shù)據(jù) 225
4.6.3 代碼實(shí)現(xiàn):調(diào)用模型提取中間層特征數(shù)據(jù)和輸出層權(quán)重 226
4.6.4 代碼實(shí)現(xiàn):可視化模型的識(shí)別區(qū)域 227
第5章 識(shí)別未知分類(lèi)的方法——零次 學(xué)習(xí) 229
5.1 了解零次學(xué)習(xí) 230
5.1.1 零次學(xué)習(xí)的思想與原理 230
5.1.2 與零次學(xué)習(xí)有關(guān)的常用數(shù)據(jù)集 232
5.1.3 零次學(xué)習(xí)的基本做法 233
5.1.4 直推式學(xué)習(xí) 233
5.1.5 泛化的零次學(xué)習(xí)任務(wù) 233
5.2 零次學(xué)習(xí)中的常見(jiàn)問(wèn)題 233
5.2.1 領(lǐng)域漂移問(wèn)題 234
5.2.2 原型稀疏性問(wèn)題 235
5.2.3 語(yǔ)義間隔問(wèn)題 235
5.3 帶有視覺(jué)結(jié)構(gòu)約束的VSC模型 236
5.3.1 分類(lèi)模型中視覺(jué)特征的本質(zhì) 236
5.3.2 VSC模型的原理 237
5.3.3 基于視覺(jué)中心點(diǎn)學(xué)習(xí)的約束方法 238
5.3.4 基于倒角距離的視覺(jué)結(jié)構(gòu)約束方法 239
5.3.5 什么是對(duì)稱(chēng)的倒角距離 239
5.3.6 基于二分匹配的視覺(jué)結(jié)構(gòu)約束方法 239
5.3.7 什么是指派問(wèn)題與耦合矩陣 240
5.3.8 基于W距離的視覺(jué)結(jié)構(gòu)約束方法 240
5.3.9 什么是最優(yōu)傳輸 241
5.3.10 什么是最優(yōu)傳輸中的熵 正則化 242
5.4 詳解Sinkhorn 算法 244
5.4.1 Sinkhorn算法的求解轉(zhuǎn)換 244
5.4.2 Sinkhorn算法的原理 245
5.4.3 Sinkhorn算法中參數(shù)ε的 原理 246
5.4.4 舉例Sinkhorn算法過(guò)程 246
5.4.5 Sinkhorn算法中的質(zhì)量守恒 248
5.4.6 Sinkhorn算法的代碼實(shí)現(xiàn) 250
5.5 實(shí)例:使用VSC模型來(lái)識(shí)別未知類(lèi)別的鳥(niǎo)類(lèi)圖片 252
5.5.1 樣本介紹:用于ZSL任務(wù)的鳥(niǎo)類(lèi)數(shù)據(jù)集 252
5.5.2 代碼實(shí)現(xiàn):用遷移學(xué)習(xí)的方式獲得 訓(xùn)練數(shù)據(jù)集分類(lèi)模型 253
5.5.3 使用分類(lèi)模型提取圖片視覺(jué) 特征 254
5.5.4 代碼實(shí)現(xiàn):用多層圖卷積神經(jīng) 網(wǎng)絡(luò)實(shí)現(xiàn)VSC模型 255
5.5.5 代碼實(shí)現(xiàn):基于W距離的損失 函數(shù) 256
5.5.6 加載數(shù)據(jù)并進(jìn)行訓(xùn)練 257
5.5.7 代碼實(shí)現(xiàn):根據(jù)特征距離對(duì)圖片 進(jìn)行分類(lèi) 258
5.6 針對(duì)零次學(xué)習(xí)的性能分析 259
5.6.1 分析視覺(jué)特征的質(zhì)量 259
5.6.2 分析直推式學(xué)習(xí)的效果 260
5.6.3 分析直推模型的能力 261
5.6.4 分析未知類(lèi)別的聚類(lèi)效果 262
5.6.5 清洗測(cè)試集 263
5.6.6 利用可視化方法進(jìn)行輔助分析 264
第6章 異構(gòu)圖神經(jīng)網(wǎng)絡(luò) 267
6.1 異構(gòu)圖的基礎(chǔ)知識(shí) 268
6.1.1 同構(gòu)圖與異構(gòu)圖 268
6.1.2 什么是異構(gòu)圖神經(jīng)網(wǎng)絡(luò) 268
6.1.3 二分圖 268
6.1.4 局部圖卷積 270
6.2 二分圖的實(shí)現(xiàn)方式 270
6.2.1 用NetworkX實(shí)現(xiàn)二分圖 270
6.2.2 使用DGL構(gòu)建二分圖 272
6.2.3 二分圖對(duì)象的調(diào)試技巧 275
6.3 異構(gòu)圖的實(shí)現(xiàn)方式 276
6.3.1 創(chuàng)建異構(gòu)圖 276
6.3.2 設(shè)置異構(gòu)圖的節(jié)點(diǎn)個(gè)數(shù) 277
6.3.3 異構(gòu)圖結(jié)構(gòu)的查看方式 278
6.3.4 異構(gòu)圖與同構(gòu)圖的相互轉(zhuǎn)化 280
6.3.5 異構(gòu)圖與同構(gòu)圖的屬性操作方式 281
6.4 隨機(jī)行走采樣 282
6.4.1 什么是隨機(jī)行走 283
6.4.2 普通隨機(jī)行走 283
6.4.3 帶停止概率的隨機(jī)行走 284
6.4.4 帶路徑概率的隨機(jī)行走 284
6.4.5 基于原圖的隨機(jī)行走 285
6.4.6 在基于異構(gòu)圖的隨機(jī)行走中設(shè)置停止概率 286
6.4.7 基于隨機(jī)行走采樣的數(shù)據(jù)處理 287
6.4.8 以隨機(jī)行走的方式對(duì)鄰居節(jié)點(diǎn)采樣 287
6.5 DGL庫(kù)中的塊圖結(jié)構(gòu) 289
6.5.1 設(shè)計(jì)塊圖的動(dòng)機(jī) 289
6.5.2 將同構(gòu)圖轉(zhuǎn)化成塊圖 290
6.5.3 塊圖的屬性操作 290
6.5.4 將二分圖轉(zhuǎn)化成塊圖 291
6.6 實(shí)例:使用PinSAGE模型搭建推薦系統(tǒng) 292
6.6.1 準(zhǔn)備MoiveLens數(shù)據(jù)集 292
6.6.2 代碼實(shí)現(xiàn):用Panadas庫(kù)加載數(shù)據(jù) 293
6.6.3 Categories與category 類(lèi)型 294
6.6.4 代碼實(shí)現(xiàn):生成異構(gòu)圖 295
6.6.5 代碼實(shí)現(xiàn):用邊分組方法拆分并保存數(shù)據(jù)集 296
6.6.6 PinSAGE模型 299
6.6.7 代碼實(shí)現(xiàn):構(gòu)建帶有鄰居節(jié)點(diǎn)采樣功能的數(shù)據(jù)加載器 300
6.6.8 代碼實(shí)現(xiàn):PinSAGE模型的采樣 過(guò)程 305
6.6.9 代碼實(shí)現(xiàn):搭建PinSAGE模型 309
6.6.10 代碼實(shí)現(xiàn):實(shí)例化PinSAGE模型類(lèi)并進(jìn)行訓(xùn)練 315
6.6.11 代碼實(shí)現(xiàn):用PinSAGE模型為 用戶(hù)推薦電影 315
6.6.12 擴(kuò)展:在PinSAGE模型中融合 更多的特征數(shù)據(jù) 317
6.7 總結(jié) 317