边缘AI新方法TinyML,超低功耗,在边缘设备进行机器学习( 三 )


视觉唤醒词 。 唤醒词有一个基于图像的类似物 , 称为视觉唤醒词 。 我们可以把它想象成一个图像的二值分类来表示某物是存在还是不存在 。 例如 , 可以设计智能照明系统 , 使得其在检测到人的存在时启动 , 并在人离开时关闭 。 同样 , 当存在特定的动物时 , 野生动物摄影师可以使用它来拍照 , 而当他们发现有人时 , 可以使用安全摄像机拍摄照片 。
下面显示了 TinyML 当前机器学习用例的更广泛概述 。
边缘AI新方法TinyML,超低功耗,在边缘设备进行机器学习文章插图
TinyML 的机器学习用例(源图像:NXP) 。
TinyML 工作方式
TinyML 算法的工作方式与传统机器学习模型基本相同 。 通常 , 这些模型是在用户的计算机上或云上进行训练的 。 后期训练是 TinyML 的工作真正开始的地方 , 这个过程通常被称为深度压缩 。
边缘AI新方法TinyML,超低功耗,在边缘设备进行机器学习文章插图
深度学习模型压缩流程图(图源:)
模型蒸馏
训练完成后 , 模型会被修改 , 以创建一个表示形式更紧凑的模型 。 剪枝和知识蒸馏是两种常用方法 。
知识蒸馏的基本思想是 , 较大的网络具有一定的稀疏性或冗余性 。 虽然大型网络具有较高的表示能力 , 但如果网络容量不饱和 , 则可以在具备较低表示能力的较小网络(即较少的神经元)中进行表示 。
下图演示了知识蒸馏的过程:
边缘AI新方法TinyML,超低功耗,在边缘设备进行机器学习文章插图
深度压缩过程图(图源:)
同样地 , 剪枝可以使模型表示更紧凑 。 广义上讲 , 剪枝试图去除对输出预测影响较小的神经元 。 通常与较小的神经权重有关 , 而较大的权重由于其在推理过程中的重要性而保持不变 。 然后 , 网络在剪枝后的架构上重新训练 , 微调输出 。
边缘AI新方法TinyML,超低功耗,在边缘设备进行机器学习文章插图
为模型的知识表示蒸馏进行的剪枝 。
量化
经过蒸馏后 , 模型在训练后被量化成一种与嵌入式设备架构兼容的格式 。
为什么需要量化?想象一下 , 一个使用 ATmega328P 微控制器的 Arduino Uno , 它使用 8 位运算 。 要想在 Uno 上运行一个模型 , 理想情况下模型权重必须存储为 8 位整数(而许多台式计算机和笔记本电脑使用 32 位或 64 位浮点表示) 。 通过量化模型 , 权重的存储大小减少为原来的 4 分之一(如 32 位到 8 位值的量化) , 而对准确度的影响可以忽略(通常约为 1–3%) 。
边缘AI新方法TinyML,超低功耗,在边缘设备进行机器学习文章插图
8 位编码过程中量化误差的示意图(图源:)
此外 , 在量化过程中 , 由于量化误差 , 一些信息可能会丢失 。 为了解决这个问题 , 量化感知(QA)训练被提出并作为一种替代方案 。
哈夫曼编码
哈夫曼编码是可变字长编码 (VLC) 的一种 , 该方法完全依据字符出现概率来构造异字头的平均长度最短的码字 。
编译
一旦模型被量化和编码 , 它就被转换成一种格式 , 该格式可以被某种形式的小型神经网络解释器解释 , 其中最流行的可能是 TF Lite(大小约 500kb)和 TF Lite Micro(大小约 20kb) 。 然后将该模型被编译成 C 或 C++(大多数微控制器都能有效地使用内存) , 并由设备上的解释器运行 。
边缘AI新方法TinyML,超低功耗,在边缘设备进行机器学习文章插图
TinyML 应用程序工作流(图源:)
TinyML 大部分技巧来自于处理复杂的微控制器世界 。 TF Lite 以及 TF Lite Micro 之所以这么小是因为所有不必要的功能都被删除了 。 不幸的是 , 一些有用的功能也被删除了 , 如调试和可视化 。 这意味着 , 如果在部署期间出现错误 , 就很难判断发生了什么 。
此外 , 当模型存储在设备上时 , 还能进行推理 。 这意味着微控制器必须有足够大的内存来运行(1)操作系统和库;(2)神经网络解释器 , 如 TF Lite;(3)存储的神经权重和神经结构;(4)推理过程中的中间结果 。 因此 , 量化算法的峰值内存使用率 , 以及内存使用量、乘法累加单元(mac)的数量、精度等经常在 TinyML 研究论文中引用 。
为什么不在设备上训练
在设备上进行训练会带来更多的「并发症」 。 由于数值精度降低 , 很难保证充分训练网络所需的准确率水平 。 标准台式计算机上的自动区分方法对于机器精度大约是准确的 。 以 10^-16 的精度计算导数令人难以置信 , 但是对 8 位值使用自动微分将会导致较差的结果 。 在反向传播过程中 , 这些导数会组合并最终用于更新神经参数 。 在如此低的数值精度下 , 模型的准确度可能很差 。