打开主菜单

求真百科

机器学习及其硬件实现

来自 孔夫子网 的图片

机器学习及其硬件实现》,出版社: 机械工业出版社,ISBN:9787111739500。

机械工业出版社成立于1950年,是建国后国家设立的第一家科技出版社,前身为科学技术出版社,1952年更名为机械工业出版社[1]。机械工业出版社(以下简称机工社)由机械工业信息研究院作为主办单位,目前隶属于国务院国资委[2]

目录

内容简介

本书主要讨论机器学习、形态计算和神经网络的理论及应用,专注于机器学习加速器和硬件开发。本书从传统的微处理架构发展历程入手,介绍在后摩尔定律和后丹纳德微缩定律下,新型架构的发展趋势和影响执行性能的各类衡量指标。然后从应用领域、ASIC和特定领域架构三个角度展示了设计特定的硬件实现所需考虑的诸多因素。接着结合机器学习开发过程及其性能提升方法(如模型压缩、编码、近似、优化等)介绍硬件实现的细节。给出机器学习硬件实现的大量案例,展示机器如何获得思维能力。本书适合有一定机器学习基础并希望了解更多技术发展趋势的读者阅读。

目录

译者序

前言

第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.0 11

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 ONNX 82

5.2.2 NNVM 83

5.2.3 TensorFlow XLA 83

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 dropout 93

6.1.3 dropconnect 94

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 DSP 137

7.2.3 FPGA 139

7.2.4 ASIC 145

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

参考文献