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

AI嵌入式系统:算法优化与实现
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2021-11
版次: 1
ISBN: 9787111693253
定价: 99.00
装帧: 其他
开本: 16开
纸张: 胶版纸
字数: 241千字
10人买过
  • 本书介绍机器学习推理算法在嵌入式系统中的底层实现技术与优化。给出不同层级的优化方法,包括面向机器学习推理模型结构的优化;面向运算图中各个算子计算优化;面向二进制比特运算优化以及面向CPU硬件特性的优化。内容结合了理论和实践,其中底层算法的优化方法涉及其背后的信号处理理论介绍,但同时通过应用例子和大量代码说明其软件实现方法。所讨论的内容能够帮助读者在嵌入式平台上实现机器学习算法,另外也为进一步实现通用的嵌入式环境下机器学习算法自动优化和部署工具的开发提供基本知识。
      本书内容面向电子信息及计算机专业本科教学,也可供相关领域工程技术人员参考。 前言

    第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的卷积神经网络实
  • 内容简介:
    本书介绍机器学习推理算法在嵌入式系统中的底层实现技术与优化。给出不同层级的优化方法,包括面向机器学习推理模型结构的优化;面向运算图中各个算子计算优化;面向二进制比特运算优化以及面向CPU硬件特性的优化。内容结合了理论和实践,其中底层算法的优化方法涉及其背后的信号处理理论介绍,但同时通过应用例子和大量代码说明其软件实现方法。所讨论的内容能够帮助读者在嵌入式平台上实现机器学习算法,另外也为进一步实现通用的嵌入式环境下机器学习算法自动优化和部署工具的开发提供基本知识。
      本书内容面向电子信息及计算机专业本科教学,也可供相关领域工程技术人员参考。
  • 目录:
    前言

    第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的卷积神经网络实
查看详情
12