Mustererkennung mit neuronalen Netzen

Mustererkennung mit einem neuronalen Netz

Die Eingabe des Musters erfolgt weiter unten.

Einführung

Mit Hilfe eines neuronalen Netzes können verrauschte Muster erkannt werden.

In einem 5x5-Feld können Muster eingegeben werden, die dann entrauscht werden. Für ein Feld dieser Grösse können etwa 4 vorgegebene Muster erkannt werden (siehe Abbildung 1). Die Grundlage für das vorliegende Programm bildet ein so genanntes Hopfield-Netz, worin die Muster mit Hilfe einer geometrischen Lernregel gespeichert werden. Die zu erkennenden Muster können bis zu 30 Prozent verrauscht bzw. gestört sein.

Abbildung 1: Die 4 bekannten Muster: Kreuz, X, Raute, O

Eingabe des verrauschten Musters

Bitte geben Sie im nachfolgenden Feld das verrauschte Muster ein.

  
  
  
  
  

  
  


Ein Beispiel, wie die Eingabe zu erfolgen hat, finden Sie in Abbildung 2.

Oder zeichnen Sie das Muster hier:




Das eingegebene Muster:


Das entrauschte Muster:

      

Abbildung 2: Die Eingaben links und in der Mitte entsprechen dem Muster rechts.


Bisweilen wird mehr als ein Durchgang benötigt, um das eingegebene Muster zu entrauschen. Wenn nach 4-maligem Entrauschen das Muster nicht erkannt worden ist oder sich ein unbekanntes Muster wiederholt, war die ursprüngliche Störung zu gross, als dass das Muster noch erkannt werden kann.

Interessante Muster

Die interessanten verrauschten Muster in Abbildung 3 mögen der Inspiration dienen. Durch Verändern der eingegebenen Muster wird ersichtlich, wann die Trennschärfe dieser Mustererkennung abnimmt: Wenn die Anzahl Punkte, welche für ein bestimmtes Muster spezifisch sind, von anderen Punkten, welche gleichzeitig zu verschiedenen Mustern, gleichsam "dominiert" wird, kann das Muster nicht mehr eindeutig erkannt werden. Wenn ein Mensch das Eingabemuster nicht mehr identifizieren kann, ist davon auszugehen, dass es auch das Programm nicht schafft.

Abbildung 3: Interessante Beispiele

Einsatzmöglichkeiten

Wenn die Anzahl Felder erweitert wird, können mehr Muster gelernt werden. Texterkennung – auch bei handschriftlichen Dokumenten – ist nur eine Einsatzmöglichkeit dieser Art der Mustererkennungen. Mit geeigneten Anpassungen können zum Beispiel auch so genannte CAPTACHAs maschinenlesbar gemacht werden (vgl. Abbildungen 4 und 5).

Abbildung 4: CAPTCHA – Completely Automated Public Turing test to tell Computers and Humans Apart.
In diesem – zugegebenermassen einfachen – Beispiel müsste iterativ die Zeichenfolge "418ST7" erkannt werden.

Abbildung 5: Selbst wenn zwischen Gross- und Kleinbuchstaben unterschieden wird, könnte auch dieses farbige CAPTCHA mit Hilfe von Mustererkennung relativ einfach «gelesen» werden.

Zu guter Letzt

Dieses Programm wurde ursprünglich in der Nacht des 9. Februar 1991 in der Programmiersprache Modula 2 geschrieben. Die vorliegende Programmversion basiert auf PHP.