ЖУРНАЛ СТА №4/2024
ния, были использованы для преоб- разования модели в соответствии с ограничениями микроконтроллера. Используемый набор данных состоит из изображений здоровых и больных кофейных листьев. Для увеличения ко- личества изображений были примене- ны методы увеличения объёма данных, а для повышения помехоустойчивости к изображениям был добавлен шум. Система состоит из специального бокса, в который помещается лист для анализа. Для всех пяти моделей были измерены показатели точности и от- зыва. Для моделей TensorFlow Lite и integer quantized была получена та же производительность, что и для 32-раз- рядной модели с плавающей запятой. Для квантованной модели Qm, n было получено небольшое снижение точно- сти – на 1%. Это составило 95% от мак- симальной точности. Кроме того, мо- дели были сравнены с точки зрения использования флеш-памяти и опера- тивной памяти, среднего времени вы- вода и среднего энергопотребления. Авторы пришли к выводу, что кван- тованная модель, использующая пред- ставление Q-формата с фиксированной точкой, подходит для развёртывания на микроконтроллере. Для этой модели среднее энергопотребление составляет 134,12 МДж, что является самым низ- ким показателем по сравнению с дру- гими моделями. Важным выводом бы- ло то, что методы квантования пре- взошли метод сжатия по всем рассмот- ренным показателям производитель- ности. 5. Проект контроля и предсказания действия лекарственных препаратов для анестезии на базе нейронной сети для управления моделями с предсказа- нием (DNN-MPC) на микроконтроллере ARM. Была исследована производи- тельность MPC-модели на основе глу- бокого обучения для управления ане- стезией при внутривенной доставке ле- карств. Линейные MPC-модели не под- ходят для реализации в реальном вре- мени, так как требуют больших вычис- лительных затрат. Однако использова- ние методов глубокого обучения позво- ляет обеспечить точную аппроксима- цию линейного закона управления MPC и сократить сложность вычисле- ний и объём памяти. Была выбрана ре- куррентная нейронная сеть (RNN), по- скольку такая модель обычно исполь- зуется для приложений MPC. Данные для обучения были собраны в резуль- тате моделирования. Процесс обучения выполнялся в автономном режиме с использованием функции временны́х рядов нейронной сети на основе MATLAB и метода Левенберга–Мар- квардта. Обучение было остановлено, когда не стало видно дальнейшего улучшения обобщения, а среднеквад- ратичная ошибка (MSE) и регрессия (R) приблизились к нулю. Микроконтроллер представлял собой ARM Cortex-M3 с 512 кбайт флеш-памяти и 96 кбайт памяти SRAM, работающий на частоте 84 МГц. Вычислительное вре- мя итерации сокращено с 11,354 мс до 2,99 мс. Эти результаты показаны как сравнение между линейнымMPC и DNN MPC, включая использование памяти данных и программ. Объём памяти был аналогичным, но авторы упомянули, что в случае более крупных систем раз- ница будет гораздо более заметной. 6. Решение для обнаружения при- сутствия человека на улице с помо- щью тепловизионной камеры низкого разрешения на базе свёрточной ней- ронной сети (CNN). Вывод выполняет- ся на 32-разрядном микроконтроллере ARM Cortex-M4 с 1 Мбайт флеш-памяти и 128 кбайт памяти SRAM. Для получения тепловизионного изображения размером 8×8 использу- ется инфракрасный матричный датчик Grid-EYE, который делает снимки с ча- стотой 10 Гц. Тепловизионные камеры больше подходят для этой задачи, но они намного дороже и потребляют больше энергии, чем PIR-датчики. Для обучения использовался пользователь- ский набор данных, расширенный за счёт добавления изображений, сделан- ных при различных температурных условиях. Перед использованием в ка- честве входных данных для CNN к изоб- ражению были применены некоторые этапы предварительной обработки: вы- читание фона и выполнение усредне- ния фона. Архитектура сети проста и ориентирована на двоичную классифи- кацию: «человек» или «без человека». Архитектура сети состоит из трёх свёр- точных уровней и одного полностью связанного уровня. Гиперпараметры kernel size и stride были равны трём и одному соответственно. Для свёрточ- ных слоёв использовалась функция ак- тивации выпрямленной линейной еди- ницы (ReLU), а для последнего плотного слоя – сигмовидная, поскольку задача классификации двоичная. Процесс обучения проходил с исполь- зованием фреймворка TensorFlow в те- чение 1000 эпох. Применялись функция кросс-энтропийных затрат и алгоритм оптимизации Adam. Использовались яд- ра, оптимизированные под CMSIS-NN для ARMCortex-M. Было выполнено 8-битное квантование весов и активаций с фик- сированной запятой. Для реализации применялась универсальная плата раз- работки STM NUCLEO-L476RG. Потреб- ляемая мощность составила 16,5 мВт, время выполнения – 4,01 мс, а объём па- мяти – 25,08 кбайт (текст, BSS и данные). Производительность классификации была проанализирована с использова- нием обеих моделей: TensorFlow (32-раз- рядное представление с плавающей за- пятой) и CMSIS-NN (8-разрядная реали- зация с фиксированной запятой). Для тестирования использовались все три раздела набора данных: train, validation и test. Производительность классификации снизилась на 0,2%, 1,0% и 0,2% соответственно. Производитель- ность модели CMSIS-NN составила 80,9%, 76,4% и 76,7% соответственно. В заключение было получено время вывода всего 4 мс при потребляемой мощности 2,3 мВт. Эксперименты по- казывают, что 8-битное представление с фиксированной точкой существен- но не влияет на производительность, приводя к потере точности максимум на 1%. 7. Система предиктивного управле- ния энергопотреблением интеллек- туального здания с использованием нейронной сети с глубоким обучением для прогнозирующего управления сме- шанными целочисленными моделями. Набор данных, используемый для об- учения, был получен из 500 различных запусков MPC. Они разделили набор данных между обучающим (90%) и оце- ночным набором (10%). Фреймворками, использованными для проектирования DNN, были TensorFlow и Keras с опти- мизатором Adam. Были обучены три разные модели: две сети с мелким рас- положением и одна глубокая сеть. Ав- торы показывают, что глубокая сеть ра- ботает лучше, чем мелкие сети, за счёт меньшей ошибки обучения и меньше- го объёма памяти. Поэтому для даль- нейшего изучения была выбрана архи- тектура глубокой сети. Из-за простоты модели она была реализована на мик- роконтроллере. Для генерации C-кода использовался инструмент EdgeAI. Микроконтроллер использовался на ядре ARM Cortex-M3 с 96 кбайт опера- тивной памяти, 512 кбайт флеш-памя- ти и работал с частотой 89 МГц. В сети всего 5 скрытых слоёв по 10 нейронов СТА 4/2024 38 www.cta.ru ОБ ЗОРЫ
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy