Искусственный интеллект
Новая Система Может Привнести ИИ в Носимые Устройства и Бытовую Технику

Команда исследователей в MIT работает над тем, чтобы привнести глубокие обучающие нейронные сети в микроконтроллеры. Этот прорыв означает, что искусственный интеллект (ИИ) может быть реализован в крошечные компьютерные чипы в носимых медицинских устройствах, бытовой технике и других 250 миллиардах объектов, составляющих “интернет вещей” (IoT). IoT – это сеть физических объектов, встроенных с датчиками, программным обеспечением и другими технологиями, которые помогают соединять и обмениваться данными с другими устройствами и системами.
Исследование представлено на Конференции по обработке нейронной информации в декабре. Ведущим автором исследования является Ji Lin, аспирант в лаборатории Song Han в департаменте электротехники и компьютерных наук MIT. Среди соавторов – Han и Yujun Lin из MIT, Wei-Ming Chen из MIT и Национального университета Тайваня, а также John Cohn и Chuan Gan из лаборатории MIT-IBM Watson.
Система MCUNet
Система называется MCUNet, и она проектирует компактные нейронные сети, способные работать с экстремальной скоростью и точностью на устройствах IoT, даже с ограниченной памятью и мощностью обработки. Эта система может быть более энергоэффективной и повысить безопасность данных.
Команда разработала “крошечный глубокий обучающий” систем, объединив два компонента – работу нейронных сетей и микроконтроллеров. Первый компонент – это TinyEngine, интерфейсный движок, действующий как операционная система, управляющая ресурсами. TinyEngine оптимизирован для запуска конкретной структуры нейронной сети, выбранной TinyNAS, который является другим компонентом. TinyNAS – это алгоритм поиска нейронной архитектуры.
Lin разработал TinyNAS из-за трудностей применения существующих методов поиска нейронной архитектуры к крошечным микроконтроллерам. Эти существующие методы в конечном итоге находят наиболее точную и эффективную структуру сети после начала с множества возможных на основе заранее определенной структуры.
“Это может работать довольно хорошо для GPU или смартфонов”, – говорит Lin. “Но было трудно直接 применить эти методы к крошечным микроконтроллерам, потому что они слишком малы”.
TinyNAS может создавать сети индивидуального размера.
“У нас есть много микроконтроллеров, которые имеют разные мощности и размеры памяти”, – говорит Lin. “Итак, мы разработали алгоритм [TinyNAS], чтобы оптимизировать пространство поиска для разных микроконтроллеров”.
Поскольку TinyNAS может быть настроен, он может генерировать лучшие возможные компактные нейронные сети для микроконтроллеров.
“Затем мы передаем окончательную, эффективную модель микроконтроллеру”, – продолжает Lin.
Для микроконтроллера требуется чистый и тонкий интерфейсный движок для запуска крошечной нейронной сети. Многие интерфейсные движки имеют инструкции для редко выполняемых задач, которые могут препятствовать микроконтроллеру.
“У него нет внешней памяти, и нет диска”, – говорит Han. “Все вместе составляет всего один мегабайт флэш-памяти, поэтому нам приходится очень тщательно управлять таким небольшим ресурсом”.
TinyEngine генерирует код, необходимый для запуска настраиваемой нейронной сети, разработанной TinyNAS. Время компиляции сокращается путем удаления ненужного кода.
“Мы сохраняем только то, что нам нужно”, – говорит Han. “И поскольку мы разработали нейронную сеть, мы знаем точно, что нам нужно. Это преимущество системно-алгоритмического проектирования”.
Тесты показали, что скомпилированный бинарный код TinyEngine был в 1,9-5 раз меньше, чем у аналогичных двигателей микроконтроллера, включая те, которые от Google и ARM. Пиковая нагрузка на память также была сокращена почти вдвое.
Возможности MCUNet
Первые тесты для MCUNet были связаны с классификацией изображений. База данных ImageNet была использована для обучения системы помеченными изображениями, а затем ее возможности были протестированы на новых изображениях.
Когда MCUNet был протестирован на коммерческом микроконтроллере, он успешно классифицировал 70,7 процента новых изображений. Это намного лучше, чем предыдущий лучший нейронный сетевой и интерференционный движок, который был точен на 54 процента.
“Даже 1 процент улучшения считается значительным”, – говорит Lin. “Итак, это гигантский шаг для настроек микроконтроллера”.
По словам Курта Койцера, компьютерного ученого из Калифорнийского университета в Беркли, это “расширяет границы проектирования глубоких нейронных сетей еще дальше в вычислительную область небольших энергоэффективных микроконтроллеров”. MCUNet может “привнести возможности компьютерного зрения в даже самые простые кухонные приборы или обеспечить более интеллектуальные датчики движения”.
MCUNet также повышает безопасность данных.
“Ключевое преимущество заключается в сохранении конфиденциальности”, – говорит Han. “Вам не нужно передавать данные в облако”.
Анализируя данные локально, есть меньший шанс того, что личная информация будет скомпрометирована.
Помимо этого, MCUNet может анализировать и предоставлять информацию о данных, таких как частота сердечных сокращений, артериальное давление и уровень кислорода, привнести глубокое обучение в устройства IoT в транспортных средствах и других местах с ограниченным доступом к интернету, и снизить углеродный след, используя только небольшую часть энергии, необходимой для больших нейронных сетей.












