Das ist halt nicht ganz einfach zu erklären...
also mal der Reihe nach:
1. die Neuronen
ein Neuron ist ein "Ding" mit beliebig vielen Eingängen und einem Ausgang. Die Werte die an den Eingängen anliegen werden zunächst mal alle aufsummiert (das ist immer so), dann wird aus dieser Summe (mit einer bestimmten mathematischen Funktion) der Ausgangswert des Neurons berechnet.
Die verwendete mathematische Funktion (auch Übertragungsfunktion genannt) kann im einfachsten Fall z.B. eine "Schwelle" sein. Also wenn die Summe der Eingangswerte größer ist als ein bestimmter Wert, gibt das Neuron 1 aus, ansonsten 0. Eine andere Variante ist eine lineare Funktion, also eine Gerade. Und dann gibt es noch diverse nichtlineare Übertragungsfunktionen.
2. die Verbindungen zwischen den Neuronen
hier ist das "Wissen" des Netzes gespeichert, und zwar in Form der Gewichte der einzelnen Verbindungen. Die Verbindungen zwischen den Neuronen können also unterschiedlich "stark" sein, so daß eine starke Verbindung den Ausgangswert eines Neurons z.B. mit dem Faktor 0.99 multipliziert an einen Eingang des nächsten weitergibt. Es kann aber auch Verbindungen geben die den Wert erstmal mit 0.4 multiplizieren, also das Signal quasi abschwächen. Das kann im Extremfall natürlich auch so aussehen, daß einzelne Verbindungen quasi völlig blockieren (z.B. Multiplikation des Signals mit 0.001 oder so)
Das Ergebnis das das Netz liefert ist daher fast nur davon abhängig wie stark die verschiedenen Verbindungen sind. (die Übertragungsfunktion der Neuronen spielt aber natürlich auch eine Rolle)
Damit dein Netz also das tut was du willst, musst du die Verbindungen "richtig" einstellen, was aber von Hand kaum machbar ist. Du kannst deinem Netz also kein Wissen "einprogrammieren", sondern musst es irgendwie trainieren z.B. mit Beispieldaten zu denen die gewünschten Ergebnisse schon bekannt sind. Es gibt viele verschiedene Algorithmen die man zum Training verwenden kann, z.B. das sehr verbreitete Backpropagation-Verfahren (siehe Wiki).
Lesezeichen