TinyML:下一轮人工智能革命( 三 )


目前 , TinyML 主要的两个重点应用领域是:

  • 关键字发现 。 大多数人已经非常熟悉此应用 , 例如“你好 , Siri”和“你好 , Google”等关键字 , 通常也称为“热词”或“唤醒词” 。 设备会连续监听来自麦克风的音频输入 , 训练实现仅响应与所学关键字匹配的特定声音序列 。 这些设备比自动语音识别(automatic speech recognition , ASR)更简单 , 使用更少的资源 。 Google 智能手机等设备还使用了级联架构实现扬声器的验证 , 以确保安全性 。
  • 视觉唤醒词 。 视觉唤醒词使用图像类似替代唤醒词的功能 , 通过对图像做二分类表示存在与否 。 例如 , 设计一个智能照明系统 , 在检测到人的存在时启动 , 并在人离开时关闭 。 同样 , 野生动物摄影师可以使用视觉唤醒功能在特定的动物出现时启动拍摄 , 安防摄像机可以在检测到人活动时启动拍摄 。
下图全面展示当前 TinyML 机器学习的应用概览 。
TinyML:下一轮人工智能革命文章插图
图 3 TinyML 的机器学习用例 。 图片来源:NXP
TinyML 工作机制TinyML 算法的工作机制与传统机器学习模型几乎完全相同 , 通常在用户计算机或云中完成模型的训练 。 训练后处理是 TinyML 真正发挥作用之处 , 通常称为“深度压缩”(deep compression) 。
TinyML:下一轮人工智能革命文章插图
图 4 深度压缩示意图 。 来源: ArXiv 论文
模型蒸馏(Distillation)模型在训练后需要更改 , 以创建更紧凑的表示形式 。 这一过程的主要实现技术包括剪枝(pruning)和知识蒸馏 。
知识蒸馏的基本理念 , 是考虑到较大网络内部存在的稀疏性或冗余性 。 虽然大规模网络具有较高的表示能力 , 但如果网络容量未达到饱和 , 则可以用具有较低表示能力的较小网络(即较少的神经元)表示 。 在 Hinton 等人 2015 年发表的研究工作中 , 将 Teacher 模型中转移给 Student 模型的嵌入信息称为“黑暗知识”(dark knowledge) 。
下图给出了知识蒸馏的过程:
TinyML:下一轮人工智能革命文章插图
图 5 深度压缩过程图
图中 Teacher 模型是经过训练的卷积神经网络模型 , 任务是将其“知识”转移给称为 Student 模型的 , 参数较少的小规模卷积网络模型 。 此过程称为“知识蒸馏” , 用于将相同的知识包含在规模较小的网络中 , 从而实现一种网络压缩方式 , 以便用于更多内存受限的设备上 。
同样 , 剪枝有助于实现更紧凑的模型表示 。 宽泛而言 , 剪枝力图删除对输出预测几乎无用的神经元 。 这一过程通常涉及较小的神经权重 , 而较大的权重由于在推理过程中具有较高的重要性而会得到保留 。 随后 , 可在剪枝后的架构上对网络做重新训练 , 调优输出 。
TinyML:下一轮人工智能革命文章插图
图 6 对蒸馏模型知识表示做剪枝的图示
量化(Quantization)蒸馏后的模型 , 需对此后的训练进行量化 , 形成兼容嵌入式设备架构的格式 。
为什么要做量化?假定对于一台 Arduino Uno , 使用 8 位数值运算的 ATmega328P 微控制器 。 在理想情况下要在 Uno 上运行模型 , 不同于许多台式机和笔记本电脑使用 32 位或 64 位浮点表示 , 模型的权重必须以 8 位整数值存储 。 通过对模型做量化处理 , 权重的存储规模将减少到 1/4 , 即从 32 位量化到 8 位 , 而准确率受到的影响很小 , 通常约 1-3% 。
TinyML:下一轮人工智能革命文章插图
图 7 8 位编码过程中的量化误差示意图 , 进而将用于重构 32 位浮点数 。 图片来源:《 TinyML 》一书
由于存在量化误差 , 可能会在量化过程中丢失某些信息 。 例如在基于整型的平台上 , 值为3.42 的浮点表示形式可能会被截取为3 。 为了解决这个问题 , 有研究提出了量化可感知(quantization-aware , QA)训练作为替代方案 。 QA 训练本质上是在训练过程中 , 限制网络仅使用量化设备可用的值(具体参见 Tensorflow 示例) 。
霍夫曼编码编码是可选步骤 。 编码通过最有效的方式来存储数据 , 可进一步减小模型规模 。 通常使用著名的霍夫曼编码 。
编译对模型量化和编码后 , 需将模型转换为可被轻量级网络解释器解释的格式 , 其中最广为使用的就是 TF Lite (约 500 KB 大小)和 TF Lite Micro (约 20 KB) 。 模型将编译为可被大多数微控制器使用并可有效利用内存的 C 或 C++ 代码 , 由设备上的解释器运行 。