人工智能經(jīng)歷了3次發(fā)展浪潮,其中第三次是深度學習的復興,就目前來看似乎還處在循環(huán)的前半段: 技術突破先前的局限而快速發(fā)展,投資狂熱,追隨者甚多。問題是現(xiàn)在的熱潮是技術萌芽期的過分膨脹還是曇花一現(xiàn)且將逐漸冷卻后進入寒冬?Keras之父Francois Chollet總結了深度學習自身的特質(zhì)簡單、可擴展、多功能與可利用,并稱它確實是人工智能的革命,且能長盛不衰。李開復也曾總結第三次浪潮是由商業(yè)需求主導的,而這次更多的是解決問題。
那是不是每個人都要學習人工智能、深度學習呢?計算機工程越來越龐大和細分,方向繁多,諸如前端、后端、測試等,縱然是計算機從業(yè)人員,到后來大多也只能集中精力在一個方向上深入。實質(zhì)上,深度學習更像是一種新的思維,能補充我們對計算機乃至世界運行規(guī)律的理解。深度學習將傳統(tǒng)機器學習中最為復雜的特征工程自動化,使機器可以自主地抽象和學習更具統(tǒng)計意義的模式。
深度學習如何高效入門可以說是AI領域老生常談的一個問題,一種思路是從傳統(tǒng)的統(tǒng)計學習開始,然后跟著書上推導公式學數(shù)學; 另一種思路是從實驗入手,通過學習深度學習框架TensorFlow和Keras以及具體的圖像識別的任務開展。
本書為什么會在眾多語言當中選擇Python實現(xiàn)深度學習呢?其主要原因如下: Python是一種效率極高的語言; 相比其他語言,Python語言簡單、易學、易讀、易維護。
另外,對程序員來說,社區(qū)是非常重要的,大多數(shù)程序員都需要向解決過類似問題的人尋求建議,在需要有人幫助解決問題時,有一個聯(lián)系緊密、互幫互助的社區(qū)至關重要,Python社區(qū)就是這樣一個社區(qū)。
本書立足實踐,以通俗易懂的方式詳細介紹深度學習的基礎理論以及相關的必要知識,同時以實際動手操作的方式引導讀者入門人工智能深度學習。本書編寫特色主要表現(xiàn)在:
1. 內(nèi)容淺顯易懂
本書不會糾纏于晦澀難懂的概念,整本書力求用淺顯易懂的語言引出概念,用常用的方式介紹編程、用清晰的邏輯解釋思路,幫助非專業(yè)人員理解神經(jīng)網(wǎng)絡與深度學習。
2. 知識點全面,實例豐富
深度學習涉及面較廣,且有一定的門檻。沒有一定廣度很難達到一定深度,所以本書內(nèi)容包括機器學習、深度學習的主要內(nèi)容。書中各章一般先介紹相應的架構或原理,再通過相應的經(jīng)典實例進行說明,幫助讀者快速領會知識要點。
3. 圖文并茂,實用性強
在深度學習中,有很多抽象的概念、復雜的算法、深奧的理論等,如果只用文字來描述,很難達到使讀者茅塞頓開的效果,如果用一些圖形進行展現(xiàn),再加上文字注明,那么呈現(xiàn)的效果是一目了然的。
4. 實用性強
本書在理論上突出可讀性并兼具知識的深度和廣度,實踐上強調(diào)可操作性并兼具應用的廣泛性。書中每章都做到理論與實例相結合,內(nèi)容豐富、實用,幫助讀者快速領會知識要點。并且書中源代碼、數(shù)據(jù)集等讀者都可免費獲得。
全書共10章,每章的主要內(nèi)容如下。
第1章掀開深度學習的面紗,主要包括深度學習是什么、機器學習與深度學習、深度學習的應用領域與架構等內(nèi)容。
第2章神經(jīng)網(wǎng)絡的數(shù)學基礎,主要包括認識神經(jīng)網(wǎng)絡、神經(jīng)網(wǎng)絡的數(shù)據(jù)表示、張量運算、梯度優(yōu)化、神經(jīng)網(wǎng)絡剖析、Keras介紹等內(nèi)容。
第3章機器學習的基礎,主要包括機器學習概述、過擬合和欠擬合、監(jiān)督學習與數(shù)據(jù)預處理等內(nèi)容。
第4章神經(jīng)網(wǎng)絡分析與應用,主要包括單層感知器、激活函數(shù)、解決XOR問題、優(yōu)化算法等內(nèi)容。
第5章計算視覺分析與應用,主要包括從全連接到卷積、卷積神經(jīng)網(wǎng)絡、現(xiàn)代經(jīng)典網(wǎng)絡、卷積神經(jīng)網(wǎng)絡CIFAR10數(shù)據(jù)集分類等內(nèi)容。
第6章文本和序列分析與應用,主要包括處理文本數(shù)據(jù)、循環(huán)神經(jīng)網(wǎng)絡、ACF和PACF、循環(huán)神經(jīng)網(wǎng)絡的應用等內(nèi)容。
第7章目標檢測分析與應用,主要包括目標檢測概述、目標檢測法、典型的目標檢測算法等內(nèi)容。
第8章生成式深度學習分析與應用,主要包括使用LSTM生成文本、DeepDream算法、風格遷移、深入理解自編碼器、生成對抗網(wǎng)絡等內(nèi)容。
第9章人臉檢測分析與應用,主要包括KLT、CAMShift跟蹤目標、OpenCV實現(xiàn)人臉識別、HOG識別微笑、卷積神經(jīng)網(wǎng)絡實現(xiàn)人臉識別微笑檢測、MTCNN算法實現(xiàn)人臉檢測等內(nèi)容。
第10章強化學習分析與應用,主要包括強化學習的特點與要素、Q學習、深度Q學習、雙重深度Q網(wǎng)絡、對偶深度Q網(wǎng)絡、深度Q網(wǎng)絡經(jīng)典應用等內(nèi)容。
本書可作為高等學校相關專業(yè)本科生和研究生的教學用書,也可作為相關專業(yè)科研人員、學者、工程技術人員的參考用書。
本書是由佛山科學技術學院丁偉雄編寫。
由于時間倉促,加之作者水平有限,書中疏漏之處在所難免,誠懇地期望得到各領域的專家和廣大讀者的批評指正。
作者2024年6月
下載源碼
第1章掀開深度學習的面紗
1.1深度學習是什么
1.1.1深度學習的基本思想
1.1.2深度學習和淺層學習
1.1.3深度學習與神經(jīng)網(wǎng)絡
1.1.4深度學習的訓練過程
1.2機器學習與深度學習
1.2.1機器學習的算法流程
1.2.2機器學習算法建模
1.2.3機器學習任務
1.2.4深度學習算法流程
1.3深度學習的應用領域與架構
1.3.1深度學習的應用領域
1.3.2深度學習相關框架
1.3.3深度學習實際應用
第2章神經(jīng)網(wǎng)絡的數(shù)學基礎
2.1認識神經(jīng)網(wǎng)絡
2.2神經(jīng)網(wǎng)絡的數(shù)據(jù)表示
2.2.1標量
2.2.2向量
2.2.3矩陣
2.2.43D張量與更高維張量
2.2.5關鍵屬性
2.2.6操作張量
2.2.7數(shù)據(jù)批量
2.2.8現(xiàn)實數(shù)據(jù)張量
2.3張量運算
2.3.1張量的創(chuàng)建
2.3.2索引和切片訪問張量中的數(shù)據(jù)
2.3.3逐元素運算
2.3.4張量變形
2.3.5廣播
2.3.6張量運算的幾何解釋
2.4梯度優(yōu)化
2.4.1導數(shù)
2.4.2梯度
2.4.3反向傳播算法
2.5神經(jīng)網(wǎng)絡剖析
2.5.1層
2.5.2模型
2.5.3損失函數(shù)與優(yōu)化器
2.6Keras介紹
2.6.1Keras的工作方式
2.6.2Keras的設計原則
2.6.3Keras深度學習鏈接庫特色
2.6.4使用Keras創(chuàng)建神經(jīng)網(wǎng)絡
2.6.5使用Keras實現(xiàn)二分類問題
2.6.6使用Keras處理多分類問題
2.6.7使用Keras實現(xiàn)預測房價問題
第3章機器學習的基礎
3.1機器學習概述
3.1.1機器學習的歷程
3.1.2機器學習的4個分支
3.1.3機器學習的步驟
3.2過擬合和欠擬合
3.2.1減小模型大小
3.2.2添加權重正則化
3.2.3添加dropout正則化
3.3監(jiān)督學習
3.3.1線性模型
3.3.2邏輯回歸
3.3.3支持向量機
3.3.4Adaboost算法
3.3.5決策樹
3.3.6隨機森林
3.4數(shù)據(jù)預處理
3.4.1數(shù)據(jù)預處理概述
3.4.2數(shù)據(jù)清理
3.4.3數(shù)據(jù)集成
3.4.4數(shù)據(jù)變換
3.4.5數(shù)據(jù)歸約
3.4.6Python的數(shù)據(jù)預處理函數(shù)
第4章神經(jīng)網(wǎng)絡分析與應用
4.1單層感知器
4.1.1分類特征表示
4.1.2單層感知器概述
4.1.3多層神經(jīng)網(wǎng)絡
4.2激活函數(shù)
4.2.1sigmoid激活函數(shù)
4.2.2tanh激活函數(shù)
4.2.3ReLU激活函數(shù)
4.2.4ReLU6激活函數(shù)
4.2.5Leaky ReLU激活函數(shù)
4.2.6softmax激活函數(shù)
4.2.7ELU激活函數(shù)
4.2.8Swish激活函數(shù)
4.2.9Mish激活函數(shù)
4.2.10Maxout激活函數(shù)
4.3解決XOR問題
4.4優(yōu)化算法
4.4.1梯度下降法
4.4.2AdaGrad算法
4.4.3RMSProp算法
4.4.4AdaDelta算法
4.4.5Adam算法
4.4.6各優(yōu)化方法實現(xiàn)
4.4.7無約束多維極值
第5章計算視覺分析與應用
5.1從全連接到卷積
5.2卷積神經(jīng)網(wǎng)絡
5.2.1卷積計算過程
5.2.2感受野
5.2.3輸出特征尺寸計算
5.2.4全零填充
5.2.5批標準化
5.2.6池化
5.2.7舍棄
5.3現(xiàn)代經(jīng)典網(wǎng)絡
5.3.1LeNet網(wǎng)絡
5.3.2AlexNet網(wǎng)絡
5.3.3VGGNet網(wǎng)絡
5.3.4NiN
5.3.5Google Inception Net網(wǎng)絡
5.3.6ResNet網(wǎng)絡
5.3.7DenseNet網(wǎng)絡
5.4卷積神經(jīng)網(wǎng)絡CIFAR10數(shù)據(jù)集分類
第6章文本和序列分析與應用
6.1處理文本數(shù)據(jù)
6.1.1單詞和字符的onehot編碼
6.1.2使用詞嵌入
6.2循環(huán)神經(jīng)網(wǎng)絡
6.2.1循環(huán)神經(jīng)網(wǎng)絡概述
6.2.2Keras中的循環(huán)層
6.2.3RNN的改進算法
6.3ACF和PACF
6.3.1截尾與拖尾
6.3.2自回歸過程
6.3.3移動平均過程
6.4循環(huán)神經(jīng)網(wǎng)絡的應用
6.4.1溫度預測
6.4.2數(shù)據(jù)準備
6.4.3基準方法
6.4.4基本的機器學習方法
6.4.5第一個循環(huán)網(wǎng)絡基準
6.4.6使用dropout降低過擬合
6.4.7循環(huán)層堆疊
6.4.8使用雙向RNN
第7章目標檢測的分析與應用
7.1目標檢測概述
7.1.1傳統(tǒng)目標檢測
7.1.2基于深度學習的目標檢測
7.1.3目標檢測的未來
7.1.4目標檢測面臨的挑戰(zhàn)
7.2目標檢測法
7.2.1選擇性搜索算法
7.2.2保持多樣性的策略
7.2.3錨框?qū)崿F(xiàn)
7.2.4多尺度目標檢測
7.3典型的目標檢測算法
7.3.1RCNN算法
7.3.2Fast RCNN算法
7.3.3Faster RCNN算法
7.3.4RPN算法
7.3.5YOLO算法
7.3.6SSD算法
第8章生成式深度學習分析與應用
8.1使用LSTM生成文本
8.1.1如何生成序列數(shù)據(jù)
8.1.2采樣策略
8.2DeepDream算法
8.2.1DeepDream算法原理
8.2.2DeepDream算法流程
8.2.3DeepDream算法實現(xiàn)
8.3風格遷移
8.3.1風格遷移定義
8.3.2風格遷移方法
8.3.3風格遷移實例
8.4深入理解自編碼器
8.4.1自編碼器
8.4.2欠完備自編碼器
8.4.3正則自編碼
8.5生成對抗網(wǎng)絡
8.5.1GAN原理
8.5.2GAN實現(xiàn)
第9章人臉檢測分析與應用
9.1KLT
9.1.1光流
9.1.2KLT算法
9.2CAMShift跟蹤目標
9.2.1MeanShift算法
9.2.2CAMShift算法
9.3OpenCV實現(xiàn)人臉識別
9.3.1Haar級聯(lián)實現(xiàn)人臉檢測
9.3.2級聯(lián)實現(xiàn)實時人臉檢測與人臉身份識別
9.4HOG識別微笑
9.4.1HOG原理
9.4.2HOG實例應用
9.5卷積神經(jīng)網(wǎng)絡實現(xiàn)人臉識別微笑檢測
9.6MTCNN算法實現(xiàn)人臉檢測
第10章強化學習分析與應用
10.1強化學習的特點與要素
10.2Q學習
10.2.1Q學習的原理
10.2.2Q學習經(jīng)典應用
10.3深度Q學習
10.3.1經(jīng)驗回放
10.3.2回合函數(shù)的近似法
10.3.3半梯度下降法
10.3.4目標網(wǎng)絡
10.3.5相關算法
10.3.6訓練算法
10.3.7深度Q學習的應用
10.4雙重深度Q網(wǎng)絡
10.5對偶深度Q網(wǎng)絡
10.6深度Q網(wǎng)絡經(jīng)典應用
參考文獻