Neural Nets & Raspberry Pi
Neural Nets & Raspberry Pi — Изучайте нейронные сети, наблюдая за обучением одной из них, а затем запускайте её на симулированном Pi
Neural Nets & Raspberry Pi (в приложении называется AI Lab) — бесплатное приложение для iPhone и Android для студентов, любителей и начинающих, которым интересно изучать нейронные сети, наблюдая за их обучением в 3D. Каждый нейрон, вес и шаг градиента вычисляются собственным небольшим движком обучения, а не оболочкой над TensorFlow. Когда модель заработает, вы сжимаете её до int8 и подключаете к симулированному Raspberry Pi Pico с настоящим Python.
- Цена
- Бесплатно, обновление до Pro
- Платформы
- iOS и Android
- Языки
- 10
- Возрастной рейтинг
- 4+
- Версия
- 1.2.0
- Требуется
- iOS 15.1 или новее


Каждая гигантская AI-модель состоит из миллионов таких же небольших элементов, соединённых между собой.
Первый урок AI Lab посвящён одному нейрону: на вход поступает несколько чисел, у каждого есть свой вес, затем добавляется смещение, применяется функция активации — и на выходе получается одно число. Поймите принцип работы одного элемента — и весь остальной контент приложения: 3D-лаборатории обучения, квантованная модель и симулированный чип — окажется той же идеей, только увеличенной в масштабе, а затем снова уменьшенной.
Что это
Neural Nets & Raspberry Pi — приложение AI Lab для iOS и Android, которое бесплатно обучает студентов и любителей нейронным сетям и встраиваемому машинному обучению (TinyML) на практике. Уроки последовательно переходят от одного нейрона к многослойным сетям, четыре 3D-лаборатории позволяют наблюдать за работой градиентного спуска, квантованием и int8-инференсом в настоящем небольшом движке обучения, а Raspberry Pi Workbench позволяет подключать виртуальные компоненты и писать настоящий Python с gpiozero на симулированном Pi Pico.
В приложении
Как это выглядит





Общие сведения
Что на самом деле происходит с нейронной сетью во время обучения?
Нейронная сеть — это цепочка простых элементов, называемых нейронами. Каждый из них умножает входные данные на веса, добавляет смещение и передаёт результат через функцию активации. Обучение означает многократное измерение того, насколько ошибочен результат сети, и небольшое изменение каждого веса, чтобы уменьшить эту ошибку, называемую потерей. Если повторить процесс тысячи раз, граница решений сети — линия или кривая, которую она проводит между категориями, — постепенно займёт нужное положение. Запуск обученной сети на небольшом оборудовании — это отдельная задача: квантование и встраиваемый инференс.
Веса, смещение и активациятри регулятора одного нейрона
Вес определяет, насколько важен конкретный вход; смещение сдвигает выход нейрона независимо от входных данных; активация ограничивает результат определённым диапазоном, превращая его в решение, а не в неограниченное число. Если соединить достаточно таких элементов без активации, всё равно получится лишь одна прямая линия — именно активация позволяет сети изгибаться.
Потеря и градиентный спусккак происходит обучение
Потеря — это одно число: оно велико, когда сеть делает плохие предположения, и мало, когда хорошие. Градиентный спуск вычисляет направление, в котором это число уменьшается быстрее всего, и немного сдвигает каждый вес в эту сторону. Процесс повторяется, пока потеря не перестанет уменьшаться. Скорость обучения определяет размер такого шага: при слишком маленьком значении обучение будет ползти, а при слишком большом сеть может перескочить нужное значение и начать расходиться.
Квантованиеуменьшение обученной модели
Недавно обученная сеть хранит веса в виде 32-битных чисел с плавающей точкой, а для микроконтроллера это слишком большой и медленный формат. Квантование округляет эти веса до гораздо меньших чисел, обычно 8-битных целых (int8), уменьшая размер модели примерно в четыре раза ценой некоторой точности. Это основной компромисс TinyML — запуск машинного обучения на небольшом оборудовании с низким энергопотреблением вместо сервера.
GPIO и gpiozeroаппаратная сторона
Пины GPIO (входы/выходы общего назначения) позволяют Raspberry Pi взаимодействовать с физическими компонентами: светодиодом, кнопкой или зуммером. gpiozero — это библиотека Python, которая превращает схемы подключения в несколько строк кода: `LED(17).on()` вместо низкоуровневой записи в регистры. Поэтому именно с неё обычно начинают знакомство с электроникой на Pi, ещё до работы с настоящей платой.
Как это работает
Как используется приложение
Три вкладки дополняют друг друга: сначала прочитайте, как всё работает, затем посмотрите на это в действии, а после соберите физическую часть.
Пройдите мир коротких уроков
В мирах «Сигналы и нейроны», «Обучение через падение» и «Глубокие разумы» по три–пять коротких уроков: нейрон, затем веса и смещение, потом потеря и градиентный спуск, а затем объяснение, почему одна прямая линия в итоге перестаёт работать. Каждый урок завершается викториной, а XP, уровни и серия отмечают ваш прогресс.
Наблюдайте за настоящей моделью и настраивайте её в лабораториях
Loss Valley показывает градиентный спуск в виде 3D-ландшафта, который можно наклонять с помощью скорости обучения; Decision Surface строит границу вокруг спирали, используя шесть наборов данных для практики — от начального до продвинутого уровня; The Shrinker сжимает обученную сеть до четверти её размера; The Chip выполняет настоящий int8-инференс, чтобы вы наблюдали компромисс между точностью, размером и скоростью, а не просто читали о нём.
Подключайте компоненты и программируйте Raspberry Pi Workbench
Откройте Workbench, добавьте виртуальные компоненты в симулированный 3D Pi Pico и пишите настоящий Python с gpiozero во встроенном редакторе. Пять стартовых проектов рассчитаны на уровни от начального до продвинутого: включить и выключить светодиод, запрограммировать последовательность из трёх сигналов светофора, плавно изменять яркость одного из них с помощью PWM, считать нажатие кнопки, а затем запустить бегущий огонь Knight Rider из пяти светодиодов.
Что внутри
Что на самом деле входит в приложение
4
3D-лаборатории обучения
Loss Valley, Decision Surface, The Shrinker и The Chip запускают собственный небольшой движок обучения приложения в реальном времени, поэтому градиентный спуск, выученную границу, квантование и int8-инференс можно наблюдать и наклонять, а не просто рассматривать на статичных схемах.
5
Проекты с электроникой Pi
Мигайте светодиодом, запрограммируйте последовательность светофора, плавно изменяйте яркость с помощью PWM, считывайте нажатие кнопки и запускайте бегущий огонь Knight Rider из пяти светодиодов — каждый проект подключается и программируется на Python с gpiozero в симулированном 3D Raspberry Pi Pico.
int8
Настоящий квантованный инференс
The Shrinker уменьшает обученную сеть примерно в четыре раза, а затем The Chip выполняет на получившейся модели настоящий int8-инференс, чтобы вы самостоятельно измерили компромисс между размером и точностью, с которым сталкивается каждый разработчик встраиваемых систем.
3
Бесплатные миры уроков
«Сигналы и нейроны», «Обучение через падение» и «Глубокие разумы» — от нейронов через градиентный спуск к многослойным сетям — бесплатны, как и все лаборатории и весь 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 и написании Python с gpiozero, прежде чем рисковать настоящей платой
- Лучше учитесь по 3-D ландшафту, который можно наклонять, и границе, за движением которой можно наблюдать, чем по набору слайдов
- Хотите объяснение с нуля, а не курс, построенный вокруг вызова чужой библиотеки AI
Это не тот инструмент, если вы
- Вам нужен промышленный фреймворк машинного обучения вроде TensorFlow или PyTorch — обучающий движок здесь создан небольшим и понятным для обучения, а не для реальных рабочих нагрузок
- Хотите загружать код непосредственно на физическое устройство из приложения; Pi здесь представлен в виде 3-D симуляции, а написанный вами Python пригодится, если позже вы будете работать с настоящим Pi
- Хотите пользоваться всем бесплатно: три начальных мира, все лаборатории и Workbench доступны бесплатно, а Pro открывает остальную учебную программу
- У вас уже есть прочная база по нейронным сетям, и вы ищете справочник продвинутого или исследовательского уровня, а не уроки с самых основ
Вопросы
Часто задаваемые вопросы
Как лучше всего действительно понять, как обучается нейронная сеть?
Одного чтения о весах и градиентном спуске недостаточно; когда вы видите, как значение потерь модели действительно снижается, всё становится на свои места. AI Lab сначала объясняет нейроны, веса, смещение и активацию, затем в лаборатории «Долина потерь» представляет градиентный спуск как 3-D ландшафт, который можно наклонять с помощью скорости обучения, а «Поверхность решений» в реальном времени показывает, как обученная граница сама обвивается вокруг спирали. Бесплатно на iOS и Android.
Что такое градиентный спуск и почему важна скорость обучения?
Градиентный спуск — это способ, с помощью которого сеть уменьшает собственную ошибку: на каждом шаге она вычисляет направление, в котором потери снижаются быстрее всего, и немного сдвигает каждый вес в эту сторону — словно шар катится вниз по склону к долине. Скорость обучения определяет размер каждого шага. При слишком маленьком значении обучение ползёт медленно; при слишком большом шар может проскочить долину, начать колебаться или разойтись вместо того, чтобы остановиться. Лаборатория AI Lab «Долина потерь» позволяет двигать этот регулятор и наблюдать разницу во время настоящего обучения.
Что на самом деле делает квантование нейронной сети до int8?
Свежая обученная сеть хранит веса как 32-битные числа с плавающей точкой — это даёт больше точности и требует больше памяти, чем могут позволить себе небольшие устройства. Квантование округляет эти веса до гораздо меньших чисел, обычно 8-битных целых, уменьшая модель примерно до четверти исходного размера в обмен на некоторую потерю точности. Лаборатория AI Lab «Уменьшитель» выполняет эту операцию на настоящей обученной модели, поэтому компромисс между размером и точностью становится результатом, который вы видите, а не абзацем, который читаете.
Что такое TinyML?
TinyML — это машинное обучение на небольшом энергоэффективном устройстве — микроконтроллере или одноплатном компьютере — вместо сервера или телефона, а значит, модель сначала нужно уменьшить. Лаборатории AI Lab «Уменьшитель» и «Чип» охватывают именно этот процесс: квантовать обученную сеть, а затем выполнить на полученном результате настоящее int8-инференсирование, после чего Raspberry Pi Workbench в приложении переходит к физической стороне встраиваемых проектов.
Можно ли изучать программирование Raspberry Pi, не имея Raspberry Pi?
Да. Raspberry Pi Workbench в AI Lab — это подробная 3-D симуляция Pi Pico: вы добавляете виртуальные компоненты, соединяете их и пишете настоящий Python с библиотекой gpiozero во встроенном редакторе — покупать плату или рисковать настоящим устройством не нужно. Пять начальных проектов проходят путь от первого мигающего светодиода через светодиод, управляемый кнопкой, до пробега пяти светодиодов в стиле Knight Rider. Написанный вами Python можно напрямую использовать, если позже вы соберёте проект на настоящем Raspberry Pi.
Что такое gpiozero и почему приложение использует именно его?
gpiozero — это библиотека Python, которая представляет GPIO-пины Raspberry Pi в виде простых объектов и методов: включить светодиод можно одной строкой, а не низкоуровневой записью в регистр, поэтому с неё обычно и начинают изучение электроники для Pi. Workbench в AI Lab использует ту же библиотеку в своей симуляции, поэтому подключение светодиода, кнопки или зуммера в приложении выглядит так же, как на настоящем устройстве.
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 Python с gpiozero осваивается постепенно, от проекта к проекту, без предположения о предыдущем опыте программирования.
Тот же ли движок нейронных сетей используется в AI Lab, что и в TensorFlow или PyTorch?
Нет, и приложение прямо об этом говорит. Обучающий движок AI Lab — небольшая детерминированная реализация, созданная с нуля специально для мгновенного обучения и полной понятности в процессе изучения и визуализации; это не промышленный фреймворк машинного обучения. Идеи, которым он обучает, — нейроны, веса, потери, градиентный спуск и квантование — те же, что используются в TensorFlow или PyTorch, только в гораздо большем масштабе.
Работает ли приложение на iPhone и Android и как оно называется в каждом магазине?
Neural Nets & Raspberry Pi работает на iOS через App Store и на Android через Google Play; интерфейс доступен на 10 языках, возрастной рейтинг — 4+. На экранах и значке приложение называет себя AI Lab; в App Store оно указано как AI Lab: Neural Networks & IoT, а в Google Play — как Neural Nets & Raspberry Pi. В обоих магазинах это одно и то же приложение.
Начать
Наблюдайте, как обучается нейронная сеть, а затем перенесите её на чип
Бесплатно на iOS и Android — от нейронов через градиентный спуск до Raspberry Pi Pico с подключёнными проводами.
Другие приложения CoddyKit
Доступно на iOS и Android.