1、课程导论与嵌入式AI概述:什么是TinyML、单片机为什么能跑深度学习、课程目标与学习路径

1.1 从云端到边缘:TinyML 的诞生

各位同学,大家好。我是你们这门课的老朋友。

先问大家一个问题:你手边的智能音箱,或者那个能识别你说话的手表,它们是怎么「听懂」你的?

传统思路是把语音数据传到云端,让服务器上的大模型去算。但这里有个麻烦:网络延迟、隐私泄露、还有功耗。你想想看,如果每次唤醒都要等两秒,电池半天就耗光,这产品基本就废了。

所以,业界开始琢磨:能不能把深度学习模型,直接塞进单片机里?

这就是 TinyML 的由来。说白了,TinyML 就是让机器学习模型在毫瓦级甚至微瓦级的微控制器上运行的技术。它不依赖云,不依赖大算力,靠的是极致的模型压缩和高效的推理引擎。

我个人习惯把 TinyML 比作「在指甲盖上跳舞」。你想想,一个典型的单片机只有几百 KB 的 RAM,几 MB 的 Flash,却要跑一个神经网络。这听起来有点疯狂,对吧?

核心定义:TinyML 是指在资源极度受限的嵌入式设备上(如 ARM Cortex-M 系列单片机),部署和运行机器学习推理的技术栈与方法论。

1.2 单片机为什么能跑深度学习?

很多初学者会问:「单片机那点算力,连个 Linux 都跑不起来,怎么跑神经网络?」

嗯,这里有个关键认知要纠正:推理 ≠ 训练

训练模型需要 GPU,需要海量数据,需要反向传播。但推理不一样。推理只是做一次前向计算——把输入数据送进去,经过几层卷积、激活、池化,最后输出一个结果。这个过程是确定的,计算量也远小于训练。

我在项目中遇到过一位硬件工程师,他死活不信单片机能跑人脸检测。后来我给他演示了一个基于 CMSIS-NN 的模型,在 STM32F4 上跑一次推理只要 80 毫秒。他当场就愣住了。

为什么能做到?三个原因:

  • 模型量化:把 32 位浮点数变成 8 位整数。模型体积缩小 4 倍,速度提升 2-4 倍。这是最核心的一招。
  • 硬件加速:现在的 ARM Cortex-M4/M7 都带了 DSP 指令和 SIMD 扩展。像 CMSIS-NN 这样的库,能把这些指令用起来,让卷积运算快一个数量级。
  • 网络结构轻量化:像 MobileNet、TinyML 专用的 MCUNet,参数量只有几万到几十万,专门为单片机设计。

避坑指南:我曾经在选型时忽略了一个问题——单片机没有硬件浮点单元(FPU)。结果模型量化后精度掉得厉害。后来我学乖了:只要跑神经网络,优先选带 FPU 或 DSP 的型号,比如 STM32F4 系列或 NXP i.MX RT 系列。

1.3 课程目标:你能学到什么?

这门课不是讲理论,是讲实战。30 个章节,从零开始,带你搭建一个完整的单片机深度学习推理框架。

具体来说,学完这门课,你应该能:

  1. 理解 TinyML 的完整流程:从模型训练、量化、转换,到部署到单片机上运行。
  2. 掌握推理框架的核心组件:张量管理、算子实现、内存优化、调度器设计。
  3. 独立移植和优化:能把一个 TensorFlow Lite Micro 的模型,移植到任意一款 Cortex-M 单片机上。
  4. 动手写一个迷你推理引擎:从零实现卷积、全连接、池化、激活函数,并跑通一个手写数字识别 demo。

说白了,这门课的目标就是:让你不再只是「调包侠」,而是能自己动手造轮子的人。

1.4 学习路径与前置知识

这门课需要你具备以下基础:

前置知识 要求 说明
C 语言 熟练 指针、结构体、内存管理必须过关
单片机基础 了解 GPIO、中断、定时器、UART 等基本外设
深度学习基础 入门 知道卷积、池化、全连接是什么就行
Python 基础 了解 用于模型训练和转换脚本

如果你对深度学习还不太熟,别担心。我会在课程中穿插必要的理论讲解,但重点永远是「怎么在单片机上跑起来」。

学习路径我建议这样走:

  • 第一阶段(第 1-10 章):打好基础。理解 TinyML 原理,搭建开发环境,跑通第一个 demo。
  • 第二阶段(第 11-20 章):深入框架。手写算子,实现内存池,优化推理速度。
  • 第三阶段(第 21-30 章):项目实战。移植到真实硬件,做一个人脸检测或关键词唤醒的应用。

重要提醒:不要跳着学。我见过太多人一上来就想跑大模型,结果连量化工具都不会用,最后卡在内存溢出上。每一步都踩实了,后面才能飞起来。

1.5 写在最后

嵌入式 AI 这个方向,说实话,门槛不低。但正因为门槛高,才更有价值。你想想看,当别人还在用树莓派跑模型的时候,你已经能在几块钱的单片机上跑推理了——这种成就感,是云端 AI 给不了的。

好了,第一章就到这里。下一章我们开始搭建开发环境,我会手把手教你配置 ARM GCC 工具链和 CMSIS-NN 库。到时候见。

记住:动手,是学会的唯一途径。