Компактная нейронная сеть для устройств интернета вещей
В результате был создан алгоритм, который хранит всю необходимую информацию в памяти и не использует дополнительные хранилища информации, а также работает с оригинальными изображениями без предварительной обработки. Данный алгоритм может использоваться на устройствах интернета вещей как более "легкая" альтернатива нейронным сетям с глубоким обучением. Представленная нейронная сеть может облегчить внедрение нейронных сетей и искусственного интеллекта в интернет вещей.
Была выдвинута гипотеза, что резервуарная нейронная сеть LogNNet может применяться на устройствах в экосистеме интернета вещей с малым объемом оперативной памяти. Как специалисту в области автоматизации и программированию микроконтроллеров передо мной стояла задача воплотить эту идею на практике и реализовать алгоритм распознавания рукописных цифр из базы MNIST на миниатюрных платах Arduino UNO и Arduino Nano IoT,
− рассказывает Юрий.
Задача заключалась в разработке алгоритма сети LogNNet на языке программирования С, в понимании распределения памяти и попытке реализовать распознавание цифр. Т.к. плата обладает ограниченным объемом памяти порядка 2 Кб, реализовать все нюансы нейронной сети является непростой задачей. Необходимо правильно распределить память между массивами, попытаться избавиться от переменных с плавающей запятой, которые занимают большой объем памяти, повторно использовать участки памяти и т.д. Но при всем этом нужно чтобы не потерялось главное – способность системы распознавать цифры на уровне точности компьютерной модели нейронной сети.
После проведенной работы алгоритм на плате Arduino UNO получился компактным, всего 62 линии исполняемого кода. В результате, на платах с объемом 2 Кб RAM удалось реализовать сеть LogNNet 784:22:10 c 22 нейронами в резервуаре, которая давала точность распознавания порядка 85% на базе MNIST.
Интересным продолжением являлась проверка работы распознавателя на реальных рукописных изображениях, которые можно рисовать на специальном дисплее для Arduino. Эта работа также была проведена и прошли успешные испытания с распознаванием,
− комментирует руководитель лаборатории по разработке электронной компонентной базы на основе микро- и наноструктур ПетрГУ доцент Андрей Величко.
Подобный алгоритм может быть установлен на широком спектре аппаратно-программных средств, например, Raspberry PI, Orange Pi, Arduino, Microduino и Femtoduino. Это позволит создать прототипы периферийных устройств, в том числе обладающих невысоким объемом RAM, выполняющих полезные функции с применением собственного искусственного интеллекта в пространстве интернета вещей.
Медиацентр ПетрГУ