A computer-implemented method of constructing and visualizing the operation and structure of a spiking/event-driven neural network of an ensemble of neural networks used for classification application of classifying hand-written digits zero through nine as having a digit value, the method using a processor apparatus, the processor apparatus comprising a scanner, a special purpose processor, memory, and a display capable of displaying at least a two-dimensional depiction of a portion of said neural network, and executing a special purpose stored program for first construction and then visualization of at least a digit recognizer substructure for performing a particular task of the given classification application using evolutionary optimization, the ensemble of neural networks recognizing a digit value of an input real-world hand-written image, the computer-implemented method comprising:
- scanning by the scanner a first hand-written digit image having a known value between zero and nine to obtain network pixel image data for said hand-written digit having the known value, said network image pixel data comprising at least twenty-eight pixels by twenty-eight pixels scanned using the scanner comprising one of a camera producing digital images and an image scanner for scanning by one of by row, by column and by row and column scanning types;
- loading the network pixel image data into memory and using one of a first fitness function and a second different fitness function to construct at least one digit recognizer substructure for recognizing the network pixel image data to produce a guessed digit value;
- repeating the scanning and loading to determine an ensemble of neural networks for recognizing hand-written digits, each neural network of the ensemble of neural networks optimizing one of the first and the second fitness function by evolutionary optimization, the ensemble of neural networks comprising at least two hundred neural networks;
- the first fitness function scoring at least five hundred selected images including ten hand-written digits between zero and nine of known value and the second fitness function being based on entropy;
- constructing at least a portion of a structure of the at least one digit recognizer substructure of the ensemble of neural networks in said memory using the special purpose processor, said neural network structure portion comprising at least three neurons and at least one synapse, the three neurons being at three different locations in at least two-dimensional space and connected by at least one neural pathway, the neural network structure portion stored in memory comprising data describing a connection between one of the at least three neurons and the at least one synapse, the at least one synapse having a distance/delay depending on the distance between two neurons and the output of the at least one synapse input to a second neuron of the three neurons, at least one of the at least three neurons being an input neuron;
- performing a discrete-event simulation using simulated time units for depicting discrete events comprising a neuron firing event and a synapse charge event in at least one neural network of the ensemble of neural networks, said neural network structure portion designed using evolutionary optimization for optimizing one of said first and said second fitness functions, the at least one neural network of the ensemble of neural networks comprising at least twenty-eight input neurons;
- the ensemble of neural networks using a voting scheme to determine if an input image is one of a hand-written zero through nine and comparing the determined value with a stored known value for a training hand-written digit image stored in memory;
- receiving input network image pixel data from the scanner for provision to each neural network of the ensemble of neural networks, clocking discrete events comprising a firing of a neuron and a synapse charge event and associated event times in simulated time units via a clock of the special purpose processor, portions of each said neural network corresponding to each of said at least three neurons and the at least one synapse, neural network data comprising discrete events and associated event times in simulated time units,
- the special purpose processor computing and storing in the memory, responsive to said network image pixel data received via the scanner, neural network discrete event data comprising the discrete events and associated event times corresponding to said portion of said neural network of the ensemble of neural networks comprising one of said at least three neurons and the at least one synapse,
- the special purpose processor using said neural network discrete event data to determine an at least two-dimensional depiction of said portion of the structure of the neural network of said ensemble of neural networks representing said correspondence of discrete events and associated event times to one of the at least three neurons and the synapse and tracing discrete events in said portion back in time to at least one input neuron to identify and depict at least one causality path between an input neuron and a neuron of said portion that is not an input neuron;
- measuring activity levels of neural pathways to determine visibility of a digit recognizer substructure where a given opacity level defines a neural pathway to be hidden by activity level and visibility of neural pathways to be seen for a given digit recognizer substructure;
- constructing a useful substructure or neural network portion for performing a particular sub-task in an ensemble of neural networks for recognizing digits 0 through 9 and using the visibility and distance/delay of neural pathways to determine a substructure or neural network portion to be one of surgically removed due to its being unsuccessful for a certain task and inserted to improve scanned digit image recognition performance of the ensemble of neural networks, and
- displaying said at least two-dimensional depiction of said portion of the structure of the neural network of the ensemble of neural networks with a depiction of the ensemble of neural networks using a display, the depiction providing information about a scanned input image and results of voting by the ensemble of neural networks resulting in a classification result having a digit one through nine value;
- and
- improving the operation of the ensemble of neural networks using evolutionary optimization with real-world input images, not members of a set of training input images, the operation comprising at least one discrete event associated with one of said at least three neurons and the synapse at an at least one discrete event time value in simulated time units when a real-world input image comprising a handwritten digit one through nine is scanned and recognized.