定 價(jià):¥99.00
作 者: | 李金洪 著 |
出版社: | 機(jī)械工業(yè)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 計(jì)算機(jī)/網(wǎng)絡(luò) 人工智能 |
ISBN: | 9787111590057 | 出版時(shí)間: | 2018-02-01 | 包裝: | 平裝-膠訂 |
開本: | 16開 | 頁數(shù): | 字?jǐn)?shù): |
配套學(xué)習(xí)資源
前言
第1篇 深度學(xué)習(xí)與TensorFlow基礎(chǔ)
第1章 快速了解人工智能與TensorFlow2
1.1 什么是深度學(xué)習(xí)2
1.2 TensorFlow是做什么的3
1.3 TensorFlow的特點(diǎn)4
1.4 其他深度學(xué)習(xí)框架特點(diǎn)及介紹5
1.5 如何通過本書學(xué)好深度學(xué)習(xí)6
1.5.1 深度學(xué)習(xí)怎么學(xué)6
1.5.2 如何學(xué)習(xí)本書7
第2章 搭建開發(fā)環(huán)境8
2.1 下載及安裝Anaconda開發(fā)工具8
2.2 在Windows平臺(tái)下載及安裝TensorFlow11
2.3 GPU版本的安裝方法12
2.3.1 安裝CUDA軟件包12
2.3.2 安裝cuDNN庫13
2.3.3 測試顯卡14
2.4 熟悉Anaconda 3開發(fā)工具15
2.4.1 快速了解Spyder16
2.4.2 快速了解Jupyter Notebook18
第3章 TensorFlow基本開發(fā)步驟——以邏輯回歸擬合二維數(shù)據(jù)為例19
3.1 實(shí)例1:從一組看似混亂的數(shù)據(jù)中找出y≈2x的規(guī)律19
3.1.1 準(zhǔn)備數(shù)據(jù)20
3.1.2 搭建模型21
3.1.3 迭代訓(xùn)練模型23
3.1.4 使用模型25
3.2 模型是如何訓(xùn)練出來的25
3.2.1 模型里的內(nèi)容及意義25
3.2.2 模型內(nèi)部的數(shù)據(jù)流向26
3.3 了解TensorFlow開發(fā)的基本步驟27
3.3.1 定義輸入節(jié)點(diǎn)的方法27
3.3.2 實(shí)例2:通過字典類型定義輸入節(jié)點(diǎn)28
3.3.3 實(shí)例3:直接定義輸入節(jié)點(diǎn)28
3.3.4 定義“學(xué)習(xí)參數(shù)”的變量29
3.3.5 實(shí)例4:通過字典類型定義“學(xué)習(xí)參數(shù)”29
3.3.6 定義“運(yùn)算”29
3.3.7 優(yōu)化函數(shù),優(yōu)化目標(biāo)30
3.3.8 初始化所有變量30
3.3.9 迭代更新參數(shù)到最優(yōu)解31
3.3.10 測試模型31
3.3.11 使用模型31
第4章 TensorFlow編程基礎(chǔ)32
4.1 編程模型32
4.1.1 了解模型的運(yùn)行機(jī)制33
4.1.2 實(shí)例5:編寫hello world程序演示session的使用34
4.1.3 實(shí)例6:演示with session的使用35
4.1.4 實(shí)例7:演示注入機(jī)制35
4.1.5 建立session的其他方法36
4.1.6 實(shí)例8:使用注入機(jī)制獲取節(jié)點(diǎn)36
4.1.7 指定GPU運(yùn)算37
4.1.8 設(shè)置GPU使用資源37
4.1.9 保存和載入模型的方法介紹38
4.1.10 實(shí)例9:保存/載入線性回歸模型38
4.1.11 實(shí)例10:分析模型內(nèi)容,演示模型的其他保存方法40
4.1.12 檢查點(diǎn)(Checkpoint)41
4.1.13 實(shí)例11:為模型添加保存檢查點(diǎn)41
4.1.14 實(shí)例12:更簡便地保存檢查點(diǎn)44
4.1.15 模型操作常用函數(shù)總結(jié)45
4.1.16 TensorBoard可視化介紹45
4.1.17 實(shí)例13:線性回歸的TensorBoard可視化46
4.2 TensorFlow基礎(chǔ)類型定義及操作函數(shù)介紹48
4.2.1 張量及操作49
4.2.2 算術(shù)運(yùn)算函數(shù)55
4.2.3 矩陣相關(guān)的運(yùn)算56
4.2.4 復(fù)數(shù)操作函數(shù)58
4.2.5 規(guī)約計(jì)算59
4.2.6 分割60
4.2.7 序列比較與索引提取61
4.2.8 錯(cuò)誤類62
4.3 共享變量62
4.3.1 共享變量用途62
4.3.2 使用get-variable獲取變量63
4.3.3 實(shí)例14:演示get_variable和Variable的區(qū)別63
4.3.4 實(shí)例15:在特定的作用域下獲取變量65
4.3.5 實(shí)例16:共享變量功能的實(shí)現(xiàn)66
4.3.6 實(shí)例17:初始化共享變量的作用域67
4.3.7 實(shí)例18:演示作用域與操作符的受限范圍68
4.4 實(shí)例19:圖的基本操作70
4.4.1 建立圖70
4.4.2 獲取張量71
4.4.3 獲取節(jié)點(diǎn)操作72
4.4.4 獲取元素列表73
4.4.5 獲取對(duì)象73
4.4.6 練習(xí)題74
4.5 配置分布式TensorFlow74
4.5.1 分布式TensorFlow的角色及原理74
4.5.2 分布部署TensorFlow的具體方法75
4.5.3 實(shí)例20:使用TensorFlow實(shí)現(xiàn)分布式部署訓(xùn)練75
4.6 動(dòng)態(tài)圖(Eager)81
4.7 數(shù)據(jù)集(tf.data)82
第5章 識(shí)別圖中模糊的手寫數(shù)字(實(shí)例21)83
5.1 導(dǎo)入圖片數(shù)據(jù)集84
5.1.1 MNIST數(shù)據(jù)集介紹84
5.1.2 下載并安裝MNIST數(shù)據(jù)集85
5.2 分析圖片的特點(diǎn),定義變量87
5.3 構(gòu)建模型87
5.3.1 定義學(xué)習(xí)參數(shù)87
5.3.2 定義輸出節(jié)點(diǎn)88
5.3.3 定義反向傳播的結(jié)構(gòu)88
5.4 訓(xùn)練模型并輸出中間狀態(tài)參數(shù)89
5.5 測試模型90
5.6 保存模型91
5.7 讀取模型92
第2篇 深度學(xué)習(xí)基礎(chǔ)——神經(jīng)網(wǎng)絡(luò)
第6章 單個(gè)神經(jīng)元96
6.1 神經(jīng)元的擬合原理96
6.1.1 正向傳播98
6.1.2 反向傳播98
6.2 激活函數(shù)——加入非線性因素,解決線性模型缺陷99
6.2.1 Sigmoid函數(shù)99
6.2.2 Tanh函數(shù)100
6.2.3 ReLU函數(shù)101
6.2.4 Swish函數(shù)103
6.2.5 激活函數(shù)總結(jié)103
6.3 softmax算法——處理分類問題103
6.3.1 什么是softmax104
6.3.2 softmax原理104
6.3.3 常用的分類函數(shù)105
6.4 損失函數(shù)——用真實(shí)值與預(yù)測值的距離來指導(dǎo)模型的收斂方向105
6.4.1 損失函數(shù)介紹105
6.4.2 TensorFlow中常見的loss函數(shù)106
6.5 softmax算法與損失函數(shù)的綜合應(yīng)用108
6.5.1 實(shí)例22:交叉熵實(shí)驗(yàn)108
6.5.2 實(shí)例23:one_hot實(shí)驗(yàn)109
6.5.3 實(shí)例24:sparse交叉熵的使用110
6.5.4 實(shí)例25:計(jì)算loss值110
6.5.5 練習(xí)題111
6.6 梯度下降——讓模型逼近最小偏差111
6.6.1 梯度下降的作用及分類111
6.6.2 TensorFlow中的梯度下降函數(shù)112
6.6.3 退化學(xué)習(xí)率——在訓(xùn)練的速度與精度之間找到平衡113
6.6.4 實(shí)例26:退化學(xué)習(xí)率的用法舉例114
6.7 初始化學(xué)習(xí)參數(shù)115
6.8 單個(gè)神經(jīng)元的擴(kuò)展——Maxout網(wǎng)絡(luò)116
6.8.1 Maxout介紹116
6.8.2 實(shí)例27:用Maxout網(wǎng)絡(luò)實(shí)現(xiàn)MNIST分類117
6.9 練習(xí)題118
第7章 多層神經(jīng)網(wǎng)絡(luò)——解決非線性問題119
7.1 線性問題與非線性問題119
7.1.1 實(shí)例28:用線性單分邏輯回歸分析腫瘤是良性還是惡性的119
7.1.2 實(shí)例29:用線性邏輯回歸處理多分類問題123
7.1.3 認(rèn)識(shí)非線性問題129
7.2 使用隱藏層解決非線性問題130
7.2.1 實(shí)例30:使用帶隱藏層的神經(jīng)網(wǎng)絡(luò)擬合異或操作130
7.2.2 非線性網(wǎng)絡(luò)的可視化及其意義133
7.2.3 練習(xí)題135
7.3 實(shí)例31:利用全連接網(wǎng)絡(luò)將圖片進(jìn)行分類136
7.4 全連接網(wǎng)絡(luò)訓(xùn)練中的優(yōu)化技巧137
7.4.1 實(shí)例32:利用異或數(shù)據(jù)集演示過擬合問題138
7.4.2 正則化143
7.4.3 實(shí)例33:通過正則化改善過擬合情況144
7.4.4 實(shí)例34:通過增大數(shù)據(jù)集改善過擬合145
7.4.5 練習(xí)題146
7.4.6 dropout——訓(xùn)練過程中,將部分神經(jīng)單元暫時(shí)丟棄146
7.4.7 實(shí)例35:為異或數(shù)據(jù)集模型添加dropout147
7.4.8 實(shí)例36:基于退化學(xué)習(xí)率dropout技術(shù)來擬合異或數(shù)據(jù)集149
7.4.9 全連接網(wǎng)絡(luò)的深淺關(guān)系150
7.5 練習(xí)題150
第8章 卷積神經(jīng)網(wǎng)絡(luò)——解決參數(shù)太多問題151
8.1 全連接網(wǎng)絡(luò)的局限性151
8.2 理解卷積神經(jīng)網(wǎng)絡(luò)152
8.3 網(wǎng)絡(luò)結(jié)構(gòu)153
8.3.1 網(wǎng)絡(luò)結(jié)構(gòu)描述153
8.3.2 卷積操作155
8.3.3 池化層157
8.4 卷積神經(jīng)網(wǎng)絡(luò)的相關(guān)函數(shù)158
8.4.1 卷積函數(shù)tf.nn.conv2d158
8.4.2 padding規(guī)則介紹159
8.4.3 實(shí)例37:卷積函數(shù)的使用160
8.4.4 實(shí)例38:使用卷積提取圖片的輪廓165
8.4.5 池化函數(shù)tf.nn.max_pool(avg_pool)167
8.4.6 實(shí)例39:池化函數(shù)的使用167
8.5 使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖片分類170
8.5.1 CIFAR介紹171
8.5.2 下載CIFAR數(shù)據(jù)172
8.5.3 實(shí)例40:導(dǎo)入并顯示CIFAR數(shù)據(jù)集173
8.5.4 實(shí)例41:顯示CIFAR數(shù)據(jù)集的原始圖片174
8.5.5 cifar10_input的其他功能176
8.5.6 在TensorFlow中使用queue176
8.5.7 實(shí)例42:協(xié)調(diào)器的用法演示178
8.5.8 實(shí)例43:為session中的隊(duì)列加上協(xié)調(diào)器179
8.5.9 實(shí)例44:建立一個(gè)帶有全局平均池化層的卷積神經(jīng)網(wǎng)絡(luò)180
8.5.10 練習(xí)題183
8.6 反卷積神經(jīng)網(wǎng)絡(luò)183
8.6.1 反卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用場景184
8.6.2 反卷積原理184
8.6.3 實(shí)例45:演示反卷積的操作185
8.6.4 反池化原理188
8.6.5 實(shí)例46:演示反池化的操作189
8.6.6 實(shí)例47:演示gradients基本用法192
8.6.7 實(shí)例48:使用gradients對(duì)多個(gè)式子求多變量偏導(dǎo)192
8.6.8 實(shí)例49:演示梯度停止的實(shí)現(xiàn)193
8.7 實(shí)例50:用反卷積技術(shù)復(fù)原卷積網(wǎng)絡(luò)各層圖像195
8.8 善用函數(shù)封裝庫198
8.8.1 實(shí)例51:使用函數(shù)封裝庫重寫CIFAR卷積網(wǎng)絡(luò)198
8.8.2 練習(xí)題201
8.9 深度學(xué)習(xí)的模型訓(xùn)練技巧201
8.9.1 實(shí)例52:優(yōu)化卷積核技術(shù)的演示201
8.9.2 實(shí)例53:多通道卷積技術(shù)的演示202
8.9.3 批量歸一化204
8.9.4 實(shí)例54:為CIFAR圖片分類模型添加BN207
8.9.5 練習(xí)題209
第9章 循環(huán)神經(jīng)網(wǎng)絡(luò)——具有記憶功能的網(wǎng)絡(luò)210
9.1 了解RNN的工作原理210
9.1.1 了解人的記憶原理210
9.1.2 RNN網(wǎng)絡(luò)的應(yīng)用領(lǐng)域212
9.1.3 正向傳播過程212
9.1.4 隨時(shí)間反向傳播213
9.2 簡單RNN215
9.2.1 實(shí)例55:簡單循環(huán)神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)——裸寫一個(gè)退位減法器215
9.2.2 實(shí)例56:使用RNN網(wǎng)絡(luò)擬合回聲信號(hào)序列220
9.3 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的改進(jìn)225
9.3.1 LSTM網(wǎng)絡(luò)介紹225
9.3.2 窺視孔連接(Peephole)228
9.3.3 帶有映射輸出的STMP230
9.3.4 基于梯度剪輯的cell230
9.3.5 GRU網(wǎng)絡(luò)介紹230
9.3.6 Bi-RNN網(wǎng)絡(luò)介紹231
9.3.7 基于神經(jīng)網(wǎng)絡(luò)的時(shí)序類分類CTC232
9.4 TensorFlow實(shí)戰(zhàn)RNN233
9.4.1 TensorFlow中的cell類233
9.4.2 通過cell類構(gòu)建RNN234
9.4.3 實(shí)例57:構(gòu)建單層LSTM網(wǎng)絡(luò)對(duì)MNIST數(shù)據(jù)集分類239
9.4.4 實(shí)例58:構(gòu)建單層GRU網(wǎng)絡(luò)對(duì)MNIST數(shù)據(jù)集分類240
9.4.5 實(shí)例59:創(chuàng)建動(dòng)態(tài)單層RNN網(wǎng)絡(luò)對(duì)MNIST數(shù)據(jù)集分類240
9.4.6 實(shí)例60:靜態(tài)多層LSTM對(duì)MNIST數(shù)據(jù)集分類241
9.4.7 實(shí)例61:靜態(tài)多層RNN-LSTM連接GRU對(duì)MNIST數(shù)據(jù)集分類242
9.4.8 實(shí)例62:動(dòng)態(tài)多層RNN對(duì)MNIST數(shù)據(jù)集分類242
9.4.9 練習(xí)題243
9.4.10 實(shí)例63:構(gòu)建單層動(dòng)態(tài)雙向RNN對(duì)MNIST數(shù)據(jù)集分類243
9.4.11 實(shí)例64:構(gòu)建單層靜態(tài)雙向RNN對(duì)MNIST數(shù)據(jù)集分類244
9.4.12 實(shí)例65:構(gòu)建多層雙向RNN對(duì)MNIST數(shù)據(jù)集分類246
9.4.13 實(shí)例66:構(gòu)建動(dòng)態(tài)多層雙向RNN對(duì)MNIST數(shù)據(jù)集分類247
9.4.14 初始化RNN247
9.4.15 優(yōu)化RNN248
9.4.16 實(shí)例67:在GRUCell中實(shí)現(xiàn)LN249
9.4.17 CTC網(wǎng)絡(luò)的loss——ctc_loss251
9.4.18 CTCdecoder254
9.5 實(shí)例68:利用BiRNN實(shí)現(xiàn)語音識(shí)別255
9.5.1 語音識(shí)別背景255
9.5.2 獲取并整理樣本256
9.5.3 訓(xùn)練模型265
9.5.4 練習(xí)題272
9.6 實(shí)例69:利用RNN訓(xùn)練語言模型273
9.6.1 準(zhǔn)備樣本273
9.6.2 構(gòu)建模型275
9.7 語言模型的系統(tǒng)學(xué)習(xí)279
9.7.1 統(tǒng)計(jì)語言模型279
9.7.2 詞向量279
9.7.3 word2vec281
9.7.4 實(shí)例70:用CBOW模型訓(xùn)練自己的word2vec283
9.7.5 實(shí)例71:使用指定侯選采樣本訓(xùn)練word2vec293
9.7.6 練習(xí)題296
9.8 處理