深度學(xué)習(xí)入門 基于Python的理論與實現(xiàn)
定 價:59 元
叢書名:Python
- 作者:齋藤康毅
- 出版時間:2018/7/1
- ISBN:9787115485588
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:285
- 紙張:
- 版次:01
- 開本:大32開
本書是深度學(xué)習(xí)真正意義上的入門書,深入淺出地剖析了深度學(xué)習(xí)的原理和相關(guān)技術(shù)。書中使用Python3,盡量不依賴外部庫或工具,從基本的數(shù)學(xué)知識出發(fā),帶領(lǐng)讀者從零創(chuàng)建一個經(jīng)典的深度學(xué)習(xí)網(wǎng)絡(luò),使讀者在此過程中逐步理解深度學(xué)習(xí)。書中不僅介紹了深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的概念、特征等基礎(chǔ)知識,對誤差反向傳播法、卷積神經(jīng)網(wǎng)絡(luò)等也有深入講解,此外還介紹了深度學(xué)習(xí)相關(guān)的實用技巧,自動駕駛、圖像生成、強化學(xué)習(xí)等方面的應(yīng)用,以及為什么加深層可以提高識別精度等疑難的問題。
本書適合深度學(xué)習(xí)初學(xué)者閱讀,也可作為高校教材使用。
1.日本深度學(xué)習(xí)入門經(jīng)典暢銷書,原版上市不足2年印刷已達100 000冊。長期位列日亞“人工智能”類圖書榜首,眾多五星好評。
2.使用Python 3,盡量不依賴外部庫或工具,從零創(chuàng)建一個深度學(xué)習(xí)模型。
3.示例代碼清晰,源代碼可下載,需要的運行環(huán)境非常簡單。讀者可以一邊讀書一邊執(zhí)行程序,簡單易上手。
4.使用平實的語言,結(jié)合直觀的插圖和具體的例子,將深度學(xué)習(xí)的原理掰開揉碎講解,簡明易懂。
5.使用計算圖介紹復(fù)雜的誤差反向傳播法,非常直觀。
6.相比AI圣經(jīng)“花書”,本書更合適入門。
對于非AI方向的技術(shù)人員,本書將大大降低入門深度學(xué)習(xí)的門檻;對于在校大學(xué)生、研究生,本書不失為學(xué)習(xí)深度學(xué)習(xí)的一本好教材;即便是在工作中已經(jīng)熟練使用框架開發(fā)各類深度學(xué)習(xí)模型的讀者,也可以從本書中獲得新的體會!员緯g者序
齋藤康毅(作者)
東京工業(yè)大學(xué)畢業(yè),并完成東京大學(xué)研究生院課程,F(xiàn)從事計算機視覺與機器學(xué)習(xí)相關(guān)的研究和開發(fā)工作。是Introducing Python、Python in Practice、The Elements of Computing Systems、Building Machine Learning Systems with Python的日文版譯者。
陸宇杰(譯者)
眾安科技NLP算法工程師。主要研究方向為自然語言處理及其應(yīng)用,對圖像識別、機器學(xué)習(xí)、深度學(xué)習(xí)等領(lǐng)域有密切關(guān)注。Python愛好者。
目錄
譯者序 xiii
前言 xv
第 1 章 Python入門 1
1.1 Python是什么 1
1.2 Python的安裝 2
1.2.1 Python版本 2
1.2.2 使用的外部庫 2
1.2.3 Anaconda發(fā)行版 3
1.3 Python解釋器 4
1.3.1 算術(shù)計算 4
1.3.2 數(shù)據(jù)類型 5
1.3.3 變量 5
1.3.4 列表 6
1.3.5 字典 7
1.3.6 布爾型 7
1.3.7 if 語句 8
1.3.8 for 語句 8
1.3.9 函數(shù) 9
1.4 Python腳本文件 9
1.4.1 保存為文件 9
1.4.2 類 10
1.5 NumPy 11
1.5.1 導(dǎo)入NumPy 11
1.5.2 生成NumPy數(shù)組 12
1.5.3 NumPy 的算術(shù)運算 12
1.5.4 NumPy的N維數(shù)組 13
1.5.5 廣播 14
1.5.6 訪問元素 15
1.6 Matplotlib 16
1.6.1 繪制簡單圖形 16
1.6.2 pyplot 的功能 17
1.6.3 顯示圖像 18
1.7 小結(jié) 19
第 2 章 感知機 21
2.1 感知機是什么 21
2.2 簡單邏輯電路 23
2.2.1 與門 23
2.2.2 與非門和或門 23
2.3 感知機的實現(xiàn) 25
2.3.1 簡單的實現(xiàn) 25
2.3.2 導(dǎo)入權(quán)重和偏置 26
2.3.3 使用權(quán)重和偏置的實現(xiàn) 26
2.4 感知機的局限性 28
2.4.1 異或門 28
2.4.2 線性和非線性 30
2.5 多層感知機 31
2.5.1 已有門電路的組合 31
2.5.2 異或門的實現(xiàn) 33
2.6 從與非門到計算機 35
2.7 小結(jié) 36
第3 章 神經(jīng)網(wǎng)絡(luò) 37
3.1 從感知機到神經(jīng)網(wǎng)絡(luò) 37
3.1.1 神經(jīng)網(wǎng)絡(luò)的例子 37
3.1.2 復(fù)習(xí)感知機 38
3.1.3 激活函數(shù)登場 40
3.2 激活函數(shù) 42
3.2.1 sigmoid 函數(shù) 42
3.2.2 階躍函數(shù)的實現(xiàn) 43
3.2.3 階躍函數(shù)的圖形 44
3.2.4 sigmoid 函數(shù)的實現(xiàn) 45
3.2.5 sigmoid 函數(shù)和階躍函數(shù)的比較 46
3.2.6 非線性函數(shù) 48
3.2.7 ReLU函數(shù) 49
3.3 多維數(shù)組的運算 50
3.3.1 多維數(shù)組 50
3.3.2 矩陣乘法 51
3.3.3 神經(jīng)網(wǎng)絡(luò)的內(nèi)積 55
3.4 3 層神經(jīng)網(wǎng)絡(luò)的實現(xiàn) 56
3.4.1 符號確認 57
3.4.2 各層間信號傳遞的實現(xiàn) 58
3.4.3 代碼實現(xiàn)小結(jié) 62
3.5 輸出層的設(shè)計 63
3.5.1 恒等函數(shù)和softmax 函數(shù) 64
3.5.2 實現(xiàn)softmax 函數(shù)時的注意事項 66
3.5.3 softmax 函數(shù)的特征 67
3.5.4 輸出層的神經(jīng)元數(shù)量 68
3.6 手寫數(shù)字識別 69
3.6.1 MNIST數(shù)據(jù)集 70
3.6.2 神經(jīng)網(wǎng)絡(luò)的推理處理 73
3.6.3 批處理 75
3.7 小結(jié) 79
第4 章 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí) 81
4.1 從數(shù)據(jù)中學(xué)習(xí) 81
4.1.1 數(shù)據(jù)驅(qū)動 82
4.1.2 訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù) 84
4.2 損失函數(shù) 85
4.2.1 均方誤差 85
4.2.2 交叉熵誤差 87
4.2.3 mini-batch 學(xué)習(xí) 88
4.2.4 mini-batch 版交叉熵誤差的實現(xiàn) 91
4.2.5 為何要設(shè)定損失函數(shù) 92
4.3 數(shù)值微分 94
4.3.1 導(dǎo)數(shù) 94
4.3.2 數(shù)值微分的例子 96
4.3.3 偏導(dǎo)數(shù) 98
4.4 梯度 100
4.4.1 梯度法 102
4.4.2 神經(jīng)網(wǎng)絡(luò)的梯度 106
4.5 學(xué)習(xí)算法的實現(xiàn) 109
4.5.1 2 層神經(jīng)網(wǎng)絡(luò)的類 110
4.5.2 mini-batch 的實現(xiàn) 114
4.5.3 基于測試數(shù)據(jù)的評價 116
4.6 小結(jié) 118
第5 章 誤差反向傳播法 121
5.1 計算圖 121
5.1.1 用計算圖求解 122
5.1.2 局部計算 124
5.1.3 為何用計算圖解題 125
5.2 鏈式法則 126
5.2.1 計算圖的反向傳播 127
5.2.2 什么是鏈式法則 127
5.2.3 鏈式法則和計算圖 129
5.3 反向傳播 130
5.3.1 加法節(jié)點的反向傳播 130
5.3.2 乘法節(jié)點的反向傳播 132
5.3.3 蘋果的例子 133
5.4 簡單層的實現(xiàn) 135
5.4.1 乘法層的實現(xiàn) 135
5.4.2 加法層的實現(xiàn) 137
5.5 激活函數(shù)層的實現(xiàn) 139
5.5.1 ReLU層 139
5.5.2 Sigmoid 層 141
5.6 Affine/Softmax層的實現(xiàn) 144
5.6.1 Affine層 144
5.6.2 批版本的Affine層 148
5.6.3 Softmax-with-Loss 層 150
5.7 誤差反向傳播法的實現(xiàn) 154
5.7.1 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的全貌圖 154
5.7.2 對應(yīng)誤差反向傳播法的神經(jīng)網(wǎng)絡(luò)的實現(xiàn) 155
5.7.3 誤差反向傳播法的梯度確認 158
5.7.4 使用誤差反向傳播法的學(xué)習(xí) 159
5.8 小結(jié) 161
第6 章 與學(xué)習(xí)相關(guān)的技巧 163
6.1 參數(shù)的更新 163
6.1.1 探險家的故事 164
6.1.2 SGD 164
6.1.3 SGD的缺點 166
6.1.4 Momentum 168
6.1.5 AdaGrad 170
6.1.6 Adam 172
6.1.7 使用哪種更新方法呢 174
6.1.8 基于MNIST數(shù)據(jù)集的更新方法的比較 175
6.2 權(quán)重的初始值 176
6.2.1 可以將權(quán)重初始值設(shè)為0 嗎 176
6.2.2 隱藏層的激活值的分布 177
6.2.3 ReLU的權(quán)重初始值 181
6.2.4 基于MNIST數(shù)據(jù)集的權(quán)重初始值的比較 183
6.3 Batch Normalization 184
6.3.1 Batch Normalization 的算法 184
6.3.2 Batch Normalization 的評估 186
6.4 正則化 188
6.4.1 過擬合 189
6.4.2 權(quán)值衰減 191
6.4.3 Dropout 192
6.5 超參數(shù)的驗證 195
6.5.1 驗證數(shù)據(jù) 195
6.5.2 超參數(shù)的最優(yōu)化 196
6.5.3 超參數(shù)最優(yōu)化的實現(xiàn) 198
6.6 小結(jié) 200
第7 章 卷積神經(jīng)網(wǎng)絡(luò) 201
7.1 整體結(jié)構(gòu) 201
7.2 卷積層 202
7.2.1 全連接層存在的問題 203
7.2.2 卷積運算 203
7.2.3 填充 206
7.2.4 步幅 207
7.2.5 3 維數(shù)據(jù)的卷積運算 209
7.2.6 結(jié)合方塊思考 211
7.2.7 批處理 213
7.3 池化層 214
7.4 卷積層和池化層的實現(xiàn) 216
7.4.1 4 維數(shù)組 216
7.4.2 基于im2col 的展開 217
7.4.3 卷積層的實現(xiàn) 219
7.4.4 池化層的實現(xiàn) 222
7.5 CNN的實現(xiàn) 224
7.6 CNN的可視化 228
7.6.1 第 1 層權(quán)重的可視化 228
7.6.2 基于分層結(jié)構(gòu)的信息提取 230
7.7 具有代表性的CNN 231
7.7.1 LeNet 231
7.7.2 AlexNet 232
7.8 小結(jié) 233
第8 章 深度學(xué)習(xí) 235
8.1 加深網(wǎng)絡(luò) 235
8.1.1 向更深的網(wǎng)絡(luò)出發(fā) 235
8.1.2 進一步提高識別精度 238
8.1.3 加深層的動機 240
8.2 深度學(xué)習(xí)的小歷史 242
8.2.1 ImageNet 243
8.2.2 VGG 244
8.2.3 GoogLeNet 245
8.2.4 ResNet 246
8.3 深度學(xué)習(xí)的高速化 248
8.3.1 需要努力解決的問題 248
8.3.2 基于GPU的高速化 249
8.3.3 分布式學(xué)習(xí) 250
8.3.4 運算精度的位數(shù)縮減 252
8.4 深度學(xué)習(xí)的應(yīng)用案例 253
8.4.1 物體檢測 253
8.4.2 圖像分割 255
8.4.3 圖像標題的生成 256
8.5 深度學(xué)習(xí)的未來 258
8.5.1 圖像風(fēng)格變換 258
8.5.2 圖像的生成 259
8.5.3 自動駕駛 261
8.5.4 Deep Q-Network(強化學(xué)習(xí)) 262
8.6 小結(jié) 264
附錄A Softmax-with-Loss 層的計算圖 267
A.1 正向傳播 268
A.2 反向傳播 270
A.3 小結(jié) 277
參考文獻 279