Künstliche Intelligenz mit Java
Maschinelles Lernen mit Neuronalen Netzwerken

Und das System ist sehr flexibel: Ändert man das Lernziel auf eine logische ODER-Verknüpfung …

public static final double[] targets = { 
  0,
  1,
  1,
  1 };

… wird diese auch sofort erfolgreich gelernt.

Nur bei einer EXKLUSIV-ODER-Verknüpfung scheitert das System!

public static final double[] targets = { 
  0,
  1,
  1,
  0 };


Spätestens jetzt sollte man bereit sein für das nächste Thema: ein Netzwerk aus Neuronen!


Zusammenfassung:

Ausgehend von der Signalübertragung bei einem biologischen Neuron hat man versucht diese mathematisch und informatisch durch ein sog. „Perzeptron“ nachzubilden. Es besteht u.a. aus Gewichten, die die Eingangssignale entweder verstärken oder schwächen. Das entstehende Ausgangssignal kann dabei noch über eine Aktivierungsfunktion verändert werden.

Ein einzelnes Perzeptron kann mit Hilfe von überwachtem Lernen trainiert werden. Dazu werden in Abhängigkeit des Fehlers am Ausgang die einzelnen Gewichte neu justiert. Je geringer die Lernrate eingestellt ist, umso „feinfühliger“ geschieht dies. Nach einer gewissen Epochenanzahl sollte das Training erfolgreich sein.

Das Perzeptron kann informatisch vollständig implementiert werden. Für das Maschinelle Lernen muss es aber noch in eine Lernumgebung integriert werden. Dann kann man mit ihm z. B. eine logische UND- oder eine logische ODER-Funktion realisieren. Bei einer EXKLUSIV-ODER-Verknüpfung stößt das Perzeptron aber an seine Grenzen.

- 24 -