Você poderia implementar uma rede neural simples em um microprocessador como o Arduino Uno para ser usado no aprendizado de máquina?
microcontroller
machine-learning
Jordânia
fonte
fonte
Respostas:
Você poderia treinar uma rede neural em um microcontrolador? Talvez, mas por favor não tente. Você poderia usar um NN para classificação, etc. em um microcontrolador? Claro, desde que você possa calcular o resultado da propagação dos valores do nó e da aresta e manipular as multiplicações.
fonte
Certamente é possível implementar isso em um Arduino. Aqui estão três bibliotecas do Arduino que implementam redes neurais:
A complexidade da rede com a qual o Arduino pode lidar é uma questão separada, especialmente quando se trata de treinamento - dezenas de milhares de iterações nos dados de treinamento. Treinar em uma máquina rápida e depois copiar os pesos dos neurônios para o Arduino será uma maneira mais inteligente de desenvolver sua implementação.
fonte
Sim. Se você o executa apenas no modo feed-forward e faz seu treinamento off-line em outro lugar:
Programei uma ANN de feedforward de 3 camadas (5-5-2) em uma UNO do Arduino. Ele rodava em um robô móvel. Sempre que o robô atingisse algo, ele treinaria novamente a rede. A porção de feedforward da rede foi executada em tempo real; enquanto o treinamento de propagação traseira era da ordem de 5 a 20 segundos. Suponho que você possa cortar o tamanho da rede, bem como jogar com os parâmetros para torná-la um pouco mais rápida, mas se você planeja fazer uma retropropagação em um Arduino, acho que seria muito lento.
Alguns pensamentos para acelerar as coisas incluem:
Aqui está uma rápida descrição que fiz da rede.
fonte
Sim, é possível incorporar redes neurais em microcontroladores. Existem muitos exemplos disso na literatura científica, mas posso citar um exemplo impressionante do que pode ser feito com um MCU muito simples se você for inteligente o suficiente. Em Evolutionits Bits'n'Spikes , os autores descrevem a implementação de uma rede neural de pico em tempo real E um algoritmo genético para treiná-la, a fim de controlar um robô de roda diferencial. Todo o código é executado em um pequeno MCU PIC16F628 de 4MHz incorporado ao robô Alice de 1 polegada cúbica.
fonte