Недавно я читал о нейронных сетях в стесненных условиях (в частности, о реализации нейронных сетей на недорогом восьмибитном микроконтроллере ) и их приложениях к устройствам IoT (например, регрессии для прогнозирования на основе входов датчиков и т. Д.).
Это кажется идеальным для простых приложений, где обработка не является критичной по времени, а данные для обработки будут относительно редкими. Тем не менее, дальнейшие исследования показывают, что обучение нейронной сети в условиях ограниченных ресурсов является плохой идеей (см. Ответ на вопрос « Можно ли запустить нейронную сеть на микроконтроллере» ).
Применимо ли это к подходу Коттона, Виламовского и Дюндара, который я связал? Нужно ли обучать сеть, предназначенную для низкого использования ресурсов, на более мощном устройстве в моей сети IoT?
Для контекста, если бы у меня был датчик, передающий настройку тепла, я рассматриваю нейронную сеть, как описано в документе, чтобы предсказать желаемую настройку котла на основе этого, времени суток и т. Д. Обучение было бы полезно для изменения нейронной сети. вывод на основе большего количества данных, предоставленных пользователем. Этот вопрос Quora хорошо описывает подобный сценарий и обсуждает детали реализации нейронной сети, но мой вопрос больше сосредоточен на том, будет ли работать сеть на самом актуаторе.
источник
Ответы:
Согласно первой статье , бег не является проблемой. Это была цель. Только есть ограничение по максимальному весу:
Что касается обучения, насколько я понимаю описанную реализацию, контроллер PIC получает параметры от внешнего источника.
Я подозреваю, что обучение проводится и внешне.
В документе также приводятся ссылки для тренеров нейронных сетей, которые, вероятно, использовались для определения значений, предварительно запрограммированных в памяти PIC.
"Метод вычисления вектора градиента и матрицы Якобе в произвольно связанных нейронных сетях"
Теперь я посмотрел на первый, который описывает сетевые архитектуры и алгоритмы для использования с ними. Но используемое здесь программное обеспечение Neural Network Trainer реализовано в MATLAB.
Я должен упомянуть, что у полностью подключенных сетей число весов для одной и той же задачи меньше, чем для послойной архитектуры. Это делает его более подходящим для микроконтроллеров.
Я не эксперт по нейронным сетям, и это довольно сложно, поэтому я могу ошибаться, но на основании этих работ я бы сказал, что подход Коттона, Виламовского и Дюндара требует внешней, более мощной платформы для проведения обучения.
О запуске нейронной сети на микроконтроллере ST Microelectronics только что анонсировала набор инструментов STM32Cube.AI: преобразование нейронных сетей в оптимизированный код для STM32 для преобразования предварительно обученных нейронных сетей из популярных библиотек в большинство своих микроконтроллеров STM32.
источник