Использование алгоритмов машинного обучения для улучшения функциональности встроенных изот-устройств

Расширяющаяся роль машинного обучения во встроенном IoT

Встроенные устройства Интернета вещей (IoT) вышли далеко за рамки простых регистраторов данных и удаленных коммутаторов. Сегодня эти компактные системы развернуты во всем: от носимых мониторов здоровья до промышленных датчиков вибрации и интеллектуальных сельскохозяйственных узлов. Следующий скачок в их возможностях лежит не в больших процессорах или большем количестве памяти, а в интеллекте. Интегрируя алгоритмы машинного обучения (ML), разработчики могут преобразовывать статические устройства на основе правил в адаптивные системы, которые предсказывают сбои, оптимизируют использование энергии и разумно реагируют на их среду. В этой статье рассматриваются практические стратегии внедрения ML в устройства IoT с ограниченными ресурсами, обсуждаются наиболее эффективные алгоритмы и методы оптимизации и обеспечивается подробная дорожная карта для развертывания производства.

Понимание встроенного ландшафта IoT

Встроенные устройства IoT - это специализированные вычислительные системы, построенные вокруг микроконтроллеров (MCU) или микропроцессоров малой мощности. Они обычно имеют ограниченную оперативную память (часто от 16 КБ до 512 КБ), флэш-память (128 КБ до 4 МБ) и процессоры, работающие на отметке от десятков до сотен мегагерц. Большинство полагаются на мощность батареи или сбор энергии, что делает каждый миллиампер-час драгоценным. Эти ограничения заставляют разработчиков думать по-разному об интеллекте. Традиционный вывод на основе облачных вычислений часто непрактичен из-за проблем с задержкой, пропускной способностью и конфиденциальностью. Вместо этого отрасль обратилась к передовому машинному обучению & mdash; запуск вывода непосредственно на самом устройстве.

Почему машинное обучение на краю?

Запуск алгоритмов локального ML на встроенном устройстве предлагает несколько решающих преимуществ. Во-первых, он устраняет задержку в оба конца на удаленный сервер, позволяя в режиме реального времени реагировать на критически важные приложения, такие как предотвращение столкновений или медицинские оповещения. Во-вторых, он снижает потребление пропускной способности сети, что жизненно важно для устройств, которые отправляют данные по сетям с малой мощностью (LPWANs). В-третьих, он повышает конфиденциальность данных, сохраняя чувствительные показания датчиков на устройстве. В-четвертых, он позволяет работать во время отключений сети, что важно для удаленных промышленных датчиков. Эти преимущества способствовали быстрому росту TinyML , поле, предназначенное для развертывания моделей ML на микроконтроллерах сверхнизкой мощности.

Ключевые области применения для On-Device ML

Выбор правильных алгоритмов машинного обучения

Не каждый алгоритм ML подходит для ограниченных устройств. Типичный рабочий процесс включает в себя обучение модели на мощных серверах, а затем сжатие ее, чтобы вписаться в килобайты памяти. Самые популярные семейства алгоритмов для встроенного IoT включают:

Деревья решений и случайные леса

Деревья решений интерпретируемы и требуют минимальных вычислительных накладных расходов для вывода. Их структура может быть преобразована в серию утверждений if-then-else, что делает их чрезвычайно эффективными на MCU. Случайные леса объединяют несколько деревьев для лучшей точности, но увеличивают использование памяти. Они преуспевают в задачах классификации с табличными данными датчиков, такими как обнаружение неисправностей в двигателях.

Векторные машины поддержки (SVM)

SVM эффективны для наборов данных малого и среднего размера и производят компактные модели при использовании линейных ядер. Шаг вывода включает в себя простой точечный продукт, который является вычислительно легким. SVM широко используются для задач обнаружения аномалий и двоичной классификации в IoT, таких как различение нормальной работы от режимов отказа.

Свёрточные нейронные сети (CNN)

CNNs — рабочая лошадка для анализа изображений, аудио и временных рядов. Для встраиваемых устройств архитекторы должны использовать глубинные разделяемые извилины (как в MobileNetV1/V2), чтобы резко сократить количество параметров. Обрезка и квантование еще больше сокращают модель, сохраняя точность. Такие фреймворки TinyML, как TensorFlow Lite для микроконтроллеров и Edge Impulse, обеспечивают оптимизированные реализации.

Рекуррентные нейронные сети (RNN) и LSTM

Для последовательных данных, таких как показания температуры с течением времени или речевые сигналы, сети RNN и Long Short-Term Memory (LSTM) захватывают временные зависимости. однако их незавершенная структура может быть интенсивной для памяти. Альтернативы, такие как 1D CNN или модели на основе трансформеров (например, TinyBERT), появляются в качестве более эффективных решений для моделирования встроенных последовательностей.

Автокодеры для обнаружения неконтролируемых аномалий

Автокодеры учатся реконструировать нормальные шаблоны датчиков. Когда новый вход значительно отклоняется от реконструкции, он сигнализирует об аномалии. Эти модели особенно полезны, когда помеченные данные о сбоях скудны. Структура кодера-декодера может быть сокращена и квантована для развертывания MCU.

Методы оптимизации для устройств с ограниченными ресурсами

Развертывание полноточной нейронной сети на простом MCU редко осуществимо. Несколько моделей методов сжатия стали стандартными в наборе инструментов TinyML:

Вес обрезка

Обрезка удаляет избыточные или низкомагнитные веса из обученной модели. Неструктурированная обрезка может уменьшить размер модели на 50–90%, но может потребовать специализированного оборудования для ускорения. Структурированная обрезка, которая удаляет целые нейроны или каналы, обеспечивает прямой прирост производительности на MCU общего назначения.

количественная оценка

Квантизация снижает численную точность весов и активаций модели. Преобразование 32-битных значений с плавающей точкой в 8-битные целые числа (INT8) сокращает объем памяти на 4x и часто ускоряет вывод на MCU с целыми арифметическими единицами. Квантизация после обучения является самым простым подходом, в то время как обучение с учетом квантования (QAT) обычно восстанавливает более высокую точность для очень низких ширин бита (4-бит, 2-бит).

Дистилляция знаний

В дистилляции знаний, компактная “студент” модель обучается имитировать выходы более крупной, более точной “учитель” модели.Учащийся учится воспроизводить смягченное распределение вероятностей учителя&rsquo, достигая более высокой точности, чем обучение маленькой модели непосредственно на оригинальных этикетках. Этот метод особенно полезен при развертывании CNN или трансформаторов на устройствах с менее чем 256 Кб оперативной памяти.

Поиск архитектуры модели (NAS)

Поиск по нейронной архитектуре автоматизирует разработку эффективных моделей, исследуя компромиссы между точностью, размером и задержкой. Такие платформы, как Edge Impulse и TensorFlow Model Optimization Toolkit, включают возможности NAS для создания пользовательских архитектур, адаптированных к конкретным MCU.

Оптимизация уровня компилятора

Такие фреймворки, как TensorFlow Lite для микроконтроллеров и CMSIS-NN ARM&rsquo, реализуют оптимизацию ядра для общих архитектур MCU (ARM Cortex-M, RISC-V). Они включают в себя разворачивание петли, наложение и векторизацию SIMD, где это доступно. Использование этих оптимизированных ядер может сократить время вывода на 30–60% без каких-либо изменений модели.

Аппаратные соображения и ускорение

Хотя многие задачи ML возможны на общих MCU, специализированные аппаратные ускорители значительно улучшают производительность и энергоэффективность. Варианты варьируются от:

При выборе аппаратного обеспечения рассмотрите сквозной конвейер: сбор данных, предварительная обработка (например, FFT для аудио), вывод и постобработка. Обход ненужных копий памяти и использование DMA для данных датчиков могут значительно снизить задержку и энергопотребление.

Трубопровод данных и непрерывное обучение

Встроенное устройство с поддержкой ML так же хорошо, как и его обучающие данные. В производстве конвейер данных обычно включает:

  1. Сбор данных с датчиков на краю, с тщательным рассмотрением частоты выборки и шума квантования.
  2. Маркировка или полуконтролируемые подходы для контролируемого обучения, что может быть самым дорогим шагом. Активное обучение, когда модель выбирает неопределенные образцы для маркировки, может уменьшить усилия.
  3. На устройстве или облачном обучении начальной модели. Большинство рабочих процессов TinyML тренируют модель вне устройства, а затем развертывают замороженный график.
  4. Запись выводов и обнаружение дрейфа модели с течением времени.Дрифт концепта возникает, когда меняется распределение данных датчика (например, из-за сезонных эффектов или старения датчика). Периодическая переподготовка, либо посредством федеративного обучения, либо путем перекомпилирования модели с новыми маркированными данными, поддерживает точность.

Для устройств, которые остаются в поле в течение многих лет, на устройстве постепенное обучение является активной областью исследований.Подходы, такие как упругая консолидация веса (EWC) и буферы повторного воспроизведения, позволяют модели адаптироваться к новым шаблонам без катастрофического забывания ранее изученного поведения.

Проблемы безопасности и конфиденциальности

Встроенный ML вводит новые векторы безопасности. Злоумышленники могут попытаться извлечь архитектуру модели или данные обучения из устройства (угон модели) или обмануть модель с помощью враждебных входов (например, поместив наклейку на знак остановки, чтобы вызвать неправильное рассекречивание). Защита включает в себя:

Эти меры особенно важны в медицинских IoT, безопасности умного дома и автомобильных приложениях, где решения о выводах имеют высокие ставки.

Тематические исследования в области развертывания производства

Вибрационное предиктивное обслуживание

Производитель промышленных насосов развернул микроконтроллер STM32L4 с 3-осевым акселерометром. Они обучили 1D CNN классифицировать четыре условия работы: нормальное, несбалансированное, неисправность подшипника и кавитацию. Модель была обрезана на 60% и квантована до 8-битной, вмещаясь в 48 Кб вспышки. Вывод выполняется каждые 10 секунд, потребляя всего 1,5 мДж за классификацию. Система отправляет в облако только оповещения о неисправности, снижая использование сотовых данных на 99% по сравнению с потоковыми данными о вибрации. За шестимесячный полевой тест насос с ML-усилением обнаружил 12 надвигающихся сбоев, что позволило проактивно обслуживать и сэкономить $340 000 в затратах на простои.

Поиск ключевых слов для носимых устройств с голосовой контролируемой системой

Производитель слуховых аппаратов интегрировал модель TensorFlow Lite Micro для выполнения поиска ключевых слов (например, “louder, ” “quiet, ” “next &rdquo) на сверхнизкоэнергетическом Cortex-M4 MCU. Модель, глубинно отделяемая CNN с только 24 000 параметрами, работает при 100 мкВт при непрерывном прослушивании. При обработке распознавания речи локально устройство избегает потоковой передачи звука на смартфон, сохраняя время автономной работы и решая проблемы конфиденциальности, поднятые пользователями.

Будущие направления и новые тенденции

Стык ML и встроенного IoT быстро развивается. Несколько тенденций будут формировать следующее поколение интеллектуальных периферийных устройств:

Начало работы с Embedded ML

Для разработчиков, желающих экспериментировать, несколько платформ снижают барьер для входа:

Начните с простой контролируемой учебной задачи, такой как двоичная классификация событий датчиков, затем постепенно добавьте сложность. Сосредоточьтесь на сборе высококачественных репрезентативных данных из среды развертывания на ранней стадии проекта, поскольку качество данных часто перевешивает выбор архитектуры модели во встроенной области.

Заключение

Машинное обучение — это не далекое видение встроенного IoT— это практическая реальность. При тщательном выборе алгоритма, сжатии модели и оптимизации аппаратного обеспечения даже самый маленький микроконтроллер может запускать сложные конвейеры выводов. Результатом является класс устройств, которые учатся, адаптируются и действуют автономно, улучшая все, от энергоэффективности до предиктивного обслуживания. По мере того, как аппаратное обеспечение продолжает становиться более способным и созревают программные инструменты, линия между простым датчиком IoT и интеллектуальным краевым компьютером будет полностью размываться. Для инженеров и команд продуктов сейчас пришло время встраивать интеллект, а не только логику. Используя методы, изложенные в этой статье, вы можете создавать продукты, которые не только умнее, но и надежнее, безопаснее и удобнее для пользователя.

Внешние ресурсы для дальнейшего чтения: