圖解深度學習與神經網路:從張量到TensorFlow實現

圖解深度學習與神經網路:從張量到TensorFlow實現
定價:474
NT $ 474
  • 作者:張平
  • 出版社:電子工業出版社
  • 出版日期:2018-10-01
  • 語言:簡體中文
  • ISBN10:7121347458
  • ISBN13:9787121347450
  • 裝訂:平裝 / 336頁 / 16k / 19 x 26 cm / 普通級 / 1-1
 

內容簡介

290張圖+110個可執行的Tensor Flow示例程式+演算法示例易懂的神經網路深度學習人工智慧參考書原始程式碼檔供下載本書適合神經網路、深度學習、Tensor Flow 的入門者閱讀。





 

作者介紹

張平,數學與應用數學專業,數學功底深厚,演算法工程師。主要從事圖像演算法研究和產品的應用開發。此外,還從事有關深度學習、機器學習、數據挖掘演算法的應用研發工作。
 

目錄

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
網路書店 類別 折扣 價格
  1. 新書
    $474