哈佛大学的 Vijay Janapa Reddi 教授、TensorFlow Lite Micro 团队和 edX https://www.edx.org/) 在线学习平台将在今年秋天分享一套 TinyML 课程,您可以免费观看这些课程,或者报名参加课程以获取证书。在本文中,我将带您了解什么是 TinyML、TinyML 的用途以及我们即将启动的 HarvardX 计划。
TinyML 简介
TinyML 是深度学习行业发展最为迅速的领域之一。简而言之,这是一个新兴的 研究 领域,致力于探索可在小型低功耗设备(例如 微控制器)上运行的模型类型。
TinyML 与嵌入式 ML 的应用、算法、硬件和软件都有交集。TinyML 的目标通常是支持由电池供电的边缘设备,实现设备端的低功耗(几毫瓦)低延迟推理。与之对比,台式机 CPU 的耗电量在 100 瓦左右,是边缘设备的数千倍!功耗的大幅降低使得 TinyML 设备在与电源断开连接后,仍可继续依靠电池工作,并可维持数周、数月甚至数年的持续运转。取得这一成绩的同时,边缘或端点还在不间断运行 ML 应用。
了解如何 动手构建。
尽管我们大多数人不熟悉 TinyML,但您可能会惊讶地发现,TinyML 其实已在投入生产的 ML 系统中存在多年。当您说 “OK Google” 唤醒 Android 设备时,便已体验到 TinyML 带来的益处。这项技术由始终开启的低功耗关键字搜寻器提供动力,其原理与您可以在此处学习构建的搜寻器并没有什么不同。
而两者之间的区别是,越来越多的人能够接触、学习 TinyML,这要部分归功于 TensorFlow Lite Micro 和即将推出的 HarvardX 课程等教育资源的普及。
TinyML 可为嵌入式 ML 开发者解锁许多新应用,特别是将其与加速度计、麦克风和摄像头等传感器结合使用时。其已在多个领域应用并取得了丰富的成果,例如野生动物追踪与保护、农作物病害检测,以及预测野火等等。
TinyML 也可以很有趣!您可以使用 TinyML 开发智能游戏控制器(例如使用基于神经网络的运动控制器来控制霸王龙)或开发各种其他游戏。想象一下,通过使用与 TinyML 相同的 ML 原理和技术,我们可以在汽车中收集加速器数据,用于检测各种情况(例如轮胎松动)并提醒驾驶员。
除了了解如何将 TinyML 用于娱乐和游戏,在开发任何 ML 应用时,您都有必要熟悉 负责任的 AI,尤其是在处理传感器数据时。由于 TinyML 完全可以在边缘设备上进行推理(数据无需离开设备),因此其能支持各种私有 ML 应用。事实上,许多微型设备甚至根本没有联网。
课程的详情
HarvardX 课程旨在让更多开发者能够获取相关知识。您将了解什么是 TinyML、它的主要用途是什么以及如何开始上手。
这些课程将首先讲解 ML 基础知识,包括如何收集数据、如何训练基本模型(如:线性回归)等等。接下来会介绍深度学习基础知识(如:MNIST),然后介绍适用于计算机视觉的 Tiny ML 模型,以及如何使用 TensorFlow Lite 微控制器 进行部署。在这些课程的整个授课过程中,我们会穿插介绍一些案例研究、重要论文以及重要应用。
在其中一个课程工作流中,您将像往常一样在 Colab 中使用 Python 构建 TensorFlow 模型,然后将其转换成相应的 C 语言版本,以便在微控制器上运行。课程将展示如何针对资源严重受限的设备(例如存储空间不足 100 KB 的设备)优化 ML 模型,还将介绍各种与将 TinyML 部署到 “实际中” 的挑战相关的案例研究。
把 TinyML 带回家
我们很高兴与 Arduino 和 HarvardX 开展紧密合作,成功推出此种体验。
edX 学员可以选择购买 Arduino 提供的现成 TinyML 开发套件。开发套件中包括一个 Arm Cortex-M4 微控制器、多个板载传感器、一枚摄像头和一块带有连接线的面包板。这些是解锁 TinyML 应用(如图像,声音和手势检测)所需用到的一切。借助它,学员将有机会创建自己的 TinyML 小世界。
期待看到您的作品!