Montageanlage für Lagermodul

Wie Convolutional Neural Networks das autonome Fahren revolutionieren werden

Damit Fahrzeuge künftig wirklich autonom fahren können, müssen sie ihre Umgebung nicht nur selbstständig wahrnehmen, sondern das Gesehene auch korrekt klassifizieren können. Die Vielzahl der optischen Eindrücke, die dabei verarbeitet werden müssen, machen einen leistungsstarken Algorithmus erforderlich. Dieser findet sich in Convolutional Neural Networks (CNNs). Bei CNNs handelt es sich um eine Art des Deep Learnings, die von den Prozessen in unserem Gehirn inspiriert, die Datenmenge reduziert, ohne dass die Erkennung darunter leidet.

So funktioniert Deep Learning in Convolutional Neural Networks

Deep Learning bezeichnet eine besondere Form des maschinellen Lernens. Dabei kommen künstliche neuronale Netze zum Einsatz, mit deren Hilfe ein Algorithmus die Denkprozesse des menschlichen Gehirns nachzubilden versucht. Ein Neuron in einem solchen Netz kann freilich keine biologische Zelle sein. Stattdessen handelt es sich bei jedem einzelnen Neuron um ein lineares Modell. Verknüpft man nun viele dieser Neuronen/linearen Modelle miteinander, entsteht ein nichtlineares Modell. Dieses wiederum wird als Schicht bezeichnet.

Wie überwachtes Lernen das System besser macht

Beim Deep Learning liegen wiederum zahlreiche dieser Schichten übereinander, wobei jede Schicht nur die Informationen bekommt, die von der vorhergehenden nicht herausgefiltert wurden. Es handelt sich dabei um überwachtes Lernen. Das bedeutet, der Algorithmus wird mit dem Wissen versorgt, wie die Ausgabewerte später aussehen sollen. So kann das System seine Parameter im Laufe der Zeit immer besser anpassen, sodass die Diskrepanz zwischen erzielten und erwarteten Ergebnissen immer kleiner wird.

Was ist ein Convolutional Neural Network?

Algorithmen des Deep Learnings gibt es viele, doch einer der leistungsstärksten ist das Convolutional Neural Network. Es besteht aus einer oder mehreren gefalteten Schichten (Convolutional Layers), auf die stets eine Pooling-Schicht folgt. Diese Pooling-Schicht ist es, die für eine signifikante Reduktion der Datenmenge sorgt. Ohne sie wäre die enorme Leistungsfähigkeit dieser Netzwerke nicht denkbar. Doch wie funktioniert das im Detail?

Convolutional Layer

In der Convolutional Layer wird eine Feature Map des untersuchten Bildes erstellt, die alle relevanten Merkmale enthält. Zu diesem Zweck bewegt sich ein Filter über das Bild, der mithilfe einer Faltungsmatrix eine diskrete Faltung (eine lineare Operation) durchführt. Je nachdem, welche Faltungsmatrix angewandt wird, können verschiedene Informationen aus dem Bildausschnitt gewonnen werden, so etwa die Kanten eines abgebildeten Gegenstandes. Das Problem dabei? Die Anzahl der Informationen ist zu groß, um schnelle und gleichzeitig sehr komplexe Berechnungen durchführen zu können. Doch mittels Pooling lässt sich dieses Problem lösen.

Pooling Layer

Die Pooling Layer dient dem Herausfiltern irrelevanter Informationen. So ist es beispielsweise zur Identifizierung eines Objekts notwendig, dessen Kanten zu erkennen, deren genaue Lage ist jedoch unerheblich. Die überflüssigen Informationen werden also ausgeblendet. Wie genau das in der Praxis umgesetzt wird, ist unterschiedlich. Am weitesten verbreitet ist jedoch das sogenannte Max-Pooling.

Beim Max-Pooling werden die Neuronen des vorgelagerten Convolutional Layers in Quadrate (zum Beispiel zu je 2 × 2 Neutronen) unterteilt. Aus jedem Quadrat wird nur das Neuron mit der höchsten (maximalen) Aktivität in den nachfolgenden Berechnungsschritten berücksichtigt. Es ergibt sich also in unserem Beispiel eine Datenreduktion um 75 Prozent. Dennoch kann das Netzwerk mit den übrigen Daten sinnvoll arbeiten.

Vorteile des Poolings

Diese signifikante Reduktion der Datenmenge hat den Vorteil eines stark verringerten Platzbedarfs, wodurch Berechnungen wesentlich schneller durchgeführt werden können. Schnellere Berechnungen können entweder genutzt werden, um zügiger zum selben Ergebnis zu kommen als ohne Pooling oder es können in derselben Zeit komplexere Aufgaben gelöst werden.

Außerdem trägt das Pooling dazu bei, eine Überanpassung des Systems zu verhindern. Zu dieser kann es kommen, wenn das System zu viele unabhängige Variablen enthält. Eine Überanpassung kann für ein neuronales Netzwerk verheerend sein, da es bei einer zu großen Datenmenge keine Regeln mehr lernen kann, wodurch in der Folge eine selbstständige Klassifizierung verhindert wird.

Ein weiteres Vorbild aus der Natur: die laterale Hemmung

Vorbild für das Pooling war die laterale Hemmung. Darunter versteht man die Eigenschaft einer aktiven Nervenzelle, ihre Nachbarzellen in deren Aktivität zu hemmen. Dieser Vorgang dient vornehmlich der Kontrastverstärkung und ist beispielsweise in der Netzhaut des Auges zu beobachten. Werden die Zapfen durch Tageslicht aktiviert, werden die umgebenden Stäbchen gehemmt. Dies ist einer von mehreren Mechanismen, der zu einem schärferen Sehen beiträgt.

Fully Connected Layer

Doch zurück zum Convolutional Neural Network. Die Informationen sind nun also ausgelesen und liegen in einer Datenmenge vor, die zu bewältigen ist. Jedoch müssen sie noch ausgewertet werden. Dazu befindet sich am Ende des CNN eine weitere Schicht. Da diese mit allen Outputs der vorhergehenden Schichten verbunden ist, bezeichnet man sie als Fully Connected Layer. Diese Schicht hat in der Regel für jede Objektklasse, die das System unterscheiden kann, genau ein Neuron. Mithilfe mehrerer Rechenoperationen errechnet das System die Wahrscheinlichkeit, dass das vorliegende Bild zu einer dieser Objektklassen gehört.

Convolutional Neural Network in der Praxis

In der praktischen Anwendung spielen Convolutional Neural Networks heute schon in vielen Bereichen eine wichtige Rolle. Dies reicht von der Bilderkennung von Suchmaschinen bis zur maschinellen Übersetzung mit Sprachausgabe – und natürlich auch bis zum autonomen Fahren.

Convolutional Neural Networks in der Bilderkennung

Wegen ihrer Fähigkeit, komplexe Berechnungen schnell durchzuführen, kommen Convolutional Neural Networks in zahlreichen Anwendungsfeldern zum Einsatz, in denen Bilderkennung eine Rolle spielt. Dies sind längst nicht mehr nur klassische Anwendungen in der digitalen Bildbearbeitung. Die Fähigkeiten Convolutional Neural Networks gehen weit darüber hinaus. So können CNNs in der Radiologie Röntgenbilder analysieren und eine korrekte Diagnose erstellen. Auch Suchmaschinen verwenden diese Art von Netzwerken, um Bilder auszuwerten und mit bestimmten Suchbegriffen zu verknüpfen. Die Fehlerquote liegt dabei derzeit bei unter 0,3 %.

Erkennen CNNs auch Sprache?

Neben der Bilderkennung kommen Convolutional Neural Networks auch bei der Spracherkennung zum Einsatz. Sie können nicht nur Sätze klassifizieren, mit denen sie konfrontiert werden, sondern auch deren Syntax (Satzbau) analysieren und Antworten modellieren. Auch auf diesen Gebieten sind sie anderen Algorithmen weit überlegen. Somit spielen CNNs eine entscheidende Rolle bei der Interaktion zwischen Mensch und Maschine.

Convolutional Neural Networks und das autonome Fahren

Doch zurück zum autonomen Fahren. Denn insbesondere dieses wäre ohne CNNs undenkbar. Ein Auto oder Roboter, welche sich frei bewegen können, müssen Personen und Objekte in ihrer Umwelt zuverlässig und schnell erkennen können, um adäquat auf sie zu reagieren. Mithilfe von Convolutional Neural Networks können Maschinen und Roboter die Bilddaten ihrer Sensoren selbstständig klassifizieren und so ihre Umgebung aktiv wahrnehmen und einordnen. Dies ist eine Voraussetzung, um aktiv auf diese Umgebung reagieren zu können.

Ausblick: CNNs helfen, Fahrzeuge und Roboter autonom zu machen

CNNs spielen also eine Schlüsselrolle, wenn es darum geht, Fahrzeuge, Roboter und dergleichen wirklich autonom zu machen, denn nur durch eine merkliche Reduktion der Datenmenge kann die notwendige Rechenleistung so weit gesenkt werden, dass sie von den Rechnern eines Roboters in angemessener Zeit bewältigt werden kann. Gleichzeitig darf die Zuverlässigkeit der Bildklassifizierung aber nicht leiden. CNNs leisten genau das. Wenn wir also künftig Roboter sehen werden, die sich völlig autonom und dennoch absolut sicher durch eine hektische Werkhalle bewegen, ist dies die Leitung eines Convolutional Neural Networks. Wenn Sie mehr darüber erfahren möchten, was einen Autonomous Mobile Robot von einem Autonomous Guided Vehicle unterscheidet, lesen Sie unseren Artikel AGV vs. AMR!


Sie haben Fragen an uns?

Wir beraten Sie gerne zu den Möglichkeiten der Voll- oder Teilautomatisierung Ihrer Produktionsprozesse.

T +49 7267 9127-0

Zurück