最全面深度學習的書籍
從數學基礎、機器學習技法、深度學習基礎一直到最潮的應用全部都完整講解,一本書就讓你晉級深度學習大師。▌濃縮知識點、各大公司筆試面試題▌
本書內容取材自編者在日常學習過程中總結的知識點,以及各大公司常見的筆試、面試題,有效解決讀者學習上、求職上的困擾,一舉突破瓶頸。
▌大量數學公式、圖、表 ▌
本書內含豐富大量的數學公式、圖、表,總計達800個以上!
▌內容豐富、由淺入深 ▌
從向量、矩陣、機率、微積分、張量的基礎開始說明,進而進入演算法,以及機器學習分類。在了解了基礎知識之後,直接進入分類、邏輯回歸、線性回歸等重要基礎。中間也介紹了機器學習中最重要的決策樹、SVM、PCA、特徵工程等重點。接下來就是著名的神經網路及各種參數、函數、最佳化方法的介紹。有了基礎之後,自然就是各種著名的神經網路、包括CNN、RNN、LSTM(GRU)、GAN等最潮的應用。目前應用最廣的物件偵測、各種演算法都完整說明,甚至最新的YOLOV4都有完整實例介紹。也有Transfer Learning的應用。框架部分,介紹了Tensorflow, Keras及PyTorch。
本書的精華最後兩章,包括了最佳化網路、參數調整、以及佈署至行動端、壓縮模型等真正專案上的實作經驗,讀完整本書,對這幾十年的人工智慧應用就會有完整而深入的認識。
作者簡介:
談繼勇主編
南方科技大學和哈爾濱工業大學聯合培養博士,現任瀚維智能醫療技術總監,兼任南方科技大學、四川大學研究生企業導師,長期從事智能機器人、電腦視覺及人工智慧融合應用研究開發工作。申請獲得專利60餘項,獲全國發明金獎、中國自動化領域年度人物。
郭子釗副主編
四川大學計算機科學專業博士,主要從事AI芯片、深度學習、行為檢測識別、人臉檢測識別等相關研究工作。
李劍副主編
同濟大學計算機科學專業博士,主要從事推薦系統、排序學習、凸優化等機器學習領域的科研和教學工作。
佃松宜副主編
日本東北大學博士,四川大學電氣工程學院教授。主要從事先進控制理論與人工智慧演算法研究、嵌入式計算與實時智能系統的研究與開發。
作者序
為什麼要寫這本書
人工智慧學科自誕生以來,技術理論不斷發展,應用領域不斷延伸。深度學習是機器學習和人工智慧研究的最新趨勢之一,可以使具有多個處理層的計算模型實現對多層次取出資料表征的學習,在智慧型機器人、影像處理、自然語言處理及語音辨識等領域產生了許多應用成果。
隨著人工智慧技術的發展及國家政策的支援,人工智慧人才需求爆炸。大量的研究者將深度學習方法作為首要的研究內容。從事與深度學習相關的工作是一件令人自豪的事情,同時,了解深度學習也是一件神秘和令人興奮的事情。但深度學習的理論性較強、門檻較高,要了解該領域的知識,讀者需要具有一定的數學基礎,需要學習統計分析、模式識別等專業領域的知識。很多讀者想深入研究又望而卻步,因為他們缺乏必要的知識,在知識的深入及遷移上有難以跨越的鴻溝。
在學習深度學習相關知識的時候,我經常透過反覆思考某個問題來指導自己,查閱資料並且記錄成文,經過一段時間後發現整理的內容越來越豐富,從問題集開始,逐漸形成了有序且連結的篇章,我將其命名為《深度學習500 問》。
2018 年6 月,我陸續將整理的內容上傳到GitHub,方便自己遠端更新。意外的是,在2018 年10 月的時候,這些內容突然引起許多閱讀者的相當大反響,在CSDN、AI 科技大本營、量子位、知乎、雷鋒網、知識星球等許多第一線人工智慧類別公眾號及網站上相互傳開。在最開始的兩周內,累計星標就超過1萬,在GitHub 趨勢榜的全球月、周排名中多次居首,這些內容成為一份火爆的深度學習方面的資料,可以作為面試秘笈,也可以作為工程實作的輔助查詢手冊。隨後全球有超過萬名的老師、學生、研究者及工程師參與到專案中來,透過廣大研究者的集思廣益,這些內容最後形成了一個更充實、更全面的AI 相關知識庫。截至2020 年7 月,本書在GitHub 上的累計星標超過4 萬。我們本著將內容統一化、精細化、準確化的初衷,聯合許多讀者一起將其增強、修改並成書。參與成書的很多朋友基本都素未謀面,正是對知識的渴望和堅持技術開放原始碼的精神,讓我們走到了一起,也正是大家的共同努力,才有了本書的出版。
在本書的撰寫過程中,我們力求深入淺出,從基礎到入門,從進階到擴充,儘量定性地進行描述,並較為全面地列出想法和闡釋。本書旨在介紹知識的同時培養讀者的思維方法,透過不斷地追根究底,讓讀者在實際的研究與開發過程中快速定點、查漏補缺。書中列出了很多經驗性的歸納,希望可以幫助讀者快速解決問題。
為什麼要寫這本書
人工智慧學科自誕生以來,技術理論不斷發展,應用領域不斷延伸。深度學習是機器學習和人工智慧研究的最新趨勢之一,可以使具有多個處理層的計算模型實現對多層次取出資料表征的學習,在智慧型機器人、影像處理、自然語言處理及語音辨識等領域產生了許多應用成果。
隨著人工智慧技術的發展及國家政策的支援,人工智慧人才需求爆炸。大量的研究者將深度學習方法作為首要的研究內容。從事與深度學習相關的工作是一件令人自豪的事情,同時,了解深度學習也是一件神秘和令人興奮的事情。但深度學習的理論性較強、門檻較...
目錄
01 數學基礎
1.1 向量和矩陣
1.2 導數和偏導數
1.3 特徵值和特徵向量
1.4 機率分佈與隨機變數
1.5 常見機率分佈
1.6 期望、方差、協方差、相關係數
02 機器學習基礎
2.1 基本概念
2.2 機器學習的學習方式
2.3 分類演算法
2.4 邏輯回歸
2.5 代價函數
2.6 損失函數
2.7 梯度下降法
2.8 線性判別分析
2.9 主成分分析
2.10 模型評估
2.11 決策樹
2.12 支援向量機(SVM)
2.13 貝氏分類器
2.14 EM 演算法
2.15 降維和分群
03 深度學習基礎
3.1 基本概念
3.2 神經網路計算
3.3 啟動函數
3.4 Batch Size
3.5 歸一化
3.6 參數初始化
3.7 預訓練與微調
3.8 超參數
3.9 學習率
3.10 正規化
04 卷積神經網路的經典網路
4.1 LeNet-5
4.2 AlexNet
4.3 ZFNet
4.4 NIN
4.5 VGGNet
4.6 GoogLeNet
4.7 ResNet
4.8 DenseNet
4.9 CNN 模型在GoogLeNet、VGGNet 或AlexNet 上調整的原因
05 卷積神經網路
5.1 CNN 的結構
5.2 輸入層
5.3 卷積層
5.4 啟動層
5.5 池化層
5.6 全連接層
5.7 二維卷積與3D 卷積
5.8 了解轉置卷積與棋盤效應
5.9 卷積神經網路凸顯共通性的方法
5.10 局部卷積
5.11 CNN 視覺化
5.12 卷積神經網路的最佳化及應用
06 循環神經網路
6.1 為什麼需要RNN
6.2 圖解RNN 基本結構
6.3 RNN 的性質
6.4 RNN 的反向傳播
6.5 長短期記憶網路(LSTM)
6.6 常見的RNN 結構上的擴充和改進
6.7 RNN 在NLP 中的典型應用舉例
6.8 RNN 與影像領域的結合舉例
6.9 RNN 與條件隨機場的結合
07 生成對抗網路
7.1 GAN 的基本概念
7.2 GAN 的生成模型評價
7.3 其他常見的生成模型
7.4 GAN 的改進與最佳化
7.5 GAN 的應用:影像翻譯
7.6 GAN 的應用:文字生成
7.7 GAN 在其他領域的應用
08 物件偵測
8.1 基本概念
8.2 two-stage 物件偵測演算法
8.3 one-stage 物件偵測演算法
8.4 物件偵測的常用資料集
8.5 物件偵測常用標記工具
09 影像分割
9.1 常見的影像分割演算法
9.2 FCN
9.3 U-Net
9.4 U-Net++
9.5 SegNet
9.6 LinkNet
9.7 RefineNet
9.8 PSPNet
9.9 DeepLab 系列
9.10 Mask R-CNN 作為目標分割的介紹
9.11 基於弱監督學習的影像分割
10 遷移學習
10.1 遷移學習基礎知識
10.2 遷移學習的研究領域
10.3 遷移學習的應用
10.4 遷移學習的基本方法
10.5 分佈對齊的常用方法
10.6 深度遷移學習方法
10.7 遷移學習研究前端
11 網路架構介紹及訓練
11.1 TensorFlow
11.2 Caffe
11.3 PyTorch
11.4 常見的深度學習分散式架構
11.5 網路架設原則及訓練技巧
12 網路最佳化技巧
12.1 資料集和樣本最佳化
12.2 資料不符合問題
12.3 網路建構和初始化
12.4 特徵選擇
12.5 梯度消失和梯度爆炸
12.6 評價指標
12.7 模型和系統最佳化
13 超參數調整
13.1 超參數的概念
13.2 網路訓練中的超參數調整策略
13.3 合理使用預訓練網路
13.4 自動化超參數搜尋方法
13.5 自動機器學習AutoML
14 模型壓縮、加速和行動端部署
14.1 模型壓縮
14.2 為什麼需要模型壓縮和加速
14.3 模型壓縮方法
14.4 網路壓縮的未來研究方向
14.5 模型最佳化加速方法
14.6 如何選擇壓縮和加速方法
14.7 高效CNN 網路設計的準則
14.8 常用的輕量級網路
14.9 現有的行動端開放原始碼架構及其特點
14.10 行動端開放原始碼架構部署
A 參考連結
01 數學基礎
1.1 向量和矩陣
1.2 導數和偏導數
1.3 特徵值和特徵向量
1.4 機率分佈與隨機變數
1.5 常見機率分佈
1.6 期望、方差、協方差、相關係數
02 機器學習基礎
2.1 基本概念
2.2 機器學習的學習方式
2.3 分類演算法
2.4 邏輯回歸
2.5 代價函數
2.6 損失函數
2.7 梯度下降法
2.8 線性判別分析
2.9 主成分分析
2.10 模型評估
2.11 決策樹
2.12 支援向量機(SVM)
2.13 貝氏分類器
2.14 EM 演算法
2.15 降維和分群
03 深度學習基礎
3.1 基本概念
3.2 神經網路計算
3.3 啟動函數
3.4 Batch Size
3...