名校公开课 / 哈佛 / AI

TinyML 基础(微型机器学习系列)

Fundamentals of TinyML (Tiny Machine Learning series)哈佛self-paced免费旁听
TinyML嵌入式机器学习TensorFlow Lite Micro关键词识别模型压缩

这门课学什么

系列共 3 门课:基础、应用、部署。内容有机器学习基础、关键词唤醒、视觉唤醒词。最后用 TensorFlow Lite Micro 把模型烧录到 Arduino 开发板上运行。

内容摘要

这个系列共 3 门课,由哈佛的 Vijay Janapa Reddi 和 Google 的 Laurence Moroney 合作讲授。主线是:先学机器学习基础,再看真实应用怎样在资源受限的设备上运行,最后把模型部署到自己的开发板上。

第 1 门《Fundamentals of TinyML》分 2 章。第 1 章介绍 TinyML 是什么,以及微型设备在功耗和内存上的挑战。第 2 章从零讲机器学习范式和深度学习的构成部件,用 TensorFlow 搭一个计算机视觉模型,并讨论负责任的 AI 设计。

第 2 门《Applications of TinyML》先讲 AI 生命周期、机器学习工作流,以及手机和边缘 IoT 设备上的机器学习。然后拆解 3 个典型应用:关键词唤醒(keyword spotting)、视觉唤醒词(visual wake words)和异常检测。课程还讲 TinyML 的数据工程和负责任的 AI 开发。

第 3 门《Deploying TinyML》是动手课,需要购买 TinyML Program Kit。套件含 1 块带传感器的 Arduino 开发板,芯片是 ARM Cortex-M4。学员用 TensorFlow Lite for Microcontrollers 部署模型,自己采集数据集,为关键词唤醒、视觉唤醒词和“魔杖”手势识别写前后处理代码,最后做性能剖析和优化。

学完 3 门课,学员能独立完成一个 TinyML 应用:采集数据,训练模型,压缩模型,再烧录到微控制器上运行。

为什么值得学

这是少有的系统讲边缘 AI 的公开课。讲师是哈佛系统研究者和 Google TensorFlow 首席布道师,最后能在真实硬件上跑模型。

课程信息

学校
哈佛(Harvard)
讲师
维杰·贾纳帕·雷迪(Vijay Janapa Reddi)、劳伦斯·莫罗尼(Laurence Moroney)
学期
self-paced
平台
edX
费用
免费旁听
难度
入门
学时
3 门课,每门每周 2–4 小时
先修
会基础 Python;第 3 门课需要购买 Arduino 套件。
材料
视频、作业、代码
许可证
未注明
去课程主页 ↗
课程是英文的。本页的介绍、摘要和大纲由极客教育原创撰写,讲次标题为中文意译。开课时间、收费和链接以官方页面为准。

课程大纲 · 共 25 节

大纲依据:3 门子课程 edX 课程页的 syllabus 章节列表(基础 10 节、应用 10 节、部署 5 节)(查看原始页面 ↗)

  1. 1
    基础课 1.1:课程概览Fundamentals 1.1: Course Overview

    介绍系列课程的结构和学习目标。

  2. 2
    基础课 1.2:机器学习的未来在微型设备Fundamentals 1.2: The Future of ML is Tiny and Bright

    说明为什么要把机器学习放到低功耗设备上,以及它能开启的应用。

  3. 3
    基础课 1.3:TinyML 的挑战Fundamentals 1.3: TinyML Challenges

    分析微控制器在内存、算力和功耗上的限制,以及这些限制对模型设计的影响。

  4. 4
    基础课 1.4:入门准备Fundamentals 1.4: Getting Started

    准备课程用到的编程环境和学习资源。

  5. 5
    基础课 2.1:机器学习范式Fundamentals 2.1: The Machine Learning Paradigm

    对比传统编程与机器学习:前者由人写规则,后者从数据中学出规则。

  6. 6
    基础课 2.2:深度学习的构成部件Fundamentals 2.2: The Building Blocks of Deep Learning

    讲神经元、网络层、损失函数和梯度下降。

  7. 7
    基础课 2.3:机器学习场景探索Fundamentals 2.3: Exploring Machine Learning Scenarios

    通过具体问题练习把任务转化为机器学习问题。

  8. 8
    基础课 2.4:构建计算机视觉模型Fundamentals 2.4: Building a Computer Vision Model

    用 TensorFlow 训练图像分类模型,并引入卷积。

  9. 9
    基础课 2.5:负责任的 AI 设计Fundamentals 2.5: Responsible AI Design

    讨论在设计阶段怎样考虑数据偏差、公平性和隐私。

  10. 10
    基础课 2.6:小结Fundamentals 2.6: Summary

    回顾基础课内容,衔接后两门课。

  11. 11
    应用课 1.1:课程介绍Applications 1.1: Welcome to Applications of TinyML

    介绍应用课的内容和案例安排。

  12. 12
    应用课 1.2:AI 生命周期与机器学习工作流Applications 1.2: AI Lifecycle and ML Workflow

    讲一个机器学习产品从数据采集、训练、评估到部署的完整流程。

  13. 13
    应用课 1.3:移动与边缘 IoT 设备上的机器学习(上)Applications 1.3: Machine Learning on Mobile and Edge IoT Devices - Part 1

    介绍手机和边缘设备的硬件特点,以及模型在这些设备上的运行方式。

  14. 14
    应用课 1.4:移动与边缘 IoT 设备上的机器学习(下)Applications 1.4: Machine Learning on Mobile and Edge IoT Devices - Part 2

    继续讨论把模型转换、量化后放到小设备上推理的方法。

  15. 15
    应用课 1.5:关键词唤醒Applications 1.5: Keyword Spotting

    拆解“OK Google”一类语音唤醒功能:音频特征、小型模型和准确率与功耗的权衡。

  16. 16
    应用课 1.6:TinyML 应用的数据工程Applications 1.6: Data Engineering for TinyML Applications

    讲怎样采集、清洗和标注数据,以及小数据集上的常见问题。

  17. 17
    应用课 1.7:视觉唤醒词Applications 1.7: Visual Wake Words

    用低分辨率图像判断画面中有没有人,讲小型视觉模型的设计。

  18. 18
    应用课 1.8:异常检测Applications 1.8: Anomaly Detection

    用传感器数据发现设备异常,介绍无监督的检测方法。

  19. 19
    应用课 1.9:负责任的 AI 开发Applications 1.9: Responsible AI Development

    讨论 TinyML 应用中的隐私、公平和安全问题。

  20. 20
    应用课 1.10:小结Applications 1.10: Summary

    回顾 3 个应用案例的共同流程。

  21. 21
    部署课:TinyML 套件介绍Deploying: Introduction to the TinyML Kit

    熟悉 Arduino 开发板和板载传感器,搭好开发环境。

  22. 22
    部署课:在嵌入式设备上部署应用Deploying: Deploying TinyML Applications on Embedded Devices

    用 TensorFlow Lite for Microcontrollers 把训练好的模型转换并烧录到开发板。

  23. 23
    部署课:采集自定义数据集Deploying: Collecting a Custom TinyML Dataset

    用开发板的传感器采集自己的数据,训练属于自己的模型。

  24. 24
    部署课:关键词唤醒、视觉唤醒词与魔杖手势的前后处理Deploying: Pre and Post Processing for Keyword Spotting, Visual Wake Words, and Gesturing a Magic Wand

    为 3 个应用写输入预处理和输出后处理代码,让模型在真实信号上稳定工作。

  25. 25
    部署课:性能剖析与优化Deploying: Profiling and Optimization of TinyML Applications

    测量模型在设备上的延迟和内存占用,再针对瓶颈做优化。

哈佛的其他AI课