深度學習入門之PyTorch

深度學習入門之PyTorch

《深度學習入門之PyTorch》一書由廖星宇編著,電子工業出版社2017年月出版

內容提要
《深度學習入門之PyTorch》深度學習如今已經成為科技領域最炙手可熱的技術,在《深度學習入門之PyTorch》中,我們將幫助你入門深度學習。《深度學習入門之PyTorch》將從機器學習和深度學習的基礎理論入手,從零開始學習 PyTorch,了解 PyTorch 基礎,以及如何用 PyTorch 框架搭建模型。通過閱讀《深度學習入門之PyTorch》,你將學到機器學習中的線性回歸和 Logistic 回歸、深度學習的最佳化方法、多層全連線神經網路、卷積神經網路、循環神經網路,以及生成對抗網路,最後通過實戰了解深度學習前沿的研究成果,以及 PyTorch 在實際項目中的套用。《深度學習入門之PyTorch》將理論和代碼相結合,幫助讀者更好地入門深度學習,適合任何對深度學習感興趣的人閱讀。
目錄
第 1 章 深度學習介紹 1
1.1 人工智慧 1
1.2 數據挖掘、機器學習與深度學習2
1.2.1 數據挖掘 3
1.2.2 機器學習 3
1.2.3 深度學習 4
1.3 學習資源與建議 8
第 2 章 深度學習框架 11
2.1 深度學習框架介紹 . 11
2.2 PyTorch 介紹. 13
2.2.1 什麼是 PyTorch. 13
2.2.2 為何要使用 PyTorch 14
2.3 配置 PyTorch 深度學習環境 15
2.3.1 作業系統的選擇. 15
2.3.2 Python 開發環境的安裝 16
2.3.3 PyTorch 的安裝. 18
第 3 章 多層全連線神經網路 24
3.1 熱身:PyTorch 基礎 24
3.1.1 Tensor(張量). 24
3.1.2 Variable(變數)26
3.1.3 Dataset(數據集)28
3.1.4 nn.Module(模組) 29
3.1.5 torch.optim(最佳化) 30
3.1.6 模型的保存和載入 31
3.2 線性模型 32
3.2.1 問題介紹 32
3.2.2 一維線性回歸33
3.2.3 多維線性回歸34
3.2.4 一維線性回歸的代碼實現. 35
3.2.5 多項式回歸 38
3.3 分類問題 42
3.3.1 問題介紹 42
3.3.2 Logistic 起源 42
3.3.3 Logistic 分布 42
3.3.4 二分類的 Logistic 回歸 43
3.3.5 模型的參數估計. 44
3.3.6 Logistic 回歸的代碼實現45
3.4 簡單的多層全連線前向網路 . 49
3.4.1 模擬神經元 49
3.4.2 單層神經網路的分類器 50
3.4.3 激活函式 51
3.4.4 神經網路的結構. 54
3.4.5 模型的表示能力與容量 55
3.5 深度學習的基石:反向傳播算法57
3.5.1 鏈式法則 57
3.5.2 反向傳播算法58
3.5.3 Sigmoid 函式舉例58
3.6 各種最佳化算法的變式59
3.6.1 梯度下降法 59
3.6.2 梯度下降法的變式 62
3.7 處理數據和訓練模型的技巧 . 64
3.7.1 數據預處理 64
3.7.2 權重初始化 66
3.7.3 防止過擬合 67
3.8 多層全連線神經網路實現 MNIST 手寫數字分類 69
3.8.1 簡單的三層全連線神經網路70
3.8.2 添加激活函式70
3.8.3 添加批標準化71
3.8.4 訓練網路 71
第 4 章 卷積神經網路 76
4.1 主要任務及起源 76
4.2 卷積神經網路的原理和結構 . 77
4.2.1 卷積層80
4.2.2 池化層84
4.2.3 全連線層 85
4.2.4 卷積神經網路的基本形式. 85
4.3 PyTorch 卷積模組 . 87
4.3.1 卷積層87
4.3.2 池化層88
4.3.3 提取層結構 90
4.3.4 如何提取參數及自定義初始化 91
4.4 卷積神經網路案例分析. 92
4.4.1 LeNet. 93
4.4.2 AlexNet94
4.4.3 VGGNet 95
4.4.4 GoogLeNet . 98
4.4.5 ResNet100
4.5 再實現 MNIST 手寫數字分類 . 103
4.6 圖像增強的方法 105
4.7 實現 cifar10 分類 107
第 5 章 循環神經網路 111
5.1 循環神經網路111
5.1.1 問題介紹 112
5.1.2 循環神經網路的基本結構. 112
5.1.3 存在的問題 115
5.2 循環神經網路的變式:LSTM 與 GRU 116
5.2.1 LSTM. 116
5.2.2 GRU. 119
5.2.3 收斂性問題 120
5.3 循環神經網路的 PyTorch 實現 122
5.3.1 PyTorch 的循環網路模組122
5.3.2 實例介紹 127
5.4 自然語言處理的套用131
5.4.1 詞嵌入131
5.4.2 詞嵌入的 PyTorch 實現 133
5.4.3 N Gram 模型 133
5.4.4 單詞預測的 PyTorch 實現134
5.4.5 詞性判斷 136
5.4.6 詞性判斷的 PyTorch 實現137
5.5 循環神經網路的更多套用140
5.5.1 Many to one 140
5.5.2 Many to Many(shorter)141
5.5.3 Seq2seq141
5.5.4 CNN+RNN . 142
第 6 章 生成對抗網路 144
6.1 生成模型 144
6.1.1 自動編碼器 145
6.1.2 變分自動編碼器. 150
6.2 生成對抗網路153
6.2.1 何為生成對抗網路 153
6.2.2 生成對抗網路的數學原理. 160
6.3 Improving GAN164
6.3.1 Wasserstein GAN. 164
6.3.2 Improving WGAN167
6.4 套用介紹 168
6.4.1 Conditional GAN. 168
6.4.2 Cycle GAN . 170
第 7 章 深度學習實戰 173
7.1 實例一——貓狗大戰:運用預訓練卷積神經網路進行特徵提取與預測 . 173
7.1.1 背景介紹 174
7.1.2 原理分析 174
7.1.3 代碼實現 177
7.1.4 總結. 183
7.2 實例二——Deep Dream:探索卷積神經網路眼中的世界183
7.2.1 原理介紹 184
7.2.2 預備知識:backward . 185
7.2.3 代碼實現 190
7.2.4 總結. 195
7.3 實例三——Neural-Style:使用 PyTorch 進行風格遷移196
7.3.1 背景介紹 196
7.3.2 原理分析 197
7.3.3 代碼實現 199
7.3.4 總結. 205
7.4 實例四——Seq2seq:通過 RNN 實現簡單的 Neural Machine Translation . 205
7.4.1 背景介紹 206
7.4.2 原理分析 206
7.4.3 代碼實現 209
7.4.4 總結. 221

相關詞條

熱門詞條

聯絡我們