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