深度學習 500問 — AI工程師面試寶典

談繼勇

買這商品的人也買了...

商品描述

本書系統地描述了深度學習的基本理論算法及應用。
全書共14章,
第1~3章論述了數學基礎、機器學習基礎和深度學習基礎;
第4~7章介紹了一些經典網絡及電腦視覺領域中常用的CNN、RNN、GAN等網絡結構技術;
第8~9章介紹了深度學習在電腦視覺領域的目標檢測及圖像分割兩大應用;
第10~14章介紹了電腦視覺領域主要的優化方法及思路等,包括遷移學習、網絡架構及訓練、網絡優化技巧、超參數調整及模型的壓縮和加速等。
本書凝聚了眾多一線科研人員及工程師的經驗,旨在培養讀者發現問題、解決問題、擴展問題的能力。
本書內容取材於編者在日常學習過程中總結的知識點及各大公司常見的筆試、面試題。
本書可為高等院校電腦科學、信息科學、人工智能、控制科學與工程、電子科學與技術等領域的研究及教學人員提供參考,
也可為相關專業本科生及研究生提供思考方向,還可為深度學習及電腦視覺領域的初、中級研究人員和工程技術人員提供參考,
尤其適合需要查漏補缺的應聘者及提供相關崗位的面試官閱讀。

作者簡介

談繼勇主編
南方科技大學和哈爾濱工業大學聯合培養博士(在讀),現任瀚維智能醫療技術總監,深圳工信局專家庫專家,兼任南方科技大學、四川大學研究生企業導師,南方科技大學和瀚維智能醫療聯合實驗室副主任,北京探工所特聘技術專家,曾先後在中科院信工所、香港中文大學(深圳)、FOXCONN機器人與人工智能實驗室、順豐科技等單位任職。主要專注於智能感知與控制、實時智能與計算機視覺方向的研究,主持/主研國家自然科學基金、省重點研發計劃、深圳戰略性新興產業計劃等項目20餘項,發表SCI/EI論文20餘篇,申請發明專利40餘項,獲全國發明金獎。

郭子釗副主編
四川大學計算機科學專業博士,碩士畢業於四川大學自動化系,主要從事AI芯片、深度學習、行為檢測識別、人臉檢測識別等相關研究工作。

李劍副主編
同濟大學計算機科學專業博士,浙江農林大學副教授、碩士生導師,主要從事推薦系統、排序學習、凸優化等機器學習領域的科研和教學工作,發表SCI論文10餘篇,曾獲浙江省科技進步二等獎等多項省部級獎項。

佃松宜副主編
日本東北大學博士,四川大學電氣工程學院教授、自動化系系主任,四川省信息與自動化技術重點實驗室主任。主要專注於先進控制理論與人工智能算法研究、嵌入式計算與實時智能係統的研究與開發、機器人與智能裝備的智能感知與控制技術的研究、工業測控與智能物聯的研究。近5年來主持包括國家重點研發計劃、基金、國網總部項目等各類科研項目近30項,累計總經費近2200萬元;發表論文100多篇,其中SCI/EI檢索近40篇,ESI高引論文1篇。參與編撰專著3部(其中英文專著1部),參編國家九五規劃教材1部。

王晉東特邀編委
中科院計算所博士,微軟亞洲研究院機器學習研究員,主要從事遷移學習和機器學習方向的研究工作,在IJCAI、CVPR、ICDM、UbiComp、ACMMM、PERCOM、IJCNN、PRICAI、IEEE TNNLS、NEUNET、PRL、PMCJ 、IMWUT、IJMLC、ICME、ACM TIST等國際權威期刊和會議上發表論文20餘篇,多次獲得“最佳論文”獎。作品有《遷移學習簡明手冊》等。

王超鋒
上海大學碩士,百度計算機視覺算法工程師,主研圖像處理,深度學習等方向。曾多次在國內外各類知名計算機視覺挑戰賽中獲得優異成績。

郭曉鋒
中國科學院碩士,愛奇藝算法工程師,主要從事圖像處理、深度學習等方向的研究,曾獲“2017華為軟件精英挑戰賽”複賽第6名。

黃偉
華南理工大學碩士,順豐科技機器人算法工程師,主要從事計算機視覺和自然語言處理方向的研究。曾在相關領域國際期刊、會議上發表論文,並在相關競賽中獲得優異成績。

陳方傑(Amusi)
上海大學碩士,CVer(計算機視覺知識分享和學習交流平台)創始人。

李元偉
國防科技大學碩士,深圳瀚維智能醫療科技公司高級算法工程師,南方科技大學和瀚維智能醫療聯合實驗室委員,主要從事機器視覺、圖像處理及深度學習方向的研究工作,參編普通高等教育十三五規劃教材《圖像通信基礎》,在IEEE TCSVT、COGN COMPUT等發表學術論文多篇,曾獲湖南省/全軍優秀碩士論文。

陳琳
北京航空航天大學博士(在讀),研究方向為無人機智能控制與決策、仿生智能計算。

目錄大綱

目錄
第1章數學基礎 1
1.1 向量和矩陣 1
1.1.1 標量、向量、矩陣和張量 1
1.1.2 張量與矩陣的區別 2
1.1.3 矩陣和向量相乘的結果 2
1.1.4 向量和矩陣的範數歸納 2
1.1.5 判斷一個矩陣是否為正定矩陣 4
1.2 導數和偏導數 5
1.2.1 導數偏導計算 5
1.2.2 導數和偏導數的區別 6
1.3 特徵值和特徵向量 6
1.3.1 特徵值分解 6
1.3.2 奇異值和特徵值的關係 6
1.4 概率分佈與隨機變量 7
1.4.1 機器學習為什麼要使用概率 7
1.4.2 變量與隨機變量的區別 7
1.4.3 隨機變量與概率分佈的聯繫 8
1.4.4 離散型隨機變量和概率質量函數 8
1.4.5 連續型隨機變量和概率密度函數 8
1.4.6 舉例理解條件概率 9
1.4.7 聯合概率與邊緣概率的區別和聯繫 9
1.4.8 條件概率的鍊式法則10
1.4.9 獨立性和條件獨立性10
1.5 常見概率分佈11
1.5.1 伯努利分佈11
1.5.2 高斯分佈11
1.5.3 何時採用正態分佈12
1.5.4 指數分佈12
1.5.5 Laplace分佈13
1.5.6 Dirac分佈和經驗分佈13
1.6 期望、方差、協方差、相關係數13
1.6.1 期望13
1.6.2 方差14
1.6.3 協方差14
1.6.4 相關係數15

第2章機器學習基礎16
2.1 基本概念16
2.1.1 大話機器學習本質16
2.1.2 什麼是神經網絡16
2.1.3 各種常見算法圖示17
2.1.4 計算圖的導數計算17
2.1.5 理解局部最優與全局最優18
2.1.6 大數據與深度學習之間的關係19
2.2 機器學習的學習方式20
2.2.1 監督學習20
2.2.2 非監督學習20
2.2.3 半監督學習20
2.2.4 弱監督學習20
2.2.5 監督學習模型的搭建步驟21
2.3 分類算法22
2.3.1 常用分類算法的優缺點22
2.3.2 分類算法的評估方法23
2.3.3 正確率能否很好地評估分類算法25
2.3.4 什麼樣的分類器是最好的26
2.4 邏輯回歸26
2.4.1 回歸的種類26
2.4.2 邏輯回歸適用性27
2.4.3 邏輯回歸與朴素貝葉斯的區別27
2.4.4 線性回歸與邏輯回歸的區別27
2.5 代價函數28
2.5.1 為什麼需要代價函數28
2.5.2 代價函數作用原理28
2.5.3 常見代價函數30
2.5.4 為什麼代價函數要非負31
2.5.5 為什麼用交叉熵代替二次代價函數31
2.6 損失函數32
2.6.1 什麼是損失函數32
2.6.2 常見的損失函數32
2.6.3 邏輯回歸為什麼使用對數損失函數34
2.6.4 對數損失函數如何度量損失34
2.7 梯度下降法35
2.7.1 梯度下降法的作用36
2.7.2 梯度下降法的直觀理解36
2.7.3 梯度下降法算法描述37
2.7.4 梯度下降法的缺點38
2.7.5 如何對梯度下降法進行調優38
2.7.6 隨機梯度下降和批量梯度下降的區別38
2.7.7 各種梯度下降法性能比較40
2.8 線性判別分析40
2.8.1 LDA思想總結40
2.8.2 圖解LDA核心思想41
2.8.3 二類LDA算法原理41
2.8.4 LDA算法流程總結42
2.8.5 LDA和PCA的異同43
2.8.6 LDA的優缺點43
2.9 主成分分析43
2.9.1 圖解PCA核心思想43
2.9.2 PCA算法推理44
2.9.3 PCA算法流程總結45
2.9.4 PCA思想總結46
2.9.5 PCA算法的優缺點46
2.9.6 降維的必要性及目的46
2.9.7 KPCA與PCA的區別47
2.10 模型評估47
2.10.1 模型評估常用方法48
2.10.2 誤差、偏差和方差的區別和聯繫48
2.10.3 為什麼使用標準差49
2.10.4 經驗誤差與泛化誤差50
2.10.5 圖解欠擬合與過擬合50
2.10.6 如何解決欠擬合與過擬合52
2.10.7 交叉驗證的主要作用52
2.10.8 理解K折交叉驗證53
2.10.9 理解混淆矩陣53
2.10.10 理解查准率與查全率53
2.10.11 理解ROC與AUC 54
2.10.12 如何繪製ROC曲線55
2.10.13 如何計算TPR和FPR 56
2.10.14 如何計算AUC 58
2.10.15 直觀理解AUC 58
2.10.16 ROC評估分類器60
2.10.17 代價敏感錯誤率與代價曲線60
2.10.18 比較檢驗方法61
2.11 決策樹61
2.11.1 決策樹的基本原理62
2.11.2 決策樹的生成過程62
2.11.3 決策樹學習基本算法步驟62
2.11.4 決策樹算法的優缺點63
2.11.5 決策樹和熵的聯繫63
2.11.6 熵的概念及定義63
2.11.7 理解信息增益64
2.11.8 決策樹中熵、條件熵和信息增益的聯繫64
2.11.9 決策樹算法中剪枝的作用及策略65
2.12 支持向量機(SVM) 65
2.12.1 什麼是SVM 65
2.12.2 SVM能解決的問題66
2.12.3 核函數特點及其作用67
2.12.4 SVM為什麼引入對偶問題67
2.12.5 如何理解SVM中的對偶問題67
2.12.6 常見的核函數69
2.12.7 SVM的主要特點69
2.12.8 SVM的主要缺點70
2.12.9 邏輯回歸與SVM的異同70
2.13 貝葉斯分類器72
2.13.1 貝葉斯分類器的基本原理72
2.13.2 樸素貝葉斯分類器72
2.13.3 舉例理解樸素貝葉斯分類器73
2.13.4 半樸素貝葉斯分類器75
2.13.5 極大似然估計和貝葉斯估計的聯繫與區別75
2.13.6 極大似然估計原理76
2.13.7 圖解極大似然估計76
2.14 EM算法77
2.14.1 EM算法的基本思想77
2.14.2 EM算法推導77
2.14.3 圖解EM算法78
2.14.4 EM算法流程79
2.15 降維和聚類79
2.15.1 圖解為什麼會產生維數災難79
2.15.2 怎樣避免維數災難83
2.15.3 聚類和降維83
2.15.4 聚類算法優劣的衡量標準84
2.15.5 聚類和分類85
2.15.6 聚類算法的性能比較85
2.15.7 4種常用聚類方法比較85

第3章深度學習基礎89
3.1 基本概念89
3.1.1 神經網絡的類型89
3.1.2 神經網絡的常用模型結構92
3.1.3 深度學習和機器學習的區別與聯繫93
3.1.4 為什麼使用深層表示93
3.1.5 深度學習架構分類94
3.1.6 如何選擇深度學習開發平台94
3.2 神經網絡計算95
3.2.1 前向傳播和反向傳播95
3.2.2 如何計算神經網絡的輸出96
3.2.3 如何計算卷積神經網絡輸出值97
3.2.4 如何計算池化層輸出值100
3.2.5 反向傳播實例101
3.2.6 神經網絡更“深”的意義104
3.3 激活函數104
3.3.1 為什麼需要激活函數104
3.3.2 為什麼激活函數需要非線性函數105
3.3.3 常見的激活函數及其圖像105
3.3.4 常見激活函數的導數計算107
3.3.5 激活函數有哪些性質108
3.3.6 如何選擇激活函數108
3.3.7 為什麼tanh收斂速度比sigmoid快109
3.3.8 Relu激活函數的優點109
3.3.9 理解Relu激活函數的稀疏激活性109
3.3.10 什麼時候可以用線性激活函數109
3.3.11 softmax函數的定義及作用110
3.3.12 softmax函數如何應用於多分類110
3.4 BATCH SIZE 112
3.4.1 為什麼需要Batch Size 112
3.4.2 如何選擇Batch Size值112
3.4.3 調節Batch Size對訓練效果的影響113
3.4.4 在合理範圍內增大Batch Size的好處113
3.4.5 盲目增大Batch Size的壞處114
3.5 歸一化114
3.5.1 理解歸一化含義114
3.5.2 歸一化和標準化的聯繫與區別114
3.5.3 為什麼要歸一化或標準化115
3.5.4 圖解為什麼要歸一化115
3.5.5 為什麼歸一化能提高求最優解速度115
3.5.6 歸一化有哪些類型116
3.5.7 局部響應歸一化作用116
3.5.8 局部響應歸一化原理117
3.5.9 什麼是批歸一化118
3.5.10 批歸一化的優點118
3.5.11 批歸一化算法流程118
3.5.12 批歸一化和組歸一化比較119
3.5.13 權重歸一化和批歸一化比較119
3.5.14 批歸一化適用範圍120
3.5.15 BN、LN、IN和GN的對比120
3.6 參數初始化121
3.6.1 參數初始化應滿足的條件121
3.6.2 常用的幾種初始化方式121
3.6.3 全0初始化帶來的問題121
3.6.4 全都初始化為同樣的值122
3.6.5 初始化為小的隨機數123
3.6.6 用校準方差123
3.7 預訓練與微調123
3.7.1 什麼是預訓練和微調123
3.7.2 預訓練和微調的作用124
3.7.3 預訓練模型的複用124
3.7.4 預訓練和遷移學習125
3.7.5 微調時網絡參數是否更新125
3.7.6 微調模型的三種狀態125
3.7.7 為什麼深層神經網絡難以訓練125
3.8 超參數127
3.8.1 超參數有哪些127
3.8.2 參數和模型的關係127
3.8.3 參數和超參數的區別127
3.8.4 如何尋找超參數的最優值128
3.8.5 超參數搜索的一般過程128
3.9 學習率129
3.9.1 學習率的作用129
3.9.2 學習率衰減的常用參數129
3.9.3 常用的學習率衰減方法129
3.10 正則化133
3.10.1 為什麼要正則化133
3.10.2 常見正則化方法133
3.10.3 圖解L1和L2正則化134
3.10.4 Dropout具體工作流程135
3.10.5 為什麼Dropout可以解決過擬合問題137
3.10.6 Dropout的缺點