圖解深度學習與神經網絡:從張量到 TensorFlow 實現 图解深度学习与神经网络:从张量到TensorFlow实现
張平
- 出版商: 電子工業
- 出版日期: 2018-09-01
- 定價: $474
- 售價: 8.5 折 $403
- 語言: 簡體中文
- 頁數: 336
- 裝訂: 平裝
- ISBN: 7121347458
- ISBN-13: 9787121347450
-
相關分類:
DeepLearning、TensorFlow
已絕版
買這商品的人也買了...
-
$352Python 計算機視覺編程 (Programming Computer Vision with Python)
-
$147OpenCV 3 計算機視覺 : Python 語言實現, 2/e (Learning OpenCV 3 Computer Vision with Python, 2/e)
-
$383視覺 SLAM 十四講:從理論到實踐
-
$265Web API 的設計與開發 (Web API : the Good Parts)
-
$450$356 -
$500$390 -
$299深度學習之 TensorFlow:入門、原理與進階實戰
-
$474$450 -
$294$279 -
$332GAN : 實戰生成對抗網絡
-
$354$336 -
$374Python 深度學習實戰:75個有關神經網絡建模、強化學習與遷移學習的解決方案 (Python Deep Learning Cookbook: Over 75 practical recipes on neural network modeling, reinforcement learning, and transfer learning using Python)
-
$280Keras 深度學習實戰
-
$401深度學習原理與實踐
-
$480$379 -
$607Python 深度學習 (Deep Learning with Python)
-
$607機器學習實戰:基於 Scikit-Learn 和 TensorFlow (Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques for Building Intelligent Systems)
-
$450$356 -
$480$379 -
$580$493 -
$580$493 -
$450$405 -
$680$537 -
$780$616 -
$454Kali Linux 2 網絡滲透測試實踐指南, 2/e
相關主題
商品描述
290張圖+110個可執行的TensorFlow示例程序+算法示例易懂的神經網絡深度學習人工智能參考書源代碼文件供下載本書適合神經網絡、深度學習、TensorFlow 的入門者閱讀。
作者簡介
張平,數學與應用數學專業,數學功底深厚,算法工程師。
主要從事圖像算法研究和產品的應用開發。
此外,還從事有關深度學習、機器學習、數據挖掘算法的應用研發工作。
目錄大綱
1深度學習及TensorFlow簡介1
1.1深度學習. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 TensorFlow簡介及安裝. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2基本的數據結構及運算6
2.1張量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1張量的定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Tensor與Numpy的ndarray轉換. . . . . . . . . . . . . . . . . . . . . . 9
2.1.3張量的尺寸. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.4圖像轉換為張量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2隨機數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1均勻(平均)分佈隨機數. . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2正態(高斯)分佈隨機數. . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3單個張量的運算. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.1改變張量的數據類型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.2訪問張量中某一個區域的值. . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3.3轉置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.4改變形狀. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.5歸約運算:求和、平均值、最大(小)值. . . . . . . . . . . . . . . . . 29
2.3.6最大(小)值的位置索引. . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4多個張量之間的運算. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4.1基本運算:加、減、乘、除. . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4.2乘法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.3張量的連接. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4.4張量的堆疊. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.4.5張量的對比. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.5佔位符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.6 Variable對象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3梯度及梯度下降法52
3.1梯度. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2導數計算的鏈式法則. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2.1多個函數和的導數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2.2複合函數的導數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2.3單變量函數的駐點、極值點、鞍點. . . . . . . . . . . . . . . . . . . . . 55
3.2.4多變量函數的駐點、極值點、鞍點. . . . . . . . . . . . . . . . . . . . . 57
3.2.5函數的泰勒級數展開. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.2.6梯度下降法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.3梯度下降法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.3.1 Adagrad法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.3.2 Momentum法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.3.3 NAG法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.3.4 RMSprop法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.3.5具備動量的RMSprop法. . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.3.6 Adadelta法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.3.7 Adam法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.3.8 Batch梯度下降. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.3.9隨機梯度下降. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.3.10 mini-Batch梯度下降. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.4參考文獻. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4回歸分析88
4.1線性回歸分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.1.1一元線性回歸. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.1. 2保存和加載回歸模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.1.3多元線性回歸. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.2非線性回歸分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5全連接神經網絡102
5.1基本概念. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.2計算步驟. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.3神經網絡的矩陣表達. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.4激活函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.4.1 sigmoid激活函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.4.2 tanh激活函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.4. 3 ReLU激活函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.4.4 leaky relu激活函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.4.5 elu激活函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.4.6 crelu激活函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.4.7 selu激活函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.4.8 relu6激活函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.4 .9 softplus激活函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.4.10 softsign激活函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.5參考文獻. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6神經網絡處理分類問題125
6.1 TFRecord文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.1.1將ndarray寫入TFRecord文件. . . . . . . . . . . . . . . . . . . . . . . . 125
6.1.2從TFRecord解析數據. . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.2建立分類問題的數學模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.2.1數據類別(標籤) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.2.2圖像與TFRecrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
6.2.3建立模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
6.3損失函數與訓練模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.3.1 sigmoid損失函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.3.2 softmax損失函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
6.3.3訓練和評估模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.4全連接神經網絡的梯度反向傳播. . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.4.1數學原理及示例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.4.2梯度消失. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
7一維離散卷積168
7.1一維離散卷積的計算原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
7.1.1 full卷積. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
7.1.2 valid卷積. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
7.1.3 same卷積. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
7.1.4 full、same、valid卷積的關係. . . . . . . . . . . . . . . . . . . . . . . . 171
7.2一維卷積定理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
7.2.1一維離散傅里葉變換. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
7.2.2卷積定理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
7.3具備深度的一維離散卷積. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
7.3.1具備深度的張量與卷積核的捲積. . . . . . . . . . . . . . . . . . . . . . . 182
7.3.2具備深度的張量分別與多個卷積核的捲積. . . . . . . . . . . . . . . . . 183
7.3.3多個具備深度的張量分別與多個卷積核的捲積. . . . . . . . . . . . . . . 185
8二維離散卷積187
8.1二維離散卷積的計算原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
8.1.1 full卷積. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
8.1.2 same卷積. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
8.1.3 valid卷積. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
8.1.4 full、same、valid卷積的關係. . . . . . . . . . . . . . . . . . . . . . . . 192
8.1 .5卷積結果的輸出尺寸. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
8.2離散卷積的性質. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
8.2.1可分離的捲積核. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
8.2.2 full和same卷積的性質. . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
8.2.3快速計算卷積. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
8.3二維卷積定理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
8.3.1二維離散傅里葉變換. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
8.3.2二維與一維傅里葉變換的關係. . . . . . . . . . . . . . . . . . . . . . . . 201
8.3.3卷積定理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
8.3.4利用卷積定理快速計算卷積. . . . . . . . . . . . . . . . . . . . . . . . . 203
8.4多深度的離散卷積. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
8.4.1基本的多深度卷積. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
8.4.2一個張量與多個卷積核的捲積. . . . . . . . . . . . . . . . . . . . . . . . 207
8.4.3多個張量分別與多個卷積核的捲積. . . . . . . . . . . . . . . . . . . . . 208
8.4.4在每一深度上分別卷積. . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
8.4.5單個張量與多個卷積核在深度上分別卷積. . . . . . . . . . . . . . . . . 212
8.4.6分離卷積. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
9池化操作218
9.1 same池化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
9.1.1 same最大值池化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
9.1.2多深度張量的same池化. . . . . . . . . . . . . . . . . . . . . . . . . . . 221
9.1.3多個三維張量的same最大值池化. . . . . . . . . . . . . . . . . . . . . . 223
9.1.4 same平均值池化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
9.2 valid池化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
9.2.1多深度張量的vaild池化. . . . . . . . . . . . . . . . . . . . . . . . . . . 228
9.2.2多個三維張量的valid池化. . . . . . . . . . . . . . . . . . . . . . . . . . 229
10卷積神經網絡231
10.1淺層卷積神經網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.2 LeNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
10.3 AlexNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
10.3.1 AlexNet網絡結構詳解. . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
10.3.2 dropout及其梯度下降. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
10.4 VGGNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
10.5 GoogleNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
10.5.1網中網結構. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
10.5.2 Batch Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
10.5.3 BN與卷積運算的關係. . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
10.5.4指數移動平均. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
10.5.5帶有BN操作的捲積神經網絡. . . . . . . . . . . . . . . . . . . . . . . . 276
10.6 ResNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
10.7參考文獻. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
11卷積的梯度反向傳播286
11.1 valid卷積的梯度. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
11.1.1已知卷積核,對未知張量求導. . . . . . . . . . . . . . . . . . . . . . . . 286
11.1.2已知輸入張量,對未知卷積核求導. . . . . . . . . . . . . . . . . . . . . 290
11.2 same卷積的梯度. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
11.2.1已知卷積核,對輸入張量求導. . . . . . . . . . . . . . . . . . . . . . . . 294
11.2.2已知輸入張量,對未知卷積核求導. . . . . . . . . . . . . . . . . . . . . 298
12池化操作的梯度303
12.1平均值池化的梯度. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
12.2最大值池化的梯度. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
13 BN的梯度反向傳播311
13.1 BN操作與卷積的關係. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
13.2示例詳解. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
14 TensorFlow搭建神經網絡的主要函數324