AI嵌入式系统:算法优化与实现

AI嵌入式系统:算法优化与实现

作者:应忍冬

出版社:机械工业出版社

出版年:2021-11

ISBN:9787111693253

所属分类:行业好书

书刊介绍

内容简介

配套PPT+代码+数据获取方式:

1、微信关注“华章计算机”

2、在后台回复关键词:69325

本书介绍在嵌入式系统中的机器学习算法优化原理、设计方法及其实现技术。内容涵盖通用嵌入式优化技术,包括基于SIMD指令集的优化、内存访问模式优化、参数量化等。并在此基础上介绍了信号处理层面的优化,包括AI推理算法及基于神经网络的AI算法训练-推理联合的优化理论与方法。其中信号处理层面优化包括了基于线性代数的快速近似算法、基于多项式的快速卷积构造技术、基于数据二进制结构的快速乘法算法等;在AI推理层面,介绍了机器学习推理模型共性结构、运算图中各个算子的计算优化途径;另外对基于神经网络AI算法,阐述了如何将推理阶段的运算量约束以及底层数据量化约束加入训练代价函数,从算法训练端减少运算量以提升AI嵌入式系统的运行效率;此外本书还通过多个自动搜索优化参数并生成C代码的例子介绍了通用的嵌入式环境下机器学习算法自动优化和部署工具开发的基本知识;本书通过应用例子和大量代码说明AI算法在通用嵌入式系统中的实现方法,力求让读者在理解算法的基础上,通过实践掌握高效的AI嵌入式系统开发的知识与技能。

作品目录

前言
第1章 绪论 1
1.1 AI嵌入式系统的概念与特点 1
1.2 机器学习在嵌入式系统中的实现 4
1.3 本书内容概述 6
第2章 嵌入式软件编程模式和优化 8
2.1 嵌入式软件编程模式 8
2.1.1 基于周期调用的运行模式 9
2.1.2 基于中断的前后台运行模式 12
2.1.3 基于事件队列的运行模式 14
2.1.4 带时间信息的事件队列运行模式 16
2.1.5 计算图运行模式 17
2.2 通用软件优化方法 20
2.2.1 循环结构优化 21
2.2.2 时间空间平衡 23
2.2.3 运算精度和性能平衡 25
2.2.4 底层运算的快速实现算法 28
2.2.5 内存使用优化 30
2.3 小结 34
参考文献 34
第3章 机器学习算法概述 35
3.1 高斯朴素贝叶斯分类器 35
3.1.1 原理概述 35
3.1.2 模型训练和推理 36
3.2 感知器 38
3.2.1 原理概述 38
3.2.2 模型训练和推理 39
3.3 SVM分类器 40
3.3.1 原理概述 40
3.3.2 模型训练和推理 42
3.4 决策树 43
3.4.1 原理概述 43
3.4.2 模型训练和推理 44
3.4.3 决策树分类器的代码实现 45
3.5 线性数据降维 47
3.5.1 原理概述 47
3.5.2 模型训练和推理 47
3.6 神经网络 48
3.6.1 原理概述 48
3.6.2 模型训练和推理 50
3.7 小结 54
参考文献 54
第4章 数值的表示和运算 55
4.1 浮点数 55
4.1.1 单精度和双精度浮点数 55
4.1.2 16位浮点数 57
4.2 定点数 61
4.2.1 定点数的二进制表示形式 61
4.2.2 定点数的运算 64
4.2.3 给定算法的定点化方法 71
4.3 仿射映射量化 78
4.3.1 量化数据表示 78
4.3.2 量化数据运算 83
4.3.3 基于量化数据的矩阵运算 84
4.4 常数整数乘法优化 88
4.4.1 基于正则有符号数的常数整数乘法优化 89
4.4.2 基于运算图的常数整数乘法优化 92
4.4.3 多常数整数乘法优化 97
4.4.4 浮点数和整数常数乘法优化 101
4.4.5 常数整数乘法优化的应用 103
4.5 小结 108
参考文献 108
第5章 卷积运算优化 109
5.1 卷积运算的定义 109
5.1.1 一维线性卷积 110
5.1.2 一维循环卷积 111
5.1.3 二维线性卷积 112
5.1.4 二维循环卷积 113
5.2 快速卷积算法 114
5.2.1 一维循环卷积频域快速算法 114
5.2.2 短序列一维线性卷积快速算法 117
5.2.3 长序列一维线性卷积的构建 124
5.2.4 快速FIR滤波器算法 129
5.2.5 二维快速卷积算法 140
5.3 近似卷积算法 152
5.3.1 基于卷积核低秩分解的二维快速卷积 153
5.3.2 矩形卷积核近似卷积 154
5.3.3 分段线性卷积核近似 160
5.3.4 卷积核的分段近似 164
5.3.5 基于IIR滤波器的近似卷积 168
5.3.6 基于卷积核低秩近似的二维近似快速卷积 172
5.3.7 基于二维矩形卷积核的近似快速卷积 173
5.4 小结 176
参考文献 177
第6章 矩阵乘法优化 178
6.1 机器学习算法中的矩阵乘法 178
6.2 Strassen矩阵相乘算法 180
6.3 Winograd矩阵相乘算法 184
6.4 低秩矩阵乘法 187
6.5 循环矩阵乘法 188
6.6 近似矩阵乘法 190
6.6.1 基于矩阵低秩近似的矩阵乘法 191
6.6.2 基于数据统计相关性的近似矩阵乘法 192
6.6.3 基于向量量化的近似矩阵乘法 194
6.7 小结 202
参考文献 203
第7章 神经网络的实现与优化 204
7.1 神经网络基本运算及软件实现 205
7.1.1 全连接层运算 205
7.1.2 卷积层运算 207
7.1.3 BN层运算 213
7.1.4 激活层运算 214
7.1.5 池化层运算 216
7.1.6 神经网络示例 217
7.2 神经网络的权重系数优化 221
7.2.1 权重系数二值化 222
7.2.2 权重系数的定点数量化 224
7.2.3 权重系数量化和神经网络训练结合 226
7.3 神经网络结构优化 233
7.3.1 剪枝优化 233
7.3.2 卷积结构优化 245
7.3.3 知识蒸馏 251
7.4 小结 255
参考文献 255
第8章 ARM平台上的机器学习编程 257
8.1 CMSIS软件框架概述 258
8.2 CMSIS-DSP软件框架和编程 261
8.2.1 矩阵运算 263
8.2.2 高斯朴素贝叶斯算法实现 267
8.2.3 SVM算法实现 271
8.2.4 数据降维 275
8.3 基于CMSIS-NN的神经网络编程 277
8.3.1 基于卷积神经网络的手写数字识别算法 277
8.3.2 CMSIS-NN的卷积神经网络实现 278
8.3.3 卷积神经网络的定点化 282
8.3.4 数据存储和格式转换 287
8.4 ARM Compute Library软件框架和编程 288
8.4.1 基于ACL库的图像处理编程 289
8.4.2 基于ACL库的神经网络编程 292
8.5 ARM NN软件框架和编程 306
8.5.1 基于ARM NN运行神经网络模型 307
8.5.2 基于ONNX格式的机器学习模型构建 310
8.6 ARM的SIMD指令编程 316
8.6.1 NEON编程的基本概念和数据寄存器 317
8.6.2 基于C语言的NEON编程 319
8.7 小结 330
附录A 补充数据和列表 332
附录B 技术术语表 338
· · · · · ·

作者简介

应忍冬

上海交通大学电子信息与电气工程学院副教授,硕士生导师。长期从事嵌入式系统和数字电路教学与科研工作。主要研究领域包括数字信号处理VLSI架构、3D视觉信号处理、类脑智能算法及嵌入式实现技术等。主持或参加过多项国家重点科研项目,在数字信号处理理论和工程实现方面拥有丰富经验。

刘佩林

上海交通大学电子信息与电气工程学院教授,博士生导师。研究领域包括音频、视频、3D信号处理与智能分析,面向机器人的环境感知、人机交互、定位与导航,以及类脑计算与低功耗电路设计等。2017年起任上海交通大学类脑智能应用技术研究中心主任。

相关推荐

微信二维码