前言
第 1 章 深度學習介紹......................................................................................... 1
1.1 人工智能、機器學習與深度學習 .................................................................. 2
1.2 深度學習工具介紹 .......................................................................................... 5
1.3 PyTorch 介紹.................................................................................................... 7
1.4 你能從本書中學到什麼 .................................................................................. 9
第 2 章 PyTorch 安裝和快速上手 ...................................................................... 11
2.1 PyTorch 安裝.................................................................................................. 12
2.1.1 Anaconda 安裝.................................................................................... 12
2.1.2 PyTorch 安裝....................................................................................... 19
2.2 Jupyter Notebook 使用................................................................................... 19
2.3 NumPy 基礎知識........................................................................................... 22
2.3.1 基本概念 ............................................................................................. 23
2.3.2 創建數組 ............................................................................................. 24
2.3.3 基本運算 ............................................................................................. 26
2.3.4 索引、切片和迭代 ............................................................................. 27
2.3.5 數組賦值 ............................................................................................. 32
2.3.6 更改數組的形狀 ................................................................................. 33
2.3.7 組閤、拆分數組 ................................................................................. 34
2.3.8 廣播 ..................................................................................................... 35
2.4 PyTorch 基礎知識.......................................................................................... 37
2.4.1 Tensor 簡介 ......................................................................................... 37
2.4.2 Variable 簡介....................................................................................... 37VIII
PyTorch 機器學習從入門到實戰
2.4.3 CUDA 簡介......................................................................................... 38
2.4.4 模型的保存與加載 ............................................................................. 39
2.4.5 第一個 PyTorch 程序.......................................................................... 39
第 3 章 神經網絡 .............................................................................................. 42
3.1 神經元與神經網絡 ........................................................................................ 43
3.2 激活函數 ........................................................................................................ 45
3.2.1 Sigmoid ................................................................................................ 46
3.2.2 Tanh ..................................................................................................... 47
3.2.3 Hard Tanh ............................................................................................ 48
3.2.4 ReLU ................................................................................................... 49
3.2.5 ReLU 的擴展 ...................................................................................... 50
3.2.6 Softmax ................................................................................................ 53
3.2.7 LogSoftmax ......................................................................................... 54
3.3 前嚮算法 ........................................................................................................ 54
3.4 損失函數 ........................................................................................................ 56
3.4.1 損失函數的概念 ................................................................................. 56
3.4.2 迴歸問題 ............................................................................................. 56
3.4.3 分類問題 ............................................................................................. 57
3.4.4 PyTorch 中常用的損失函數............................................................... 58
3.5 後嚮算法 ........................................................................................................ 61
3.6 數據的準備 .................................................................................................... 64
3.7 實例:單層神經網絡 .................................................................................... 65
第 4 章 深層神經網絡及訓練............................................................................ 69
4.1 深層神經網絡 ................................................................................................ 71
4.1.1 神經網絡為何難以訓練 ..................................................................... 71
4.1.2 改進策略 ............................................................................................. 73
4.2 梯度下降 ........................................................................................................ 73
4.2.1 隨機梯度下降 ..................................................................................... 73
4.2.2 Mini-Batch 梯度下降.......................................................................... 74
4.3 優化器 ............................................................................................................ 75
4.3.1 SGD ..................................................................................................... 76
4.3.2 Momentum .......................................................................................... 76
4.3.3 AdaGrad .............................................................................................. 77
4.3.4 RMSProp ............................................................................................. 78IX
目 錄
4.3.5 Adam ................................................................................................... 79
4.3.6 選擇正確的優化算法 ......................................................................... 79
4.3.7 優化器的使用實例 ............................................................................. 80
4.4 正則化 ............................................................................................................ 83
4.4.1 參數規範懲罰 ..................................................................................... 84
4.4.2 Batch Normalization ............................................................................ 84
4.4.3 Dropout ................................................................................................ 85
4.5 實例:MNIST 深層神經網絡....................................................................... 87
第 5 章 捲積神經網絡....................................................................................... 91
5.1 計算機視覺 .................................................................................................... 93
5.1.1 人類視覺和計算機視覺 ..................................................................... 93
5.1.2 特徵提取 ............................................................................................. 93
5.1.3 數據集 ................................................................................................. 95
5.2 捲積神經網絡 ................................................................................................ 98
5.2.1 捲積層 ............................................................................................... 100
5.2.2 池化層 ............................................................................................... 102
5.2.3 經典捲積神經網絡 ........................................................................... 103
5.3 MNIST 數據集上捲積神經網絡的實現..................................................... 108
第 6 章 嵌入與錶徵學習 .................................................................................. 112
6.1 PCA .............................................................................................................. 113
6.1.1 PCA 原理 .......................................................................................... 113
6.1.2 PCA 的 PyTorch 實現....................................................................... 114
6.2 自動編碼器 .................................................................................................. 115
6.2.1 自動編碼器原理 ............................................................................... 116
6.2.2 自動解碼器的 PyTorch 實現............................................................ 116
6.2.3 實例:圖像去噪 ............................................................................... 120
6.3 詞嵌入 .......................................................................................................... 123
6.3.1 詞嵌入原理 ....................................................................................... 123
6.3.2 實例:基於詞嚮量的語言模型實現 ............................................... 126
第 7 章 序列預測模型..................................................................................... 130
7.1 序列數據處理 .............................................................................................. 131
7.2 循環神經網絡 .............................................................................................. 132
7.3 LSTM 和 GRU ............................................................................................. 136X
PyTorch 機器學習從入門到實戰
7.4 LSTM 在自然語言處理中的應用............................................................... 140
7.4.1 詞性標注 ........................................................................................... 140
7.4.2 情感分析 ........................................................................................... 142
7.5 串到串網絡 .................................................................................................. 143
7.5.1 串到串網絡原理 ............................................................................... 143
7.5.2 注意力機製 ....................................................................................... 144
7.6 實例:基於 GRU 和 Attention 的機器翻譯............................................... 145
7.6.1 公共模塊 ........................................................................................... 145
7.6.2 數據處理 ........................................................................................... 145
7.6.3 模型定義 ........................................................................................... 149
7.6.4 訓練模塊定義 ................................................................................... 153
7.6.5 訓練和模型保存 ............................................................................... 159
7.6.6 評估過程 ........................................................................................... 161
第 8 章 PyTorch 項目實戰 .............................................................................. 163
8.1 圖像識彆和遷移學習——貓狗大戰 .......................................................... 164
8.1.1 遷移學習介紹 ................................................................................... 164
8.1.2 計算機視覺工具包 ........................................................................... 164
8.1.3 貓狗大戰的 PyTorch 實現................................................................ 165
8.2 文本分類 ...................................................................................................... 170
8.2.1 文本分類的介紹 ............................................................................... 171
8.2.2 計算機文本工具包 ........................................................................... 172
8.2.3 基於 CNN 的文本分類的 PyTorch 實現 ......................................... 172
8.3 語音識彆係統介紹 ...................................................................................... 180
8.3.1 語音識彆介紹 ................................................................................... 181
8.3.2 命令詞識彆的 PyTorch 實現............................................................ 181
· · · · · · (
收起)