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