Microchip и современный подход к искусственному интеллекту. Разворачиваем нейронную сеть на 32-битном микроконтроллере (материалы вебинара)

17 сентября 2021

системы безопасностиавтоматизацияответственные примененияинтернет вещейMicrochipвебинар

Мероприятие прошло 13.10.2021

Программа

показатьсвернуть
Приглашаем всех желающих посетить вебинар, посвященный искусственному интеллекту, машинному обучению и решениям для их реализации от Microchip. Современные среды для глубинного обучения нейронных сетей позволяют без детального изучения предмета развернуть искусственную нейронную сеть (ANN) не только на производительных микропроцессорах и ПЛИС, но и на 32-битных микроконтроллерах. А благодаря широкому портфолио Microchip, включающему в себя диапазон компонентов от микроконтроллеров и датчиков до ПЛИС, средств скоростной передачи и хранения информации, возможно решить весь спектр задач, возникающий при обучении, верификации и развёртывании модели ANN. На вебинаре также будет продемонстрирован запуск интеллектуального приложения на 32-битном микроконтроллере серии SAMD21.

Содержание

  • Общие понятия об искусственном интеллекте, сверточных нейронных сетях и глубинном обучении.
  • Области применения и драйверы развития технологии AI/ML.
  • Microchip и Искусственный Интеллект – широкое портфолио компонентов от сбора данных до верификации и развёртывания модели.
  • Современные среды глубинного обучения Edge Impulse и Motion Gestures – разворачиваем нейронную сеть на 32-битном микроконтроллере.
  • VectorBlox SDK – адаптация и запуск модели нейронной сети на ПЛИС PolarFire.
  • Демонстрация работы искусственной нейронной сети на 32-битном микроконтроллере.

Общая информация

Начало: 13 октября 2021 г. в 11:00 (МСК)
Продолжительность: 60 минут
Форма участия: бесплатно
Добавить в календарь: Google, iCal

Докладчик

Александр Белов – инженер по применению микроконтроллеров компании Компэл. Имеет 5-летний опыт разработки радиолокационных станций ВПК в части встраиваемых приложений под микроконтроллеры и ПЛИС.

При участие эксперта компании Microchip:
Adil Yacoubi – ведущий инженер по продукту  (Senior Technical Marketing Engineer )

Видео

Презентация

Демонстрационное видео

Проект умной гантели на 32-битном микроконтроллере

Вопросы и ответы вебинара «Microchip и современный подход к искусственному интеллекту. Разворачиваем нейронную сеть на 32-битном микроконтроллере»:

I. Вопросы и ответы, озвученные на вебинаре

Достаточно ли ресурсов МК SAMD21 или другого аналогичного по возможностям для решения типичных AI-задач: распознавания (графического или звукового образа), управления механизмом на основе AI-алгоритма с обучением, трассировки (поиска пути и маршрута) и т.п. ?
Насколько это применимо в работе в реальном времени, со временем принятия решения не более 0,1..0,2 секунды?
Каковы требования к быстродействию (MIPS) и объемам оперативной памяти и постоянной памяти для хранения сети?
(Адил) На первую часть вопроса ответ – «да». На нашем сайте есть примеры, в которых 32-битные МК на базе Cortex-M0 типа SAMD21 решают типичные задачи AI, например, распознавание жестов. Там нет примеров трассировки, но я полагаю, что это также возможно.
Вторая часть вопроса касается того, насколько сочетание аппаратных и программных средств AI совместимо с работой в реальном времени. Если мы говорим о времени принятия решения 100 миллисекунд – определенно, для наших устройств это вполне достижимый уровень, все зависит от настройки проекта. Для этого мы бы рекомендовали использовать МК на ядрах Cortex-M4 или Cortex-M7
Дополнение к ответу: (Александр Белов) Тот проект, который вы видели в вебинаре, занимает 15 кбайт Flash, 1.5 кбайт RAM, скорость обработки составляет примерно 1 мсек. То есть цифры 1-2 мсек – вполне реальные для МК с ядром Cortex-M0. Если же мы возьмем быстродействующее ядро типа Cortex-M7, то вполне можем получить Hard Real Time.
Какова среда разработки, открыты ли исходники, каковы требования к микроконтроллеру (размер оперативной памяти)?
(Адил) Основные среды разработки предоставляются Microchip – это MP LAB Harmony и MP LAB X. В эти среды встроены библиотеки сторонних производителей, которые предоставляются бесплатно. В большинстве случаев вам не придется использовать что-либо еще. В некоторых случаях для передачи данных во внешние среды (например, в облачные сервисы для хранения и обработки данных) могут потребоваться плагины, имеющиеся в MP LAB и также предоставляемые бесплатно. Большинство применяемых сторонних библиотек имеют открытый код. Специалисты Microchip смогут проконсультировать вас, что необходимо использовать для вашей конкретной задачи.
Остальные вопросы
показатьсвернуть
Можно ли смешивать искусственный интеллект и обычную С-программу, не являющуюся частью нейросети, в одном чипе?
(Адил) После разработки проекта нейронная сеть представляет собой библиотеку на С. По сути, никакого смешения языков нет: сгенерированная библиотека встраивается в вашу программу и работает как ее часть.
Возможно ли развертывание нейронной сети не на 32-битном, а на 8-битном микроконтроллере? (Например, на ATMega328P AU1537)
(Адил) Что касается восьмибитных изделий – да, это вполне возможно. Конкретно по названной ATMega328 – это нужно проверить. Но у Microchip есть примеры нейросетей, реализованных на 8- и 16-битных контроллерах.
Есть ли примеры реализации самообучающихся нейронных сетей, решающих задачу классификации поступающей информации, дальнейшее селективное выделение информационных наборов и определение их принадлежности к тому или иному классу? Могут ли такие сети быть реализованы на 32-битных микроконтроллерах?
(Адил) Пример, приведенный в нашей презентации, как раз демонстрировал решение, где входные данные разделялись на классы, а нейронная сеть определяла, к какому классу относятся входные сигналы.
Под самообучающейся нейронной сетью обычно понимают метод обучения без учителя или с частичным привлечением учителя. В любом случае обучение сети на микроконтроллере на текущий момент не поддерживается ни TensorFlow, ни другими средствами разработки от наших партнеров.
Может ли искусственный интеллект использоваться в промышленной автоматике (конкретно — в управлении техпроцессом) и в обучении персонала на стенде с ПЛК-контроллерами?
(Адил) Да, конечно, искусственный интеллект может использоваться в промышленной автоматизации: данные могут сниматься с датчиков, передаваться по беспроводным или проводным интерфейсам, могут анализироваться, классифицироваться, и на их основе могут приниматься решения. Помимо этого, система может управлять конечными устройствами, например – включать и выключать электропитание.
Вторая часть вопроса требует пояснения: я не очень понял, что именно имеется в виду.
Каково быстродействие модели, показанной в презентации? Какое время нужно было на вычисление каждого периода данных?
(Адил) Время требовалось порядка 300 мсек.

II. Ответы на вопросы, заданные через чат

Возможно ли перенести нейросеть из TensorFlow/Кeras? Как оценить производительность и энергопотребление модели, развернутой на специфическом устройстве (микроконтроллере)?
(Адил) Для запуска нейронной сети на микроконтроллере используется TensorFlow Lite for Microcontrollers (TFLM), именно на него опирается рассмотренный на вебинаре Edge Impulse и другие фреймворки. TFLM поддерживает только часть операторов, доступных в TensorFlow и TensorFlow Lite (список операторов представлен по ссылке). TensorFlow умеет конвертировать полную модель TF в модель TensorFlow Lite и в TensorFlow Micro. TensowFlow Micro – это хороший вариант для микроконтроллеров, поскольку он имеет открытый исходный ход и активно развивается.
Выходом TensorFlow Micro является BLOB-файл, который имеет формат статического массива C/C++ и обрабатывается интерпретатором TensorFlow Micro. BLOB содержит и веса, и информацию о архитектуре сети. Использование интерпретатора позволяет управлять запуском моделей – то есть динамически запускать модели, в том числе из внешней памяти.
Производительность нейронной сети на микроконтроллере оценивается так же, как и для любого другого встраиваемого приложения. На https://microchipdeveloper.com/ и https://github.com/ доступны примеры оценки производительности для Edge Impulse.
Каковы минимальные требования к «железу» для запуска нейронной сети? – в частности, какими должны быть разрядность, размер ОЗУ и Flash-памяти, а также другие характеристики для микроконтроллера и для ПЛИС?
(Адил) Требования к MCU зависят от конкретного приложения – для 32-битных микроконтроллеров можно отталкиваться от производительности SAMD21.
Следует ли для запуска нейросети использовать только микроконтроллеры на ядрах ARM Cortex-Mx? Как насчет других ядер (AVR, PIC-8, PIC-16, MIPS-32)?
(Адил) Жестких требований для запуска TensorFlow Micro на МК всего два: поддержка компилятором C++ версии 11 и достаточное количество Flash-памяти и RAM. На данный момент полностью поддерживаются устройства с ядрами ARM Cortex-A и Cortex-M. Для микроконтроллеров с ядром PIC32/MIPS есть Beta-версия компилятора, поддерживающего C++ 11. Остальные МК (AVR, PIC8, PIC16) пока не имеют такой поддержки.
Поддержка параллельных вычислений SIMD позволяет увеличить скорость обработки нейронной сети. Пример ядер с такой поддержкой – ARM Cortex-M4/M7.
Является ли нейронная сеть, сгенерированная Фреймворком, статической с жесткой структурой? Можно ли изменить ее непосредственно на МК, или для этого необходима рекомпиляция во фреймворке?
(Адил) Изменить нейронную сеть можно только во фреймворке. Это требование определяется использованием TensorFlow Micro и не зависит ни от Microchip, ни от производителей фреймворков – Edge Impulse и прочих.
Возможно ли реализовать нейросеть на МК с ОС Linux? Какие дополнительные инструменты понадобятся в этом случае?
(Адил) Да, для этого модель нужно конвертировать в формат TensorFlow Lite. Взаимодействие с моделью осуществляется через API на языках C++ или Python.
•••

Наши информационные каналы

О компании Microchip

Microchip Technology Inc. - ведущий поставщик микроконтроллеров, схем смешанного сигнала, аналоговых полупроводников и решений на основе флэш-IP. Решения Microchip обеспечивают разработку с низким уровнем риска, снижают общую стоимость системы и сокращают время выхода на рынок для тысяч различных клиентских приложений по всему миру. Штаб-квартира в Чандлер, штат Аризона. Продукция Microchip обладает высокими качеством и уровнем технической поддержки. Продукция Microchip обладает высоким уровн ...читать далее

Товары
Наименование
EV18H79A (MCRCH)
MIKROE-4237 (MIKROEL)
MIKROE-2337 (MIKROEL)