定 價:¥99.00
作 者: | 李金洪 著 |
出版社: | 機械工業(yè)出版社 |
叢編項: | |
標 簽: | 計算機/網(wǎng)絡(luò) 人工智能 |
ISBN: | 9787111590057 | 出版時間: | 2018-02-01 | 包裝: | 平裝-膠訂 |
開本: | 16開 | 頁數(shù): | 字數(shù): |
配套學(xué)習(xí)資源
前言
第1篇 深度學(xué)習(xí)與TensorFlow基礎(chǔ)
第1章 快速了解人工智能與TensorFlow2
1.1 什么是深度學(xué)習(xí)2
1.2 TensorFlow是做什么的3
1.3 TensorFlow的特點4
1.4 其他深度學(xué)習(xí)框架特點及介紹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平臺下載及安裝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 實例1:從一組看似混亂的數(shù)據(jù)中找出y≈2x的規(guī)律19
3.1.1 準備數(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é)點的方法27
3.3.2 實例2:通過字典類型定義輸入節(jié)點28
3.3.3 實例3:直接定義輸入節(jié)點28
3.3.4 定義“學(xué)習(xí)參數(shù)”的變量29
3.3.5 實例4:通過字典類型定義“學(xué)習(xí)參數(shù)”29
3.3.6 定義“運算”29
3.3.7 優(yōu)化函數(shù),優(yōu)化目標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 了解模型的運行機制33
4.1.2 實例5:編寫hello world程序演示session的使用34
4.1.3 實例6:演示with session的使用35
4.1.4 實例7:演示注入機制35
4.1.5 建立session的其他方法36
4.1.6 實例8:使用注入機制獲取節(jié)點36
4.1.7 指定GPU運算37
4.1.8 設(shè)置GPU使用資源37
4.1.9 保存和載入模型的方法介紹38
4.1.10 實例9:保存/載入線性回歸模型38
4.1.11 實例10:分析模型內(nèi)容,演示模型的其他保存方法40
4.1.12 檢查點(Checkpoint)41
4.1.13 實例11:為模型添加保存檢查點41
4.1.14 實例12:更簡便地保存檢查點44
4.1.15 模型操作常用函數(shù)總結(jié)45
4.1.16 TensorBoard可視化介紹45
4.1.17 實例13:線性回歸的TensorBoard可視化46
4.2 TensorFlow基礎(chǔ)類型定義及操作函數(shù)介紹48
4.2.1 張量及操作49
4.2.2 算術(shù)運算函數(shù)55
4.2.3 矩陣相關(guān)的運算56
4.2.4 復(fù)數(shù)操作函數(shù)58
4.2.5 規(guī)約計算59
4.2.6 分割60
4.2.7 序列比較與索引提取61
4.2.8 錯誤類62
4.3 共享變量62
4.3.1 共享變量用途62
4.3.2 使用get-variable獲取變量63
4.3.3 實例14:演示get_variable和Variable的區(qū)別63
4.3.4 實例15:在特定的作用域下獲取變量65
4.3.5 實例16:共享變量功能的實現(xiàn)66
4.3.6 實例17:初始化共享變量的作用域67
4.3.7 實例18:演示作用域與操作符的受限范圍68
4.4 實例19:圖的基本操作70
4.4.1 建立圖70
4.4.2 獲取張量71
4.4.3 獲取節(jié)點操作72
4.4.4 獲取元素列表73
4.4.5 獲取對象73
4.4.6 練習(xí)題74
4.5 配置分布式TensorFlow74
4.5.1 分布式TensorFlow的角色及原理74
4.5.2 分布部署TensorFlow的具體方法75
4.5.3 實例20:使用TensorFlow實現(xiàn)分布式部署訓(xùn)練75
4.6 動態(tài)圖(Eager)81
4.7 數(shù)據(jù)集(tf.data)82
第5章 識別圖中模糊的手寫數(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 分析圖片的特點,定義變量87
5.3 構(gòu)建模型87
5.3.1 定義學(xué)習(xí)參數(shù)87
5.3.2 定義輸出節(jié)點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章 單個神經(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ù)——用真實值與預(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 實例22:交叉熵實驗108
6.5.2 實例23:one_hot實驗109
6.5.3 實例24:sparse交叉熵的使用110
6.5.4 實例25:計算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 實例26:退化學(xué)習(xí)率的用法舉例114
6.7 初始化學(xué)習(xí)參數(shù)115
6.8 單個神經(jīng)元的擴展——Maxout網(wǎng)絡(luò)116
6.8.1 Maxout介紹116
6.8.2 實例27:用Maxout網(wǎng)絡(luò)實現(xiàn)MNIST分類117
6.9 練習(xí)題118
第7章 多層神經(jīng)網(wǎng)絡(luò)——解決非線性問題119
7.1 線性問題與非線性問題119
7.1.1 實例28:用線性單分邏輯回歸分析腫瘤是良性還是惡性的119
7.1.2 實例29:用線性邏輯回歸處理多分類問題123
7.1.3 認識非線性問題129
7.2 使用隱藏層解決非線性問題130
7.2.1 實例30:使用帶隱藏層的神經(jīng)網(wǎng)絡(luò)擬合異或操作130
7.2.2 非線性網(wǎng)絡(luò)的可視化及其意義133
7.2.3 練習(xí)題135
7.3 實例31:利用全連接網(wǎng)絡(luò)將圖片進行分類136
7.4 全連接網(wǎng)絡(luò)訓(xùn)練中的優(yōu)化技巧137
7.4.1 實例32:利用異或數(shù)據(jù)集演示過擬合問題138
7.4.2 正則化143
7.4.3 實例33:通過正則化改善過擬合情況144
7.4.4 實例34:通過增大數(shù)據(jù)集改善過擬合145
7.4.5 練習(xí)題146
7.4.6 dropout——訓(xùn)練過程中,將部分神經(jīng)單元暫時丟棄146
7.4.7 實例35:為異或數(shù)據(jù)集模型添加dropout147
7.4.8 實例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 實例37:卷積函數(shù)的使用160
8.4.4 實例38:使用卷積提取圖片的輪廓165
8.4.5 池化函數(shù)tf.nn.max_pool(avg_pool)167
8.4.6 實例39:池化函數(shù)的使用167
8.5 使用卷積神經(jīng)網(wǎng)絡(luò)對圖片分類170
8.5.1 CIFAR介紹171
8.5.2 下載CIFAR數(shù)據(jù)172
8.5.3 實例40:導(dǎo)入并顯示CIFAR數(shù)據(jù)集173
8.5.4 實例41:顯示CIFAR數(shù)據(jù)集的原始圖片174
8.5.5 cifar10_input的其他功能176
8.5.6 在TensorFlow中使用queue176
8.5.7 實例42:協(xié)調(diào)器的用法演示178
8.5.8 實例43:為session中的隊列加上協(xié)調(diào)器179
8.5.9 實例44:建立一個帶有全局平均池化層的卷積神經(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 實例45:演示反卷積的操作185
8.6.4 反池化原理188
8.6.5 實例46:演示反池化的操作189
8.6.6 實例47:演示gradients基本用法192
8.6.7 實例48:使用gradients對多個式子求多變量偏導(dǎo)192
8.6.8 實例49:演示梯度停止的實現(xiàn)193
8.7 實例50:用反卷積技術(shù)復(fù)原卷積網(wǎng)絡(luò)各層圖像195
8.8 善用函數(shù)封裝庫198
8.8.1 實例51:使用函數(shù)封裝庫重寫CIFAR卷積網(wǎng)絡(luò)198
8.8.2 練習(xí)題201
8.9 深度學(xué)習(xí)的模型訓(xùn)練技巧201
8.9.1 實例52:優(yōu)化卷積核技術(shù)的演示201
8.9.2 實例53:多通道卷積技術(shù)的演示202
8.9.3 批量歸一化204
8.9.4 實例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 隨時間反向傳播213
9.2 簡單RNN215
9.2.1 實例55:簡單循環(huán)神經(jīng)網(wǎng)絡(luò)實現(xiàn)——裸寫一個退位減法器215
9.2.2 實例56:使用RNN網(wǎng)絡(luò)擬合回聲信號序列220
9.3 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的改進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ò)的時序類分類CTC232
9.4 TensorFlow實戰(zhàn)RNN233
9.4.1 TensorFlow中的cell類233
9.4.2 通過cell類構(gòu)建RNN234
9.4.3 實例57:構(gòu)建單層LSTM網(wǎng)絡(luò)對MNIST數(shù)據(jù)集分類239
9.4.4 實例58:構(gòu)建單層GRU網(wǎng)絡(luò)對MNIST數(shù)據(jù)集分類240
9.4.5 實例59:創(chuàng)建動態(tài)單層RNN網(wǎng)絡(luò)對MNIST數(shù)據(jù)集分類240
9.4.6 實例60:靜態(tài)多層LSTM對MNIST數(shù)據(jù)集分類241
9.4.7 實例61:靜態(tài)多層RNN-LSTM連接GRU對MNIST數(shù)據(jù)集分類242
9.4.8 實例62:動態(tài)多層RNN對MNIST數(shù)據(jù)集分類242
9.4.9 練習(xí)題243
9.4.10 實例63:構(gòu)建單層動態(tài)雙向RNN對MNIST數(shù)據(jù)集分類243
9.4.11 實例64:構(gòu)建單層靜態(tài)雙向RNN對MNIST數(shù)據(jù)集分類244
9.4.12 實例65:構(gòu)建多層雙向RNN對MNIST數(shù)據(jù)集分類246
9.4.13 實例66:構(gòu)建動態(tài)多層雙向RNN對MNIST數(shù)據(jù)集分類247
9.4.14 初始化RNN247
9.4.15 優(yōu)化RNN248
9.4.16 實例67:在GRUCell中實現(xiàn)LN249
9.4.17 CTC網(wǎng)絡(luò)的loss——ctc_loss251
9.4.18 CTCdecoder254
9.5 實例68:利用BiRNN實現(xiàn)語音識別255
9.5.1 語音識別背景255
9.5.2 獲取并整理樣本256
9.5.3 訓(xùn)練模型265
9.5.4 練習(xí)題272
9.6 實例69:利用RNN訓(xùn)練語言模型273
9.6.1 準備樣本273
9.6.2 構(gòu)建模型275
9.7 語言模型的系統(tǒng)學(xué)習(xí)279
9.7.1 統(tǒng)計語言模型279
9.7.2 詞向量279
9.7.3 word2vec281
9.7.4 實例70:用CBOW模型訓(xùn)練自己的word2vec283
9.7.5 實例71:使用指定侯選采樣本訓(xùn)練word2vec293
9.7.6 練習(xí)題296
9.8 處理