Чи можете ви реалізувати просту нейронну мережу на мікропроцесорі, такому як Arduino Uno, який буде використовуватися в машинному навчанні?
Чи можете ви реалізувати просту нейронну мережу на мікропроцесорі, такому як Arduino Uno, який буде використовуватися в машинному навчанні?
Відповіді:
Не могли б ви тренувати нейромережу на мікроконтролері? Можливо, але будь ласка, не намагайтеся. Чи можете ви використати NN для класифікації тощо на мікроконтролері? Зрозуміло, доки ви можете обчислити результат поширення значень вузла та ребра та обробити множення.
Це, безумовно, можливо реалізувати на Arduino. Ось 3 таких бібліотеки Arduino, які реалізують нейронні мережі:
Складність мережі, з якою може впоратися Arduino, є окремим питанням, особливо якщо мова йде про навчання - десятки тисяч ітерацій даних про навчання. Тренування на швидкій машині, а потім копіювання ваг нейронів на Arduino стане розумнішим способом розвитку вашої реалізації.
Так. Якщо ви запускаєте його лише в режимі подачі вперед, а тренуєтесь в режимі офлайн десь в іншому місці:
Я запрограмував 3-шарову (5-5-2) подачу ANN на Arduino UNO. Він біг на мобільного робота. Кожного разу, коли робот щось бив, він би перетренував мережу. Частка подачі мережі працювала в режимі реального часу; в той час як тренування заднього розповсюдження займало близько 5 - 20 секунд. Я припускаю, що ви могли б обрізати розмір мережі, а також грати з параметрами, щоб змусити її працювати трохи швидше, але якщо ви плануєте робити зворотні розмноження на Arduino, я думаю, це буде занадто повільно.
Деякі думки щодо прискорення речей включають:
Ось короткий запис про мережу, яку я зробив.
Так, можливо, вбудувати нейромережу в мікроконтролери. У науковій літературі таких прикладів багато, але я можу навести яскравий приклад того, що можна зробити з дуже простим MCU, якщо ти досить розумний. У роботі Evolutionary Bits'n'Spikes автори описують реалізацію нейронної мережі в режимі реального часу, а також генетичний алгоритм для її навчання, щоб керувати роботом диференціального колеса. Весь код працює у крихітному PU16F628 4 МГц MCU, вбудованому в 1-кубічний дюймовий робот Alice.