Convolutional Neural Networks – am Beispiel der Revolution der Computervision.

Convolutional Neural Networks helfen dabei, eine der anspruchsvollsten Aufgaben zu lösen: das maschinelle Sehen. Wie genau, wird hier erklärt...

In diesem Artikel erfahren Sie, wie Convolutional Neural Networks Maschinen dabei helfen, gesehene Informationen zu verstehen. Im Grunde genommen ahmen Maschinen dabei Prozesse des menschlichen Gehirns nach. Wir führen Sie durch die Entwicklungsstadien dieser Algorithmen und zeigen außerdem auf, wie Maschinen lernen, zu sehen.

Computervision, beziehungsweise maschinelles Sehen, war lange Zeit einer der anspruchsvollsten Entwicklungsbereiche von Künstlicher Intelligenz. In den letzten Jahren wurden hier jedoch große Fortschritte erzielt. Das Training von Maschinen, das ihnen die Fähigkeit zur Interpretation von Bildern vermitteln soll und darüber, was sie über Kamerasensoren „sehen“, ist kritisch für viele Anwendungsbereiche. Beispielsweise müssen autonome Systeme wie Autos oder andere Transportmittel ihre Umgebung wahrnehmen und interpretieren können, um sicher und sinnvoll eingesetzt werden zu können. Dank der Entwicklung von Convolutional Neural Networks konnte in den letzten Jahren ein Durchbruch erzielt werden. Aber von Anfang an…

#MaschinellesSehen ist eine der Schlüsselkompetenzen von intelligenten Systemen. #ConvolutionalNeuralNetworks lösen dieses Problem. Klick um zu Tweeten

Die drei Zutaten, die Maschinen das Sehen beizubringen: Algorithmen, Rechnergeschwindigkeit und (Big) Data.

Bedeutsam für die enormen Fortschritte im Bereich des maschinellen Sehens war die Mission von Fei-fei Li – einer Informatik-Professorin an der Stanford Universität. Sie wollte Computern etwas beizubringen, das Kindern ab etwa 3 Jahren möglich ist. Maschinen sollten den Sinn dessen verstehen, was sie auf Bildern „sehen“ und diesen auch benennen können. Computervision stellte zu diesem Zeitpunkt ein fast unlösbares Problem im Bereich der Forschung zu Artificial Intelligence dar. Li stellte dabei zunächst fest, dass drei Zutaten notwendig sind, um Computern das Sehen beibringen zu können:

  1. Die entsprechenden Algorithmen (Neural Networks)
  2. Eine ausreichende Rechnergeschwindigkeit
  3. Eine große Menge an Daten (vor allem Labled Data)

Wie sich herausstellte, waren überraschenderweise die Daten die größte Herausforderung. Neuronale Netze gibt es bereits seit den 50er Jahren. Methoden wie Backpropagation existieren seit den 80er Jahren und Convolutional Neural Networks seit den Neunzigern. Auch die entsprechende Rechenleistung war Mitte der 2000er kein wirkliches Problem mehr – wenngleich hier eine besondere Entwicklung eine Rolle spielte, die gleich noch näher beleuchtet wird. Obwohl es aber bereits den Hype rund um Big Data gab, lagen Daten lange Zeit nicht in der Form vor, dass Maschinen wirklich aus ihnen lernen können.

Beschreibung: TED Talk von Fei-fei Li, in dem sie von den Herausforderungen bei der Entwicklung von Computervision erzählt.

Gelabelte Daten helfen Maschinen dabei, Sehen zu lernen.

Damit Algorithmen, wie Convolutional Neural Networks, verstehen können, was auf Bildern zu sehen ist, benötigen sie Daten. Um genau zu sein, sehr viele Daten. Diese sind für den Lernvorgang notwendig in dem sie lernen können, Strukturen und Unterschiede zu verstehen. Beispielsweise benötigen Algorithmen eine große Menge von Bildern. Um beispielsweise Hunde von Katzen auf Bildern voneinander unterscheiden zu können benötigen sie eine Vielzahl an Bildern, von denen sie wissen, dass darauf Katzen zu sehen sind.

Daneben brauchen sie Bilder, von denen sie wissen, dass darauf beispielsweise Hunde zu sehen sind. Diese sog. „gelabelten Datensets“ können sie nun miteinander vergleichen, um auf diese Weise die strukturellen Unterschiede zwischen Katzen und Hunden zu identifizieren. Das Ziel dabei ist es, ein Netz so zu trainieren, dass es selbst auf Bildern, die es noch nicht zuvor gesehen hat, sicher Hunde und Katzen erkennen und unterscheiden kann.

Amazons Mechanical Turk stellt eine Methode dar, Daten zu labeln.

Die Frage lautete also, wie man an gelabelte Daten kommt, mit denen Covolutional Neural Networks trainiert werden konnten. Eine Methode zum Labeln von Data Sets ist Amazons Service mit dem Namen „Mechanical Turk“. Dieser Name geht auf eine Maschine, dem sogenannten „Schachtürken“ zurück – eine Maschine, von der behauptet wurde, sie könne jeden Menschen im Schach besiegen. Der Trick war allerdings, dass ein Zwerg im Inneren der Maschine saß und die Bewegungen mechanisch ausführte.

Beschreibung: Kupferstich eines „Schachtürken“ von Joseph Racknitz (1789) (Quelle: https://de.wikipedia.org/wiki/Schachtürke#/media/File:Racknitz_-_The_Turk_3.jpg)

Diese Idee ist letztlich auch die Grundlage für Amazons „Mechanical Turk“. Aufgaben, wie das Lablen von Data Sets, wird tatsächlich nicht von Maschinen, sondern letztlich von sehr vielen Menschen ausgeführt. Oft handelt es sich beispielsweise um Menschen in Indien, die im großen Stil Daten mit Labels ausstatten – wie beispielsweise Bilddaten mit dem Label „Hund“ oder „Katze“. Auch Fei-fei Lis Arbeit basierte auf der Mithilfe von tausenden von Menschen, die Millionen von Bildern mit Labels versahen.

Das Konzept des #Schachtürken ist über 300 Jahre alt. Es half aber dabei, Computern das Sehen beizubringen. #MechanicalTurk #ComputerVision. Klick um zu Tweeten

Shallow Networks.

Auf Basis dieser gelabelten Daten konnte dann der nächste Schritt erfolgen. Das Ziel bestand darin, die besten Algorithmen für diese Aufgabe zu finden. Die ersten erfolgreichen Kandidaten waren sog. Shallow Networks -eine spezielle Form von Deep Networks. Um das Jahr 2000 herum kam es zu einer weiteren Veränderung, die weitreichende Folgen im Rahmen der Entwicklung von Computervision hatte. Im Rahmen einer Competition von Nvidia wurde festgestellt, dass Deep Learning durch den Einsatz von CPUs und GPUs (Grafikchips)um einen Faktor von 100 bis 1000 verbessert werden konnte – diese besondere Entwicklung war maßgeblich an der Steigerung der Rechenleistung beteiligt. AlexNet war das erste erfolgreiche Modell, das genau dies versuchte. Der Erfolg war nichts geringeres als ein Quantensprung: Zum ersten Mal war es möglich, Deep Models zu verwenden. Wenige Jahre später etablierte sich VGG zum besten Modell.

Melden Sie sich zum

Data Navigator an.

Erhalten Sie tiefere Einblicke zu den Themen AI, Machine Learning und Deep Learning sowie Zugang zu exklusiven Whitepapern und Events.

Mit Abschicken des Formulars bestätigen Sie, dass Sie unsere Datenschutzerklärung zur Kenntnis genommen haben und Sie außerdem regelmäßig und jederzeit widerruflich weiterführende Informationen zu diesem Thema und den Services der Alexander Thamm GmbH als Newsletter erhalten möchten.

Trotz dieser ersten Erfolge lautete jedoch die Devise: „We need to go deeper“ – ein Zitat aus dem Film „Inception“ von Christopher Nolan, auf den tatsächlich auch der Name von Googles „InceptionNet“ von 2014 basierte. 2015 folgte auch Microsoft mit ResNet dieser Devise und seit diesem Zeitpunkt waren Maschinen in der Tat besser als Menschen bei der Lösung des , beispielsweise der Unterscheidung von Hunden und Katzen auf Bildern, des maschinellen Sehens. Hinter dem Erfolg stehen: Convolutonal Neural Networks.

Convolutional Neural Networks ermöglichen Maschinen, Bilder zu verstehen.

Einfach ausgedrückt sind Convolution Neural Networks Algorithmen, die Maschinen dazu befähigen, das zu verstehen, was sie sehen. Ein Künstliches Neuronales Netzwerk (KNN) ahmt dabei vereinfacht gesagt das nach, was im menschlichen Gehirn zwischen den einzelnen Neuronen passiert. KNNs basieren auf einer Form von Neuronen, also Knotenpunkten, die miteinander verknüpft sind. Analog zu neuronalen Verbindungen sind KNNs in einer bestimmten Anzahl von „Schichten“, also „Layers“ strukturiert.

Beschreibung: Vereinfachte Darstellung eines Künstlichen Neuronalen Netzwerks mit 2 Layers. (Quelle: https://de.wikipedia.org/wiki/Datei:Neuronal-Networks-Feedback.png)

Der Unterschied zwischen KNNs und Convolution Neural Networks– übersetzt lautet das etwa „faltendes“ neuronales Netzwerk – besteht darin, dass in Convolutional Neural Networks bestimmte Informationen in destillierter, „gefalteter“ Form verarbeitet werden. In dieser destillierten Form bekommt ein visuelles Bild, wie es für Menschen erscheint, eine neue Form, die für Maschinen verständlich ist. Mit anderen Worten ausgedrückt: es bekommt mehr Tiefe, bzw. mehr Schichten. Am Ende dieses Prozesses steht ein Ergebnis: ein Classifier, der es Maschinen ermöglicht, die Darstellungen auf Bildern zu erkennen.

Linktipp: Lesen Sie auch den Artikel von Elena Danchyshyna zum Thema „Visual Data Exploration“.

Convolutional Neural Networks werden in der Praxis u.a. zur Schadenserkennung nach Naturkatastrophen eingesetzt.

An einem einfachen Beispiel lässt sich die Praxisrelevanz von Convolutional Neural Networks demonstrieren. Nach Naturkatastrophen, wie etwa Hagelschäden, stehen Versicherer vor einer großen Herausforderung. Ihre Kunden benötigen so schnell wie möglich Hilfe, der Prozess aber, der notwendig ist, um Schäden festzustellen, ist langwierig. Mit Hilfe von Computervision lässt sich dieses Problem elegant lösen. Anstelle von Sachverständigen, die in die betroffenen Regionen fahren müssten, um die Schäden zu begutachten, werden Bilder der Schäden ausgewertet.

Mithilfe von Convolutional Neural Networks, die darauf trainiert sind, Häuser zu erkennen und die gelernt haben, beschädigte von intakten Dächern zu unterscheiden, kann innerhalb kurzer Zeit festgestellt werden, ob und wie stark eine bestimmte Region vom Hagelschaden betroffen ist. Eine Fülle von Fällen kann damit wesentlich schneller bearbeitet und nötige Hilfen schneller bereitgestellt werden. Dies ist nur eines von vielen möglichen Anwendungsbereichen, in denen Convolutional Neural Networks dabei helfen können, schnell und effektiv Lösungen bereit zu stellen. Was zur Revolution des maschinellen Sehens führte, ist heute ein Standard bei Data-Science-Projekten.

Sie möchten mehr über Convolutional Neural Networks oder maschinelles Sehen erfahren? Wir helfen gerne! Schreiben Sie uns.

Ich möchte Kontakt aufnehmen

 

 

Tags

top