9.7.1 Neuronen


Künstliche Intelligenz

Wir Menschen denken mit unserem Gehirn. In unserem Gehirn gibt es Neuronen, welche Informationen speichern, verarbeiten und an andere Neuronen weiterleiten können. In unserem Gehirn gibt es unvorstellbar viele Neuronen, die zusammen arbeiten, wodurch unser Gehirn zu enormen Leistungen fähig ist.

Menschen nehmen die Funktionsweise des Gehirns als Vorbild, um Computern beizubringen "intelligente" Leistungen zu bringen. Wir erleben gerade mit, wie KI-Systeme entwickelt werden (z.B. ChatGPT), deren Leistungen uns Menschen in Staunen versetzen.

Im Thema "Künstliche Intelligenz" soll die grundlegende Idee vermittelt werden, wie einfache elektronische Gehirne mit Hilfe von simulierten Neuronen in einem Computer gebaut werden können.

In diesem ersten Kapitel wird ein denkbar einfachstes elektronisches Gehirn mit zwei Neuronen gebaut. In den folgenden Kapiteln soll die Anzahl der Neuronen im elektronischen Gehirn langsam vergrößert werden. Als Entwicklungsumgebung verwenden wir die KI-Erweiterung "Open Roberta xNN" der Open-Roberta-Umgebung.


Roboter erkennt Farben

Im folgenden Programm soll der Roboter mit Hilfe eines Farbsensors die Farben erkennen, über welche er fährt und den Namen der erkannten Farbe auf dem Display ausgeben. Das soll er mit Hilfe eines einfachen elektronischen Gehirns schaffen.


Vorbereitung des Programms


Falls der gerade gegebene Link nicht funktioniert, kann das Programm manuell geladen werden:

  • Klicke auf folgenden Download-Link für den Quellcode: zwei_neuronen.xml

  • Klicke in Open-Roberta oben links auf "Bearbeiten", dann auf "importiere Programm ..." und lade das gerade heruntergeladene Programm "zwei_neuronen.xml", das sich im Donwload-Ordner befinden sollte.

  • Falls die Oberfläche des Open-Roberta-Editors nicht auf deutsch ist, klicke in Open Roberta oben auf das Symbol für die Erdkugel und wähle "Deutsch" als Sprache.

  • Klicke in Open Roberta oben auf den Tab "ROBOTERKONFIGURATION", damit sich das Roboter-Konfigurations-Fenster öffnet. Du solltest folgende Roboter-Konfiguration sehen - falls nicht, ändere den Roboter entsprechend:

Der simulierte Roboter hat zwei unabhängige Motoren für das rechte und das linke Rad und einen Farbsensor welcher die Farbe wahrnehmen kann, mit welcher die Fläche unter dem Farbsensor eingefärbt ist.

  • Klicke auf den Tab "PROGRAMM NEPOprog" und dann ganz rechts auf die Schaltfläche "SIM", damit sich das Simulator-Fenster öffnet.

  • Klicke im Simulationsfenster oben links solange auf das Bild-Symbol, bis der Simulationshintergrund weiß ist. Das blaue Hindernis kannst du löschen.

Du solltest folgendes sehen:

  • Klicke auf folgenden Link um die Simulationseinstellung herunterzuladen: zwei_neuronen.json

  • Klicke im Simulationsfenster in der Symbolleiste auf "Simulationseinstellungen hochladen", wechsle in den "Downloads-Ordner", wähle die heruntergeladene Datei "zwei_neuronen.json" und bestätige die Wahl.

  • Klicke im Simulationsfenster unten auf "Öffne/schließe die Ansicht deines Systems", damit die Anzeige des simulierten Roboters geöffnet wird.

  • Verschiebe die Anzeige des simulierten Roboters an eine geignete Stelle. Du solltest folgendes sehen:

  • Klicke in der Simulationsumgebung unten auf "Starte dein Programm in der Simulation".


Programmablauf:

  • Der Roboter fährt über die Farbstreifen nach rechts.

  • Der Lichtsensor erkennt die unter ihm liegende Farbe.

  • Die erkannte Farbe wird in der Anzeige ausgegeben.


Erläuterungen zum Programm

  • Klicke auf den Tab "NEURONALES NETZ NEPOnn":

Im neuralen Netz dieser Simulation sind zwei Neuronen festgelegt worden:

  • "n1": dieses Neuron nimmt einen Code (0, 1, 2, 3, 4) für die erkannte Farbe entgegen.

  • "n2": im "elektronischen Gehirn" ist das Neuron "n2" mit dem Neuron "n1" verbunden.

  • Die Verbindung zwischen "n1" und "n2" hat das "Gewicht 1". Das bedeutet, dass alle Werte, welche das Neuron "n1" empfängt unverändert an das Neuron "n2" weitergegeben werden.

  • Mit folgender bedingter Anweisung wird der Farbcode dem Neuron "n1" mitgeteilt:

  • Der Farbcode, welchen das Neuron "n1" gespeichert hat, wird mit dem Gewicht 1 (unverändert) an das Neuron "n2" weitergeleitet, sobald die Anweisung "Mache einen NN Schritt" aufgerufen wird:

  • Nachdem der Farbcode vom Neuron "n1" an das Neuron "n2" mit dem Gewicht 1 (unverändert) weitergeleitet wurde, stellt man mit bedingten Anweisungen fest, welcher Farbname auf der Anzeige ausgegeben werden soll, indem der Wert des Ausgabe-Neurons "n2" ausgelesen wird.