The Basics
The underlying data structure of neural networks resembles an interconnected graph or a complex tree graph. Each node of the structure acts as a processing unit. As the processing unit, the node will evaluate the incoming input, change its own input in relation to its surrounding nodes, and sometimes be the end of the traversal and result in an output. Input initializes at one of the input nodes and traverses across the series of other nodes, also known as the "hidden layer", until an output is produced.
It is up to the programmer to set a competent environment for the nodes to learn based on the desired outputs. The programmer is analogous to scientist training laboratory mice. If the scientist wants to mice to perform a certain task, proper boundaries, rewards, and punishment must be utilized to correctly teach the mice. The programmer must ensure the weights between the nodes of the graphs are strengthened and weakened based correctly to teach the network.