Python深度學習入門 從零構(gòu)建CNN和RNN
定 價:79 元
- 作者:[美] 塞思·韋德曼(Seth Weidman)
- 出版時間:2021/2/1
- ISBN:9787115555649
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:192
- 紙張:
- 版次:01
- 開本:16開
本書全面介紹了深度學習知識,借助數(shù)學公式、示意圖和代碼,旨在幫助讀者從數(shù)學層面、概念層面和應(yīng)用層面理解神經(jīng)網(wǎng)絡(luò)。讀者可以跟隨本書構(gòu)建和訓練神經(jīng)網(wǎng)絡(luò)模型,從而解決實際問題。另外,本書著重介紹卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò),并提供PyTorch開源神經(jīng)網(wǎng)絡(luò)庫的使用方法,有助于學習構(gòu)建更高級的神經(jīng)網(wǎng)絡(luò)架構(gòu)。
1.前Facebook數(shù)據(jù)科學家?guī)泐I(lǐng)略深度學習領(lǐng)域的全貌;
2.從數(shù)學、示意圖、Python三個維度立體地認識深度學習;
3.提供PyTorch開源神經(jīng)網(wǎng)絡(luò)庫的使用方法;
4.提供示例代碼。
深度學習技術(shù)的發(fā)展如火如荼,這些知識正迅速成為機器學習從業(yè)者甚至許多軟件開發(fā)工程師的“加分項”。深度學習是一個立體的領(lǐng)域,僅從數(shù)學層面或代碼層面學習,難免以偏概全,無法融會貫通。
本書作者認為,理解深度學習和神經(jīng)網(wǎng)絡(luò)需要多種思維模型。因此,本書從數(shù)學、示意圖、Python代碼三個維度幫助你立體地理解每一個概念,帶你領(lǐng)略深度學習領(lǐng)域的全貌,從內(nèi)到外地理解構(gòu)建神經(jīng)網(wǎng)絡(luò)的每一步。你將學到以下內(nèi)容。
- 為理解深度學習的概念和原理構(gòu)建多種思維模型。
- 掌握嵌套函數(shù)、鏈式法則等數(shù)學概念。
- 掌握學習率衰減、權(quán)重初始化、dropout等優(yōu)化技巧。
- 從零構(gòu)建CNN和RNN等常見的神經(jīng)網(wǎng)絡(luò)架構(gòu)。
- 使用PyTorch實現(xiàn)神經(jīng)網(wǎng)絡(luò)。
作者介紹
塞思·韋德曼(Seth Weidman),SentiLink公司數(shù)據(jù)科學家。他曾在Facebook公司從事數(shù)據(jù)科學工作,并為多家企業(yè)開發(fā)了深度學習培訓課程。塞思善于通過簡單明了的方式解釋復雜的概念。除了講授課程,他還熱衷于技術(shù)寫作,并撰寫了大量PyTorch教程。
譯者介紹
鄭天民,日本足利工業(yè)大學信息工程學碩士,研究方向為人工智能在大規(guī)模調(diào)度系統(tǒng)中的應(yīng)用,在國際三大索引上發(fā)表多篇論文。擁有十余年軟件行業(yè)從業(yè)經(jīng)驗,前后經(jīng)歷過多家大型上市公司、互聯(lián)網(wǎng)電商、健康類獨角獸公司,擔任CTO、系統(tǒng)分析架構(gòu)師和技術(shù)總監(jiān)等職務(wù)。阿里云MVP、騰訊云TVP、TGO鯤鵬會會員。著有《Spring響應(yīng)式微服務(wù)》《系統(tǒng)架構(gòu)設(shè)計》《向技術(shù)管理者轉(zhuǎn)型》《微服務(wù)設(shè)計原理與架構(gòu)》《微服務(wù)架構(gòu)實戰(zhàn)》等。
第 1章 基本概念 1
1.1 函數(shù) 2
1.2 導數(shù) 6
1.3 嵌套函數(shù) 8
1.4 鏈式法則 9
1.5 示例介紹 12
1.6 多輸入函數(shù) 15
1.7 多輸入函數(shù)的導數(shù) 16
1.8 多向量輸入函數(shù) 17
1.9 基于已有特征創(chuàng)建新特征 18
1.10 多向量輸入函數(shù)的導數(shù) 20
1.11 向量函數(shù)及其導數(shù):再進一步 22
1.12 包含兩個二維矩陣輸入的計算圖 25
1.13 有趣的部分:后向傳遞 28
1.14 小結(jié) 34
第 2章 基本原理 35
2.1 監(jiān)督學習概述 36
2.2 監(jiān)督學習模型 38
2.3 線性回歸 38
2.3.1 線性回歸:示意圖 39
2.3.2 線性回歸:更有用的示意圖和數(shù)學 41
2.3.3 加入截距項 41
2.3.4 線性回歸:代碼 42
2.4 訓練模型 42
2.4.1 計算梯度:示意圖 43
2.4.2 計算梯度:數(shù)學和一些代碼 43
2.4.3 計算梯度:完整的代碼 44
2.4.4 使用梯度訓練模型 45
2.5 評估模型:訓練集與測試集 46
2.6 評估模型:代碼 46
2.7 從零開始構(gòu)建神經(jīng)網(wǎng)絡(luò) 49
2.7.1 步驟1:一系列線性回歸 49
2.7.2 步驟2:一個非線性函數(shù) 50
2.7.3 步驟3:另一個線性回歸 50
2.7.4 示意圖 51
2.7.5 代碼 52
2.7.6 神經(jīng)網(wǎng)絡(luò):后向傳遞 53
2.8 訓練和評估第 一個神經(jīng)網(wǎng)絡(luò) 55
2.9 小結(jié) 57
第3章 從零開始深度學習 58
3.1 定義深度學習 58
3.2 神經(jīng)網(wǎng)絡(luò)的構(gòu)成要素:運算 59
3.2.1 示意圖 60
3.2.2 代碼 61
3.3 神經(jīng)網(wǎng)絡(luò)的構(gòu)成要素:層 62
3.4 在構(gòu)成要素之上構(gòu)建新的要素 64
3.4.1 層的藍圖 66
3.4.2 稠密層 68
3.5 NeuralNetwork類和其他類 69
3.5.1 示意圖 70
3.5.2 代碼 70
3.5.3 Loss類 71
3.6 從零開始構(gòu)建深度學習模型 72
3.6.1 實現(xiàn)批量訓練 73
3.6.2 NeuralNetwork: 代碼 73
3.7 優(yōu)化器和訓練器 75
3.7.1 優(yōu)化器 76
3.7.2 訓練器 77
3.8 整合 79
3.9 小結(jié)與展望 80
第4章 擴展 81
4.1 關(guān)于神經(jīng)網(wǎng)絡(luò)的一些直覺 82
4.2 softmax交叉熵損失函數(shù) 84
4.2.1 組件1:softmax函數(shù) 84
4.2.2 組件2:交叉熵損失 85
4.2.3 關(guān)于激活函數(shù)的注意事項 87
4.3 實驗 90
4.3.1 數(shù)據(jù)預(yù)處理 90
4.3.2 模型 91
4.3.3 實驗:softmax交叉熵損失函數(shù) 92
4.4 動量 92
4.4.1 理解動量 93
4.4.2 在Optimizer類中實現(xiàn)動量 93
4.4.3 實驗:帶有動量的隨機梯度下降 94
4.5 學習率衰減 95
4.5.1 學習率衰減的類型 95
4.5.2 實驗:學習率衰減 97
4.6 權(quán)重初始化 97
4.6.1 數(shù)學和代碼 99
4.6.2 實驗:權(quán)重初始化 100
4.7 dropout 100
4.7.1 定義 100
4.7.2 實現(xiàn) 101
4.7.3 實驗:dropout 102
4.8 小結(jié) 104
第5章 CNN 105
5.1 神經(jīng)網(wǎng)絡(luò)與表征學習 105
5.1.1 針對圖像數(shù)據(jù)的不同架構(gòu) 106
5.1.2 卷積運算 107
5.1.3 多通道卷積運算 108
5.2 卷積層 109
5.2.1 實現(xiàn)意義 110
5.2.2 卷積層與全連接層的區(qū)別 111
5.2.3 利用卷積層進行預(yù)測:Flatten層 111
5.2.4 池化層 112
5.3 實現(xiàn)多通道卷積運算 114
5.3.1 前向傳遞 114
5.3.2 后向傳遞 117
5.3.3 批處理 120
5.3.4 二維卷積 121
5.3.5 最后一個元素:通道 123
5.4 使用多通道卷積運算訓練CNN 126
5.4.1 Flatten運算 126
5.4.2 完整的Conv2D層 127
5.4.3 實驗 128
5.5 小結(jié) 129
第6章 RNN 130
6.1 關(guān)鍵限制:處理分支 131
6.2 自動微分 132
6.3 RNN的動機 137
6.4 RNN簡介 138
6.4.1 RNN的第 一個類:RNNLayer 139
6.4.2 RNN的第二個類:RNNNode 140
6.4.3 整合RNNNode類和RNNLayer類 140
6.4.4 后向傳遞 142
6.5 RNN:代碼 143
6.5.1 RNNLayer類 144
6.5.2 RNNNode類的基本元素 147
6.5.3 vanilla RNNNode類 148
6.5.4 vanilla RNNNode類的局限性 150
6.5.5 GRUNode類 151
6.5.6 LSTMNode類 154
6.5.7 基于字符級RNN語言模型的數(shù)據(jù)表示 156
6.5.8 其他語言建模任務(wù) 157
6.5.9 組合RNNLayer類的變體 158
6.5.10 將全部內(nèi)容整合在一起 158
6.6 小結(jié) 159
第7章 PyTorch 160
7.1 PyTorch Tensor 160
7.2 使用PyTorch進行深度學習 161
7.2.1 PyTorch元素:Model類及其Layer類 162
7.2.2 使用PyTorch實現(xiàn)神經(jīng)網(wǎng)絡(luò)基本要素:DenseLayer類 163
7.2.3 示例:基于PyTorch的波士頓房價模型 164
7.2.4 PyTorch元素:Optimizer類和Loss類 165
7.2.5 PyTorch元素:Trainer類 165
7.2.6 PyTorch優(yōu)化學習技術(shù) 168
7.3 PyTorch中的CNN 168
7.4 PyTorch中的LSTM 173
7.5 后記:通過自編碼器進行無監(jiān)督學習 175
7.5.1 表征學習 175
7.5.2 應(yīng)對無標簽場景的方法 176
7.5.3 在PyTorch中實現(xiàn)自編碼器 176
7.5.4 更強大的無監(jiān)督學習測試及解決方案 181
7.6 小結(jié) 182
附錄 深入探討 183
關(guān)于作者 192
關(guān)于封面 192