Der Mensch ist in der Lage, Gegenstände und Geräusche zu erkennen und zu identifizieren, auch wenn er diese noch nie zuvor gesehen oder gehört hat. Er erkennt sie nach bestimmten Mustern, die er im Laufe seiner Entwicklung gelernt und gespeichert hat. Während der Leser diese Zeilen liest, erkennt er in Sekundenbruchteilen die Buchstaben und Wörter, auch wenn diese in verschiedenen (unbekannten) Schriftarten oder -größen dargestellt sind. Das menschliche Gehirn ist zur Mustererkennung fähig.
Da der Mensch über eine begrenzte Informationsverarbeitungskapazität verfügt, liegt die Überlegung nahe, mit elektronischen Datenverarbeitungsanlagen (Computer) Mustererkennung nach menschlichem Vorbild durchzuführen.
Wie gut erkennt jedoch ein Computer ein unvollständiges Bild oder ein akustisches Signal, das von Rauschen überdeckt ist? Während der Mensch in der Lage ist, unvollständige Bilder zu komplettieren und Störgeräusche vom eigentlichen Signal zu trennen, steigen in diesen Fällen bei Computern die Fehlerraten bei der Mustererkennung sehr stark. Um dies zu verhindern, werden immer häufiger künstliche neuronale Netze (KNN) eingesetzt. KNN sind Netzsysteme für Computer, die Daten massiv parallel verarbeiten und zudem lernfähig sind. Das bedeutet, dass sie mit jeder Mustererkennung ihr Wissen erweitern und für zukünftige Einsätze verwenden. Die Fehlerraten bei der Mustererkennung unter Einsatz künstlicher neuronaler Netze sinken erheblich.
Inhaltsverzeichnis
Abbildungsverzeichnis
Abkürzungsverzeichnis
1 Einleitung
2 künstliche neuronale Netze
2.1 Das Neuron: Ursprung in der Biologie
2.2 Das künstliche neuronale Netz: Grundlagen, Aufbau
2.3 Lernfähigkeit
2.3.1 überwachtes Lernen
2.3.2 unüberwachtes Lernen
2.4 Netztypen
3 Einsatz zur Mustererkennung
3.1 Grundlagen der Mustererkennung
3.2 Mustererkennungssystem
3.3 KNN und Mustererkennung
3.4 Anwendungsbeispiele aus der Praxis
3.4.1 Bildverarbeitung
3.4.1.1 automatische Objekterkennung von Gepäckprüfanlagen
3.4.1.2 Fehlererkennung an Oberflächen von Werkstücken
3.4.1.3 Gesichtserkennung
3.4.2 Sprachverarbeitung
3.4.3 Schriftverarbeitung
4 Schlussbetrachtung
4.1 Zusammenfassung
4.2 Beurteilung
4.3 Ausblick
Literaturverzeichnis
Abbildungsverzeichnis
Abbildung 1: Nervenzelle
Abbildung 2: künstliches neuronales Netz
Abbildung 3: Mustererkennungssystem
Abbildung 4: Blockschaltbild des Gesamtsystems von GPA
Abbildung 5: Rasterbilder für Ziffernerkennung
Abkürzungsverzeichnis
Abbildung in dieser Leseprobe nicht enthalten
1 Einleitung
Der Mensch ist in der Lage, Gegenstände und Geräusche zu erkennen und zu identi- fizieren, auch wenn er diese noch nie zuvor gesehen oder gehört hat. Er erkennt sie nach bestimmten Mustern, die er im Laufe seiner Entwicklung gelernt und gespei- chert hat. Während der Leser diese Zeilen liest, erkennt er in Sekundenbruchteilen die Buchstaben und Wörter, auch wenn diese in verschiedenen (unbekannten) Schriftarten oder -größen dargestellt sind. Das menschliche Gehirn ist zur Musterer- kennung fähig.
Da der Mensch über eine begrenzte Informationsverarbeitungskapazität verfügt, liegt die Überlegung nahe, mit elektronischen Datenverarbeitungsanlagen (Computer) Mustererkennung nach menschlichem Vorbild durchzuführen.
Wie gut erkennt jedoch ein Computer ein unvollständiges Bild oder ein akustisches Signal, das von Rauschen überdeckt ist? Während der Mensch in der Lage ist, un- vollständige Bilder zu komplettieren und Störgeräusche vom eigentlichen Signal zu trennen, steigen in diesen Fällen bei Computern die Fehlerraten bei der Mustererken- nung sehr stark. Um dies zu verhindern, werden immer häufiger künstliche neuronale Netze (KNN) eingesetzt. KNN sind Netzsysteme für Computer, die Daten massiv parallel verarbeiten und zudem lernfähig sind. Das bedeutet, dass sie mit jeder Mus- tererkennung ihr Wissen erweitern und für zukünftige Einsätze verwenden. Die Feh- lerraten bei der Mustererkennung unter Einsatz künstlicher neuronaler Netze sinken erheblich.
Die Entwicklung KNN begann bereits Ende der 50er Jahre. Es entstanden eine Viel- zahl von Netzen, die zu erläutern den Rahmen dieser Seminararbeit sprengen würde. Daher werden unter 2.4 exemplarisch nur die am häufigsten eingesetzten Netztypen kurz erläutert.
Ziel dieser Arbeit ist, einen Überblick über Einsatzmöglichkeiten künstlicher neuronaler Netze zur Mustererkennung zu schaffen. Dazu werden zunächst die Grundlagen von KNN und der Mustererkennung erläutert, deren gemeinsamer praktischer Einsatz abschließend beispielhaft dargestellt wird.
2 künstliche neuronale Netze
2.1 Das Neuron: Ursprung in der Biologie
„[Künstliche] neuronale Netze können als technische Umsetzung der Gehirnfunktion verstanden werden.“ (HOFFMANN [1993, S. 1])
Das menschliche Gehirn besteht aus ca. 1011 Nervenzellen, von denen jede mit etwa hundert bis zehntausend anderen verbunden ist. Eine Nervenzelle - auch Neuron genannt - setzt sich aus einem Zellkörper, einem Axon (Nervenfaser) und den Dend- riten zusammen.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1: Nervenzelle
(Quelle: modifiziert o. V. Meile neuronale Netze. http://rfhs8012.fh-regensburg.de- /~saj39122/meile/indexG.htm, Druckdatum 03.03.2001)
Die Dendriten bilden Signaleingänge, die mit Ausgängen anderer Neuronen ver- knüpft sind. Das Axon ist als Signalausgang mit Dendriten anderer Nervenzellen verbunden. Die Verbindung zwischen dem Axon eines Neurons und den Dendriten eines anderen Neurons stellen die synaptischen Endköpfe (kurz Synapsen) her. Sie summieren die von den Neuronen kommenden elektrischen Eingangsimpulse und leiten sie (je nach Impuls) gehemmt oder verstärkt weiter. Dabei können die Sy- napsen ihre hemmende oder verstärkende (auch: erregende) Wirkung ändern, wo- durch ihnen eine entscheidende Rolle im Lernvorgang zugewiesen wird. Wenn die summierten Eingabesignale einen gewissen Schwellenwert überschreiten, wird das Neuron aktiv und sendet über das Axon einen elektrischen Impuls an die nachge- schalteten Neuronen. (in Anlehnung an: BERNS, K./KOLB, T.1994 )
Analog zu den biologischen Vorbildern hat ein künstliches Neuron mehrere Eingän- ge, die den Dendriten entsprechen und einen Ausgang, der dem Axon entspricht. Die Verbindung von zwei künstlichen Neuronen bildet ein sogenannter Knotenpunkt, der einer Synapse ähnelt. Die Knotenpunkte bzw. Synapsen bilden Gewichtungen, über die ein Signal von einem Neuron gehemmt oder verstärkt an ein anderes Neuron wei- tergegeben wird. Erhält ein Neuron dieses gewichtete Signal, berechnet es daraus einen effektiven Eingangswert. Aus diesem ergibt sich mit Hilfe einer Aktivierungs- funktion der Aktivierungszustand des Neurons (aktiv oder inaktiv). Ist das Neuron aktiv, transformiert es den effektiven Eingangswert in einen Ausgangswert und sen- det diesen an ein anderes Neuron. (vgl. HOFFMANN [1993, S. 14 ff.]) Die Trans- formation des Eingangswertes in einen Ausgangswert erfolgt durch verschiedene mathematische Funktionen. Es können auch mehrere Eingangswerte summiert wer- den, die erst bei Erreichen eines bestimmten Schwellenwertes dazu führen, dass ein Neuron aktiv wird. Eine übersichtliche Darstellung einiger mathematischer Beispiele finden sich in HOFFMANN1993.
2.2 Das künstliche neuronale Netz: Grundlagen, Aufbau
Von außen gesehen unterscheidet sich ein KNN nicht von einem herkömmlichen Computer. Computer und KNN erhalten Daten von der Außenwelt, verarbeiten diese und geben Daten wieder an die Außenwelt aus. Unterschiedlich ist allerdings die Verarbeitung der Daten. Im herkömmlichen Computer werden Daten durch ihre Ad- resse identifiziert und nach streng logischen Abläufen verarbeitet, was durch einen zentralen Prozessor gesteuert wird. Unterstützt wird diese leicht überschaubare und planbare Verarbeitung durch Programme und Datenspeicher. In einem KNN existiert kein Programm, kein Datenspeicher1 und kein Prozessor. Es arbeiten eine Vielzahl von Verarbeitungselementen (Neuronen) über unzählige Verbindungen zusammen, ohne dass sich einzelne Abläufe erkennen lassen. Diese parallele Verarbeitung führt einerseits zu einer extremen Leistungsfähigkeit, andererseits zur Undurchschaubar- keit und damit auch schlechter Planbarkeit von KNN. (siehe: HOFFMANN1993 )
Ein KNN funktioniert nach dem bekannten EVA-Prinzip - also Eingabe, Verarbeitung und Ausgabe von Daten - und ist in den meisten Fällen in Eingabe- (engl. Input Layer), Verarbeitungs- (engl. Hidden Layer) und Ausgabeschicht (engl. Output Layer) unterteilt. Es gibt jedoch auch einfache KNN, die nur aus Eingabe- und Ausgabeschicht bestehen. Die Verarbeitungsschicht wird oftmals als verdeckte Schicht bezeichnet. In jeder Schicht befinden sich mehrere Neuronen, die miteinander verknüpft sind und in verschiedenen Richtungen arbeiten können.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2: Künstliches neuronale Netz (Quelle: RIGOLL [1994, S. 3])
Das Zusammenspiel und die Anzahl der Schichten charakterisiert verschiedene Netz- typen. In Anlehnung an HEUER [1997, S. 8 ff.] lassen sich zum einen ein- und mehrschichtige Netze (englisch: single layer und multilayer Network) und zum ande- ren vorwärts- und rückwärtsgerichtete Netze unterteilen. Bei vorwärtsgerichteten Netzen ohne Rückkopplung, auch Feedforward Netze genannt, sind die einzelnen Schichten nur in einer Richtung verknüpft, so dass ein Neuron einer Schicht die Ak- tivitäten einer vorgelagerten Schicht nicht beeinflussen kann. Können Neuronen da- gegen andere Neuronen der gleichen oder einer vorgelagerten Schicht beeinflussen, wird das KNN als rückgekoppeltes Netz bezeichnet (auch: Feedback Netz). Die Ein- gabewerte können den Aktivierungszustand der Neuronen in der Eingabeschicht in den Zustand der Erregung versetzen, so dass auch die Neuronen der nachfolgenden Schichten aktiviert werden. Durch die Rückkopplung beeinflussen sich die Neuronen des KNN untereinander, bis sie, bedingt durch die Gewichtungen und Funktionen, einen Ruhezustand erreichen. Dann kann das Ergebnis des KNN bestimmt werden. Erreicht ein KNN den Ruhezustand nicht, kann es die Eingabewerte nicht verarbei- ten. In diesem Fall tritt ein weiteres entscheidendes Merkmal von KNN in Kraft: die Fähigkeit des Lernens.
2.3 Lernfähigkeit
2.3.1 überwachtes Lernen
Das Lernen künstlicher neuronaler Netze ist dem menschlichen Lernen nachempfun- den und wird unterteilt in überwachtes und unüberwachtes Lernen. Wie SPECK- MANN1996 sehr anschaulich darstellt, ist die Form des überwachten Lernens ver- gleichbar mit der Art und Weise, wie der Mensch unter Anleitung eines Trainers komplexe Bewegungsabläufe lernt. Fehler in der Bewegung werden vom Trainer korrigiert, bis sie minimiert sind und der Bewegungsablauf perfektioniert worden ist.
Im KNN wird der gewünschte Ausgabewert mit der tatsächlichen Ausgabe vergli- chen. Daraus wird ein Fehler berechnet, der im Laufe des Lernvorgangs minimiert wird. Dieser Fehler wird nach der sogenannten Delta-Regel berechnet: die Differenz zwischen den Eingabe- und Ausgabewerten wird als quadratischer Fehler bestimmt, der bei einfachen Eingabewerten eine Parabel ergibt und die Veränderung der Ge- wichtungen bestimmt. Um den Fehler zu minimieren (im Optimum beträgt der Feh- ler Null, so dass Ein- und Ausgabewerte übereinstimmen, also ein Muster genau er- kannt wurde), soll durch Iteration das Minimum der Parabel erreicht werden. Aus der Ableitung des quadratischen Fehlers ergibt sich dann die Formel der Delta-Lernregel (anschaulich in: RIGOLL, G. [1994, S. 72ff.]). Das KNN lernt hierbei nicht nur das erfolgreiche Erkennen von Eingabewerten, sondern auch die Systematik der Trai- ningsphase, so dass das KNN die gelernten Gewichtungen auch auf völlig neue Mus- ter anwenden kann.
2.3.2 unüberwachtes Lernen
Das unüberwachte Lernen der KNN entspricht dem menschlichen Lernen während der normalen Entwicklung (vgl. SPECKMANN [1996, S.8]): Kinder nehmen viele Reize aus der Umwelt auf, die im Gehirn selbständig organisiert werden. Im Laufe des Lebens nimmt die Lernfähigkeit ab und die zahlreichen im Gehirn gespeicherten generalisierten Modelle werden zur Mustererkennung verwendet.
In der Lernphase werden in das KNN wiederholt Daten eingegeben. Aufgabe des KNN ist es, die Daten selbstorganisierend zu ordnen. Dabei bestimmt eine Lernrate die Veränderlichkeit der Neuronen, also den bereits unter 2.1 genannten Aktivierungszustand. Während zu Beginn des Lernprozesses alle Neuronen in den Ordnungsprozeß integriert sind, nimmt im Laufe des andauernden Lernprozesses die Lernrate ab und nur ein Teil der Neuronen wird aktiviert. Ziel des Lernvorgangs ist die Generalisierung der Eingabedaten.
Die älteste und bekannteste Lernregel für KNN ist die Hebb’sche Lernregel. Sie be- sagt, dass sich die Gewichtung zwischen zwei Neuronen um so stärker ausprägt, je erregter der Aktivierungszustand der beiden Neuronen ist. Betrachtet man z.B. ein einfaches KNN mit nur einer Eingabe- und einer Ausgabeschicht, sind die Neuronen der beiden Schichten verbunden. Enthält ein Eingangsneuron laufend große Werte und soll das verbundene Ausgangsneuron ebenfalls große Werte erzeugen, wird die Hebb’sche Lernregel dazu führen, dass die Gewichtung zwischen den beiden Neuronen bei jedem neuen Signaleingang verstärkt wird. Die Lernregel umfaßt lediglich einen einzigen Rechenschritt, was den Vorteil hat, dass das KNN schnell zum gewünschten Ergebnis kommt. Allerdings erfordert dies auch eine sehr einfache Netzstruktur und einige Beschränkungen in den Ein- und Ausgabewerten, um nicht zu einem unerwünschten Ergebnis zu gelangen.
2.4 Netztypen
Im Laufe der Zeit wurde eine Vielzahl von KNN entwickelt. Es gibt jedoch für alle drei gemeinsame Komponenten: die Verarbeitungselemente (Neuronen), die paralle- le Verbindung der Neuronen und Schemata zur Gewichtung dieser Verbindungen. Im Hinblick auf diese übereinstimmenden Komponenten beschränke ich mich auf die Darstellung einzelner Netztypen, die in den folgenden Einsatzbeispielen verwendet werden.
Das Perceptron ist eines der ältesten KNN und wurde 1958 von Frank ROSEN- BLATT entwickelt. Es ist das einfachste KNN und besteht in der Regel aus drei Schichten, die vorwärtsgerichtet verbunden sind. Es arbeitet mit der überwachten Delta-Lernregel und ist für eine einfache Musterklassifizierung geeignet. Für kom- pliziertere Musterklassifizierungsaufgaben genügt die vorwärtsgerichtete Verarbei- tung des Perceptrons nicht aus: das Multilayerperceptron bietet hier mehr Einsatz- möglichkeiten. Es besteht aus mehreren Schichten, die auch verdeckte Schichten beinhalten. Der Nachteil der Delta-Regel ist, dass ein Fehler in einer verdeckten Schicht nicht einem einzelnen Neuron zugeordnet werden kann. Es wird daher die sogenannte Backpropagationsregel eingesetzt, die den Fehler rückwärts durch das Netz beseitigt. Multilayerperceptrons werden daher auch oftmals als Backpropagati- onperceptrons bezeichnet. (siehe: ALEX1998 )
Das Neoperceptron ist eine Variation des Multilayerperceptrons. Der entscheidende Unterschied zwischen den beiden Netztypen ist die globale bzw. lokale Verbin- dungsstruktur zwischen den Neuronen jeder Schicht. Während beim Multilayerper- ceptron jedes Neuron einer Schicht mit jedem Neuron der nächsten Schicht verbun- den ist (globale Netzstruktur), ist beim Neoperceptron jedes Neuron einer Schicht
[...]
1 Es gibt keinen Datenspeicher im herkömmlichen Sinne. Allerdings existieren Bestandteile im KNN, die bestimmen, welche Daten in der Ausgabeschicht erscheinen.
-
-
-
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X.