嵌入式深度學習:算法和硬件實現(xiàn)技術(shù)
定 價:99 元
叢書名:IC設計與嵌入式系統(tǒng)開發(fā)叢書
- 作者:[比利時]伯特·穆恩斯(Bert Moons) [美]丹尼爾·班克曼(Daniel Bankman) [比利時]瑪麗安·維赫爾斯特(
- 出版時間:2021/9/1
- ISBN:9787111688075
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP181
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書介紹了實現(xiàn)嵌入式深度學習的算法和硬件實現(xiàn)技術(shù)。作者描述了應用、算法、電路級的協(xié)同設計方法,這些方法有助于實現(xiàn)降低深度學習算法計算成本的目標。這些技術(shù)的影響顯示在四個用于嵌入式深度學習的硅原型中。
盡管深度學習算法在許多典型的機器學習任務中都達到了的水平,但由于大量的計算和巨大的模型尺寸,深度學習算法在能耗方面的代價非常高。因此,在電池容量受限的可穿戴設備上運行的深度學習應用只能通過與資源豐富的云端無線連接實現(xiàn)。這種方案有一些缺點。首先,存在隱私問題。云計算要求用戶與遠程系統(tǒng)共享其原始數(shù)據(jù)—圖像、視頻、位置和語音。大多數(shù)用戶都不愿意這樣做。其次,云計算方案要求用戶始終保持連接狀態(tài),在當前的蜂窩網(wǎng)絡覆蓋范圍下這是不可行的。此外,實時應用需要低延遲的連接,而當前的通信基礎設施無法保證這一點。后,無線連接的效率很低—在供能受限的平臺上,每個待傳輸?shù)男畔⑽恍枰嗄芰坎拍苓M行實時數(shù)據(jù)傳輸。所有這些問題(隱私、延遲、連接性以及昂貴的無線連接)都可以通過在邊緣端實施計算來解決。尋找這一目標的實現(xiàn)方法是本書的主題。本書聚焦于使面向嵌入式應用的深度學習算法的能耗降至的技術(shù),這些應用是運行在電池容量受限的可穿戴邊緣設備上的。
只有當這些深度學習算法在可穿戴設備的計算平臺提供的能量和功率預算內(nèi)以更高能效的方式運行時,才有可能進行邊緣計算。為了實現(xiàn)這一目標,需要在應用的所有設計層次上進行多項創(chuàng)新。首先可以開發(fā)更智能的應用,以實現(xiàn)統(tǒng)計上更高效的深度學習算法,進而在基于專門定制的電路構(gòu)建的優(yōu)化硬件平臺上運行。后,設計人員不應單獨關(guān)注這些領(lǐng)域,而應協(xié)同優(yōu)化硬件和軟件,以建立能耗的深度學習平臺。本書概述了設計此類系統(tǒng)可能的解決方案。
比利時魯汶大學 Bert Moons
美國加利福尼亞州斯坦福大學 Daniel Bankman
比利時魯汶大學Marian Verhelst
譯者序
前言
致謝
縮寫詞
第1章 嵌入式深度神經(jīng)網(wǎng)絡 1
1.1 簡介 1
1.2 機器學習 2
1.2.1 任務T 3
1.2.2 性能度量P 3
1.2.3 經(jīng)驗E 4
1.3 深度學習 4
1.3.1 深度前饋神經(jīng)網(wǎng)絡 6
1.3.2 卷積神經(jīng)網(wǎng)絡 8
1.3.3 循環(huán)神經(jīng)網(wǎng)絡 16
1.3.4 訓練深度神經(jīng)網(wǎng)絡 18
1.4 嵌入式深度神經(jīng)網(wǎng)絡的挑戰(zhàn) 25
1.5 本書創(chuàng)新點 27
參考文獻 29
第2章 優(yōu)化的層次級聯(lián)處理 34
2.1 簡介 34
2.2 層次級聯(lián)系統(tǒng) 36
2.2.1 泛化的兩級喚醒系統(tǒng) 36
2.2.2 層次化的代價、精度和召回率 37
2.2.3 層次化分類器的Roofline模型 40
2.2.4 優(yōu)化的層次級聯(lián)感知 42
2.3 概念的一般性證明 43
2.3.1 系統(tǒng)描述 43
2.3.2 輸入統(tǒng)計 45
2.3.3 實驗 46
2.3.4 本節(jié)小結(jié) 48
2.4 案例研究:基于CNN的層次化人臉識別 49
2.4.1 人臉識別的分層結(jié)構(gòu) 49
2.4.2 層次化的代價、精度和召回率 51
2.4.3 優(yōu)化的人臉識別分層結(jié)構(gòu) 52
2.5 小結(jié) 55
參考文獻 56
第3章 硬件–算法協(xié)同優(yōu)化 58
3.1 簡介 58
3.1.1 利用網(wǎng)絡結(jié)構(gòu) 59
3.1.2 增強并利用稀疏性 63
3.1.3 增強并利用容錯性 64
3.2 低精度神經(jīng)網(wǎng)絡的能量增益 66
3.2.1 片外訪存的能耗 67
3.2.2 硬件平臺的一般性建模 68
3.3 測試時定點神經(jīng)網(wǎng)絡 69
3.3.1 分析和實驗 70
3.3.2 量化對分類準確率的影響 70
3.3.3 稀疏FPNN的能耗 73
3.3.4 結(jié)果 75
3.3.5 討論 76
3.4 訓練時量化神經(jīng)網(wǎng)絡 77
3.4.1 訓練QNN 78
3.4.2 QNN的能耗 81
3.4.3 實驗 81
3.4.4 結(jié)果 84
3.4.5 討論 88
3.5 聚類神經(jīng)網(wǎng)絡 88
3.6 小結(jié) 90
參考文獻 91
第4章 近似計算的電路技術(shù) 95
4.1 近似計算范式簡介 95
4.2 近似計算技術(shù) 98
4.2.1 容錯分析與質(zhì)量管理 98
4.2.2 近似電路 99
4.2.3 近似架構(gòu) 100
4.2.4 近似軟件 101
4.2.5 討論 102
4.3 DVAFS:動態(tài)電壓精度頻率調(diào)節(jié) 102
4.3.1 DVAFS基礎 102
4.3.2 DVAFS的容錯識別 105
4.3.3 DVAFS的能量增益 106
4.4 DVAFS的性能分析 109
4.4.1 模塊級的DVAFS 109
4.4.2 系統(tǒng)級的DVAFS 111
4.5 DVAFS實現(xiàn)的挑戰(zhàn) 115
4.5.1 基礎DVA(F)S模塊的功能實現(xiàn) 115
4.5.2 基礎DVA(F)S模塊的物理實現(xiàn) 117
4.6 小結(jié)和討論 118
參考文獻 119
第5章 Envision:能耗可調(diào)節(jié)的稀疏卷積神經(jīng)網(wǎng)絡處理 122
5.1 神經(jīng)網(wǎng)絡加速 122
5.2 針對嵌入式CNN的二維MAC處理器架構(gòu) 124
5.2.1 處理器數(shù)據(jù)通路 125
5.2.2 片上存儲架構(gòu) 128
5.2.3 利用網(wǎng)絡稀疏性的硬件支持 130
5.2.4 通過定制化指令集實現(xiàn)高能效的靈活性 132
5.3 基于40nm CMOS的DVAS兼容的Envision處理器 133
5.3.1 RTL級的硬件支持 134
5.3.2 物理實現(xiàn) 135
5.3.3 測量結(jié)果 136
5.3.4 Envision V1回顧 143
5.4 基于28nm FD-SOI的DVAFS兼容的Envision處理器 144
5.4.1 RTL級硬件支持 146
5.4.2 物理實現(xiàn) 147
5.4.3 測量結(jié)果 147
5.4.4 Envision V2回顧 156
5.5 小結(jié) 157
參考文獻 158
第6章 BinarEye: 常開的數(shù)字及混合信號二值神經(jīng)網(wǎng)絡處理 160
6.1 二值神經(jīng)網(wǎng)絡 160
6.1.1 簡介 160
6.1.2 二值神經(jīng)網(wǎng)絡層 161
6.2 二值神經(jīng)網(wǎng)絡應用 165
6.3 可編程的輸入到標簽的加速器架構(gòu) 167
6.3.1 256X:基礎的BinaryNet計算架構(gòu) 169
6.3.2 SX:靈活的DVAFS BinaryNet計算架構(gòu) 178
6.4 MSBNN:混合信號的256X實現(xiàn) 182
6.4.1 開關(guān)電容神經(jīng)元陣列 183
6.4.2 測量結(jié)果 184
6.4.3 模擬信號通路代價 188
6.5 BinarEye:數(shù)字的SX實現(xiàn) 189
6.5.1 全數(shù)字的二值神經(jīng)元 189
6.5.2 物理實現(xiàn) 190
6.5.3 測量結(jié)果 190
6.5.4 BinarEye中的DVAFS 194
6.5.5 與水平的對比 195
6.6 數(shù)字與模擬二值神經(jīng)網(wǎng)絡的實現(xiàn)對比 197
6.7 展望與未來工作 200
6.8 小結(jié) 202
參考文獻 204
第7章 結(jié)論、貢獻和未來工作 206
7.1 結(jié)論 207
7.2 未來工作的建議 210
參考文獻 211
索引 212