NeuroBox - Features
Die NeuroBox bietet eine in C# geschriebene objektorientierte Infrastruktur für den Aufbau und das Training neuronaler Netze mit dem .NET Framework.
Netzwerkstrukturen
Im Zentrum stehen klassische geschichtete Feedforward Netzwerke. Die Aktoren dabei sind Neuronen, die jeweils durch eine momentane Aktivierung und Ausgabe charakterisiert sind, wobei sich die Ausgabe durch die Aktivierungsfunktion (Tangens Hyperbolicus) aus der Aktivierung berechnen lässt. Synapsen verbinden jeweils zwei Neuronen gerichtet miteinander. Die dynamische Gewichtung der Synapsen ist ein wichtiger Faktor bei der Propagierung der Ausgaben der eingehend verknüpften Neuronen auf die neue Aktivierung eines Neurons. Optional können Bias Neuronen aktiviert werden.
Die Neuronen sind in Schichten (Layer) angeordnet. Die Propagation verläuft jeweils Layer für Layer von der Eingabeschicht bis zur Ausgabeschicht. Dabei wird in jeder Schicht zuerst für jedes Neuron die neue Aktivierung berechnet, und erst in einem zweiten die neue Aktivierung mittels Aktivierungsfunktion zur Ausgabe herausgereicht. Somit sind neben Shortcuts und indirekter Rückkopplung auch rekurrente Netze mit direkter und lateraler Rückkopplung möglich.
Trainieren des neuronalen Netzwerks
Zum Trainieren der Netze wird der Backpropagation Algorithmus mit einigen Optimierungen verwendet. Geplant sind auch erweiterte Algorithmen wie QuickProp oder Resilient Propagation (RProp).
Backpropagation Optimierungen
:. Einstellbare Lernrate
:. Bias Neuron, Output einstellbar
:. Weight Decay, Faktor einstellbar
:. Momentum Term, Alpha Faktor einstellbar
:. Manhattan Training
:. Flatspot Elimination, Shiftwert einstellbar
:. Initial Symmetry Braking, Bereich einstellbar
:. Symmetry Prevention, Faktor einstellbar
:. Individuelle Lernraten (aka SuperSAB)
:. Dead Neuron Decay
Building Blocks
Mit dem Pattern Matching Building Block steht eine modulare Infrastruktur zur Verfügung, die die Komplexität des Netzwerkes abstrahiert und eine sehr einfache Programmierschnittstelle für Anwendungen im Bereich Mustererkennung bietet. Dabei lassen sich Provider für den Aufbau des Netzes wie auch für das automatische Training erweitert konfigurieren, austauschen und erweitern. |