揭秘人工智能核心技術——深度學習理論與實踐
劉海軍
- 出版商: 清華大學
- 出版日期: 2024-01-01
- 定價: $414
- 售價: 8.5 折 $352
- 語言: 簡體中文
- ISBN: 7512151543
- ISBN-13: 9787512151543
-
相關分類:
DeepLearning
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本書包含六大部分:第一部分主要介紹深度學習Python語言的基礎知識,講述Python基本語法(輸入、輸出、數據類型、流程控制、函數、文件和目錄)、數組計算(NumPy庫)、繪圖庫(Matplotlib庫)等;第二部分主要介紹Keras編程基礎,以及?Keras?中提供的大量的深度學習API;第三部分主要介紹數據處理方法,包括對類別的數據處理方法和對特徵的數據處理方法,以及對缺失數據處理方法等;第四部分主要介紹各種深度模型原理及應用Keras搭建各種深度學習模型的方法,如捲積神經網絡、循環神經網絡等;第五部分主要介紹模型訓練中的一些超參數及技巧;第六部分主要介紹深度學習模型的應用,包含深度學習解決分類問題、回歸問題、自然語言處理問題等。 本書可作為本科生、研究生學習深度學習的入門教材使用,也可以為廣大有志於從事深度學習科研工作的科研工作者提供通俗、易懂、全面的學習材料。
目錄大綱
目 錄
第1章 Python語言程序設計基礎 1
1.1 Python開發環境簡介 1
1.2 Python編程基礎 2
1.3 Python基本數據類型 3
1.3.1 數字 4
1.3.2 字符串 4
1.3.3 列表 5
1.3.4 元組 8
1.3.5 字典 9
1.3.6 集合 10
1.4 賦值 12
1.5 流程控制 13
1.5.1 關系運算符和邏輯運算符 13
1.5.2 分支結構 13
1.5.3 循環結構 16
1.6 函數 18
1.7 文件和目錄方法 20
1.8 NumPy庫的使用 23
1.8.1 NumPy模塊簡介 23
1.8.2 N維數組對象:ndarray 23
1.8.3 ndarray數組的創建方法 24
1.8.4 ndarray數組的屬性 29
1.8.5 ndarray數組的變換 30
1.8.6 ndarray數組的運算操作 32
1.8.7 ndarray數組的索引和切片 33
1.8.8 NumPy中的常見函數 36
1.9 Matplotlib庫的使用 41
1.9.1 繪制坐標圖 41
1.9.2 繪制餅狀圖 47
1.9.3 繪制條形圖 48
1.9.4 繪制散點圖 49
第2章 Keras基礎 51
2.1 Keras簡介與安裝 51
2.2 Keras的API 52
第3章 Keras網絡層 53
3.1 常用層 53
3.1.1 Dense層 53
3.1.2 Activation層 54
3.1.3 Dropout層 54
3.1.4 Flatten層 54
3.1.5 Reshape層 55
3.1.6 Permute層 55
3.1.7 RepeatVector層 55
3.1.8 Lambda層 55
3.1.9 ActivityRegularization層 56
3.2 捲積層 56
3.2.1 Conv1D層 56
3.2.2 Conv2D層 57
3.2.3 Conv3D層 58
3.2.4 SeparableConv1D層 60
3.2.5 SeparableConv2D層 61
3.2.6 DepthwiseConv2D層 62
3.2.7 Conv2DTranspose層 63
3.2.8 Cropping1D層 64
3.2.9 Cropping2D層 64
3.2.10 Cropping3D層 65
3.2.11 UpSampling1D層 65
3.2.12 UpSampling2D層 65
3.2.13 UpSampling3D層 66
3.2.14 ZeroPadding1D層 66
3.2.15 ZeroPadding2D層 67
3.2.16 ZeroPadding3D層 67
3.3 池化層 68
3.3.1 MaxPooling1D層 68
3.3.2 MaxPooling2D層 68
3.3.3 MaxPooling3D層 69
3.3.4 AveragePooling1D層 70
3.3.5 AveragePooling2D層 70
3.3.6 AveragePooling3D層 71
3.3.7 GlobalMaxPooling1D層 71
3.3.8 GlobalMaxPooling2D層 71
3.3.9 GlobalMaxPooling3D層 72
3.3.10 GlobalAveragePooling1D層 72
3.3.11 GlobalAveragePooling2D層 72
3.3.12 GlobalAveragePooling3D層 73
3.4 局部連接層 73
3.4.1 LocallyConnected1D層 73
3.4.2 LocallyConnected2D層 74
3.5 循環層 76
3.5.1 RNN層 76
3.5.2 Masking層 77
3.5.3 SimpleRNN層 77
3.5.4 GRU層 78
3.5.5 ConvLSTM2D層 79
3.5.6 ConvLSTM2Dcell層 80
3.5.7 SimpleRNNCell層 81
3.5.8 GRUCell層 82
3.5.9 LSTMCell層 83
3.5.10 CuDNNGRU層 84
3.5.11 CuDNNLSTM層 84
3.6 嵌入層 85
3.7 融合層 86
3.7.1 Add層 86
3.7.2 Subtract層 87
3.7.3 Multiply層 87
3.7.4 Average層 87
3.8 高級激活層 88
3.8.1 ReLU層 88
3.8.2 LeakyReLU層 88
3.8.3 PReLU層 88
3.8.4 ELU層 89
3.8.5 ThresholdedReLU層 89
3.8.6 Softmax層 89
3.9 標準化層 90
3.10 噪聲層 91
3.10.1 GaussianNoise層 91
3.10.2 GaussianDropout層 91
3.10.3 AlphaDropout層 91
3.11 層封裝器 92
3.11.1 TimeDistributed層 92
3.11.2 Bidirectional層 92
第4章 數據預處理 94
4.1 樣本的預處理方法 94
4.1.1 z-score規範化 94
4.1.2 MinMax歸一化 95
4.1.3 均值歸一化 95
4.1.4 非線性歸一化 95
4.1.5 MaxAbs歸一化 96
4.1.6 正態分佈化 96
4.1.7 中心化/零均值化 96
4.1.8 數據降維 97
4.2 標簽的處理方法 99
4.2.1 LabelEncode編碼 99
4.2.2 獨熱編碼 99
4.2.3 LabelBinarizer 100
4.2.4 MultiLabelBinarizer 100
4.3 缺失值的處理 101
4.3.1 刪除缺失值 102
4.3.2 填充缺失值 102
第5章 Keras模型搭建法 105
5.1 順序API模型 105
5.1.1 導入層及數據集 105
5.1.2 數據預處理 107
5.1.3 模型結構 107
5.1.4 模型配置 109
5.1.5 訓練模型 109
5.1.6 可視化模型結構 109
5.1.7 模型的保存與加載 110
5.1.8 模型的評價 111
5.1.9 順序API模型完整代碼 111
5.2 函數API模型 113
5.2.1 導入層及數據集 113
5.2.2 數據預處理 114
5.2.3 模型結構 114
5.2.4 模型配置 115
5.2.5 訓練模型 116
5.2.6 可視化模型結構 116
5.2.7 模型的評價 117
5.2.8 函數API模型完整代碼 117
5.3 子類API模型 119
5.3.1 導入層及數據集 119
5.3.2 數據預處理 120
5.3.3 模型結構 120
5.3.4 模型配置 121
5.3.5 訓練模型 122
5.3.6 可視化模型結構 122
5.3.7 模型的評價 122
5.3.8 子類API模型完整代碼 123
第6章 利用Keras搭建捲積神經網絡 125
6.1 捲積神經網絡 125
6.1.1 序貫式模型搭建法 126
6.1.2 函數式模型搭建法 130
6.1.3 共享輸入層的捲積神經網絡搭建 133
6.1.4 含有共享捲積層的捲積神經網絡搭建 136
6.1.5 多輸入層的捲積神經網絡 139
6.2 主流的捲積神經網絡 141
6.2.1 LeNet?5網絡 141
6.2.2 VGG網絡 143
6.2.3 ResNet網絡 144
第7章 利用Keras搭建遞歸神經網絡 146
7.1 RNN 146
7.1.1 數據集的選擇 147
7.1.2 導入相應的包 147
7.1.3 數據的預處理階段 148
7.1.4 建模型階段 149
7.1.5 模型訓練配置參數階段 149
7.1.6 模型的訓練階段 149
7.1.7 模型的預測與評價階段 150
7.1.8 完整代碼 150
7.2 LSTM 152
7.2.1 建模型階段 154
7.2.2 完整代碼 155
7.3 GRU 157
7.3.1 建模型階段 158
7.3.2 完整代碼 159
7.4 BiLSTM 161
7.4.1 建模型階段 161
7.4.2 完整代碼 162
7.5 BiGRU 164
7.5.1 建模型階段 164
7.5.2 完整代碼 164
7.6 ConvLSTM 167
7.6.1 建模型階段 168
7.6.2 完整代碼 168
7.7 Transformer模型 170
7.7.1 導入層及數據集 170
7.7.2 數據預處理 172
7.7.3 Token和Position編碼 172
7.7.4 編解碼器構造 173
7.7.5 Transformer主體 174
7.7.6 模型訓練與評估 174
7.7.7 Transformer完整代碼 175
第8章 模型訓練 178
8.1 優化器 178
8.1.1 SGD 178
8.1.2 SGDM 179
8.1.3 Adagrad 179
8.1.4 RMSProp 180
8.1.5 Adam 181
8.1.6 優化器的選擇 182
8.1.7 完整代碼 184
8.2 損失函數 189
8.2.1 分類問題的損失函數 189
8.2.2 回歸問題的損失函數 190
8.2.3 損失函數的導入 190
8.2.4 完整代碼 191
8.3 學習率 193
8.3.1 學習率的種類和選擇 193
8.3.2 學習率的設置方法 193
8.3.3 學習率對模型訓練的影響 194
8.3.4 完整代碼 194
8.4 正則化 196
8.4.1 L1和L2正則化 196
8.4.2 Dropout正則化 200
8.4.3 其他正則化方法 202
第9章 應用 203
9.1 分類問題 203
9.1.1 Fashion_mnist數據集 203
9.1.2 Cifar10數據集 217
9.1.3 mnist數據集 228
9.1.4 Iris數據集 234
9.1.5 Wine數據集 240
9.2 回歸問題 245
9.2.1 騰訊股票數據集 246
9.2.2 北京空氣質量PM2.5數據集 259
9.3 自然語言處理 276