深度學習(DL,Deep Learning)是機器學習(ML,Machine Learning)領域中一個新的研究方向,通過學習樣本數(shù)據(jù)的內(nèi)在規(guī)律和表示層次,實現(xiàn)機器能夠像人一樣具有分析學習能力,能夠識別文字、圖像和聲音等數(shù)據(jù)。在開始深度學習項目之前,選擇一個合適的框架能起到事半功倍的作用。全世界最為流行的深度學習框架有TensorFlow、Caffe、PaddlePaddle和PyTorch。TensorFlow 是 Google 于 2015 年發(fā)布的深度學習框架,2019年,Google 推出 TensorFlow 2.0正式版本,以動態(tài)圖優(yōu)先模式運行,使得用戶既能輕松上手 TensorFlow 框架,又能無縫部署網(wǎng)絡模型至工業(yè)系統(tǒng)。本書針對高職學生的特點(有基本的編程能力,對開發(fā)人工智能應用感興趣,學過一些高等數(shù)學基本知識,但談不上有深厚的數(shù)學功底和人工智能理論基礎),全面、系統(tǒng)地介紹基于TensorFlow深度學習框架的人工智能應用開發(fā)技術、方法和應用實踐,分析了神經(jīng)網(wǎng)絡原理并實踐,對循環(huán)神經(jīng)網(wǎng)絡(RNN)、卷積神經(jīng)網(wǎng)絡(CNN)這些常用的深度學習模型進行了演練,在此基礎上展開基于深度學習的目標檢測、圖像分割、人臉識別等熱門應用,為讀者提供了從理論學習到工程實踐的視圖。全書按照“項目導向、任務驅(qū)動”的教學方法,以8個真實項目貫穿,分別是認識人工智能、搭建線性回歸模型、搭建汽車油耗預測模型、搭建手寫數(shù)字識別模型、搭建卷積神經(jīng)網(wǎng)絡模型、搭建貓狗識別網(wǎng)絡模型、可視化方法應用和經(jīng)典卷積神經(jīng)網(wǎng)絡的應用,進行深度學習模型的選擇、構建和應用,讓學習者能快速具備人工智能問題求解的基本思想和初步的人工智能應用軟件開發(fā)能力。本書講解通俗易懂,配套資源豐富。每個項目知識點配有PPT、一個或多個視頻講解、實踐練習和模型實現(xiàn)代碼。全書配有的視頻總時長達400多分鐘。本書適合計算機、軟件工程、人工智能等本、專科專業(yè)學生使用,也適合作為對深度學習感興趣的研究生、工程師和研究人員的學習資料。
陳曉龍,近5年來,在5G新技術領域基于能量采集的移動邊緣計算優(yōu)化方面開展研究,主持浙江省自然科學基金項目 《基于能量采集的D2D無線數(shù)據(jù)緩存容量理論和優(yōu)化策略研究》(LY18F010018)、參與浙江省公益技術研究計劃 《基于多尺度卷積神經(jīng)網(wǎng)絡的產(chǎn)品表面缺陷檢測關鍵技術研究》(LGG18F020017)和廣東省科技計劃項目 《基于軟件定義網(wǎng)絡的高速網(wǎng)絡傳輸控制關鍵技術研究》(2014A010103031047)。近5年在Information Sciences(中科院2區(qū)TOP期刊)、IEEE ACCESS(中科院2區(qū))等SCI收錄期刊發(fā)表論文4篇,EI期刊收錄5篇,獲軟件著作版權4項,申報發(fā)明專利3項。
項目1 認識人工智能
項目介紹
任務安排
學習目標
任務1.1 了解人工智能發(fā)展與應用
【任務描述】
【任務分析】
【知識準備】
1.1.1 人工智能發(fā)展過程
1.1.2 深度學習應用領域
任務1.2 認識深度學習框架
【任務描述】
【任務分析】
【知識準備】
1.2.1 深度學習框架發(fā)展歷程
1.2.2 TensorFlow
1.2.3 Caffe
1.2.4 PyTorch
1.2.5 不同框架的對比
任務1.3 搭建深度學習開發(fā)環(huán)境
【任務描述】
【任務分析】
【知識準備】
1.3.1 Anaconda安裝
1.3.2 PyCharm安裝
1.3.3 PyCharm加載Anaconda虛擬環(huán)境
項目考核
項目2 搭建線性回歸模型
項目介紹
任務安排
學習目標
任務2.1 認識TensorFlow基本概念
【任務描述】
【任務分析】
【知識準備】
2.1.1 TensorFlow基本概念
2.1.2 TensorFlow 2.0架構簡介
任務2.2 掌握TensorFlow基礎用法
【任務描述】
【任務分析】
【知識準備】
2.2.1 張量
2.2.2 變量
2.2.3 操作
2.2.4 自動求導
任務2.3 搭建線性回歸模型
【任務描述】
【任務分析】
【知識準備】
2.3.1 線性回歸模型
2.3.2 搭建模型
2.3.3 模型訓練
2.3.4 模型預測
項目考核
項目3 搭建汽車油耗預測模型
項目介紹
任務安排
學習目標
任務3.1 汽車油耗數(shù)據(jù)處理
【任務描述】
【任務分析】
【知識準備】
任務3.2 搭建汽車油耗預測模型
【任務描述】
【任務分析】
【知識準備】
3.2.1 神經(jīng)元
3.2.2 激活函數(shù)
3.2.3 前饋神經(jīng)網(wǎng)絡
任務3.3 訓練汽車油耗預測模型
【任務描述】
【任務分析】
【知識準備】
項目考核
項目4 搭建手寫數(shù)字識別模型
項目介紹
任務安排
學習目標
任務4.1 MNIST數(shù)據(jù)集處理
【任務描述】
【任務分析】
【知識準備】
4.1.1 下載MNIST數(shù)據(jù)集
4.1.2 圖像數(shù)字化與可視化
4.1.3 圖像向量化和標簽編碼
4.1.4 數(shù)據(jù)預處理
任務4.2 搭建并訓練手寫數(shù)字識別模型
【任務描述】
【任務分析】
【知識準備】
4.2.1 手寫數(shù)字識別模型
4.2.2 模型訓練
4.2.3 模型保存
任務4.3 手寫數(shù)字識別模型驗證
【任務描述】
【任務分析】
【知識準備】
4.3.1 加載模型權重
4.3.2 模型驗證
項目考核
項目5 搭建卷積神經(jīng)網(wǎng)絡模型
項目介紹
任務安排
學習目標
任務5.1 探索卷積神經(jīng)網(wǎng)絡
【任務描述】
【任務分析】
【知識準備】
5.1.1 卷積神經(jīng)網(wǎng)絡結構特征
5.1.2 卷積
5.1.3 卷積層操作
5.1.4 池化層
任務5.2 搭建LeNet-5模型
【任務描述】
【任務分析】
【知識準備】
5.2.1 LeNet模型
5.2.2 搭建改進后的LeNet-5模型
任務5.3 訓練并驗證LeNet-5模型
【任務描述】
【任務分析】
【知識準備】
項目考核
項目6 搭建貓狗識別網(wǎng)絡模型
項目介紹
任務安排
學習目標
任務6.1 探索貓狗數(shù)據(jù)集
【任務描述】
【任務分析】
【知識準備】
6.1.1 貓狗數(shù)據(jù)集
6.1.2 讀取貓狗數(shù)據(jù)集
任務6.2 實現(xiàn)貓狗數(shù)據(jù)集的數(shù)據(jù)增強
【任務描述】
【任務分析】
【知識準備】
6.2.1 數(shù)據(jù)增強
6.2.2 圖像幾何變換
6.2.3 圖像色彩調(diào)整
任務6.3 搭建貓狗識別網(wǎng)絡模型
【任務描述】
【任務分析】
【知識準備】
6.3.1 認識AlexNet模型
6.3.2 訓練AlexNet模型
項目考核
項目7 可視化方法應用
項目介紹
任務安排
學習目標
任務7.1 認識TensorBoard
【任務描述】
【任務分析】
【知識準備】
7.1.1 TensorBoard簡介
7.1.2 兩種可視化方式
7.1.3 TensorBoard工作原理
任務7.2 數(shù)據(jù)可視化
【任務描述】
【任務分析】
【知識準備】
7.2.1 一個簡單的可視化例子
7.2.2 可視化圖像數(shù)據(jù)
任務7.3 可視化MNIST分類模型
【任務描述】
【任務分析】
【知識準備】
7.3.1 可視化訓練數(shù)據(jù)
7.3.2 可視化卷積神經(jīng)網(wǎng)絡
項目考核
項目8 經(jīng)典卷積神經(jīng)網(wǎng)絡的應用
項目介紹
任務安排
學習目標
任務8.1 認識遷移學習
【任務描述】
【任務分析】
【知識準備】
8.1.1 遷移學習
8.1.2 TensorFlow中的遷移學習
8.1.3 一個簡單的遷移學習例子
任務8.2 探索經(jīng)典卷積神經(jīng)網(wǎng)絡
【任務描述】
【任務分析】
【知識準備】
8.2.1 VGG模型
8.2.2 Inception系列模型
8.2.3 ResNet模型
8.2.4 DenseNet模型
8.2.5 MobileNet系列模型
任務8.3 搭建垃圾分類識別模型
【任務描述】
【任務分析】
【知識準備】
8.3.1 垃圾分類數(shù)據(jù)集
8.3.2 訓練垃圾分類識別模型
項目考核
參考文獻