本書共分為三個部分,分別為理論基礎、實驗和案例。這三個部分層層遞進,介紹深度學習的基礎知識與常用方法,全面細致地提供了深度學習的原理和在深度學習框架下的實踐步驟。第一部分主要通過7個章節(jié)來介紹深度學習的基礎知識,包括深度學習在不同領域的應用,不同深度學習框架的對比,以及機器學習、神經(jīng)網(wǎng)絡等方面的講解。第二部分主要包括常用深度學習框架的基礎講解以及計算機視覺、自然語言處理、強化學習和可視化技術領域的一些實驗講解。第三部分則是提供8個案例,來介紹深度學習在圖像分類、目標檢測、目標識別、圖像分割、風格遷移、自然語言處理等方面的應用。本書將理論與實踐緊密結合,相信能為讀者提供有益的學習指導。 本書適合Python深度學習初學者、機器學習算法分析從業(yè)人員以及高等院校計算機科學、軟件工程等相關專業(yè)的師生閱讀。
配套資源:電子課件、實驗和案例講解視頻、教學大綱、習題答案、模擬試題、程序代碼、數(shù)據(jù)集。
本書特色:
強調實際生產中深度學習技術的應用過程。
提供8個綜合實踐應用案例。
深度學習是學習樣本數(shù)據(jù)的內在規(guī)律和表示層次,在這些學習過程中獲得的信息對文字、圖像和聲音等數(shù)據(jù)的解釋有很大的幫助。它的最終目標是讓機器能夠像人一樣具有分析學習能力,能夠識別文字、圖像和聲音等數(shù)據(jù)。深度學習是一種復雜的機器學習算法,在語音和圖像識別方面取得的效果遠遠超過先前的相關技術。
深度學習在搜索技術、數(shù)據(jù)挖掘、機器學習、機器翻譯、自然語言處理、多媒體學習、語音、推薦和個性化技術及其他相關領域都取得了很多成果。深度學習使機器模仿視聽和思考等人類的活動,解決了很多復雜的模式識別難題,使得人工智能相關技術取得了很大進步。
深度學習是機器學習的一種,而機器學習是實現(xiàn)人工智能的必經(jīng)路徑。深度學習的概念源于人工神經(jīng)網(wǎng)絡的研究,包含多個隱藏層的多層感知器就是一種深度學習結構。深度學習通過組合低層特征形成更加抽象的高層來表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。研究深度學習的動機在于建立模擬人腦進行分析學習的神經(jīng)網(wǎng)絡,它模仿人腦的機制來解釋數(shù)據(jù),如圖像、聲音和文本等。
本書的寫作目的是讓讀者盡可能深入理解深度學習的技術。此外,本書強調將理論與實踐結合,簡明的案例不僅能加深讀者對于理論知識的理解,還能直觀感受到實際生產中深度學習技術的應用過程。
本書第1部分主要通過7章來介紹深度學習的基礎知識,包括深度學習在計算機視覺、自然語言處理、強化學習等方面的應用,不同深度學習框架的介紹和對比,以及機器學習、神經(jīng)網(wǎng)絡等方面的內容。第2部分主要是本書的實驗部分,包括PyTorch、TensorFlow、PaddlePaddle這三個深度學習框架的基礎講解,以及計算機視覺、自然語言處理、強化學習和可視化技術領域的一些實驗講解。第3部分則是提供了綜合實踐案例,通過8個案例來介紹深度學習在圖像分類、目標檢測、目標識別、圖像分割、風格遷移、自然語言處理等方面的應用。
為了實現(xiàn)深度學習,我們需要經(jīng)歷許多考驗,需要花費很長時間,但是相應地也能學到和發(fā)現(xiàn)很多東西,而且這也是一個有趣的、令人興奮的過程。
本書編寫人員有呂云翔、王志鵬、王淥汀、郭聞浩、劉卓然、王禮科、趙禹昇、譚家俊、陳天異、仇善召、關捷雄、姜豐、華昱云、陳妙然、梁晶晶、屈茗若、陳翔宇、歐陽植昊。此外,曾洪立參與了部分內容的編寫并進行了素材整理及配套資源制作等工作。
由于編者水平和能力有限,書中難免有疏漏之處,懇請各位同人和廣大讀者給予批評指正,也希望各位讀者能將實踐過程中的經(jīng)驗和心得與我們交流。
呂云翔,從2003年在北航軟件學院工作以來,一直講授本科生的計算機導論、職業(yè)生涯規(guī)劃和軟件工程這三門課,以及研究生的軟件工程課(全英文,2003-2007)。在教學上能夠認真?zhèn)湔n,積極探索,并且能夠將大量的教學經(jīng)驗(從1986年開始從教)應用到實際的教學中,教學效果良好,使學生能夠很好地掌握相關的知識和技能。2009年獲得北航軟件學院第一屆教學比賽二等獎。從2011年開始,以全英文的方式講授計算機導論課程。 作為研究生指導教師先后指導了近200名研究生的畢業(yè)答辯。作為本科生指導教師,指導了本科畢業(yè)設計的學生近100名。在指導的過程中,取得的效果良好。 先后以第一作者著、編著和翻譯了二十多本書。2009年獲得北航軟件學院著書特別獎。獲北航教學成果二等獎一項(2012),三等獎兩項(2010、2014)。
前言
第1部分深度學習理論基礎
第1章深度學習簡介
11計算機視覺
111定義
112基本任務
113傳統(tǒng)方法
114仿生學與深度學習
115現(xiàn)代深度學習
116卷積神經(jīng)網(wǎng)絡
12自然語言處理
121自然語言處理的基本問題
122傳統(tǒng)方法與神經(jīng)網(wǎng)絡方法的比較
123發(fā)展趨勢
13強化學習
131什么是強化學習
132強化學習算法簡介
133強化學習的應用
14本章小結
習題
第2章深度學習框架
21PyTorch
211什么是PyTorch
212PyTorch的特點
213PyTorch應用概述
22TensorFlow
221什么是TensorFlow
222數(shù)據(jù)流圖
223TensorFlow的特點
224TensorFlow應用概述
23PaddlePaddle
231什么是PaddlePaddle
232PaddlePaddle的特點
233PaddlePaddle應用概述
24三者的比較
25本章小結
習題
第3章機器學習基礎知識
31機器學習概述
311關鍵術語
312機器學習的分類
313機器學習的模型構造過程
32監(jiān)督學習
321線性回歸
322邏輯斯諦回歸
323最小近鄰法
324線性判別分析法
325樸素貝葉斯分類器
326決策樹分類算法
327支持向量機分類算法
33無監(jiān)督學習
331劃分式聚類方法
332層次化聚類方法
333基于密度的聚類方法
34強化學習
341強化學習、監(jiān)督學習和無監(jiān)督學習
342強化學習問題描述
343強化學習問題分類
35神經(jīng)網(wǎng)絡和深度學習
351感知器模型
352前饋神經(jīng)網(wǎng)絡
353卷積神經(jīng)網(wǎng)絡
354其他類型結構的神經(jīng)網(wǎng)絡
36本章小結
習題
第4章回歸模型
41線性回歸模型
42Logistic回歸模型
43用PyTorch實現(xiàn)Logistic回歸
431數(shù)據(jù)準備
432線性方程
433激活函數(shù)
434損失函數(shù)
435優(yōu)化算法
436模型可視化
44本章小結
習題
第5章神經(jīng)網(wǎng)絡基礎
51基礎概念
52感知器
521單層感知器
522多層感知器
53BP神經(jīng)網(wǎng)絡
531梯度下降
532反向傳播
54Dropout正則化
55批標準化
551批標準化的實現(xiàn)方式
552批標準化的使用方法
56本章小結
習題
第6章卷積神經(jīng)網(wǎng)絡(CNN)與計算機視覺
61卷積神經(jīng)網(wǎng)絡的基本思想
62卷積操作
63池化層
64卷積神經(jīng)網(wǎng)絡
65經(jīng)典網(wǎng)絡結構
651VGG網(wǎng)絡
652InceptionNet
653ResNet
654GAN
655Diffusion模型
66用PyTorch進行手寫數(shù)字識別
67本章小結
習題
第7章神經(jīng)網(wǎng)絡與自然語言處理
71語言建模
72基于多層感知機的架構
73基于循環(huán)神經(jīng)網(wǎng)絡的架構
731循環(huán)單元
732通過時間反向傳播
733帶有門限的循環(huán)單元
734循環(huán)神經(jīng)網(wǎng)絡語言模型
735神經(jīng)機器翻譯
74基于卷積神經(jīng)網(wǎng)絡的架構
75基于Transformer的架構
751多頭注意力
752非參位置編碼
753編碼器單元與解碼器單元
76表示學習與預訓練技術
761詞向量
762加入上下文信息的特征表示
763網(wǎng)絡預訓練
77本章小結
習題
第2部分深度學習實驗
第8章操作實踐
81PyTorch操作實踐
811PyTorch安裝
812Tensor 對象及其運算
813Tensor 的索引和切片
814Tensor的變換、拼接和拆分
815PyTorch的Reduction操作
816PyTorch的自動微分
82TensorFlow操作實踐
821TensorFlow安裝
822Tensor 對象及其運算
823Tensor 的索引和切片
824Tensor 的變換、拼接和拆分
825TensorFlow的Reduction操作
826TensorFlow 的自動微分
83PaddlePaddle操作實踐
831PaddlePaddle安裝
832Tensor 的創(chuàng)建和初始化
833Tensor的常見基礎操作
834自動微分
84本章小結
第9章人工智能熱門研究領域實驗
91計算機視覺
911一個通用的圖像分類模型
912兩階段目標檢測和語義分割
913人物圖像處理
914調用遠程服務
915動漫圖像生成
92自然語言處理
921垃圾郵件分類
922詞嵌入技術
923文本生成與多輪對話
924語音識別
93強化學習:一個會玩平衡擺的智能體
94可視化技術
941使用TensorBoard可視化訓練過程
942卷積核可視化
943注意力機制可視化
95本章小結
第3部分深度學習案例
第10章案例:花卉圖片分類
101環(huán)境與數(shù)據(jù)準備
1011環(huán)境安裝
1012數(shù)據(jù)集簡介
1013數(shù)據(jù)集下載與處理
102模型創(chuàng)建、訓練和測試
1021模型創(chuàng)建與訓練
1022測試與結果
103本章小結
第11章案例:人臉關鍵點檢測
111數(shù)據(jù)準備
1111人臉裁剪與縮放
1112數(shù)據(jù)歸一化處理
1113整體代碼
112模型搭建與訓練
1121特征圖生成
1122模型搭建
1123模型訓練
113模型評價
114本章小結
第12章案例:街景門牌字符識別
121背景介紹
122算法介紹
1221YOLOv4
1222算法流程
123模型優(yōu)化
1231數(shù)據(jù)增強
1232模型融合
124結果展