Модели машинного обучения играют важную роль в повседневной жизни. В обычный день вы, вероятно, будете взаимодействовать с какой-либо моделью машинного обучения, поскольку она пронизывает почти каждый цифровой продукт, с которым мы взаимодействуем, например, службы социальных сетей, виртуальных личных помощников, поисковые системы и фильтрацию спама в службах хостинга электронной почты;
Хотя в повседневной жизни существует множество примеров машинного обучения, все же есть несколько областей, которых технология не затронула. причина? Многие модели машинного обучения, особенно современные архитектуры (SOTA), требуют значительных ресурсов. Эта потребность в высокопроизводительных вычислительных мощностях ограничивает использование некоторых приложений машинного обучения в облаке — поставщике ресурсов компьютерной системы по требованию.
Помимо вычислительных затрат на обучение этих моделей, логические выводы на их основе зачастую также очень дороги. Если машинное обучение должно расширить сферу своей деятельности и проникнуть в большее количество областей, необходимо решение, которое позволит моделям машинного обучения выполнять логические выводы на меньших по размеру устройствах с более ограниченными ресурсами. Поиск такого решения привел к появлению новой области машинного обучения под названием Tiny Machine Learning (TinyML).
В этой статье мы:
«Нейронные сети также известны как искусственные нейронные сети (ИНС). Эта архитектура составляет основу глубокого обучения, которое представляет собой лишь часть машинного обучения, включающую алгоритмы, основанные на структуре и функциях человеческого мозга. нейронные сети составляют основу архитектуры, которая имитирует то, как биологические нейроны отправляют сигналы друг другу». (Источник: Учебное пособие по PyTorch: построение простой нейронной сети).
Машинное обучение — это область искусственного интеллекта, которая предоставляет набор алгоритмов. Эти алгоритмы позволяют машинам изучать закономерности и тенденции на основе доступных исторических данных, чтобы предсказывать ранее известные результаты для тех же данных. Однако основная цель — использовать обученную модель для обобщения ее выводов за пределами набора обучающих данных, тем самым повышая точность прогнозов без явного программирования.
Одним из алгоритмов, используемых для этих задач, являются нейронные сети. Нейронные сети относятся к подобласти машинного обучения, называемой глубоким обучением, которая состоит из моделей, обучение которых обычно обходится дороже, чем моделей машинного обучения.
Согласно сайту tinyml.org, «Tiny машинное обучение в широком смысле определяется как быстро растущая область технологий и приложений машинного обучения, включающая аппаратное обеспечение, алгоритмы и программное обеспечение, способное выполнять работу датчиков на устройстве с чрезвычайно низким энергопотреблением (обычно м Вт). Аналитика данных диапазона и ниже, что позволяет использовать различные варианты постоянного использования и нацеливаться на устройства с батарейным питанием».
Рост TinyML в последние годы во многом можно объяснить развитием экосистемы аппаратного и программного обеспечения, которая его поддерживает. Поскольку эти технологии могут быть реализованы в системах с низким энергопотреблением (например, датчиках, микроконтроллерах и т. д.), машинное обучение может быть выведено на передний план, позволяя таким приложениям работать в режиме реального времени. По сути, идея состоит в том, чтобы дать возможность специалистам по машинному обучению делать больше с меньшими затратами.
Но почему это так важно? Давайте посмотрим, почему TinyML так привлекателен.
У TinyML есть приложения в самых разных областях, особенно те, которые полагаются на сети и данные из Интернета вещей (IoT) — по сути, сети физических объектов, встроенных в датчики, программное обеспечение и другие технологии, подключенные к другим объектам через Интернет. устройства и системы и обмениваться с ними данными.
Компьютерное зрение, визуальные слова пробуждения, распознаватели ключевых слов, прогнозное обслуживание, распознавание жестов, обслуживание промышленного оборудования и т. д. — все это распространенные варианты использования TinyML. Давайте также посмотрим на некоторые отрасли, использующие TinyML для работы приложений:
Можно использовать TinyML Мониторинг устройств и сбор данных в режиме реального времени данные о хозяйстве и животноводстве. шведский край AI продуктовая компания Imagimob Создал платформу разработки машинного обучения на периферийных устройствах. со всего ЕС 55 организации и Imagimob сотрудничать, понимать TinyML Как обеспечить эффективное управление растениеводством и животноводством.
TinyML можно развернуть на устройствах с низким энергопотреблением для непрерывного мониторинга машин на предмет сбоев и прогнозирования проблем до их возникновения. Этот тип приложений потенциально может помочь предприятиям снизить затраты, которые часто возникают из-за сбоев компьютеров.
Ярким примером профилактического обслуживания является служба Ping. Они разработали устройство мониторинга, которое постоянно отслеживает акустическую сигнатуру лопастей ветряных турбин, чтобы обнаружить и уведомить о любых изменениях или повреждениях. Согласно веб-сайту Ping, «непрерывный мониторинг позволяет операторам оперативно реагировать на повреждение лопастей, снижая затраты на техническое обслуживание, риск сбоев и простоев, а также улучшая производительность и эффективность ветряных турбин».
Поскольку ожидания клиентов растут, персонализация становится важным маркетинговым инструментом. Идея состоит в том, чтобы компании лучше понимали своих клиентов и ориентировали на них рекламу и сообщения, которые резонируют с их поведением. Развертывание периферийных приложений TinyML позволяет предприятиям понимать контекст пользователя, включая его действия.
При создании приложений для периферийных устройств используются многие инструменты и архитектуры, используемые в традиционных рабочих процессах машинного обучения. Основное отличие состоит в том, что TinyML позволяет этим моделям выполнять различные функции на устройствах меньшего размера.
Tensorflow Lite для микроконтроллеров (TF Lite Micro) — одна из самых популярных платформ машинного обучения для периферийных устройств. Она предназначена для реализации задач машинного обучения во встроенных системах с объемом памяти всего несколько килобайт.
Python часто является предпочтительным языком для построения моделей машинного обучения. Однако TensorFlow Lite позволяет легко разрабатывать модели на C, C++ или Java и развертывать их без подключения к Интернету.
С аппаратной точки зрения для начала использования TinyML с TF Lite требуется поддерживаемая плата микроконтроллера. В настоящее время библиотека поддерживает следующие микроконтроллеры:
Благодаря TinyML мы можем сделать миллиарды устройств, которые мы используем каждый день, умнее, таких как бытовая техника и гаджеты Интернета вещей, не тратя много денег на дорогостоящее оборудование или надежные подключения к Интернету, которым часто препятствуют ограничения пропускной способности и мощности, а также большая задержка.