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