Distributed Neural Network: Dynamic Learning via Backpropagation with Hardware Neurons using Arduino Chips

By: Mohammad Khan '17, Patrick Davis '19

Advising Faculty: Gary Parker

In this research we present an implementation of and a proposed algorithm for an easily expandable hardware Artificial Neural Network (ANN) capable of learning using inexpensive, off-the-shelf microprocessors. While significant work has been done in hardware ANN implementations, this research offers a unique, general use, unspecialized, and inexpensive model with a flexible architecture representation. Using Arduino Pro Mini microprocessors and a flexible data communication framework that makes use of the built-in circuit bus called the Inter-Integrated Circuit, this implementation involves the programming of one neuron per microchip. This one-to-one ratio allows for the computational parallelism inherent in neural networks and provides for the flexibility of building various ANN architectures. The prototype that was developed consists of an input layer element microchip, two hidden layer neuron microchips, and an output layer neuron microchip. Learning happens completely on hardware via backpropagation without a data connection to a computer. Tests showed that the prototype can learn the logical operations OR, AND, XOR, and XNOR, and that the system can accommodate dynamic changes in learning between logical operations.

Related Fields: Computer Science