ЖУРНАЛ СТА №4/2024
соров ARM Cortex от простых моделей к более сложным с указанием возможно- стей решения функциональных задач. В последние годы ускоренно разви- вается поддержка встроенного ПО для микроконтроллеров. Вот некоторые примеры встроенных программ и рамочных решений. ● CMSIS-NN от ARM – библиотека с от- крытым исходным кодом, которая со- стоит из эффективных ядер для мак- симизации производительности ней- ронных сетей на процессорах ARM Cortex-M. ● TensorFlow Lite Micro – фреймворк машинного обучения с открытым ис- ходным кодом для создания моделей глубокого обучения во встраиваемых системах. ● X-CUBE-AI – пакет, расширяющий воз- можности STM32CubeMX.AI. Он поз- воляет преобразовывать предвари- тельно обученные нейронные сети к формату библиотеки ANSI C, оптими- зированной для микроконтроллеров STM32 на базе процессорных ядер ARM Cortex-M4 и M7. Пакет расширения STM X-CUBE-AI позволяет автоматически преобразо- вывать предварительно обученные нейронные сети для 32-разрядных мик- роконтроллеров. MicroTensor – облег- чённый фреймворк машинного обуче- ния, который используется для моде- лей TensorFlow и оптимизирован для ядер ARM. PyTorch Mobile позволяет вы- полнять ML-модели на периферийных устройствах с использованием экоси- стемы PyTorch. CMSIS-NN разработан для создания приложений Интернета вещей, которые запускают небольшие нейронные сети непосредственно в си- стемах сбора данных. Этот подход пред- почтительнее облачных вычислений, поскольку количество IoT-устройств растёт. Библиотека CMSIS-NN была по- лезна при использовании CNN для классификации изображений в наборе данных CIFAR-10. На платформе ARM Cortex-M7 удалось классифицировать 10,1 изображения в секунду с точ- ностью 79,9%. Преобразование и оптимизация мо- дели вывода для запуска на устрой- стве – сложная задача из-за множества доступных встроенных платформ с раз- ной аппаратной поддержкой. Сгенери- рованные исходные файлы ANSI C ком- пилируются для логического вывода на микроконтроллере. Процесс генерации с использовани- ем этого фреймворка показан на рис. 3. На низком уровне используются ядра CMSIS-NN. Этот инструмент даёт разра- ботчикам преимущества: графический пользовательский интерфейс, под- держка различных фреймворков глу- бокого обучения (Keras и TensorFlow Lite), 8-битное квантование и совме- стимость с различными сериями мик- роконтроллеров STM32. Рассмотрим ряд реальных проектов с применением процессоров ARM Cortex, оптимизированных для задач с нейрон- ными сетями, и сведём в таблицу для анализа результатов. 1. В проекте использования больших данных применили методы глубокого обучения для прогнозирования погоды с помощью глубокой крошечной нейрон- ной сети (DTNN). Система автономна и не зависит от облачных сервисов, она основана на микроконтроллере STM32 и наборе инструментов X-CUBE-AI для ав- томатического преобразования модели в оптимизированную версию для мик- роконтроллера. В качестве входного па- раметра используется атмосферное дав- ление. Авторы подробно описывают ар- хитектуру системы на базе микроконт- роллера STM32. Ядро системы – микро- контроллер ARM Cortex-M4 с 512 кбайт флеш-памяти и 96 кбайт памяти SRAM. Для управления визуализатором дан- ных используется Raspberry PI. Для управления потоками использу- ется операционная система реального времени Miosix. Авторы исследовали несколько моделей, в том числе рекур- рентные нейронные сети (RNN), такие как LSTM и GRU, которые часто исполь- зуются для обработки данных времен- ны́х рядов. Также была рассмотрена смешанная архитектура CNN-RNN из- за многообещающих результатов при обработке данных временны́х рядов. В итоге авторы выбрали четыре моде- ли: LSTM, GRU, CNN-LSTM и CNN-GRU. Для каждого семейства была выбрана модель с наилучшей производитель- ностью. Набор данных был получен с сертифицированной метеостанции и использовался в качестве входных дан- ных на определённых этапах предвари- тельной обработки. Для обучения были рассмотрены фреймворки Keras и TensorFlow. Результаты представлены с использованием показателей NRMSE (нормализованная среднеквадратичная ошибка) и NMAE (нормализованная СТА 4/2024 36 www.cta.ru ОБ ЗОРЫ TOP/s Требования к объёмам обработки данных Распознавание в реальном времени Классификация объектов Распознавание голоса Биометрия Распознавание жестов Обнаружение предметов Контроль аномалий Поиск по словам Данные с датчиков Контроль вибрации Cortex-M Cortex-M55 Cortex-M55 Ethos-U55 Cortex-A, Mail Ethos-N Рис. 3. Преобразование предварительно обученной модели с помощью STM32CubeMX.AI
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy