本書基于Python以及兩個深度學習框架Keras與TensorFlow,講述深度學習在實際項目中的應用。本書共10章,首先介紹線性回歸模型、邏輯回歸模型、Softmax多分類器,然后講述全連接神經網絡、神經網絡模型的優(yōu)化、卷積神經網絡、循環(huán)神經網絡,最后討論自編碼模型、對抗生成網絡、深度強化學習。本書結合計算機視覺、自然語言處理、金融領域等方面的項目,系統(tǒng)講述深度學習技術,可操作性強。
1.全方位解讀深度學習五大主流與前沿技術;
2.理論與實戰(zhàn)緊密結合,通過足夠多的實際項目幫助讀者;
3.知識全面,詳解深度學習模型在計算機視覺、自然語言處理、金融、強化學習等眾多領域的新進展和應用;
4.悉尼大學Basem Suleiman和Johan Alibasa以及倫敦大學瑪麗女王學院Soren Riis等多位世界名校教師聯(lián)袂推薦。
周北,重慶韜翔網絡科技有限公司總裁,悉尼大學研究生,人工智能領域資深技術專家,自2018年被任命為韜翔科技董事長以來,主要負責公司亞太地區(qū)與歐洲事業(yè)群的管理,曾任職于悉尼大學并擔任計算機科學學院科研助理的工作。他具有信息技術和信息技術管理專業(yè)的雙學位,是上海企覺有限公司首席技術顧問,擅長機器學習、深度學習、Python、Java等技術。
目 錄
第 一部分 基礎知識
第 1章 線性回歸模型 3
1.1 線性回歸詳解 3
1.1.1 數(shù)據集的構建 3
1.1.2 線性回歸模型的構建 4
1.1.3 損失函數(shù)詳解 4
1.2 梯度下降算法 5
1.3 求損失函數(shù)的最小值 8
1.4 線性回歸代碼實戰(zhàn) 9
1.4.1 線性回歸模型的構建與訓練 9
1.4.2 復雜線性回歸模型的構建 14
1.4.3 使用正則項防止過擬合 16
1.5 線性回歸項目實戰(zhàn) 18
1.5.1 波士頓房價數(shù)據集簡介 18
1.5.2 數(shù)據集特征值的標準化 18
1.5.3 線性回歸模型的構建與訓練 20
1.6 本章小結 21
第 2章 邏輯回歸模型 22
2.1 邏輯回歸詳解 22
2.1.1 Sigmoid函數(shù) 22
2.1.2 邏輯回歸模型的工作原理 24
2.1.3 損失函數(shù)的構建 25
2.1.4 二元交叉熵函數(shù)的代碼實戰(zhàn) 27
2.1.5 求模型的最優(yōu)參數(shù) 27
2.2 邏輯回歸項目實戰(zhàn) 29
2.2.1 泰坦尼克數(shù)據集簡介 29
2.2.2 數(shù)據集的加載 30
2.2.3 模型的構建與訓練 30
2.2.4 模型的評估 32
2.2.5 使用矩陣的方式加速模型的
訓練 33
2.3 邏輯回歸模型與神經網絡的聯(lián)系 35
2.4 本章小結 36
第3章 Softmax多分類器 37
3.1 Softmax函數(shù)詳解 37
3.2 Softmax多分類器詳解 39
3.2.1 獨熱編碼詳解 39
3.2.2 Softmax多分類器工作原理 40
3.2.3 多元交叉熵函數(shù)詳解 41
3.2.4 多元交叉熵函數(shù)的代碼實戰(zhàn) 42
3.3 數(shù)據集的預處理 43
3.3.1 MNIST數(shù)據集詳解 43
3.3.2 數(shù)據集特征值的歸一化 44
3.3.3 圖片的扁平化 45
3.3.4 標簽值的獨熱編碼處理 46
3.4 Softmax多分類器實戰(zhàn) 47
3.4.1 MNIST數(shù)據集的加載與
預處理 47
3.4.2 Softmax多分類器模型的構建 48
3.4.3 Softmax多分類器模型的訓練 49
3.5 本章小結 50
第二部分 進階技術
第4章 全連接神經網絡 53
4.1 深度學習與神經網絡簡介 53
4.2 全連接神經網絡 54
4.3 激活函數(shù) 56
4.3.1 Sigmoid函數(shù) 56
4.3.2 tanh函數(shù) 56
4.3.3 ReLU函數(shù) 57
4.3.4 Softmax函數(shù) 58
4.4 模型參數(shù)的初始化 58
4.4.1 初始化為常數(shù) 58
4.4.2 隨機初始化模型參數(shù) 58
4.4.3 模型參數(shù)初始化實戰(zhàn) 59
4.5 模型的訓練與損失函數(shù) 60
4.5.1 模型的訓練過程 60
4.5.2 損失函數(shù)的定義 61
4.6 梯度下降算法 63
4.6.1 反向傳播算法 64
4.6.2 3種梯度下降算法的
計算方式 65
4.6.3 梯度下降優(yōu)化算法 66
4.7 MNIST手寫數(shù)字識別實戰(zhàn)——
分類項目 67
4.7.1 深度學習項目中數(shù)據集的
劃分 67
4.7.2 MNIST手寫數(shù)字識別項目 68
4.8 房價數(shù)據回歸分析——回歸分析
項目 70
4.9 本章小結 73
第5章 神經網絡模型的優(yōu)化 74
5.1 防止過擬合的方法 74
5.1.1 L1/L2正則化 74
5.1.2 增加訓練集樣本個數(shù) 78
5.1.3 Dropout的應用 80
5.1.4 早停法 82
5.2 批量標準化 85
5.3 CIFAR-10數(shù)據集分類項目實戰(zhàn) 87
5.3.1 CIFAR-10數(shù)據集簡介 87
5.3.2 模型的構建與訓練 87
5.4 模型的使用、保存與加載 90
5.4.1 使用模型進行預測 90
5.4.2 保存訓練好的模型 91
5.4.3 加載模型 91
5.5 Keras 中的函數(shù)式API 92
5.6 本章小結 93
第6章 卷積神經網絡 94
6.1 卷積神經網絡結構 95
6.2 應用CNN模型對MNIST
數(shù)據集分類 95
6.2.1 圖片的表示形式 95
6.2.2 MNIST數(shù)據集的分類 96
6.3 卷積層 99
6.3.1 卷積層的工作原理 99
6.3.2 實現(xiàn)卷積層的代碼 102
6.3.3 補零 105
6.4 池化層 107
6.4.1 池化層的工作原理 108
6.4.2 池化層對圖片的作用 109
6.5 應用CNN模型對CIFAR-10
數(shù)據集圖片分類 112
6.6 貓與狗數(shù)據集分類項目實戰(zhàn) 114
6.6.1 貓與狗數(shù)據集簡介 114
6.6.2 數(shù)據集的預處理 115
6.6.3 模型的構建與訓練 116
6.7 經典的CNN模型 119
6.7.1 VGG網絡模型 119
6.7.2 ResNet模型 120
6.7.3 Inception網絡模型 122
6.8 遷移學習 125
6.8.1 遷移學習的原理 125
6.8.2 遷移學習項目實戰(zhàn) 126
6.9 本章小結 129
第7章 循環(huán)神經網絡 130
7.1 時間序列數(shù)據詳解 131
7.2 自然語言數(shù)據的處理 131
7.2.1 詞的向量化表示 131
7.2.2 詞匯標記化 133
7.2.3 序列填充 135
7.2.4 嵌入層的原理與應用 136
7.3 情感分析項目 139
7.3.1 情感分析項目簡介 139
7.3.2 數(shù)據集的處理 139
7.4 簡單RNN 141
7.4.1 簡單RNN的原理 141
7.4.2 簡單RNN的應用 143
7.4.3 簡單RNN項目實戰(zhàn) 145
7.5 長短期記憶神經網絡 147
7.5.1 長短期記憶神經網絡的原理 147
7.5.2 長短期記憶神經網絡的應用 148
7.6 門控循環(huán)神經網絡 150
7.6.1 門控循環(huán)神經網絡的原理 150
7.6.2 門控循環(huán)神經網絡的應用 151
7.7 RNN進階 152
7.7.1 RNN中防止過擬合的方式 152
7.7.2 疊加長短期記憶神經網絡 152
7.7.3 雙向長短期記憶神經網絡 154
7.7.4 注意力模型 156
7.8 文本生成項目 159
7.9 某公司股票價格預測項目 162
7.9.1 數(shù)據集的預處理 163
7.9.2 模型的構建與訓練 164
7.9.3 可視化預測的股票開盤價格與
實際的股票開盤價格 165
7.10 自然語言處理技術新進展 166
7.10.1 遷移學習在自然語言處理
中的應用 167
7.10.2 ELMo模型介紹與實戰(zhàn)應用 167
7.10.3 BERT模型介紹與實戰(zhàn)應用 171
7.10.4 GPT-2模型介紹 174
7.11 本章小結 175
第三部分 高級技術
第8章 自編碼模型 179
8.1 自編碼模型的原理詳解 179
8.2 應用自編碼模型對數(shù)據降維 180
8.3 應用自編碼模型進行異常檢測 183
8.3.1 異常檢測的原理 183
8.3.2 檢測信用卡異常交易 184
8.4 應用自編碼模型對圖片去噪 188
8.4.1 項目介紹 188
8.4.2 反卷積的原理與應用 188
8.4.3 上采樣的原理與應用 190
8.4.4 實現(xiàn)圖片去噪項目 191
8.5 本章小結 194
第9章 生成對抗網絡 195
9.1 生成對抗網絡的原理 195
9.1.1 生成對抗網絡的工作原理
簡介 195
9.1.2 生成器與判別器的工作原理 197
9.1.3 生成對抗網絡模型的訓練 197
9.2 生成對抗網絡模型的訓練技巧 198
9.2.1 梯度值剪裁 199
9.2.2 批量標準化中的動量 199
9.3 項目實戰(zhàn) 200
9.3.1 數(shù)據集介紹與加載 200
9.3.2 判別器模型的構建 201
9.3.3 生成器模型的構建 203
9.3.4 生成對抗網絡模型的構建 206
9.3.5 生成對抗網絡模型的訓練 206
9.4 本章小結 209
第 10章 深度強化學習 211
10.1 深度強化學習簡介 212
10.2 深度強化學習詳解 213
10.3 Deep Q-Learning算法 215
10.3.1 Q-Learning算法詳解 215
10.3.2 Deep Q-Learning算法詳解 217
10.3.3 Deep Q-Learning算法的
應用 219
10.4 策略梯度算法 224
10.4.1 策略梯度算法原理詳解 225
10.4.2 策略梯度算法項目實戰(zhàn) 227
10.5 演員-評判家算法 231
10.5.1 演員-評判家算法原理詳解 231
10.5.2 演員-評判家項目實戰(zhàn) 232
10.6 本章小結 235