編輯推薦
適讀人群 :1 中職、高職高專及應用型本科院校人工智能相關專業的學生。 2 希望轉業從事人工智能領域相關工作的零基礎人。 3 對人工智能感興趣但沒有技術背景的人。 4 可作為人工智能的普及讀物供廣大愛好者(特別是對自然語言處理感興趣的大學生、工程師和研究人員)自學和交流參考。
1 細緻講解人工智能中深度學習的基礎知識,為即將進入深度學習領域進行研究的讀者奠定基礎。
2 採用任務驅動的編寫方式,可以直接進行實驗效果體驗,並進行自由調整,操作性強。
3 提供豐富的教學資源,包括電子課件、習題解答、實驗設計、指導書等,還提供實踐所需的虛擬機以及其他配套工具軟體,可以輕鬆上手。
4 逐步建設在線教學網站,教學資源上傳網上,提供線上與線下同步學習。
內容簡介
本書旨在介紹人工智能中深度學習的基礎知識,為即將進入深度學習領域進行研究的讀者奠定基礎。全書共13章,其中,第1~4章為理論部分,第5~13章為應用部分。理論部分介紹了機器學習和深度學習的基本內容,以及TensorFlow開發框架的搭建和使用;應用部分設置了多個項目案例,並介紹了這些案例詳細的實現步驟和代碼,使讀者在練習中熟悉和掌握相關知識的應用方法與技巧。
本書採用項目驅動的編寫方式,做到了理論和實踐的結合。每個項目案例都提供配套的數據源文件和源代碼文件,使讀者可以直接感受案例效果。讀者也可以在相關案例代碼的基礎上調整相關參數,得到不一樣的結果,以加深理解。
本書適合作為高等院校的人工智能課程教材,也可作為人工智能相關培訓的教材。
作者簡介
許桂秋 《大數據導論》《Python編程基礎與應用》《NoSQL資料庫原理與應用》《數據挖掘與機器學習》等9本系列教材,浙江科技出版社,2019年。
目錄
1 章 緒論 1
1 1 人工智能 2
1 1 1 人工智能簡介 2
1 1 2 人工智能三大學派 3
1 2 機器學習 3
1 2 1 機器學習簡介 3
1 2 2 機器學習分類 4
1 3 淺層學習和深度學習 6
1 3 1 淺層學習 6
1 3 2 深度學習 6
1 4 本章小結 7
第 2 章 深度學習基礎 9
2 1 深層神經網絡簡介 10
2 1 1 神經元模型 10
2 1 2 單層神經網絡 11
2 1 3 深層神經網絡 12
2 1 4 深層神經網絡節點 12
2 1 5 深層神經網絡參數 13
2 1 6 節點輸出值的計算方式 13
2 2 機器學習模型的評估方法 14
2 3 深層神經網絡的訓練與優化 16
2 3 1 深層神經網絡的訓練 16
2 3 2 深層神經網絡的優化 21
2 4 本章小結 23
第 3 章 搭建深度學習框架 25
3 1 常見的深度學習框架 26
3 1 1 TensorFlow 26
3 1 2 Caffe 27
3 1 3 Keras 28
3 1 4 Torch 28
3 1 5 MXNet 28
3 1 6 CNTK 29
3 2 安裝 TensorFlow 29
3 2 1 安裝準備 30
3 2 2 在 Python 環境中安裝 TensorFlow 35
3 2 3 TensorFlow 的使用 36
3 3 TensorFlow Playground 37
3 3 1 菜單選項 38
3 3 2 DATA 區域 39
3 3 3 FEATURES 區域 40
3 3 4 HIDDEN LAYERS 區域 40
3 3 5 OUTPUT 區域 41
3 4 Keras 的核心組件 43
3 4 1 Models API 45
3 4 2 Layers API 45
3 4 3 Callbacks API 47
3 4 4 Data preprocessing 47
3 4 5 Metrics 50
3 5 使用 TensorFlow 實現神經網絡 51
3 6 本章小結 58
第 4 章 TensorFlow 編程基礎 59
4 1 計算圖與張量 60
4 1 1 初識計算圖與張量 60
4 1 2 TensorFlow 的計算模型--計算圖 60
4 1 3 TensorFlow 的數據模型--張量 63
4 2 TensorFlow 的運行模型--會話 65
4 2 1 TensorFlow 系統結構 65
4 2 2 會話的使用 67
4 2 3 會話的配置 68
4 2 4 佔位符的使用 69
4 3 TensorFlow 變數 70
4 3 1 變數的創建 70
4 3 2 變數與張量 73
4 3 3 管理變數空間 75
4 4 識別圖像中模糊的手寫數字 79
4 5 本章小結 85
第 5 章 使用 Keras 搭建多層感知機識別 MNIST 數據集 87
5 1 構建項目 88
5 2 下載和預處理 MNIST 數據集 88
5 2 1 下載數據集 88
5 2 2 預處理數據集 89
5 3 搭建並訓練多層感知機 94
5 3 1 搭建模型 94
5 3 2 訓練模型 95
5 4 改進模型 98
5 4 1 搭建模型 98
5 4 2 訓練模型 99
5 5 評估訓練結果 101
5 5 1 評估模型準確率 101
5 5 2 使用模型進行預測 102
5 5 3 建立混淆矩陣 103
5 6 本章小結 105
第 6 章 優化多層感知機 107
6 1 構建項目 108
6 2 搭建帶有隱藏層的模型 108
6 3 誤差與過擬合問題 111
6 3 1 訓練誤差與泛化誤差 111
6 3 2 過擬合問題 112
6 4 過擬合的處理方法 112
6 4 1 增加隱藏層神經元 112
6 4 2 加入 Dropout 機制 115
6 4 3 增加隱藏層 117
6 5 保存模型 119
6 5 1 將模型保存為 JSON 格式文件 119
6 5 2 保存模型權重 122
6 6 本章小結 123
第 7 章 項目 1:識別 Fashion MNIST 數據集 125
7 1 卷積神經網絡簡介 126
7 2 LeNet-5 卷積模型 126
7 3 Fashion MNIST 數據集 128
7 3 1 Fashion MNIST 數據集簡介 128
7 3 2 下載 Fashion MNIST 數據集 128
7 3 3 查看數據 128
7 4 搭建 LeNet-5 卷積模型並識別 Fashion MNIST 數據集 130
7 4 1 預處理數據 130
7 4 2 搭建 LeNet-5 卷積模型 131
7 4 3 訓練與評估 LeNet-5 卷積模型 132
7 4 4 識別過程的可視化展示 133
7 5 改進 LeNet-5 卷積模型 136
7 5 1 預處理數據 136
7 5 2 改進 LeNet-5 卷積模型 136
7 5 3 訓練和評估改進后的 LeNet-5 卷積模型 138
7 5 4 預測測試集 139
7 5 5 保存改進后的 LeNet-5 卷積模型 141
7 6 預測自然測試集 142
7 6 1 預處理圖像 142
7 6 2 預測結果 143
7 7 本章小結 144
第 8 章 項目 2:識別 CIFAR-10 數據集 145
8 1 準備工作 146
8 2 下載和查看數據集 148
8 2 1 下載數據集 149
8 2 2 查看訓練數據 149
8 3 搭建模型識別 CIFAR-10 數據集 150
8 3 1 預處理數據集 150
8 3 2 搭建模型 151
8 3 3 訓練模型 154
8 3 4 測試模型 155
8 4 加深模型的網路結構 159
8 5 本章小結 162
第 9 章 項目 3:識別貓狗圖像 163
9 1 準備工作 164
9 2 預處理數據集 164
9 2 1 下載和存儲數據集 164
9 2 2 處理數據 165
9 2 3 讀取和預處理數據 168
9 3 搭建模型識別貓狗圖像 169
9 3 1 搭建並訓練模型 169
9 3 2 利用數據擴充法解決過擬合問題 172
9 4 本章小結 177
第 10 章 項目 4:識別人臉表情 179
10 1 準備數據 180
10 2 構建模型 182
10 3 訓練模型 184
10 4 測試和評估模型 185
10 5 本章小結 190
第 11 章 構建生成對抗網路生成 MNIST 模擬數據集 191
11 1 生成對抗網路概述 192
11 2 生成對抗網路的種類 193
11 2 1 DCGAN 193
11 2 2 InfoGAN 195
11 2 3 AEGAN 195
11 2 4 SRGAN 196
11 3 使用 InfoGAN 生成 MNIST 模擬數據集 198
11 4 本章小結 203
第 12 章 項目 5:使用 SRGAN 實現 Flowers 數據集的超解析度修復 205
12 1 準備數據 206
12 2 構建模型 207
12 2 1 構建生成器 207
12 2 2 VGG 的預輸入處理 208
12 2 3 計算 VGG 特徵空間的損失值 208
12 2 4 構建判別器 209
12 2 5 計算損失值,定義優化器 210
12 2 6 指定預訓練模型路徑 210
12 3 訓練模型 211
12 4 本章小結 213