本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
本书主要讨论机器学习、形态计算和神经网络的理论及应用,专注于机器学习加速器和硬件开发。本书从传统的微处理架构发展历程入手,介绍在后摩尔定律和后丹纳德微缩定律下,新型架构的发展趋势和影响执行性能的各类衡量指标。然后从应用领域、ASIC和特定领域架构三个角度展示了设计特定的硬件实现所需考虑的诸多因素。接着结合机器学习开发过程及其性能提升方法(如模型压缩、编码、近似、优化等)介绍硬件实现的细节。zui后给出机器学习硬件实现的大量案例,展示机器如何获得思维能力。本书适合有一定机器学习基础并希望了解更多技术发展趋势的读者阅读。
CONTENTS
目 录
译者序
前言
第1章 简介1
1.1 机器学习的曙光1
1.1.1 “Jeopardy!”中的IBM Watson
挑战1
1.1.2 ImageNet挑战2
1.1.3 谷歌AlphaGo挑战职业
围棋选手2
1.2 机器学习及其应用3
1.2.1 定义3
1.2.2 应用3
1.3 学习及其性能指标4
1.3.1 学习前的准备5
1.3.2 学习方法7
1.3.3 性能指标和验证8
1.4 例子11
1.4.1 工业4.011
1.4.2 交易(区块链)12
1.5 机器学习的总结15
1.5.1 与人工智能的区别15
1.5.2 炒作周期15
第2章 传统的微架构16
2.1 微处理器16
2.1.1 处理器核心的微架构16
2.1.2 微处理器的编程模型17
2.1.3 微处理器的复杂性18
2.1.4 超标量处理器的优点和
缺点20
2.1.5 寄存器文件的规模20
2.1.6 分支预测及其惩罚20
2.2 多核处理器21
2.2.1 众核的概念21
2.2.2 编程模型21
2.3 数字信号处理器22
2.3.1 DSP的概念22
2.3.2 DSP微架构23
2.4 图形处理单元24
2.4.1 GPU的概念24
2.4.2 GPU微架构24
2.4.3 GPU上的编程模型26
2.4.4 将GPU应用于计算系统26
2.5 现场可编程门阵列27
2.5.1 FPGA的概念27
2.5.2 FPGA微架构27
2.5.3 FPGA设计流程28
2.5.4 将FGPA应用于计算系统29
2.6 特定领域架构的前景30
2.6.1 过去的计算机行业30
2.6.2 机器学习硬件的历史31
2.6.3 重新审视机器学习硬件32
2.7 执行性能的衡量指标34
2.7.1 延迟和吞吐量34
2.7.2 每秒的操作数35
2.7.3 能耗和功耗36
2.7.4 能效37
2.7.5 利用情况39
2.7.6 数据重用40
2.7.7 面积41
2.7.8 成本41
第3章 机器学习及其实现43
3.1 神经元及其网络43
3.2 神经形态计算45
3.2.1 脉冲时序依赖可塑性和
学习45
3.2.2 神经形态计算硬件46
3.2.3 地址-事件表示48
3.3 神经网络49
3.3.1 神经网络模型50
3.3.2 以前和现在的神经网络52
3.3.3 神经网络硬件53
3.4 用于模拟实现的内存单元57
第4章 应用、ASIC和特定领域架构58
4.1 应用58
4.1.1 应用的概念58
4.2 应用的特征59
4.2.1 局部性59
4.2.2 死锁60
4.2.3 依赖性62
4.2.4 时间和空间操作64
4.3 特定应用的集成电路65
4.3.1 设计约束65
4.3.2 模块化结构和大规模生产69
4.3.3 牧村波动70
4.3.4 设计流程71
4.4 特定领域架构71
4.4.1 特定领域架构简介71
4.4.2 特定领域语言72
4.5 机器学习硬件73
4.6 深度学习上的推理分析和训练
分析74
4.6.1 深度学习上的推理分析74
4.6.2 深度学习上的训练分析76
第5章 机器学习模型开发79
5.1 开发过程79
5.1.1 开发周期79
5.1.2 交叉验证80
5.1.3 软件栈81
5.2 编译器82
5.2.1 ONNX82
5.2.2 NNVM83
5.2.3 TensorFlow XLA83
5.3 代码优化83
5.3.1 提取数据级并行83
5.3.2 内存访问优化84
5.4 Python脚本语言和虚拟机85
5.4.1 Python和优化85
5.4.2 虚拟机86
5.5 计算统一设备架构87
第6章 性能提升方法89
6.1 模型压缩89
6.1.1 剪枝89
6.1.2 dropout93
6.1.3 dropconnect94
6.1.4 蒸馏94
6.1.5 主成分分析96
6.1.6 权重共享97
6.2 数值压缩99
6.2.1 量化和数值精度100
6.2.2 对内存占用和推理准确性
的影响103
6.2.3 切边和剪裁109
6.3 编码110
6.3.1 游程编码110
6.3.2 霍夫曼编码111
6.3.3 压缩的效果113
6.4 零值跳过116
6.4.1 零值跳过的概念116
6.4.2 CSR和CSC的稀疏表示116
6.4.3 零值跳过的用例119
6.5 近似121
6.5.1 近似的概念121
6.5.2 激活函数近似121
6.5.3 乘法器的近似123
6.6 优化125
6.6.1 模型优化125
6.6.2 数据流优化126
6.7 性能提升方法的总结128
第7章 硬件实现的案例研究130
7.1 神经形态计算130
7.1.1 模拟逻辑电路130
7.1.2 数字逻辑电路131
7.2 深度神经网络135
7.2.1 模拟逻辑电路135
7.2.2 DSP137
7.2.3 FPGA139
7.2.4 ASIC145
7.3 量子计算175
7.4 研究案例的总结175
7.4.1 神经形态计算的案例
研究181
7.4.2 深度神经网络的案例
研究181
7.4.3 神经形态计算和深度神经
网络硬件之间的比较182
第8章 硬件实现的关键183
8.1 市场增长预测183
8.1.1 IoT市场183
8.1.2 机器人市场184
8.1.3 大数据和机器学习市场184
8.1.4 药物研发中的人工智能
市场185
8.1.5 FPGA市场185
8.1.6 深度学习芯片市场185
8.2 设计和成本之间的权衡186
8.3 硬件实现策略188
8.3.1 策略规划的要求188
8.3.2 基本策略191
8.3.3 替代因子193
8.4 硬件设计要求概述193
第9章 结论194
附录A 深度学习基础195
A.1 等式模型195
A.1.1 前馈神经网络模型196
A.1.2 激活函数196
A.1.3 输出层197
A.1.4 学习和反向传播197
A.1.5 参数初始化201
A.2 用于深度学习的矩阵操作201
A.2.1 矩阵表示及其布局202
A.2.2 用于学习的矩阵操作
序列203
A.2.3 学习优化203
A.2.4 偏置-方差问题203
附录B 深度学习硬件建模205
B.1 深度学习硬件的概念205
B.1.1 参数空间与传播之间的
关系205
B.1.2 基本的深度学习硬件206
B.2 深度学习硬件上的数据流206
B.3 机器学习硬件架构207
附录C 高级神经网络模型208
C.1 CNN变体208
C.1.1 卷积架构208
C.1.2 卷积的后向传播210
C.1.3 卷积的变体213
C.1.4 深度卷积对抗生成
网络215
C.2 RNN变体215
C.2.1 RNN架构215
C.2.2 LSTM和GRU单元216
C.2.3 公路网络218
C.3 自编码器变体218
C.3.1 堆式去噪自编码器218
C.3.2 梯形网络219
C.3.3 变分自编码器220
C.4 残差网络221
C.4.1 残差网络的概念221
C.4.2 残差网络效应221
C.5 图神经网络222
C.5.1 图神经网络的概念222
附录D 国家研究、趋势和投资224
D.1 中国224
D.1.1 下一代人工智能发展
计划224
D.2 美国225
D.2.1 SyNAPSE计划225
D.2.2 UPSIDE计划225
D.2.3 MICrONS计划225
D.3 欧洲225
D.4 日本226
D.4.1 内政及通信省226
D.4.2 文部科学省226
D.4.3 日本经济贸易产业省226
D.4.4 内务省227
附录E 机器学习对社会的影响228
E.1 产业228
E.1.1 过去的产业228
E.1.2 下一个产业230
E.1.3 开源的软件和硬件230
E.1.4 社会企业和共享经济231
E.2 机器学习与我们231
E.2.1 机器学习可替代的领域231
E.2.2 产业整合232
E.2.3 一个简化的世界232
E.3 社会与个人233
E.3.1 将编程引入教育233
E.3.2 价值改变233
E.3.3 社会支持235
E.3.4 犯罪235
E.4 国家236
E.4.1 警察和检察官236
E.4.2 行政、立法和司法236
E.4.3 军事236
参考文献237