AI

Wie funktionieren Convolutional Neural Networks?

2 Min. Lesezeit
Dienstag, 12. Jänner 2021

In meinem letzten Blog-Beitrag habe ich über einen Forbes-Artikel geschrieben, der sich mit "The next Generation of AI" beschäftigt. 

Neben Unsupervised und Federated Learning werden auch Transformers als Game Changer im Bereich von Machine Learning genannt. Nachdem Transformers schon Natural Language Processing (NLP) - also Techniken und Methoden zur maschinellen Verarbeitung natürlicher Sprache - revolutioniert haben, wurde vor ein paar Monaten nun auch von Google AI ein Artikel über Transformers für Bilder veröffentlicht.

Diese neuen Trends in der Forschung rund um Bildverarbeitung sind sehr spannend und ich freue mich, dass es immer mehr Werkzeuge gibt, die zur Lösungsfindung eingesetzt werden können.  Da jedoch Transformers derzeit noch enorme Datenmengen (14M-300M Bilder) benötigen, und es bis zur „Alltagstauglichkeit“ noch ein wenig dauern wird, möchte ich in diesem Blogpost auf Convolutional Neural Networks (CNNs) eingehen und ein paar Machine Learning Begriffe anhand eines intuitiven Beispiels erklären.

Convolutional Neural Networks – Was sind sie und was machen sie?
CNNs sind neuronale Netze, welche anhand von Daten lernen, Aufgaben zu lösen wie bspw. Bilder zu klassifizieren und Objekte grob oder auf Pixelebene zu erkennen. Eingesetzt werden sie im Produktionsumfeld beispielsweise zur automatisierten Qualitätssicherung.
Stellen Sie sich vor, Sie bekommen ein Bild eines Produktes und müssen die Entscheidung treffen, ob das Produkt qualitativ einwandfrei ist. In diesem Fall nehmen Sie die Rolle eines Machine Learning Modelles (bspw. eines CNNs) ein, das sich einer Klassifikationsaufgabe stellen muss.

Grundlage Ihrer Entscheidung (Outputs des Modells) sind die Bilder der Produkte (Inputs für das Modell). Als ersten Schritt werden Sie wohl einmal in das Bild reinzoomen, um auch vermeintliche kleine Kratzer aufzuspüren, dabei sehen Sie sich immer nur kleine Ausschnitte des gesamten Bildes an und scrollen so durch das gesamte Bild. In diesem Fall betrachten Sie die Bilder (Inputs) ebenso wie ein CNN.
CNNs verarbeiten ebenfalls nur kleine Bildausschnitte, indem sie sogenannte Convolutional Filter auf diese Bildteile anwenden um bspw. Kanten, Ecken und Rundungen zu erkennen.

Die Informationen (Aktivierungen des Modells), die Sie über die einzelnen Ausschnitte gesammelt haben, helfen Ihnen, die Entscheidung über die Qualität (Output des Modells) des Produktes zu treffen.  Die Aktivierungen, die CNNs erhalten, indem sie Convolutional Filter anwenden, werden schrittweise weiterverarbeitet, sodass schlussendlich die gesammelten Informationen zu einem Output führen.
Im Gegensatz zum Menschen fehlt diesen Modellen jedoch das grundsätzliche Verständnis, dass Kratzer Qualitätsmängel darstellen und wie Kratzer in etwa aussehen. Daher muss dieses Grundverständnis (die richtigen Convolutional Filter) zuerst anhand von Daten gelernt werden. Ähnlich wie bei einem Kind, dem man im Bilderbuch das Bild eines Balles zeigt, um ihm diesen Begriff zu lernen, zeigen wir Data Scientisten unseren Modellen Bildern von Kratzern.

Erst wenn ein Kind viele verschieden Bälle gesehen hat und darüber hinaus auch gelernt hat, was kein Ball ist, kann es diesen Begriff begreifen und zuordnen.  Unseren Modellen geht es ebenso: Erst mit den verschiedenen Bildern von Kratzern und auch von einwandfreien Produkten kann ein Modell ein generelles Verständnis bilden (die richtigen Convolutional Filter werden gelernt) und so auch neue Kratzer richtig erkennen (Generalisierung). Wie wir aus unserer Schulzeit noch wissen, wird Erlerntes auch abgeprüft. Um zu erkennen, ob ein Modell auch wirklich die richtigen Konzepte gelernt und nicht nur die gesehenen Bilder abgespeichert hat (Overfitting), verwenden wir Bilder, die nicht Teil des Trainings waren (Test Set). So erkennen wir, wie gut unser Modell auch mit neuen Daten funktioniert.

In unserem Webinar am 28.01.21 werden wir neben KI in der Bildverarbeitung noch andere spannende Themen rund um Internet of Things (IoT) und Data Science genauer erklären und anhand von praktischen Use Cases einige Anwendungsszenarien aufzeigen.