Neural Nets & Raspberry Pi
Neural Nets & Raspberry Pi — 通过观看神经网络训练来学习神经网络,然后在模拟的 Pi 上运行它
Neural Nets & Raspberry Pi(在应用内称为 AI Lab)是一款免费的 iPhone 和 Android 应用,面向希望通过观看神经网络在 3-D 中学习来掌握 神经网络 的学生、爱好者和好奇的初学者——每个神经元、权重和梯度步骤,都由应用自己的小型训练引擎计算,而不是套在 TensorFlow 外面的一层封装。模型运行起来后,你可以将其压缩为 int8,并用真正的 Python 将它接入模拟的 Raspberry Pi Pico。
- 价格
- 免费,支持 Pro 升级
- 平台
- iOS 和 Android
- 语言
- 10
- 年龄分级
- 4+
- 版本
- 1.2.0
- 需要
- iOS 15.1 或更高版本


每个庞大的 AI 模型,都是由数百万个这样的小单元连接而成。
AI Lab 的第一课是单个神经元:输入几个数字,每个数字对应一个权重,再加上一个偏置和一个激活函数,最后输出一个数字。理解这一个单元后,你就能理解应用的其余部分——3-D 训练实验室、量化模型和模拟芯片——它们只是同一个理念的放大应用,再缩小回去。
这是什么
Neural Nets & Raspberry Pi,也就是 AI Lab 应用,是一款免费的 iOS 和 Android 应用,面向学生和爱好者,以动手实践的方式教授神经网络和嵌入式机器学习(TinyML)。课程从单个神经元逐步扩展到多层网络;四个 3-D 实验室让你在真正的小型训练引擎上观看梯度下降、量化和 int8 推理的运行过程;Raspberry Pi Workbench 则让你在模拟的 Pi Pico 上连接虚拟组件,并使用 gpiozero 编写真正的 Python 代码。
应用内
界面展示





背景知识
神经网络在训练时究竟在做什么?
神经网络是一串称为神经元的简单单元。每个单元都会将输入分别乘以权重,加上偏置,再通过激活函数传递结果。训练意味着反复测量网络输出有多不准确,并略微调整每个权重,让这种被称为损失的错误一点点变小。重复数千次后,网络的决策边界——也就是它在不同类别之间画出的直线或曲线——会逐渐移动到合适的位置。要让训练好的网络在小型硬件上运行,则是另一个独立的问题:量化和嵌入式推理。
权重、偏置和激活一个神经元的三个旋钮
权重决定某个输入有多重要;偏置会无论输入如何都移动神经元的输出;激活函数则将结果压缩到一个有限范围内,让它表现得像一个决策,而不是一个没有上限的数字。把足够多的这些单元堆叠起来却不使用激活函数,最终仍然只能得到一条直线——正是激活函数让网络能够弯曲。
损失和梯度下降学习的过程
损失是一个数:网络猜测错误时数值较高,正确时数值较低。梯度下降会计算出最快降低这个数值的方向,并让每个权重朝该方向迈出一小步,如此反复,直到损失不再下降。学习率决定这一步有多大——太小,训练会进展缓慢;太大,则可能越过最佳点并发散。
量化缩小训练好的模型
刚训练好的网络会将权重存储为 32 位浮点数,这对微控制器来说太大也太慢。量化会将这些权重转换为小得多的数字,通常是 8 位整数(int8),使模型大小缩小约四倍,但会牺牲一部分准确率——这正是 TinyML 背后的核心取舍:在小型、低功耗硬件上运行机器学习,而不是依赖服务器。
GPIO 和 gpiozero硬件部分
GPIO(通用输入/输出)引脚是 Raspberry Pi 与物理组件通信的方式:LED、按钮和蜂鸣器都可以通过它连接。gpiozero 是一个 Python 库,可以将接线图变成几行代码——使用 `LED(17).on()`,而不是编写底层寄存器代码——这也是在接触真实开发板前,Pi 电子项目通常从它开始的原因。
工作原理
应用的使用方式
三个标签页层层递进:先阅读原理,再观看它实际运行,最后搭建对应的物理部分。
逐步完成丰富的短课程
Signals & Neurons、Learning by Falling 和 Deeper Minds 每个世界都包含三到五节短课——从神经元,到权重和偏置,再到损失与梯度下降,最后理解为什么一条直线最终会失效——每节课结尾都有测验,并通过 XP、等级和连续学习天数记录进度。
在实验室中观察并调节真实模型
Loss Valley 会将梯度下降呈现为一个 3-D 景观,你可以通过学习率来调整它的倾斜程度;Decision Surface 使用六个从入门到高级的练习数据集,为螺旋形数据包围出决策边界;The Shrinker 会将训练好的网络量化到原大小的四分之一;The Chip 会运行真实的 int8 推理,让你亲眼看到准确率、大小和速度之间的取舍,而不是只读到相关介绍。
连接并编写 Raspberry Pi Workbench 代码
打开 Workbench,将虚拟组件添加到模拟的 3-D Pi Pico 中,然后在内置编辑器里使用 gpiozero 编写真正的 Python 代码。五个入门项目从初级逐步进阶:让 LED 闪烁、让三色交通灯按顺序亮起、使用 PWM 调节其中一盏灯的亮度、读取按钮状态,最后让五颗 LED 组成的 Knight Rider 灯条往返扫描。
包含内容
应用实际涵盖的内容
4
3-D 训练实验室
Loss Valley、Decision Surface、The Shrinker 和 The Chip 都会实时运行应用自己的小型训练引擎,因此梯度下降、学习到的决策边界、量化和 int8 推理都是可以观看和调整的真实过程,而不是静态图示。
5
Pi 电子项目
让 LED 闪烁、让交通灯按顺序亮起、使用 PWM 调节亮度、读取按钮,以及让五颗 LED 组成的 Knight Rider 灯条往返扫描;每个项目都在模拟的 3-D Raspberry Pi Pico 上使用 gpiozero 连接硬件并用 Python 编写代码。
int8
真实的量化推理
The Shrinker 会将训练好的网络量化为约四分之一大小,随后 The Chip 会在其上运行真正的 int8 推理,让每位嵌入式工程师都会面对的大小与准确率之间的取舍,变成你可以亲自测量的结果。
3
免费的课程世界
Signals & Neurons、Learning by Falling 和 Deeper Minds——从神经元、梯度下降一直讲到多层网络——均可免费学习,所有实验室和完整的 Pi Workbench 也同样免费。
6
练习数据集
Two Blobs、XOR、Circles、Two Moons 以及另外两个数据集,让你可以在不同形状的数据上重新运行 Decision Surface 实验室的边界学习任务:从一条直线就足够解决的问题,到需要隐藏层的问题。
9
成就和 Model Zoo
共有九项成就,从完成第一节课到在所有实验室中取得金牌;此外还有包含四张卡片的 Model Zoo,完成 Loss Valley、Decision Surface、Shrinker 和 Chip 实验室后即可解锁其中的收藏模型。
是否适合
适合哪些人——不适合哪些人
如果你符合以下情况,就很适合
- 想真正看到神经元、损失值和梯度下降是如何运作的,而不只是读懂这些术语
- 对 TinyML 感到好奇——在小型硬件上运行经过缩小和量化的模型——并想亲自感受尺寸与准确率之间的取舍
- 想在拿真实电路板冒险之前,先练习 Raspberry Pi 接线和使用 gpiozero 编写 Python
- 比起幻灯片课程,更希望通过可以倾斜的 3-D 地形和亲眼观察边界移动来学习
- 想从零开始理解,而不是学习一门围绕调用他人 AI 库构建的课程
如果你符合以下情况,这不是适合你的工具
- 需要 TensorFlow 或 PyTorch 这样的生产级机器学习框架——这里的训练引擎是为了学习而设计的小型、易解释实现,并不适用于实际工作负载
- 想直接通过应用将代码烧录到实体硬件上;这里的 Pi 是 3-D 模拟,之后如果使用真实 Pi,你编写的 Python 仍然可以继续使用
- 想完全免费使用:三个起始世界、每个实验室和 Workbench 都免费,Pro 可解锁其余课程内容
- 已经对神经网络有扎实基础,正在寻找高级或研究级参考资料,而不是从基本原理开始的课程
问题
常见问题
真正理解神经网络如何学习的最佳方式是什么?
只阅读权重和梯度下降,理解终究有限;亲眼看到模型的损失值实际下降,才能弥合这道鸿沟。AI Lab 先讲解神经元、权重、偏置和激活函数,然后在 Loss Valley 实验室中,将梯度下降呈现为一个可以通过学习率倾斜的 3-D 地形;Decision Surface 则会实时展示学习到的边界如何包住一组螺旋数据。iOS 和 Android 免费提供。
什么是梯度下降,为什么学习率很重要?
梯度下降是网络降低自身误差的方式:每一步都会计算出最快降低损失的方向,然后让每个权重沿该方向轻微移动,就像小球沿斜坡滚向谷底。学习率决定每一步的大小。太小,训练会进展缓慢;太大,小球可能越过谷底并来回弹跳,甚至发散,而不是逐渐稳定下来。AI Lab 的 Loss Valley 实验室可以让你拖动这个滑块,并在真实训练过程中观察差异。
将神经网络量化为 int8 后,实际发生了什么?
刚训练好的网络会将权重存储为 32-bit 浮点数,这种格式的精度和占用内存都超出了小型硬件的承受范围。量化会将这些权重四舍五入为更小的数,通常是 8-bit 整数,使模型缩小到大约四分之一,同时牺牲一部分准确率。AI Lab 的 Shrinker 实验室会在真实训练模型上执行这一过程,让尺寸与准确率之间的取舍成为你亲眼看到的结果,而不是只读到的一段文字。
什么是 TinyML?
TinyML 是在小型、低功耗硬件上运行的机器学习——例如微控制器或单板计算机,而不是服务器或手机——这意味着必须先缩小模型。AI Lab 的 Shrinker 和 Chip 实验室正好涵盖这条流程:先量化训练好的网络,再对结果运行真正的 int8 推理,之后应用中的 Raspberry Pi Workbench 才会进入嵌入式项目的实体接线环节。
没有 Raspberry Pi,也能学习 Raspberry Pi 编程吗?
可以。AI Lab 的 Raspberry Pi Workbench 是对 Pi Pico 的详细 3-D 模拟:你可以添加虚拟组件、连接线路,并在内置编辑器中使用 gpiozero 库编写真正的 Python,无需购买或冒险损坏电路板。五个入门项目从第一次让 LED 闪烁开始,逐步学习按钮控制 LED,以及五个 LED 的 Knight Rider 扫描效果。之后如果使用真实的 Raspberry Pi,你编写的 Python 可以直接继续使用。
什么是 gpiozero,应用为什么使用它?
gpiozero 是一个 Python 库,它将 Raspberry Pi 的 GPIO 引脚封装成简单的对象和方法——打开 LED 只需一行代码,而不必进行底层寄存器写入——因此它通常是 Pi 电子项目的入门选择。AI Lab 的 Workbench 在模拟中使用同一个库,所以在应用中连接 LED、按钮或蜂鸣器时,代码读起来与真实硬件上的写法相同。
AI Lab 免费吗?
是的。AI Lab 可从 App Store 和 Google Play 免费下载,其前三个课程世界——从单个神经元,到梯度下降,再到多层网络——以及每个 3-D 实验室和完整的 Raspberry Pi Workbench 都可免费使用。AI Lab Pro 可解锁其余课程内容并移除广告。该应用评级为 4+,当前版本为 1.2.0。
开始学习需要数学或编程基础吗?
不需要。AI Lab 会先从神经元是什么讲起——几个数字分别乘以权重,与偏置相加,再经过激活函数——之后才引入代码,并通过每节短课末尾的测验,一次建立一个概念。Raspberry Pi Workbench 通过 gpiozero 逐步介绍 Python,按项目循序渐进,而不是假设你已有编程经验。
AI Lab 中的神经网络引擎与 TensorFlow 或 PyTorch 相同吗?
不相同,应用也明确说明了这一点。AI Lab 的训练引擎是专门从零构建的小型确定性实现,目的是让训练即时完成,并在学习和可视化过程中保持完全易于解释;它不是生产级机器学习框架。它所教授的概念——神经元、权重、损失、梯度下降和量化——与 TensorFlow 或 PyTorch 在更大规模上使用的概念相同。
它支持 iPhone 和 Android 吗?在各自的商店叫什么?
Neural Nets & Raspberry Pi 可通过 App Store 在 iOS 上运行,也可通过 Google Play 在 Android 上运行;界面支持 10 种语言,年龄评级为 4+。应用在界面和图标上称为 AI Lab;App Store 中的名称是 AI Lab: Neural Networks & IoT,Google Play 中的名称是 Neural Nets & Raspberry Pi。两个平台上的应用是同一个。
更多 CoddyKit 产品
可在 iOS 和 Android 上使用。