描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111688075丛书名: IC设计与嵌入式系统开发丛书
内容简介
本书介绍了实现嵌入式深度学习的算法和硬件实现技术。作者描述了应用、算法、电路级的协同设计方法,这些方法有助于实现降低深度学习算法计算成本的目标。这些技术的影响显示在四个用于嵌入式深度学习的硅原型中。
目 录
译者序
前言
致谢
缩写词
第1章 嵌入式深度神经网络 1
1.1 简介 1
1.2 机器学习 2
1.2.1 任务T 3
1.2.2 性能度量P 3
1.2.3 经验E 4
1.3 深度学习 4
1.3.1 深度前馈神经网络 6
1.3.2 卷积神经网络 8
1.3.3 循环神经网络 16
1.3.4 训练深度神经网络 18
1.4 嵌入式深度神经网络的挑战 25
1.5 本书创新点 27
参考文献 29
第2章 优化的层次级联处理 34
2.1 简介 34
2.2 层次级联系统 36
2.2.1 泛化的两级唤醒系统 36
2.2.2 层次化的代价、精度和召回率 37
2.2.3 层次化分类器的Roofline模型 40
2.2.4 优化的层次级联感知 42
2.3 概念的一般性证明 43
2.3.1 系统描述 43
2.3.2 输入统计 45
2.3.3 实验 46
2.3.4 本节小结 48
2.4 案例研究:基于CNN的层次化人脸识别 49
2.4.1 人脸识别的分层结构 49
2.4.2 层次化的代价、精度和召回率 51
2.4.3 优化的人脸识别分层结构 52
2.5 小结 55
参考文献 56
第3章 硬件–算法协同优化 58
3.1 简介 58
3.1.1 利用网络结构 59
3.1.2 增强并利用稀疏性 63
3.1.3 增强并利用容错性 64
3.2 低精度神经网络的能量增益 66
3.2.1 片外访存的能耗 67
3.2.2 硬件平台的一般性建模 68
3.3 测试时定点神经网络 69
3.3.1 分析和实验 70
3.3.2 量化对分类准确率的影响 70
3.3.3 稀疏FPNN的能耗 73
3.3.4 结果 75
3.3.5 讨论 76
3.4 训练时量化神经网络 77
3.4.1 训练QNN 78
3.4.2 QNN的能耗 81
3.4.3 实验 81
3.4.4 结果 84
3.4.5 讨论 88
3.5 聚类神经网络 88
3.6 小结 90
参考文献 91
第4章 近似计算的电路技术 95
4.1 近似计算范式简介 95
4.2 近似计算技术 98
4.2.1 容错分析与质量管理 98
4.2.2 近似电路 99
4.2.3 近似架构 100
4.2.4 近似软件 101
4.2.5 讨论 102
4.3 DVAFS:动态电压精度频率调节 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 系统级的DVAFS 111
4.5 DVAFS实现的挑战 115
4.5.1 基础DVA(F)S模块的功能实现 115
4.5.2 基础DVA(F)S模块的物理实现 117
4.6 小结和讨论 118
参考文献 119
第5章 Envision:能耗可调节的稀疏卷积神经网络处理 122
5.1 神经网络加速 122
5.2 针对嵌入式CNN的二维MAC处理器架构 124
5.2.1 处理器数据通路 125
5.2.2 片上存储架构 128
5.2.3 利用网络稀疏性的硬件支持 130
5.2.4 通过定制化指令集实现高能效的灵活性 132
5.3 基于40nm CMOS的DVAS兼容的Envision处理器 133
5.3.1 RTL级的硬件支持 134
5.3.2 物理实现 135
5.3.3 测量结果 136
5.3.4 Envision V1回顾 143
5.4 基于28nm FD-SOI的DVAFS兼容的Envision处理器 144
5.4.1 RTL级硬件支持 146
5.4.2 物理实现 147
5.4.3 测量结果 147
5.4.4 Envision V2回顾 156
5.5 小结 157
参考文献 158
第6章 BinarEye: 常开的数字及混合信号二值神经网络处理 160
6.1 二值神经网络 160
6.1.1 简介 160
6.1.2 二值神经网络层 161
6.2 二值神经网络应用 165
6.3 可编程的输入到标签的加速器架构 167
6.3.1 256X:基础的BinaryNet计算架构 169
6.3.2 SX:灵活的DVAFS BinaryNet计算架构 178
6.4 MSBNN:混合信号的256X实现 182
6.4.1 开关电容神经元阵列 183
6.4.2 测量结果 184
6.4.3 模拟信号通路代价 188
6.5 BinarEye:数字的SX实现 189
6.5.1 全数字的二值神经元 189
6.5.2 物理实现 190
6.5.3 测量结果 190
6.5.4 BinarEye中的DVAFS 194
6.5.5 与水平的对比 195
6.6 数字与模拟二值神经网络的实现对比 197
6.7 展望与未来工作 200
6.8 小结 202
参考文献 204
第7章 结论、贡献和未来工作 206
7.1 结论 207
7.2 未来工作的建议 210
参考文献 211
索引 212
前言
致谢
缩写词
第1章 嵌入式深度神经网络 1
1.1 简介 1
1.2 机器学习 2
1.2.1 任务T 3
1.2.2 性能度量P 3
1.2.3 经验E 4
1.3 深度学习 4
1.3.1 深度前馈神经网络 6
1.3.2 卷积神经网络 8
1.3.3 循环神经网络 16
1.3.4 训练深度神经网络 18
1.4 嵌入式深度神经网络的挑战 25
1.5 本书创新点 27
参考文献 29
第2章 优化的层次级联处理 34
2.1 简介 34
2.2 层次级联系统 36
2.2.1 泛化的两级唤醒系统 36
2.2.2 层次化的代价、精度和召回率 37
2.2.3 层次化分类器的Roofline模型 40
2.2.4 优化的层次级联感知 42
2.3 概念的一般性证明 43
2.3.1 系统描述 43
2.3.2 输入统计 45
2.3.3 实验 46
2.3.4 本节小结 48
2.4 案例研究:基于CNN的层次化人脸识别 49
2.4.1 人脸识别的分层结构 49
2.4.2 层次化的代价、精度和召回率 51
2.4.3 优化的人脸识别分层结构 52
2.5 小结 55
参考文献 56
第3章 硬件–算法协同优化 58
3.1 简介 58
3.1.1 利用网络结构 59
3.1.2 增强并利用稀疏性 63
3.1.3 增强并利用容错性 64
3.2 低精度神经网络的能量增益 66
3.2.1 片外访存的能耗 67
3.2.2 硬件平台的一般性建模 68
3.3 测试时定点神经网络 69
3.3.1 分析和实验 70
3.3.2 量化对分类准确率的影响 70
3.3.3 稀疏FPNN的能耗 73
3.3.4 结果 75
3.3.5 讨论 76
3.4 训练时量化神经网络 77
3.4.1 训练QNN 78
3.4.2 QNN的能耗 81
3.4.3 实验 81
3.4.4 结果 84
3.4.5 讨论 88
3.5 聚类神经网络 88
3.6 小结 90
参考文献 91
第4章 近似计算的电路技术 95
4.1 近似计算范式简介 95
4.2 近似计算技术 98
4.2.1 容错分析与质量管理 98
4.2.2 近似电路 99
4.2.3 近似架构 100
4.2.4 近似软件 101
4.2.5 讨论 102
4.3 DVAFS:动态电压精度频率调节 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 系统级的DVAFS 111
4.5 DVAFS实现的挑战 115
4.5.1 基础DVA(F)S模块的功能实现 115
4.5.2 基础DVA(F)S模块的物理实现 117
4.6 小结和讨论 118
参考文献 119
第5章 Envision:能耗可调节的稀疏卷积神经网络处理 122
5.1 神经网络加速 122
5.2 针对嵌入式CNN的二维MAC处理器架构 124
5.2.1 处理器数据通路 125
5.2.2 片上存储架构 128
5.2.3 利用网络稀疏性的硬件支持 130
5.2.4 通过定制化指令集实现高能效的灵活性 132
5.3 基于40nm CMOS的DVAS兼容的Envision处理器 133
5.3.1 RTL级的硬件支持 134
5.3.2 物理实现 135
5.3.3 测量结果 136
5.3.4 Envision V1回顾 143
5.4 基于28nm FD-SOI的DVAFS兼容的Envision处理器 144
5.4.1 RTL级硬件支持 146
5.4.2 物理实现 147
5.4.3 测量结果 147
5.4.4 Envision V2回顾 156
5.5 小结 157
参考文献 158
第6章 BinarEye: 常开的数字及混合信号二值神经网络处理 160
6.1 二值神经网络 160
6.1.1 简介 160
6.1.2 二值神经网络层 161
6.2 二值神经网络应用 165
6.3 可编程的输入到标签的加速器架构 167
6.3.1 256X:基础的BinaryNet计算架构 169
6.3.2 SX:灵活的DVAFS BinaryNet计算架构 178
6.4 MSBNN:混合信号的256X实现 182
6.4.1 开关电容神经元阵列 183
6.4.2 测量结果 184
6.4.3 模拟信号通路代价 188
6.5 BinarEye:数字的SX实现 189
6.5.1 全数字的二值神经元 189
6.5.2 物理实现 190
6.5.3 测量结果 190
6.5.4 BinarEye中的DVAFS 194
6.5.5 与水平的对比 195
6.6 数字与模拟二值神经网络的实现对比 197
6.7 展望与未来工作 200
6.8 小结 202
参考文献 204
第7章 结论、贡献和未来工作 206
7.1 结论 207
7.2 未来工作的建议 210
参考文献 211
索引 212
前 言
尽管深度学习算法在许多典型的机器学习任务中都达到了的水平,但由于大量的计算和巨大的模型尺寸,深度学习算法在能耗方面的代价非常高。因此,在电池容量受限的可穿戴设备上运行的深度学习应用只能通过与资源丰富的云端无线连接实现。这种方案有一些缺点。首先,存在隐私问题。云计算要求用户与远程系统共享其原始数据—图像、视频、位置和语音。大多数用户都不愿意这样做。其次,云计算方案要求用户始终保持连接状态,在当前的蜂窝网络覆盖范围下这是不可行的。此外,实时应用需要低延迟的连接,而当前的通信基础设施无法保证这一点。后,无线连接的效率很低—在供能受限的平台上,每个待传输的信息位需要太多能量才能进行实时数据传输。所有这些问题(隐私、延迟、连接性以及昂贵的无线连接)都可以通过在边缘端实施计算来解决。寻找这一目标的实现方法是本书的主题。本书聚焦于使面向嵌入式应用的深度学习算法的能耗降至的技术,这些应用是运行在电池容量受限的可穿戴边缘设备上的。
只有当这些深度学习算法在可穿戴设备的计算平台提供的能量和功率预算内以更高能效的方式运行时,才有可能进行边缘计算。为了实现这一目标,需要在应用的所有设计层次上进行多项创新。首先可以开发更智能的应用,以实现统计上更高效的深度学习算法,进而在基于专门定制的电路构建的优化硬件平台上运行。后,设计人员不应单独关注这些领域,而应协同优化硬件和软件,以建立能耗的深度学习平台。本书概述了设计此类系统可能的解决方案。
只有当这些深度学习算法在可穿戴设备的计算平台提供的能量和功率预算内以更高能效的方式运行时,才有可能进行边缘计算。为了实现这一目标,需要在应用的所有设计层次上进行多项创新。首先可以开发更智能的应用,以实现统计上更高效的深度学习算法,进而在基于专门定制的电路构建的优化硬件平台上运行。后,设计人员不应单独关注这些领域,而应协同优化硬件和软件,以建立能耗的深度学习平台。本书概述了设计此类系统可能的解决方案。
比利时鲁汶大学 Bert Moons
美国加利福尼亚州斯坦福大学 Daniel Bankman
比利时鲁汶大学Marian Verhelst
评论
还没有评论。