NeuroBox - Features
NeuroBox offers an object oriented infrastructure written in C# for the construction and training of neural networks using the .NET Framework.
Network Structures
The library is all about classic layered Feedforward networks. The actors are neurons which are characterized by a momentary activation and output that can be calculated by the activation function (hyperbolic tangent). Synapses connect two neurons directed with each other. The dynamic weighting of the synapses is an important factor for the propagation of the input neuron's outputs to the new neuron activations. Bias Neurons may be activated if needed.
The neurons are ordered by layers. The propagation algorithm runs layer for layer from input up to the output layer. In every layer the new activations are calculated first while the output is propagated in a second step using the activation function, allowing beside of shortcuts and indirect feedback also recurrent networks with direct or lateral feedback.
Network Training
In order to train the networks, the Backpropagation algorithms is applied with some optimizations. Some extended algorithms are planned, like QuickProp or Resilient Propagation (RProp).
Backpropagation Optimizations
:. Adjustable learning rate
:. Bias Neuron, Output adjustable
:. Weight Decay, factor adjustable
:. Momentum Term, alpha factor adjustable
:. Manhattan Training
:. Flatspot elimination, shift value adjustable
:. Initial Symmetry Braking, range adjustable
:. Symmetry Prevention, factor adjustable
:. Individual learning rates (aka SuperSAB)
:. Dead Neuron Decay
Building Blocks
With the Pattern Matching Building Blocks there's a modular infrastructure available which abstracts the network complexity and offers a very simple programming interface for applications in the area of pattern recognition. You may configure, extend or replace the providers used for construction and training of the network. |