Neuronale Netze für die Bilderkennung Lernen statt programmieren

CNN, eine effiziente Form neuronaler Netze in modernen Fahrerassistenzsystemen.
Convolutional Neural Networks (CNN) sind eine Sonderform neuronaler Netze.

Bei Fahrerassistenzsystemen kommen Methoden aus der Künstliche-Intelligenz-Forschung zum Einsatz. So eignen sich etwa neuronale Netze zur Erkennung von Verkehrszeichen. Dieser Beitrag beschreibt die technischen Grundlagen von CNN, einer besonders effizienten Form neuronaler Netze.

Wikipedia bringt die wichtigsten Eigenschaften eines Convolutional Neural Network (CNN) gut auf den Punkt: Ein CNN, zu deutsch etwa „faltendes neurales Netzwerk“, ist ein künstliches neuronales Netz. Solche Netze basieren auf einem von biologischen Prozessen inspirierten Konzept im Bereich des maschinellen Lernens. Dabei sind die einzelnen Neuronen derart angeordnet, dass sie auf sich überlappende Bereiche reagieren. Mathematisch kann man diesen Prozess als diskrete Faltung interpretieren – daher der Zusatz „convolutional“.

Convolutional Neural Networks werden gerne in der Muster- und Bilderkennung genutzt, da sie gegenüber anderen Verfahren mehrere Vorteile bieten. Dieser Artikel beschreibt die Grundlagen von CNNs sowie die verschiedenen darin genutzten Schichten.

Was ist ein CNN?

Ein neuronales Netz ist ein System miteinander verbundener künstlicher Neuronen, die Nachrichten untereinander austauschen. Die Verbindungen haben eine numerische Gewichtung, die während des Trainingsprozesses angepasst wird, sodass ein korrekt trainiertes Netzwerk bei einem zu erkennenden Bild oder Muster richtig reagiert. Das Netzwerk besteht aus mehreren Schichten mit Merkmal-erkennenden Neuronen. Jede Schicht verfügt über viele Neuronen, die auf verschiedene Kombinationen von Eingaben von den vorhergehenden Schichten reagieren.

Bilder: 3

Ein System verbundener künstlicher Neuronen Bild 1 bis 3.

Ein System verbundener künstlicher Neuronen Bild 1 bis 3.

Wie in Bild 1 dargestellt, sind die Schichten so aufgebaut, dass die erste Schicht verschiedene primitive Muster in der Eingabe entdeckt, die zweite Schicht Muster von Mustern, die dritte Schicht entdeckt Muster jener Muster und so weiter. Typische CNNs nutzen 5 bis 25 verschiedene Schichten zur Mustererkennung. Das Training erfolgt mit einem vorbearbeiteten Datensatz, der eine große Zahl von repräsentativen Eingabe-Mustern enthält, die mit der jeweils erwarteten Ausgabe-Antwort erweitert werden. Das Training wird dazu genutzt, um die Gewichtung der Neuronen für die Zwischen- und Endmerkmale iterativ zu bestimmen. Bild 2 verdeutlicht den Lernprozess bei einer Schicht. Neuronale Netze orientieren sich an biologischen Nervensystemen. Die grundlegende Recheneinheit des Gehirns ist ein Neuron; die Neuronen sind mit Synapsen verbunden. Bild 3 zeigt den Vergleich eines biologischen Neurons mit dem mathematischen Modell. Im realen Nervensystem, beispielsweise eines Tieres, erhält ein Neuron Eingabesignale von Dendriten und liefert Ausgabesignale über ein Axon. Das Axon verzweigt und stellt über Synapsen eine Verbindung zu den Dendriten anderer Neurone her. Wenn die Kombination der Eingabesignale eine gewisse Schwellenwertbedingung bei den Eingabe-Dendriten erreicht, wird das Neuron ausgelöst und die Aktivierung wird den nachfolgenden Neuronen mitgeteilt..

Im Rechenmodell eines neuronalen Netzes laufen die Signale entlang des Axons (z.B. x0) und interagieren multiplikativ (z.B. w0 · x0) mit den Dendriten von anderen Neuronen, und zwar abhängig von der synaptischen Stärke der jeweiligen Synapse (z.B. w0). Die Gewichtung der Synapsen ist erlernbar und steuert den Einfluss der Neuronen. Die Dendriten leiten das Signal zum Zellkörper, wo sie alle summiert werden. Wenn die Endsumme über einem bestimmten Schwellwert liegt, feuert das Neuron und sendet einen Impuls über sein Axon. Im Rechenmodell wird angenommen, dass das genaue Timing des Impulses keine Rolle spielt und nur die Frequenz der Impulse die Informationen überträgt. Auf der Basis dieser Rate-Code-Interpretation wird die Impulsrate des Neurons mit einer Aktivierungsfunktion f modelliert, welche der Frequenz der Impulse auf dem Axon entspricht. Eine häufig genutzte Aktivierungsfunktion ist die Sigmoid-Funktion. Insgesamt berechnet jedes Neuron das Skalarprodukt der Eingaben und Gewichtungen, fügt ein Bias hinzu und nutzt eine nichtlineare Trigger-Funktion (zum Beispiel eine Sigmoid-Antwortfunktion).

Ein CNN ist ein Sonderfall des oben beschriebenen neuronalen Netzes. Ein CNN besteht aus einer oder mehreren Faltungsschichten, häufig mit einer Sub-Sampling-Schicht, die von einer oder mehreren voll verbundenen Schichten wie in einem herkömmlichen neuronalen Netz gefolgt wird. Das Design eines CNN orientiert sich an der Sehrinde im Gehirn. Die Sehrinde enthält viele Zellen, die dafür verantwortlich sind, Licht in kleinen sich überlappenden Unterbereichen des Gesichtsfelds zu erkennen. Diese werden Rezeptorenfelder genannt. Die Zellen agieren als lokale Filter für den Eingabebereich, während komplexere Zellen größere Rezeptorenfelder haben. Die Faltungsschicht in einem CNN führt die gleiche Funktion aus wie die Zellen in der Sehrinde.

Ein typisches CNN für die Erkennung von Verkehrszeichen wird in Bild 4 gezeigt. Jedes Element einer Schicht empfängt Eingaben von verschiedenen Elementen, die in enger Nachbarschaft in der vorhergehenden Schicht liegen und damit quasi lokale Rezeptorenfelder darstellen. Mit lokalen Rezeptorenfeldern lassen sich elementare Sehmerkmale wie Kanten, Endpunkte, Ecken usw. extrahieren, die dann mittels höherer Schichten kombiniert werden. Im konventionellen Modell der Muster-/Bilderkennung sammelt ein manuell entwickeltes Merkmal-Extraktionswerkzeug relevante Informationen aus der Eingabe und entfernt irrelevante Bestandteile. Dem Extraktionswerkzeug folgt ein trainierbarer Klassifizierer, ein herkömmliches neuronales Netz, das Merkmal-Vektoren in Klassen einteilt. In einem CNN übernehmen dagegen Faltungsschichten die Funktion des Merkmal-Extraktionswerkzeugs. Diese wurden aber nicht manuell entwickelt, sondern ein Trainingsprozess hat die entsprechenden Filtergewichte bestimmt. Die Faltungsschichten können lokale Merkmale extrahieren, da sie die Empfangsfelder der verdeckten Schichten auf den lokalen Bereich einschränken.