Modeling or development of a neural network or neural architecture depends on the type of network being constructed. In the case of artificial neural modeling, neural architectures are created to solve the application problem at hand, while in the case of biological modeling neural architectures are specified to reproduce anatomical and physiological experimental data. Both types of network development involve choosing appropriate data representations for neural components, neurons and their interconnections, as well as network input, control parameters and network dynamics specified in terms of a set of mathematical equations.
For biological modeling, the neuron model varies depending on the details being described. Neuron models can be very sophisticated biophysical models, such as compartmental models (Rall 1959) in turn based on the Hodgkin-Huxley model (Hodgkin and Huxley 1952). When behavioral analysis is desired, the neural network as a whole may often be adequately analyzed using simpler neuron models such as the analog leaky integrator model. And sometimes even simpler neural models are enough, in particular for artificial networks, as with discrete binary models where the neuron is either on or off at each time step, as in the McCulloch-Pitts model (McCulloch and Pitts 1943).
The particular neuron model chosen defines the dynamics for each neuron, yet a complete network architecture also involves specifying interconnections among neurons as well as specifying input to the network and choosing appropriate parameters for different tasks using the neural model specified. Moreover, artificial neural networks—as do many biological models—involve learning, requiring an additional training phase in the model architecture.
To generate a neural architecture the network developer requires a modeling language sufficiently expressive to support their representation. On the other hand, the language should be extensible enough to integrate with other software systems, such as to obtain or send data. In general, a neural network modeling or development environment should support a set of basic structures and functions to simplify the task of building new models as well as interacting with them.
Clearly, the user's background plays an important role in the sophistication of the development environment. Novice users depend almost completely on the interactivity provided through window interfaces, while more sophisticated users usually desire extensibility in the form of programming languages.
Was this article helpful?