Deep Learning

Maschinelles Lernen: So werden Maschinen intelligent

Erfahren Sie, welche Arten von neuronalen Netzwerken es gibt, was Machine Learning ist und wie das Prinzip in Vision Systemen zum Einsatz kommt.

White Paper

Sind neuronale Netze die Zukunft für Machine Vision?

In unserem White Paper erklären Peter Behringer und Dr. Florian Hoppe die Grundlagen und das Training von neuronalen Netzen. Sie veranschaulichen die nötigen Vorbereitungen und erläutern die Schritte zum Aufbau eines neuronalen Netzes.

  • Der Prozess der CNN-Entwicklung

  • Übertragung von Wissen (Transfer Learning)

  • Prozessoren für CNNs

Wie lernen Maschinen und neuronale Netzwerke?

VC // How Do Machines Learn?

„Computer können Entscheidungen und Vorhersagen treffen, ohne programmiert zu werden“. Diese Aussage mag für Laien wie eine futuristische Idee klingen, ist im Unternehmensalltag aber schon längst Gang und Gebe und auch im privaten Sektor lassen sich einige Anwendungsbeispiele finden. Schließlich weiß Ihr Streaming-Anbieter des Vertrauens stets, welche Serien, Filme oder Musik für Sie am besten in Frage kommen.

Hinter diesem System steckt ein neuronales Netzwerk, das durch Ihr Nutzungsverhalten trainiert wird. Nach diesem Prinzip funktioniert jedes neuronale Netzwerk, das im Rahmen von maschinellem Lernen trainiert wurde – sei es für den privaten TV-Konsum oder ein hochkomplexes Vision System:

Dem Computer wird eine große Datenmenge zur Verfügung gestellt, der Input. Anhand dieser Trainingsdaten lernt die Maschine stetig dazu und bildet nach und nach ein neuronales Netzwerk. Hier findet dann die Verarbeitung der Daten statt, um einen adäquaten Output zu liefern. 

Welche Arten von Trainingsdaten gibt es?

Während sich an dieser Reihenfolge nichts ändert, gibt es jedoch verschiedene Möglichkeiten, wie der Umgang mit den Trainingsdaten ablaufen kann:

  1. Überwachtes Lernen: Der Algorithmus erhält sowohl die Fragestellungen als auch die zugehörigen Antworten. Diese Daten werden gelernt, sodass neue Fragestellungen nur korrekt zugeordnet werden müssen.  

  2. Unüberwachtes Lernen: Der Algorithmus erhält nur Fragestellungen und lernt, aus den Daten Muster und Strukturen zu erkennen. Durch das richtige Gruppieren der Daten können dann z.B. Clusteranalysen durchgeführt werden.  

  3. Bestärkendes Lernen: Das System interagiert mit der Umwelt, um durch falsches oder richtiges Handeln die optimale Aktion zu erlernen. Falsches Handeln wird bestraft, während richtig ausgeführte Aktionen bestärkt werden.  

Da das neuronale Netzwerk der Kern des Algorithmus ist und erheblich zum Erfolg des Systems beiträgt, ist das Training des Netzwerks von sehr hoher Bedeutung. Nicht umsonst haben große Konzerne wie Google, Microsoft oder IBM immense Summen in die Entwicklung von maschinellem Lernen und die Erstellung von Datenbanken investiert. Google hat die eigene Datenbank TensorFlow sogar als Open-Source bereitgestellt wodurch die Datenbank nicht nur öffentlich zugänglich, sondern auch stetig weiterentwickelt wird.

Neuronale Netzwerke im Fokus

Ein neuronales Netzwerk ist ein hochkomplexes Gebilde und soll den Strukturen unseres Gehirns nahekommen. Durch viel Training mit großen Datenmengen bilden sich im Netzwerk immer mehr Verbindungen, sodass der Algorithmus immer besser darin wird, die gewünschten Aufgaben auszuführen. Je nach Einsatzgebiet variieren die Aufgaben und somit auch die Ansprüche an ein neuronales Netzwerk. 

Deep Neural Networks: DNN

Deep Neural Networks: DNN

Neuronale Netzwerke, die aus mehreren Schichten bestehen, nennt man auch DNNs und fallen unter den Begriff Deep Learning. Es gibt immer eine Eingabeschicht, mehrere versteckte Schichten und eine Ausgabeschicht. Die versteckten Schichten lernen voneinander und verwenden stets den Output, den sie von der vorherigen Schicht erhalten haben. Dadurch können DNNs komplexe Muster und Zusammenhänge erkennen, benötigen aber im Gegenzug eine große Datenmenge um qualitativ hochwertige Ergebnisse zu liefern. Durch die vielen versteckten Schichten ist die Interpretation des Outputs häufig kompliziert, da der Lösungsweg nicht transparent ist. Dennoch sind DNNs dank ihrer Fähigkeit, auch komplexe Zusammenhänge zu verstehen und mit großen Datenmengen zurechtzukommen, eine beliebte Wahl zur Klassifizierung oder Mustererkennung.  

 

Convolutional Neural Network: CNN

Convolutional Neural Network: CNN 

Diese Methode kommt bei der Bildverarbeitung und -interpretation zum Einsatz, da sie besonders gut räumliche Merkmale erkennen und auswerten können. Somit können dank dieser Art des maschinellen Lernens Bilder sowohl in 3D als auch in 2D interpretiert werden. Wie auch DNNs verfügen sie über mehrere Schichten in denen die Bilder auf Pixel-Ebene ausgewertet werden. In der Convolution-Schicht sucht das Netzwerk nach Übereinstimmungen bei Formen und Mustern in den Pixeln. Darauf folgt stets eine Pooling-Schicht, die das Bild nochmal vereinfacht, wodurch nur die wichtigsten Bildbestandteile erhalten bleiben. Diese Schichten wiederholen sich, sodass das Ergebnis immer genauer wird. In Ausgabeschicht entscheidet das CNN dann, was für ein Objekt gerade „gesehen“ wurde. Auch CNNs müssen mit großen Datenmengen an Bildern gefüttert werden, um korrekte Ergebnisse zu liefern.

Generative Adversarial Network: GAN

Generative Adversarial Network: GAN 

Bei dieser Art von maschinellem Lernen kann man wirklich davon sprechen, dass die Netzwerke eigenständig lernen. Die Daten kommen nämlich nicht von einer Datenbank, sondern werden über einen „Wettstreit“ zweier Netzwerke generiert. Es gibt stets ein Generator- und ein Diskriminator-Netzwerk. Der Generator liefert echte Beispiele und generierte Beispiele, die das Diskriminator-Netzwerk einschätzen und unterscheiden muss. Mit jedem Durchlauf werden beide Netzwerke besser und lernen voneinander. Am Ende ist es für den Generator möglich, sehr realistische Beispiele zu generieren. Bei GANs liegt der Fokus nicht auf der Interpretation, sondern auf der Generierung von Daten, was diese Art von Netzwerk von CNNs und DNNs unterscheidet.

Ohne maschinelles Lernen würden wir Menschen bei der Interpretation von Daten an unsere Grenzen kommen. Um den stetig wachsenden Datensätzen gerecht zu werden, übernehmen neuronale Netzwerke in vielen Branchen die Auswertung und Interpretation für uns, zum Beispiel:

  • für die Objekt- und Bilderkennung in Robotern 

  • bei der biometrischen Gesichtserkennung für Überwachungssysteme  

  • in Warnsystemen für autonomes Fahren  

  • bei automatisierten Übersetzungstools  

  • im Bereich der Lagerautomatisierung.

Auf die Frage „Was ist machine learning?“ können wir also eher antworten: Was ist es nicht? Schließlich sind die Themen KI und maschinelles Lernen schon in fast allen Sektoren unserer Gesellschaft allgegenwärtig – so auch in Ihrem Vision System. Lassen Sie sich von uns beraten und erfahren Sie in einem persönlichen Gespräch mehr darüber, wie wir bei Basler von den Methoden des Machine Learnings profitieren.  

Unsere Produkte für Machine Learning

Wie können wir Sie unterstützen?

Wir beraten Sie gerne bei der Produktauswahl und finden die richtige Lösung für Ihre Anwendung.