Интернет вещей (IoT) становится все более и более повсеместным. В наши дни мы окружены устройствами Интернета вещей. Проблема в том, что большинство этих устройств по сути тупы. Что нам нужно сделать, так это дать нашим устройствам некоторую интеллектуальность в виде возможностей искусственного интеллекта (AI) и машинного обучения (ML) (см. Также Что такое часто задаваемые вопросы AI, ANN, ML, DL и DNN? ).

Проблемы

Позвольте привести пример. Предположим, вы руководите фабрикой, на которой установлено много-много старых машин, включая двигатели, генераторы, насосы ... вы называете это, и они есть. Только в США такое устаревшее оборудование стоит триллионы долларов, работающее на заводах. Такое оборудование может иметь элементарные возможности мониторинга и управления, такие как датчик температуры и контроллер, который выключит машину, если температура превысит определенное заданное значение, но - в подавляющем большинстве случаев - это настолько сложно, насколько возможно.

Теперь предположим, что машина в конечном итоге перегревается и автоматически выключается посреди ночи. Неудивительно, что это может негативно повлиять на другие виды деятельности на заводе, в конечном итоге задерживая поставки и требуя денег. Если бы только был какой-то способ узнать, что дела пошли под откос на несколько часов, дней или даже недель раньше, и в этом случае можно было бы запланировать любое необходимое техническое обслуживание таким образом, чтобы не допустить сбоев в работе завода. .

Ответ заключается в создании встроенной системы с возможностями AI / ML, которую можно подключить к машине и использовать датчики для отслеживания таких вещей, как температура и вибрация. Кроме того, такая система должна быть способна обнаруживать аномалии на ранних стадиях, когда что-то начинает идти не так, как надо, делать прогнозы относительно будущих событий и предупреждать своих руководителей-людей о том, что происходит.

Как и многие другие вещи, все это звучит замечательно, если вы говорите быстро, часто машете руками и стараетесь не говорить об очевидных проблемах. Одна из проблем заключается в том, что приложения AI / ML обычно обучаются в облаке с использованием квалифицированного набора данных, создание которого требует много времени и средств. Более серьезная проблема заключается в том, что большинство разработчиков встраиваемых систем не имеют ни малейшего представления о создании приложений AI / ML.

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

На момент написания этой статьи только около 0,3% этих устройств были дополнены возможностями AI / ML. Ожидается, что к 2025 году это число вырастет примерно до 25%. Все это звучит довольно захватывающе, но в зависимости от выбранной вами метафоры есть маленькая муха в супе или большой слон в комнате. Проблема в том, что у нас не хватает разработчиков AI / ML для создания всех этих замечательных приложений.

Согласно Отчету IBM Quant Crunch Report, нехватка специалистов по обработке данных в настоящее время составляет 130 000 только в США. Между тем, по данным IDC, в мире около 22 миллионов разработчиков программного обеспечения. Из них около 1,2 миллиона работают со встроенными системами, и лишь около 0,2% из них имеют хотя бы минимальные навыки AI / ML.

Чтобы привести еще одну интересную статистику, Statista прогнозирует, что в 2020 году будет развернуто 28 миллиардов микроконтроллеров, что составляет более 885 в секунду.

Давайте поразмышляем над этим. У нас есть миллиарды микроконтроллеров, развернутых на миллиардах устройств IoT. У нас есть миллионы разработчиков программного обеспечения, из которых около 1,2 миллиона сосредоточивают свое внимание на разработке встраиваемых систем, большинство из которых основано на вышеупомянутых микроконтроллерах. У нас есть отчаянное желание наделить наши «глупые» устройства Интернета вещей «умными» на основе AI / ML. Но только около 0,2% разработчиков наших встроенных систем имеют даже минимальные навыки AI / ML.

Если бы существующим разработчикам встроенных систем на основе микроконтроллеров существовал способ добавить возможности AI / ML в свои системы без необходимости узнавать что-либо об AI / ML и без необходимости создавать наборы данных, необходимые для обучения их приложений AI / ML.

Решение

Давайте посмотрим на одно из возможных решений - NanoEdge AI Studio от Cartesiam. Это работает следующим образом: вы запускаете NanoEdge AI Studio IDE на своем ПК под управлением Windows 10 или Linux Ubuntu. Затем вы выбираете ядро ​​процессора, используемое в вашем целевом микроконтроллере. В настоящее время ваш выбор - ARM Cortex M0, M0 +, M3, M4 и M7, которые должны быть самыми распространенными процессорами на рынке встраиваемых систем. Это также время, когда вы указываете, сколько оперативной памяти вы хотите выделить для своего решения AI / ML (NanoEdge AI Studio создает решения, для которых требуется всего от 4K до 16K RAM, что делает их наиболее оптимизированными алгоритмами AI / ML в отрасли).

Затем вы выбираете количество и типы датчиков, которые хотите использовать, например, датчики температуры, магнитные датчики, акселерометры, микрофоны (для распознавания звука, а не для распознавания речи) и т. Д. Обратите внимание, что вам не нужно указывать конкретные номера моделей - только общие типы, такие как «один 3-осевой акселерометр и три датчика температуры» (вам также необходимо загрузить образцы общих данных, связанных с каждым датчиком, чтобы дать системе контекстное представление относительно того, с чем он будет иметь дело).

Это одна из умных частей: IDE NanoEdge AI Studio оснащена обширным набором строительных блоков AI / ML. Используя предоставленную вами информацию (тип процессора, объем оперативной памяти, количество и типы датчиков и т. Д.), Он сгенерирует лучшее решение AI / ML из 500 миллионов возможных комбинаций. Полученное решение, представленное в виде библиотеки C, которую легко встраивать в основную программу микроконтроллера, впоследствии компилируется и загружается в вашу встроенную систему.

Это еще одна из умных частей: вам не нужен набор данных для обучения, потому что ваше решение AI / ML тратит около недели, используя свои датчики, чтобы наблюдать за работой машины в режиме 24/7 и само обучение. После обучения решение можно предоставить его собственным устройствам (без каламбура), выявлению закономерностей, обнаружению аномалий, прогнозированию проблем и результатов и предупреждению своих коллег-людей о любых потенциальных проблемах.

Не знаю, как вы, но я думаю, что это одна из самых захватывающих разработок AI / ML, которые я видел за последнее время. Пару лет назад в нашем доме в середине лета неожиданно вышел из строя кондиционер. У нас была очень неудобная неделя, ожидая, когда ребята из HVAC заменят его новым агрегатом. В настоящее время я подумываю об использовании NanoEdge AI Studio для создания простого приложения, которое я могу прикрепить к блоку кондиционирования воздуха снаружи - возможно, используя 3-осевой акселерометр для отслеживания вибрации - с трехцветным светодиодом, чтобы сообщить мне, когда все в порядке (зеленый ), намекая на то, что он будет «шататься» (оранжевый) и начать двигаться «грушевидно» (красный). Если я увижу что-нибудь, кроме веселого зеленого светодиода, приветствующего меня, когда я вернусь домой, я немедленно заставлю ребят из HVAC помчаться вокруг и разобраться во всем, прежде чем у меня по лицу текут слезы.

Что ты думаешь обо всем этом? Вы так долго ждали, чтобы с энтузиазмом и самоотверженностью приступить к созданию встраиваемых систем с поддержкой AI / ML?