深度學(xué)習(xí)及加速技術(shù):入門與實(shí)踐
定 價(jià):69 元
叢書名:智能系統(tǒng)與技術(shù)叢書
- 作者:白創(chuàng)編著
- 出版時(shí)間:2023/6/1
- ISBN:9787111728719
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP181
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書緊密圍繞深度學(xué)習(xí)及加速技術(shù)的基礎(chǔ)理論與應(yīng)用案例展開敘述,實(shí)現(xiàn)了深度學(xué)習(xí)算法設(shè)計(jì)與硬件加速技術(shù)的有機(jī)統(tǒng)一,是一本基礎(chǔ)理論與實(shí)踐案例相結(jié)合的實(shí)用圖書。其具體內(nèi)容涉及人工智能基本概念,神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)基礎(chǔ)、神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)與學(xué)習(xí)策略、反向傳播算法數(shù)學(xué)原理與訓(xùn)練機(jī)制等神經(jīng)網(wǎng)絡(luò)基礎(chǔ)理論,以及一些高級(jí)主題和實(shí)踐。本書可作為從事人工智能領(lǐng)域算法研究、架構(gòu)設(shè)計(jì)與應(yīng)用實(shí)現(xiàn)等工作的科研人員、工程師以及高等院校師生的參考書籍。
前 言
近年來,隨著深度神經(jīng)網(wǎng)絡(luò)算法的發(fā)展,人工智能應(yīng)用的熱潮席卷全球,以深度學(xué)習(xí)為基礎(chǔ)的信息搜索、圖像處理、機(jī)器視覺、自然語言處理、信息推薦、智能決策等技術(shù)已逐步應(yīng)用在智能金融、機(jī)器人、智能安防、智能制造、智慧交通、在線傳媒、在線娛樂等領(lǐng)域,推動(dòng)了人工智能產(chǎn)業(yè)的飛速發(fā)展。
人工智能產(chǎn)業(yè)作為戰(zhàn)略新興產(chǎn)業(yè)得到我國政府的高度重視,2015年以來國家先后出臺(tái)了《關(guān)于積極推進(jìn)“互聯(lián)網(wǎng)+”行動(dòng)的指導(dǎo)意見》《“十三五”國家科技創(chuàng)新規(guī)劃》《新一代人工智能發(fā)展規(guī)劃》《促進(jìn)新一代人工智能產(chǎn)業(yè)發(fā)展三年行動(dòng)計(jì)劃(2018—2020年)》等多項(xiàng)政策,積極推動(dòng)人工智能產(chǎn)業(yè)快速發(fā)展。根據(jù)中國電子學(xué)會(huì)數(shù)據(jù),2021年我國人工智能核心產(chǎn)業(yè)市場規(guī)模為1300億元,相較于2020年增長了38.9%。根據(jù)《新一代人工智能發(fā)展規(guī)劃》,預(yù)計(jì)2025年,我國人工智能核心產(chǎn)業(yè)規(guī)模將超過4000億元,帶動(dòng)相關(guān)產(chǎn)業(yè)規(guī)模超過5萬億元。我國人工智能產(chǎn)業(yè)市場規(guī)模巨大,人工智能技術(shù)與產(chǎn)業(yè)正處于高速增長期,產(chǎn)業(yè)的發(fā)展需要人才來支撐,然而目前我國人工智能人才嚴(yán)重不足,根據(jù)2020年人力資源和社會(huì)保障部發(fā)布的《新職業(yè)——人工智能工程技術(shù)人員就業(yè)景氣現(xiàn)狀分析報(bào)告》,我國人工智能人才缺口超過500萬,國內(nèi)的供求比例為1∶10,出現(xiàn)了嚴(yán)重失衡,如不加強(qiáng)人才培養(yǎng),至2025年,人才缺口將突破1000萬。因此,人工智能產(chǎn)業(yè)人才的培養(yǎng)是人工智能產(chǎn)業(yè)發(fā)展的基礎(chǔ)性工程,積極建設(shè)人工智能學(xué)科專業(yè)、改革人工智能課程與教材、實(shí)現(xiàn)人工智能創(chuàng)新人才的培養(yǎng)是我國人工智能技術(shù)與產(chǎn)業(yè)發(fā)展的迫切需要。深度學(xué)習(xí)是人工智能技術(shù)進(jìn)步與產(chǎn)業(yè)發(fā)展的核心引擎,開展對(duì)深度學(xué)習(xí)算法與加速技術(shù)理論及應(yīng)用的研究,培養(yǎng)具備深度學(xué)習(xí)理論與加速技術(shù)相關(guān)知識(shí)的技術(shù)人才就顯得更加重要。然而傳統(tǒng)的深度學(xué)習(xí)基礎(chǔ)與應(yīng)用課程所采用的教材不夠完善,大多只注重深度學(xué)習(xí)算法的基礎(chǔ)理論闡述,而缺少對(duì)深度學(xué)習(xí)算法優(yōu)化技術(shù)與加速技術(shù)的討論,更缺乏基于深度學(xué)習(xí)的應(yīng)用案例的分析,因此急需一本適合人工智能領(lǐng)域人才培養(yǎng)、偏重深度學(xué)習(xí)應(yīng)用與加速技術(shù)實(shí)現(xiàn)的高水平教材。
基于以上需求,我編寫了本書。本書內(nèi)容分為理論篇與應(yīng)用篇,適合具備不同基礎(chǔ)的讀者學(xué)習(xí),旨在培養(yǎng)讀者在深度學(xué)習(xí)算法及硬件加速方案設(shè)計(jì)方面的工程實(shí)踐能力。本書不僅注重對(duì)深度學(xué)習(xí)基礎(chǔ)理論的闡述,而且深入分析了處理梯度消失與過擬合現(xiàn)象、選擇合適初始值、優(yōu)化損失函數(shù)等深度學(xué)習(xí)算法設(shè)計(jì)中的關(guān)鍵技術(shù),闡述了深度學(xué)習(xí)算法硬件加速技術(shù)基礎(chǔ)理論,并給出了加速方案設(shè)計(jì)案例,非常有助于讀者理解深度神經(jīng)網(wǎng)絡(luò)在實(shí)際應(yīng)用中所遇到的難題并掌握其解決方法。本書具有以下四個(gè)特色:
1)不僅引入線性向量空間、內(nèi)積、線性變換與矩陣表示、梯度等神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)基礎(chǔ)概念,而且結(jié)合神經(jīng)網(wǎng)絡(luò)算法應(yīng)用重新定義這些數(shù)學(xué)概念的物理意義,以加強(qiáng)讀者對(duì)基于內(nèi)積、梯度等數(shù)學(xué)概念的人工智能算法的設(shè)計(jì)能力。
2)詳細(xì)分析了梯度消失與梯度爆炸處理、過擬合消除、初始值選擇規(guī)則、可變的學(xué)習(xí)速度、損失函數(shù)優(yōu)化等深度學(xué)習(xí)算法設(shè)計(jì)中的關(guān)鍵技術(shù),以增強(qiáng)讀者對(duì)深度學(xué)習(xí)算法的理解以及算法設(shè)計(jì)能力。
3)解讀了網(wǎng)絡(luò)模型優(yōu)化、計(jì)算精度降低與網(wǎng)絡(luò)剪枝技術(shù)、SIMD計(jì)算架構(gòu)與GPU加速、TPU計(jì)算架構(gòu)與TPU加速、ASIC AI計(jì)算架構(gòu)與FPGA加速等深度學(xué)習(xí)算法硬件加速技術(shù)的基礎(chǔ)理論。
4)重點(diǎn)講解了基于OpenCL的FPGA異構(gòu)并行計(jì)算技術(shù)與基于OpenVINO的FPGA深度學(xué)習(xí)加速技術(shù),引入灰度圖像逆時(shí)針旋轉(zhuǎn)、squeezenet網(wǎng)絡(luò)目標(biāo)識(shí)別等FPGA異構(gòu)加速應(yīng)用案例,以提高讀者在深度學(xué)習(xí)算法設(shè)計(jì)及異構(gòu)加速方案實(shí)現(xiàn)方面的工程實(shí)踐能力。
本書在編寫過程中,不僅受到了湖南省教育廳高水平研究生教材建設(shè)項(xiàng)目與長沙理工大學(xué)優(yōu)秀教材建設(shè)項(xiàng)目的資助,而且得到了戴葵教授、研究生陳立等的鼎力相助,同時(shí)獲得了Intel和Terasic對(duì)加速技術(shù)實(shí)驗(yàn)部分的大力支持,在此一并表示真摯的感謝。由于作者水平有限,加上時(shí)間倉促,書中難免有疏漏甚至錯(cuò)誤之處,敬請(qǐng)同行和讀者批評(píng)指正,作者的聯(lián)系方式為baichuang@csust.edu.cn。
CONTENTS
目 錄
前言
理論篇
第1章 人工智能簡介2
1.1 人工智能概念2
1.1.1 人工智能定義2
1.1.2 人工智能發(fā)展歷程3
1.2 人工智能與深度學(xué)習(xí)4
1.2.1 人工智能與深度學(xué)習(xí)之間
的關(guān)系4
1.2.2 圖靈機(jī)與丘奇-圖靈論題5
1.3 人工智能發(fā)展階段6
1.3.1 人工智能1.0——知識(shí)+
算法+算力6
1.3.2 人工智能2.0——數(shù)據(jù)+
算法+算力7
1.3.3 人工智能3.0——知識(shí)+
數(shù)據(jù)+算法+算力7
1.3.4 人工智能4.0——存算
一體化8
1.4 人工智能應(yīng)用9
1.4.1 工業(yè)零部件尺寸測量與
缺陷檢測9
1.4.2 目標(biāo)檢測與跟蹤9
1.4.3 人臉比對(duì)與識(shí)別10
1.4.4 三維影像重構(gòu)10
第2章 神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)基礎(chǔ)12
2.1 線性向量空間12
2.2 內(nèi)積14
2.3 線性變換與矩陣表示15
2.4 梯度17
第3章 神經(jīng)網(wǎng)絡(luò)與學(xué)習(xí)規(guī)則20
3.1 神經(jīng)元模型與網(wǎng)絡(luò)結(jié)構(gòu)20
3.1.1 神經(jīng)元模型20
3.1.2 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)22
3.2 感知機(jī)學(xué)習(xí)24
3.2.1 感知機(jī)定義及結(jié)構(gòu)24
3.2.2 感知機(jī)學(xué)習(xí)規(guī)則25
3.3 Hebb學(xué)習(xí)28
3.3.1 無監(jiān)督Hebb學(xué)習(xí)28
3.3.2 有監(jiān)督Hebb學(xué)習(xí)29
3.4 性能學(xué)習(xí)30
3.4.1 性能指數(shù)30
3.4.2 梯度下降法31
3.4.3 隨機(jī)梯度下降法32
第4章 反向傳播33
4.1 LMS算法33
4.2 反向傳播算法35
4.2.1 性能指數(shù)36
4.2.2 鏈?zhǔn)椒▌t36
4.2.3 反向傳播計(jì)算敏感性38
4.2.4 反向傳播算法總結(jié)39
4.3 反向傳播算法變形39
4.3.1 批數(shù)據(jù)訓(xùn)練法40
4.3.2 動(dòng)量訓(xùn)練法40
4.3.3 標(biāo)準(zhǔn)數(shù)值優(yōu)化技術(shù)42
4.4 反向傳播算法實(shí)例分析42
第5章 卷積神經(jīng)網(wǎng)絡(luò)45
5.1 卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)45
5.1.1 全連接神經(jīng)網(wǎng)絡(luò)與卷積
神經(jīng)網(wǎng)絡(luò)45
5.1.2 卷積神經(jīng)網(wǎng)絡(luò)組成結(jié)構(gòu)46
5.1.3 卷積神經(jīng)網(wǎng)絡(luò)進(jìn)化史50
5.2 LeNet50
5.2.1 LeNet結(jié)構(gòu)51
5.2.2 LeNet特點(diǎn)52
5.3 AlexNet52
5.3.1 AlexNet結(jié)構(gòu)52
5.3.2 AlexNet特點(diǎn)54
5.4 VGGNet54
5.4.1 VGG16結(jié)構(gòu)55
5.4.2 VGG16特點(diǎn)57
5.5 GoogLeNet57
5.5.1 Inception結(jié)構(gòu)57
5.5.2 GoogLeNet結(jié)構(gòu)——基于Inception V1模塊59
5.5.3 GoogLeNet特點(diǎn)62
5.6 ResNet62
5.6.1 ResNet殘差塊結(jié)構(gòu)63
5.6.2 ResNet結(jié)構(gòu)63
5.6.3 ResNet特點(diǎn)66
第6章 目標(biāo)檢測與識(shí)別67
6.1 R-CNN67
6.1.1 基于SS方法的候選區(qū)域
選擇68
6.1.2 候選區(qū)域預(yù)處理68
6.1.3 CNN特征提取69
6.1.4 SVM目標(biāo)分類69
6.1.5 Bounding box回歸70
6.2 Fast R-CNN70
6.2.1 基于SS方法的候選區(qū)域
生成71
6.2.2 CNN分類與回歸71
6.2.3 Fast R-CNN目標(biāo)檢測
算法特點(diǎn)72
6.3 Faster R-CNN73
6.3.1 CNN特征提取73
6.3.2 RPN候選框生成74
6.3.3 CNN分類與回歸74
6.3.4 Faster R-CNN目標(biāo)檢測
算法特點(diǎn)75
6.4 YOLO75
6.4.1 YOLOv175
6.4.2 YOLOv277
6.4.3 YOLOv380
第7章 深度學(xué)習(xí)優(yōu)化技術(shù)83
7.1 梯度消失83
7.2 過擬合85
7.2.1 增加訓(xùn)練數(shù)據(jù)集85
7.2.2 regularization86
7.2.3 dropout技術(shù)88
7.3 初始值與學(xué)習(xí)速度89
7.3.1 初始值選擇規(guī)則89
7.3.2 可變的學(xué)習(xí)速度91
7.4 損失函數(shù)92
7.4.1 均方誤差損失函數(shù)92
7.4.2 cross-entropy損失函數(shù)93
7.4.3 log-likelyhood損失函數(shù) 95
第8章 深度學(xué)習(xí)加速技術(shù)96
8.1 軟件模型優(yōu)化技術(shù)96
8.1.1 網(wǎng)絡(luò)模型優(yōu)化96
8.1.2 計(jì)算精度降低97
8.1.3 網(wǎng)絡(luò)剪枝技術(shù)97
8.2 GPU加速技術(shù)98
8.3 TPU加速技術(shù)100
8.4 FPGA加速技術(shù)102
8.4.1 全連接神經(jīng)網(wǎng)絡(luò)加速102
8.4.2 卷積神經(jīng)網(wǎng)絡(luò)加速103
應(yīng)用篇
第9章 基于OpenCL的FPGA異構(gòu)
并行計(jì)算技術(shù)106
9.1 OpenCL技術(shù)基礎(chǔ)與環(huán)境搭建106
9.1.1 OpenCL技術(shù)基礎(chǔ)106
9.1.2 OpenCL環(huán)境搭建107
9.2 OpenCL異構(gòu)并行計(jì)算架構(gòu)115
9.2.1 平臺(tái)模型116
9.2.2 執(zhí)行模型116
9.2.3 內(nèi)存模型117
9.3 OpenCL C語言基本語法與程序
設(shè)計(jì)118
9.3.1 基本語法與關(guān)鍵字118
9.3.2 數(shù)據(jù)類型119
9.3.3 維度與工作項(xiàng)122
9.3.4 其他注意事項(xiàng)123
9.4 基于OpenCL的FPGA異構(gòu)并行
計(jì)算實(shí)現(xiàn)方法123
9.4.1 主程序設(shè)計(jì)123
9.4.2 內(nèi)核程序設(shè)計(jì)139
第10章 基于OpenCL的FPGA異構(gòu)
并行計(jì)算應(yīng)用案例140
10.1 整體描述140
10.2 內(nèi)核