JavaScript is required to use this site. Please enable JavaScript in your browser settings.

Kontakt

Graphic/bubble inlay

Maschinelles Lernen leicht gemacht!

Beginnen Sie noch heute mit dem Training Ihrer eigenen Machine-Learning-Modelle. Sie können asanAI in jedem beliebigen Browser verwenden – und die Nutzung ist völlig kostenlos!

Mehr erfahren

Bilderkennung

Die Bilderkennung ist eine von vielen Funktionen von asanAI. Bei Bildern ist der Erkennungsprozess etwas komplizierter als bei einfachen dichten Schichten. Eine Technik hat sich dabei als besonders erfolgreich erwiesen: die sogenannte Konvolution. Eine Konvolution ist eine Matrixoperation.

Wie Bilderkennung mit asanAI funktioniert

Nehmen wir an, wir haben die folgende Bildmatrix, die ein Bild kodiert.

Zahlen

Außerdem haben wir noch eine weitere Matrix mit kleinerer Dimension, die als Filter bezeichnet wird. Der Filter könnte wie folgt aussehen:

Zahlen

Anschließend verschieben wir diese Matrix über das Bild und multiplizieren die Teilmatrizen des Bildes mit dem Filter.

Zahlen

Dies ist die erste Teilmatrix, die wir betrachten:

Zahlen

Das tragen wir in die Ausgabematrix ein. Anschließend gehen wir zur nächsten 2×2-Submatrix (Filtergröße) über. Diese lautet:

Zahlen

Anschließend fahren wir mit demselben Filter fort. Dies wiederholen wir über das gesamte Bild hinweg. Mit diesen Filtern lassen sich bestimmte Strukturen im Bild erkennen. Bitte beachten Sie die Filtergröße und wie das Ergebnis einer Faltung erzeugt wird. Conv2d-Schichten funktionieren bei 2D-Bilddaten auf diese Weise. In einer Conv2d-Schicht können mehrere Filter vorhanden sein. Jeder Filter kann eine andere Art von Struktur erkennen. Die erste Schicht erkennt möglicherweise sehr einfache geometrische Merkmale, die zweite Schicht erkennt möglicherweise Merkmale, die sich aus den in der vorherigen Schicht erkannten Merkmalen zusammensetzen, und so weiter.

Nach jeder Schicht können wiederum Aktivierungsfunktionen folgen, die die Werte beispielsweise auf den Bereich zwischen 0 und 1 „komprimieren“ können. Je mehr Schichten und Filter Sie haben, desto komplexere Sachverhalte kann Ihr Netzwerk erkennen. Wenn Sie eine Klassifizierung durchführen möchten, müssen Sie nach einer Reihe von Kovolutionsschichten eine Abflachung vornehmen. Das bedeutet: Aus beliebigen Tensoren wird ein Vektor mit deren Werten erstellt.

Beispiel:

Zahlen
Zahlen

Anschließend können Sie die resultierenden Daten mithilfe von „Dense Layers“ (Dichte Schichten) klassifizieren. Eine mögliche Struktur wäre beispielsweise das „Network“-Netzwerk: 3 „Conv2d“-Schichten, gefolgt von einer „Flatten“-Schicht (Abflachung) und 2 „Dense Layers“ (Dichte Schichten). Der resultierende Ausgabevektor enthält 10 Werte, bei denen es sich jeweils um eine Wahrscheinlichkeit (berechnet mittels der SoftMax-Aktivierung) in Prozent handelt, mit der ein Zahlenbild eine bestimmte Zahl darstellt.

Zahlen

Trainieren Sie Ihr eigenes Netzwerk zur Bildklassifizierung

Wählen Sie den Problem type: „Image Classification“ (Bildklassifizierung). Bei einfachen Problemen können Sie zunächst das „Digit Classifier Network“ ausprobieren. Wählen Sie als „X&Y-Source“ („Quelle“) „Own“ und als „Data Type“ („Datentyp“) „Image“ (Bild). Es wird empfohlen, die Größe Ihrer Bilder anzupassen, bevor Sie sie in asanAI hochladen, da der Speicher begrenzt ist. Sie können dort Bilder hinzufügen und auf „Start Training“ klicken. Auf der Registerkarte „Predict“ können Sie sehen, wie Ihre Vorhersage aussieht. Wenn das Modell nicht das erkennt, was es erkennen soll, können Sie versuchen, am Anfang des Netzwerks weitere „Conv2d Layers“ oder Filter hinzuzufügen oder am Ende weitere „Dense Layers“. Nach dem Training können Sie auf „Settings“ (Einstellungen) und „Visualize Layer“ (Layer visualisieren) klicken. Dadurch wird die Eingabe berechnet, die ein einzelnes Neuron bzw. einen einzelnen Filter maximal anregt. Handelt es sich dabei um zufälliges Rauschen, hat der Filter nichts gelernt. Sind Muster erkennbar, sind es genau diese Muster, nach denen der Filter bei der Vorhersage sucht.

funded by:
Gefördert vom Bundesministerium für Bildung und Forschung.
Gefördert vom Freistaat Sachsen.