A feedforward neural network simulator in Python. Create arbitrarily deep networks and train them quickly. Load .csv data. Batch and stochastic learning paradigms.
Neural network technology has exploded over the last few years. The biologically-inspired algorithm is extensively researched and has been at the core of billion dollar companies. It has an incredibly wide breadth of applications, from robot control to speech recognition to predictive analytics to bioinformatics. Its appeal comes from its ability to learn, both through training and unsupervised observation, robustness, and good response to novel inputs, even in the face of noise and uncertainty. Many variations have emerged, some providing short and long term memory, biologically realistic spiking, and "convolutional layers" that are inspired from neurons in the human visual cortex.
Therefore, it is important that we understand this technology at its deepest level. The global economy is, and will continue to be, deeply impacted by these technologies and other core algorithms that make up the field of artificial intelligence.
To challenge myself in my own understanding, I wrote this implementation of the algorithm in Python. A Tkinter GUI runs on top, providing users with graphics and utilities. The network can be trained and its parameters can be imported or exported to .csv files. You can also save the results of the processing you have the network do.
To activate the GUI, run GUI.py.
I also want to talk about the philosophical and ethical implications of AI. Right now, our machines are learning from simple numerical data. But in the future, they may be learning from human behaviors. If technology is an extension of us, then artificial intelligence is an extension of our psychology. How, then, can we ensure that our machines are ethical?