im prinzip ist ein neuronales netz ganz einfach.
es ist sogar ganz einfach zu coden:
Delphi-Quellcode:
TNeuron = class
Input, Output: array of TNeuron;
InputThreshold, OutputSignal: Byte;
end;
Sobald die Summe der Input-Signale den InputThreshold übersteigt, gibt das Neuron ein Signal der Stärke OutputSignal an alle Output-Neuronen.
Man legt nun ein Netzwerk von neuronen an, wobei es jeweils eine anzahl von roh-input neuronen, die groß genug ist, um alle möglichen (gewollten) eingangssignale aufzunehmen, und eine anzahl von roh-output neuronen gibt, die dann das ergebnis ausgeben.
Dann nimmt man eine große Anzahl von trainingsdatensätzen, in denen der gegebene input und das gewollte ergebnis eingetragen sind.
Damit muss das neuronale netz so trainiert werden, dass die Verbindungen und Reizschwellen so eingestellt sind, dass zu jedem eingabedatensatz möglichst genau der richtige ausgansdatensatz herauskommt.
In so einem neuronalen netz kann es natürlich auch feedback loops geben.
Im Prinzip also recht trivial, in der Umsetzung aber recht komplex.
negaH kennt sich da glaube ich besser aus und hat auch schon einmal selber eins gebaut.