Значок приложения Neural Nets & Raspberry Pi

Neural Nets & Raspberry Pi

Образование · Бесплатно · iOS & Android · CoddyKit

Neural Nets & Raspberry Pi — Изучайте нейронные сети, наблюдая за обучением одной из них, а затем запускайте её на симулированном Pi

Neural Nets & Raspberry Pi (в приложении называется AI Lab) — бесплатное приложение для iPhone и Android для студентов, любителей и начинающих, которым интересно изучать нейронные сети, наблюдая за их обучением в 3D. Каждый нейрон, вес и шаг градиента вычисляются собственным небольшим движком обучения, а не оболочкой над TensorFlow. Когда модель заработает, вы сжимаете её до int8 и подключаете к симулированному Raspberry Pi Pico с настоящим Python.

App Store — Скачать бесплатноGoogle Play — Скачать бесплатно
Цена
Бесплатно, обновление до Pro
Платформы
iOS и Android
Языки
10
Возрастной рейтинг
4+
Версия
1.2.0
Требуется
iOS 15.1 или новее
Вкладка Learn приложения AI Lab: над списком уроков из миров «Сигналы и нейроны», «Обучение через падение» и «Глубокие разумы» отображаются XP, уровень и серия достиженийВкладка AI Lab «Лаборатории» со списком лабораторий «Долина потерь», «Поверхность решений», «Уменьшитель» и «Чип», а также учебными наборами данных, включая Two Blobs и XOR
43D-лаборатории обучения
5Проекты с электроникой Pi
int8Настоящий квантованный инференс
Каждая гигантская AI-модель состоит из миллионов таких же небольших элементов, соединённых между собой.

Первый урок AI Lab посвящён одному нейрону: на вход поступает несколько чисел, у каждого есть свой вес, затем добавляется смещение, применяется функция активации — и на выходе получается одно число. Поймите принцип работы одного элемента — и весь остальной контент приложения: 3D-лаборатории обучения, квантованная модель и симулированный чип — окажется той же идеей, только увеличенной в масштабе, а затем снова уменьшенной.

Что это

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

В приложении

Как это выглядит

Вкладка Learn приложения AI Lab: над списком уроков из миров «Сигналы и нейроны», «Обучение через падение» и «Глубокие разумы» отображаются XP, уровень и серия достижений
УчитесьКороткие уроки — что такое нейрон, веса и смещение, градиентный спуск — объединены в миры, а XP, уровень и серия занятий отображаются вверху.
Вкладка AI Lab «Лаборатории» со списком лабораторий «Долина потерь», «Поверхность решений», «Уменьшитель» и «Чип», а также учебными наборами данных, включая Two Blobs и XOR
Лаборатории«Долина потерь», «Поверхность решений», «Уменьшитель» и «Чип» — каждая работает в реальном времени на собственном обучающем движке приложения; также доступны шесть учебных наборов данных, чтобы заново решить ту же задачу построения границы.
Вкладка AI Lab «Raspberry Pi» с кнопкой «Открыть рабочую станцию» и пятью начальными проектами по электронике — от «Мигающего светодиода» до «Knight Rider»
Raspberry Pi WorkbenchСоединяйте виртуальные компоненты и пишите настоящий Python с gpiozero, проходя пять проектов — от первого мигающего светодиода до пробега пяти светодиодов в стиле Knight Rider.
Вкладка AI Lab «Награды» с Model Zoo из четырёх карточек и списком из девяти достижений, таких как «Первый нейрон» и «Луч уменьшения»
НаградыModel Zoo из четырёх карточек, открываемых после завершения каждой лаборатории, и девять достижений, связанных с реальным прогрессом — серией занятий, уровнем, золотым результатом и завершённым курсом.
Экран обновления до AI Lab Pro со списком: полный доступ ко всем лабораториям и проектам, отсутствие рекламы, помесячная или годовая оплата
Обновление до ProPro открывает все миры, все 3-D лаборатории и все проекты Pi Workbench без рекламы; оплата взимается ежемесячно или ежегодно.

Общие сведения

Что на самом деле происходит с нейронной сетью во время обучения?

Нейронная сеть — это цепочка простых элементов, называемых нейронами. Каждый из них умножает входные данные на веса, добавляет смещение и передаёт результат через функцию активации. Обучение означает многократное измерение того, насколько ошибочен результат сети, и небольшое изменение каждого веса, чтобы уменьшить эту ошибку, называемую потерей. Если повторить процесс тысячи раз, граница решений сети — линия или кривая, которую она проводит между категориями, — постепенно займёт нужное положение. Запуск обученной сети на небольшом оборудовании — это отдельная задача: квантование и встраиваемый инференс.

Веса, смещение и активациятри регулятора одного нейрона

Вес определяет, насколько важен конкретный вход; смещение сдвигает выход нейрона независимо от входных данных; активация ограничивает результат определённым диапазоном, превращая его в решение, а не в неограниченное число. Если соединить достаточно таких элементов без активации, всё равно получится лишь одна прямая линия — именно активация позволяет сети изгибаться.

Потеря и градиентный спусккак происходит обучение

Потеря — это одно число: оно велико, когда сеть делает плохие предположения, и мало, когда хорошие. Градиентный спуск вычисляет направление, в котором это число уменьшается быстрее всего, и немного сдвигает каждый вес в эту сторону. Процесс повторяется, пока потеря не перестанет уменьшаться. Скорость обучения определяет размер такого шага: при слишком маленьком значении обучение будет ползти, а при слишком большом сеть может перескочить нужное значение и начать расходиться.

Квантованиеуменьшение обученной модели

Недавно обученная сеть хранит веса в виде 32-битных чисел с плавающей точкой, а для микроконтроллера это слишком большой и медленный формат. Квантование округляет эти веса до гораздо меньших чисел, обычно 8-битных целых (int8), уменьшая размер модели примерно в четыре раза ценой некоторой точности. Это основной компромисс TinyML — запуск машинного обучения на небольшом оборудовании с низким энергопотреблением вместо сервера.

GPIO и gpiozeroаппаратная сторона

Пины GPIO (входы/выходы общего назначения) позволяют Raspberry Pi взаимодействовать с физическими компонентами: светодиодом, кнопкой или зуммером. gpiozero — это библиотека Python, которая превращает схемы подключения в несколько строк кода: `LED(17).on()` вместо низкоуровневой записи в регистры. Поэтому именно с неё обычно начинают знакомство с электроникой на Pi, ещё до работы с настоящей платой.

Как это работает

Как используется приложение

Три вкладки дополняют друг друга: сначала прочитайте, как всё работает, затем посмотрите на это в действии, а после соберите физическую часть.

  1. Пройдите мир коротких уроков

    В мирах «Сигналы и нейроны», «Обучение через падение» и «Глубокие разумы» по три–пять коротких уроков: нейрон, затем веса и смещение, потом потеря и градиентный спуск, а затем объяснение, почему одна прямая линия в итоге перестаёт работать. Каждый урок завершается викториной, а XP, уровни и серия отмечают ваш прогресс.

  2. Наблюдайте за настоящей моделью и настраивайте её в лабораториях

    Loss Valley показывает градиентный спуск в виде 3D-ландшафта, который можно наклонять с помощью скорости обучения; Decision Surface строит границу вокруг спирали, используя шесть наборов данных для практики — от начального до продвинутого уровня; The Shrinker сжимает обученную сеть до четверти её размера; The Chip выполняет настоящий int8-инференс, чтобы вы наблюдали компромисс между точностью, размером и скоростью, а не просто читали о нём.

  3. Подключайте компоненты и программируйте 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 с подключёнными проводами.

App Store — Скачать бесплатноGoogle Play — Скачать бесплатно
Последняя проверка · Опубликовано CoddyKit · Политика конфиденциальности
Доступно на iOS и Android.