Создание эффективных приложений Интернета вещей с помощью tinyML и автоматизированного машинного обучения
Интернет вещей позволяет осуществлять непрерывный мониторинг окружающей среды и машин с помощью крошечных датчиков. Достижения в сенсорных технологиях, микроконтроллерах и протоколах связи сделали возможным массовое производство платформ Интернета вещей с множеством вариантов подключения по доступным ценам. Из-за низкой стоимости оборудования IoT датчики широко развертываются в общественных местах, жилых помещениях и на машинах.
Эти датчики круглосуточно и без выходных контролируют физические свойства, связанные с их средами развертывания, и генерируют огромный объем данных. Например, акселерометры и гироскопы, установленные на вращающемся оборудовании, постоянно регистрируют характер вибрации и угловую скорость ротора, прикрепленного к валу. Датчики качества воздуха постоянно контролируют газообразные загрязнители в воздухе как в помещении, так и на улице. Микрофоны в радионяни всегда слушают. Датчики внутри умных часов постоянно измеряют жизненно важные параметры здоровья. Аналогичным образом, различные другие датчики, такие как магнитометр, давление, температура, влажность, окружающее освещение и т. Д., Измеряют физические условия, где бы они ни находились.
Алгоритмы машинного обучения (ML) позволяют обнаруживать в этих данных интересные закономерности, которые выходят за рамки ручного анализа и проверки. Конвергенция устройств Интернета вещей и алгоритмов машинного обучения позволяет создавать широкий спектр интеллектуальных приложений и улучшать взаимодействие с пользователем, что стало возможным благодаря малому энергопотреблению, малой задержке и легкому логическому выводу машинного обучения, то есть tinyML. Эта конвергенция революционизирует многие отраслевые вертикали, как показано на Рисунке 1, включая, помимо прочего, носимые технологии, умный дом, умные фабрики (Индустрия 4.0), автомобилестроение, машинное зрение и другие умные бытовые электронные устройства.
tinyML с автоматическим машинным обучением
Алгоритмы машинного обучения, развернутые на крошечных микроконтроллерах (MCU) в устройствах IoT, особенно интересны благодаря множеству преимуществ:
- Конфиденциальность и безопасность данных:вывод ML происходит на локальных встроенных микроконтроллерах, вместо того, чтобы передавать потоки данных в облако для обработки. Данные остаются на устройстве и локально, где они конфиденциальны и безопасны.
- Экономия энергии:алгоритмы tinyML потребляют гораздо меньше энергии из-за отсутствия / малой передачи данных.
- Низкая задержка и высокая доступность:поскольку вывод выполняется локально, задержка составляет порядка миллисекунд и не зависит от задержки и доступности сети.
щелкните, чтобы просмотреть изображение в полном размере
Рис. 1. tinyML добавляет расширенные функции к традиционным устройствам Интернета вещей (Источник:Qeexo)
Автоматическое машинное обучение с использованием данных датчиков включает этапы, обозначенные на рисунке 2. Конфигурация датчиков и сбор данных о качестве для целевого приложения машинного обучения завершаются до этих этапов. Платформа автоматизированного машинного обучения, такая как Qeexo AutoML, управляет всем рабочим процессом для создания легких и высокопроизводительных моделей машинного обучения для микроконтроллеров Arm Cortex-M0-to-M4 и других сред с ограничениями.
щелкните, чтобы просмотреть изображение в полном размере
Рисунок 2:Рабочий процесс Qeexo AutoML (Источник:Qeexo)
tinyML с архитектурой ARM® Cortex ™ M0 +
Распространение технологий Интернета вещей и требования к крупномасштабному развертыванию датчиков еще больше раздвигают границы архитектур микроконтроллеров и вычислений машинного обучения. Например, микроконтроллеры Arm Cortex M0 +, работающие на частоте 48 МГц, широко используются на платах датчиков, разработанных для приложений Интернета вещей, из-за их низкого профиля энергопотребления. Он потребляет всего 7 мА на вывод ввода / вывода по сравнению с версией Cortex M4, которая работает на частоте 64 МГц и потребляет 15 мА.
Низкое энергопотребление микроконтроллеров Cortex-M0 + достигается за счет уменьшения памяти и вычислительного профиля. M0 + MCU могут выполнять только 32-битные математические операции с фиксированной точкой, не имеют поддержки арифметики насыщения и не имеют возможностей DSP. На основе этого MCU Arduino Nano 33 IoT, одна из популярных платформ IoT, имеет всего 256 КБ флеш-памяти и 32 КБ SRAM. Напротив, популярный сенсорный модуль с архитектурой Cortex M4, Arduino Nano 33 BLE Sense, может выполнять 32-битные операции с плавающей запятой, имеет поддержку DSP и арифметики насыщения, а также в четыре раза больше флэш-памяти и в восемь раз больше SRAM.
Развертывание алгоритмов машинного обучения на M0 + на несколько порядков сложнее по сравнению с развертыванием на M4 из-за следующих трех основных проблем:
- Вычисление с фиксированной точкой: Типичное машинное обучение с данными датчиков включает цифровую обработку сигналов, извлечение функций и выполнение логических выводов. Извлечение статистических и частотных (например, анализ БПФ) характеристик из сигналов датчиков имеет решающее значение для разработки высокопроизводительных моделей машинного обучения. Потоки данных датчиков, представляющие реальные физические явления, нестационарны по своей природе. Вообще говоря, чем лучше информация, извлекаемая из сигналов нестационарных датчиков, тем больше возможностей для разработки моделей машинного обучения с высокими характеристиками. Выполнение математических операций в представлении с фиксированной точкой при сохранении точности и производительности коммерческого класса является сложной задачей. Конвейер машинного обучения с полностью фиксированной точкой начинается с представления данных датчиков и продолжается вплоть до вывода модели для генерации результатов классификации / регрессии.
- Низкий объем памяти: 256 КБ флеш-памяти и 32 КБ SRAM накладывают жесткие ограничения на размер моделей машинного обучения и оперативной памяти, которые эти модели могут использовать во время выполнения. Реальные проблемы машинного обучения часто имеют сложные границы решения / классификации, представленные моделями машинного обучения с большим количеством параметров. Для ансамблевых моделей на основе деревьев решение таких сложных проблем может привести к глубоким деревьям и большому количеству бустеров, влияющих как на размер модели, так и на оперативную память. Уменьшение размера модели часто происходит за счет снижения производительности модели - как правило, это не самый желательный критерий для компромисса.
- Низкая частота процессора: Низкая задержка всегда была ключевым показателем при выборе модели для коммерческого развертывания. Тактовая частота 16 МГц, которой мы жертвуем в архитектуре M0 + с частотой 48 МГц по сравнению с архитектурой M4 с частотой 64 МГц, имеет большое значение, когда дело доходит до измерения задержки на уровне миллисекунд.
AutoML M0 + Framework
Qeexo AutoML, разработанный для решения этих задач, предоставляет конвейер машинного обучения с фиксированной точкой, оптимизированный для архитектуры Arm Cortex M0 +. Этот конвейер включает обработку данных датчиков при вычислении признаков с фиксированной точкой, с фиксированной точкой и вывод с фиксированной точкой для древовидных алгоритмов ансамбля, таких как Gradient Boosting Machine (GBM), Random Forest (RF) и eXtreme Gradient Boosting ( XGBoost) алгоритмы. Qeexo AutoML кодирует параметры модели ансамбля в очень эффективные структуры данных и объединяет их с логикой интерпретации, что приводит к чрезвычайно быстрому выводу на цель M0 +. На рисунке 3 показан конвейер машинного обучения с фиксированной точкой, разработанный Qeexo для встроенной мишени Arm Cortex M0 +.
щелкните, чтобы просмотреть изображение в полном размере
Рисунок 3. Конвейер вывода Qeexo AutoML M0 + (Источник:Qeexo)
Qeexo AutoML выполняет сжатие и квантование моделей, на которые подана заявка на патент, чтобы еще больше уменьшить объем памяти, занимаемой разработанными ансамблевыми моделями, без ущерба для производительности классификации. На рисунке 4 показан процесс обучения Qeexo AutoML для встроенной цели Cortex M0 +.
щелкните, чтобы просмотреть изображение в полном размере
Рис. 4. Конвейер обучения Qeexo AutoML M0 + (Источник:Qeexo)
Интеллектуальная обрезка
Интеллектуальная обрезка позволяет сжимать модели без потери производительности. Проще говоря, Qeexo AutoML сначала создает полноразмерную ансамблевую модель в соответствии с рекомендациями оптимизатора гиперпараметров, а затем разумно выбирает только самые мощные ускорители.
Такой подход выращивания более крупной модели с последующим ее разумным сокращением для целевого развертывания намного более эффективен, чем создание модели меньшего размера в первую очередь. Первоначальная более крупная модель дает возможность выбрать высокопроизводительные ускорители (или деревья), что в конечном итоге приводит к более высокой производительности модели.
Как показано на рисунке 5, сжатая модель ансамбля имеет размер примерно 1/10 th размер полной модели при более высокой производительности перекрестной проверки. (Ось X представляет количество деревьев (или бустеров) в модели ансамбля, а ось Y представляет эффективность перекрестной проверки.) Обратите внимание, что наш интеллектуальный метод отсечения Qeexo AutoML выбирает только 20 самых мощных бустеров, что приводит к 90% -ному сжатию в размере модели.
щелкните, чтобы просмотреть изображение в полном размере
Рис. 5. Интеллектуальная обрезка модели Qeexo AutoML (Источник:Qeexo)
Квантование ансамблевой модели
Qeexo AutoML выполняет квантование алгоритмов ансамбля после обучения. Квантование после обучения - это коммерческая функция для моделей на основе нейронных сетей, которая изначально поддерживается такими фреймворками, как TensorFlow Lite. Однако квантование ансамблевых моделей - это запатентованная технология Qeexo, которая может еще больше уменьшить размер модели, одновременно улучшая задержку на уровне MCU с минимальным ухудшением производительности модели или без него. Конвейер Qeexo AutoML M0 + генерирует ансамблевые модели с фиксированной точкой, представленные с 32-битной точностью. Дополнительные параметры для 16-битного и 8-битного квантования могут дополнительно уменьшить количество моделей на ½ и ¼, соответственно, с увеличением скорости в 2–3 раза.
Примеры использования tinyML
Какие есть приложения или варианты использования tinyML? Возможности безграничны, и здесь мы выделим некоторые из них:
- Мы хотим создать умную стену с искусственным интеллектом, на которую пользователи могут нажимать, чтобы управлять освещением (включать / выключать и изменять интенсивность света). Мы можем определить жесты рук, связанные с включением / выключением и контролем интенсивности, а затем собрать и пометить данные жестов с помощью модуля акселерометра и гироскопа, прикрепленного к задней части стены. Обладая этими помеченными данными, Qeexo AutoML может использовать алгоритмы ИИ для построения модели для обнаружения жестов «Стук» и «Стереть» на стене для управления освещением. На видео ниже вы можете увидеть прототип умной стены, разработанный Qeexo AutoML за считанные минуты.
- Используя машинное обучение и Интернет вещей, мы хотим гарантировать, что поставки будут обрабатываться с особой осторожностью в соответствии с инструкциями по доставке. На видео ниже вы можете увидеть, как транспортная коробка с поддержкой искусственного интеллекта может определять, как груз был обработан от источника к месту назначения.
- Конвергенция ИИ и Интернета вещей также может привести к созданию умных кухонных столешниц. На видео ниже показаны построенные с помощью Qeexo AutoML модели для обнаружения различного кухонного оборудования.
- Мониторинг машин - один из самых многообещающих вариантов использования tinyML. На видео ниже выявляются несколько схем сбоев в работе машины.
- Обнаружение аномалий - еще один сценарий, в котором машинное обучение значительно выигрывает. Часто бывает трудно собрать данные о различных неисправностях в промышленных условиях, в то время как относительно легко контролировать исправное рабочее состояние машины. Просто наблюдая за исправным рабочим состоянием, алгоритмы Qeexo AutoML могут разрабатывать системы искусственного интеллекта для обнаружения аномалий, как показано в части 1 (ниже), части 2, части 3 и части 4.
- Распознавание активности с помощью датчиков, встроенных в носимые устройства, - еще один вариант использования, который приносит пользу в нашей повседневной жизни. На видео ниже показано создание решения для распознавания активности с использованием Qeexo AutoML за считанные минуты.
Интернет вещей
- Создание гибридных блокчейн / облачных приложений с Ethereum и Google
- Цепочка поставок и машинное обучение
- Двунаправленные трансиверы 1G для поставщиков услуг и приложений Интернета вещей
- Датчики и процессоры объединяются для промышленного применения
- Создание роботов с Raspberry Pi и Python
- Повышение надежности и улучшение результатов обслуживания с помощью машинного обучения
- Интернет вещей и образование:преодоление цифрового разрыва
- Улучшение мониторинга загрязнения воздуха с помощью датчиков Интернета вещей
- Промышленный Интернет вещей и строительные блоки для Индустрии 4.0
- Могут ли системы ERP и MES идти в ногу с IIoT?