加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 点评 > 正文

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

发布时间:2020-11-29 19:20:08 所属栏目:点评 来源:机器之心Pro
导读:人工智能 AI 正在加快速度从云端走向边缘,进入到越来越小的物联网设备中。而这些物联网设备往往体积很小,面临着许多挑战,例如功耗、延时以及精度等问题,传统的机器学习模型无法满足要求,那么微型机器学习又如何呢? 在 NASA 的推动下,小型化的电子产

这些电路的功耗仅为 1mW,使用标准 CR2032 电池可以供电长达一年。能源是许多电子设备的限制因素。任何需要主电源供电的设备都受限于有线电路,当十几台设备同时出现在同一位置时,线路就会迅速超负荷。电力系统的效率很低,而且价格昂贵。将电源电压(在美国约为 120v)转换为典型的电路电压(通常约为 5 V)会浪费大量的能量。任何使用笔记本电脑充电器的人在拔下充电器时都可能知道这一点。充电器内变压器产生的热量在电压转换过程中浪费了能量。

即使是有电池的设备,电池的续航时间也有限,需要频繁地充电。许多电子产品的电池在设计时只能使用一个工作日。TinyML 设备可以用硬币大小的电池持续工作一年,这意味着在偏远环境中,只有在必要时才进行通信,以节省能源。

单词唤醒并不是唯一一个无缝嵌入智能手机的 TinyML。加速计数据用于确定是否有人刚刚拿起了手机,这将唤醒 CPU 并打开屏幕。

显然,这并不是 TinyML 唯一的应用。事实上,TinyML 为企业以及爱好者提供了生产更智能物联网设备的机遇。数据变得越来越重要,将机器学习资源分配到偏远地区内存有限的设备上,给数据密集型行业(如农业、天气预报或地震学)带来了好处。

毫无疑问,赋予边缘设备执行数据驱动处理的能力,将为工业过程带来范式转变。例如,当设备检测到土壤湿度、特定气体(例如苹果成熟时释放出乙烷)或特定大气条件(如大风、低温或高湿度)等特征时,检测设备会发送有助于作物的信息,极大地促进作物生长,从而提高作物产量。

再举一个例子,一个智能门铃可以安装一个摄像头,通过面部识别来确定谁在现场。这可以用于安全目的,或者甚至只是当有人在场时,门铃上的摄像机信号会传输到房子里的电视上,这样居民们就知道谁在门口。

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

关键字发现。大多数人已经熟悉此类应用程序。「Hey Siri」和「Hey Google」是关键字的示例(通常与「hotword」或「wake word」同义使用)。这样的设备连续收听来自麦克风的音频输入,并且被训练为仅响应特定的声音序列,这些特定的声音序列与学习的关键字相对应。这些设备比自动语音识别 (ASR) 应用程序更简单,并且相应地使用了更少的资源。某些设备(例如 Google 智能手机)利用级联架构来提供扬声器验证以确保安全性;

视觉唤醒词。唤醒词有一个基于图像的类似物,称为视觉唤醒词。我们可以把它想象成一个图像的二值分类来表示某物是存在还是不存在。例如,可以设计智能照明系统,使得其在检测到人的存在时启动,并在人离开时关闭。同样,当存在特定的动物时,野生动物摄影师可以使用它来拍照,而当他们发现有人时,可以使用安全摄像机拍摄照片。

下面显示了 TinyML 当前机器学习用例的更广泛概述。

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

TinyML 的机器学习用例(源图像:NXP)。

TinyML 工作方式

TinyML 算法的工作方式与传统机器学习模型基本相同。通常,这些模型是在用户的计算机上或云上进行训练的。后期训练是 TinyML 的工作真正开始的地方,这个过程通常被称为深度压缩。

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

深度学习模型压缩流程图(图源:https://arxiv.org/pdf/1510.00149.pdf)

模型蒸馏

训练完成后,模型会被修改,以创建一个表示形式更紧凑的模型。剪枝和知识蒸馏是两种常用方法。

知识蒸馏的基本思想是,较大的网络具有一定的稀疏性或冗余性。虽然大型网络具有较高的表示能力,但如果网络容量不饱和,则可以在具备较低表示能力的较小网络(即较少的神经元)中进行表示。

下图演示了知识蒸馏的过程:

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

深度压缩过程图(图源:https://arxiv.org/pdf/1510.00149.pdf)

同样地,剪枝可以使模型表示更紧凑。广义上讲,剪枝试图去除对输出预测影响较小的神经元。通常与较小的神经权重有关,而较大的权重由于其在推理过程中的重要性而保持不变。然后,网络在剪枝后的架构上重新训练,微调输出。

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

为模型的知识表示蒸馏进行的剪枝。

量化

经过蒸馏后,模型在训练后被量化成一种与嵌入式设备架构兼容的格式。

为什么需要量化?想象一下,一个使用 ATmega328P 微控制器的 Arduino Uno,它使用 8 位运算。要想在 Uno 上运行一个模型,理想情况下模型权重必须存储为 8 位整数(而许多台式计算机和笔记本电脑使用 32 位或 64 位浮点表示)。通过量化模型,权重的存储大小减少为原来的 4 分之一(如 32 位到 8 位值的量化),而对准确度的影响可以忽略(通常约为 1–3%)。

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

8 位编码过程中量化误差的示意图(图源:https://tinymlbook.com/)

此外,在量化过程中,由于量化误差,一些信息可能会丢失。为了解决这个问题,量化感知(QA)训练被提出并作为一种替代方案。

哈夫曼编码

哈夫曼编码是可变字长编码 (VLC) 的一种,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字。

编译

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读