Ein Convolutional Neural Network (CNN) ist eine Art künstliches neuronales Netzwerk, das speziell für die Analyse visueller Daten entwickelt wurde. CNNs sind von unserem visuellen System inspiriert und lernen, die Welt zu „sehen“, indem sie Muster in visuellen Daten erkennen. Die Stärke des Modells liegt aber nicht nur in der Bilderkennung, sondern auch in der Mustererkennung in beliebigen Daten mit einer rasterartigen Struktur, von Audiospektrogrammen bis hin zu medizinischen 3D-Scans.
CNNs verarbeiten Eingabebilder, indem sie sie durch mehrere Ebenen leiten. Die ersten Ebenen identifizieren einfache Merkmale wie Kanten und Linien, während tiefere Ebenen komplexere Muster, Formen und schließlich ganze Objekte erkennen. Diese Methode zur hierarchischen Extraktion von Merkmalen macht CNNs so effektiv für die Bilderkennung und andere Computer-Vision-Aufgaben.
Stellen Sie sich ein CNN wie ein Team von Spezialisten vor, die ein Foto analysieren, um ein Objekt zu identifizieren. Jede Ebene hat eine bestimmte Aufgabe in einer Art Erkennungs-Fließband.
1. Convolutional Layer: die Feature-Scanner
Das ist die erste Gruppe von Spezialisten. Jeder bekommt eine einfache Aufgabe: Er soll nach einer bestimmten Eigenschaft suchen, zum Beispiel einer geraden Kante, einer Kurve oder einer bestimmten Farbe. Sie schieben eine kleine Lupe (den „Filter“) über das gesamte Bild und machen sich jedes Mal eine Notiz, wenn sie das ihnen zugewiesene Feature finden. So werden eine Reihe von „Feature Maps“ erstellt, die im Wesentlichen Karten sind, auf denen die grundlegenden Features verortet sind.
2. Aktivierungsebene (ReLU): der Signifikanzfilter
Nach dem ersten Scan überprüft ein Administrator (die ReLU-Funktion) die Merkmalskarten. Seine Aufgabe ist einfach: Starke Signale behalten und schwache verwerfen. Sie führt Nichtlinearität ein und sorgt dafür, dass nur die wichtigsten, eindeutig identifizierten Merkmale zur weiteren Analyse weitergegeben werden. So wird verhindert, dass der Prozess durch Rauschen beeinträchtigt wird.
3. Pooling-Ebene: die Zusammenfasser
Die Pooling-Ebene fungiert wie ein Regionalmanager. Anstatt sich jedes einzelne Detail anzusehen, fasst die Pooling-Ebene die Ergebnisse aus kleinen Bereichen der Merkmalskarte zusammen. Eine „Max-Pooling“-Ebene betrachtet beispielsweise einen 2x2-Bereich einer Merkmalskarte und meldet nur das stärkste Signal. Dadurch wird die Gesamtgröße der Daten reduziert, das Netzwerk wird effizienter und kann ein Objekt erkennen, egal wo es im Frame erscheint (ein Konzept, das als „Translationsinvarianz“ bezeichnet wird).
4. Vollständig verbundene Ebene: der Chefdetektiv
Nach mehreren Runden des Scannens und Zusammenfassens werden die endgültigen Merkmalsberichte an den Chefdetektiv weitergegeben. Diese Ebene betrachtet die Kombination von Merkmalen auf hoher Ebene („hat Schnurrhaare“, „hat spitze Ohren“, „hat Fell“) und trifft die endgültige Entscheidung. Sie verknüpft alle zusammengefassten Ergebnisse, um eine Schlussfolgerung zu ziehen, zum Beispiel: „Auf der Grundlage aller Beweise ist das Objekt auf diesem Bild eine Katze.“ Das Ergebnis wird dann an eine letzte Ausgabeschicht (wie Softmax) weitergeleitet, die eine Wahrscheinlichkeit für jede mögliche Klassifizierung angibt.
Sowohl Convolutional Neural Networks als auch herkömmliche neuronale Netzwerke sind für die Verarbeitung von Daten und die Erstellung von Vorhersagen konzipiert, unterscheiden sich jedoch erheblich in ihrer Architektur, Anwendung und anderen wichtigen Merkmalen.
Feature | Convolutional Neural Networks (CNNs) | Traditionelle neuronale Netzwerke |
Kernarchitektur | Besteht aus Faltungsebenen, Aktivierungsebenen, Pooling-Ebenen und vollständig verbundenen Ebenen. | Besteht hauptsächlich aus vollständig verbundenen (dichten) Ebenen. |
Datentyp der Eingabe | Am besten geeignet für strukturierte, rasterartige Daten (z. B. Bilder, Videos, 1D-Sequenzen wie Text). | Flexibel für verschiedene Datentypen, in der Regel tabellarische Daten oder reduzierte Vektoren. |
Extraktion von Merkmalen | Hierarchische Features (Kanten, Texturen, Formen) werden durch Filter automatisch gelernt. | Lernt Features über direkte Verbindungen, oft weniger effektiv beim Lernen räumlicher Features. |
Räumliche Beziehungen | Räumliche Beziehungen werden explizit beibehalten und genutzt (z. B. die Nachbarschaft von Pixeln in Bildern). | Jedes Eingabemerkmal wird unabhängig behandelt. Räumliche Beziehungen gehen verloren, wenn die Eingabe vereinfacht wird. |
Parameterfreigabe | Ja, Gewichte (Filter/Kernel) werden an verschiedenen Stellen der Eingabe gemeinsam genutzt. | Nein, jede Verbindung hat ihr eigenes Gewicht. |
Anzahl der Parameter | Im Allgemeinen weniger Parameter aufgrund von Gewichtsteilung und Pooling, insbesondere bei hochdimensionalen Eingaben wie Bildern. | Kann eine sehr große Anzahl von Parametern haben, insbesondere bei hochdimensionalen Eingaben. |
Translationsinvarianz | Sie sind von Natur aus gut darin, Merkmale zu erkennen, unabhängig von ihrer genauen Position in den Eingabedaten. | Reagieren empfindlicher auf Änderungen bei den Eingabemerkmalen, es sei denn, sie wurden explizit mit augmentierten Daten trainiert. |
Recheneffizienz | Effizienter für Bild-/Raumdaten aufgrund reduzierter Parameter und spezialisierter Operationen. | Kann bei hochdimensionalen Eingaben aufgrund der dichten Verbindungen rechenintensiv sein. |
Primäre Anwendungen | Bildklassifizierung, Objekterkennung, Bildsegmentierung, Videoanalyse, medizinische Bildgebung, einige NLP-Aufgaben. | Klassifizierung/Regression tabellarischer Daten, einfache Mustererkennung, Funktionsapproximation, einige NLP-Anwendungen. |
Wichtigste Vorteile | Hervorragend für visuelle Daten geeignet, lernt hierarchische Features, Translationsinvarianz, reduzierte Parameter, weniger anfällig für Überanpassung bei Bilddaten. | Flexibel für verschiedene Datentypen, gut für nicht-räumliche tabellarische Daten, für grundlegende Aufgaben konzeptionell einfacher zu verstehen. |
Wichtigste Einschränkungen | Die Entwicklung kann komplex sein, in der Regel sind große Datasets für das Training erforderlich, weniger effektiv für nicht-räumliche tabellarische Daten. | Nicht ideal für hochdimensionale räumliche Daten, ignoriert räumliche Beziehungen, neigt bei vielen Parametern zu Überanpassung bei komplexen Eingaben. |
Feature
Convolutional Neural Networks (CNNs)
Traditionelle neuronale Netzwerke
Kernarchitektur
Besteht aus Faltungsebenen, Aktivierungsebenen, Pooling-Ebenen und vollständig verbundenen Ebenen.
Besteht hauptsächlich aus vollständig verbundenen (dichten) Ebenen.
Datentyp der Eingabe
Am besten geeignet für strukturierte, rasterartige Daten (z. B. Bilder, Videos, 1D-Sequenzen wie Text).
Flexibel für verschiedene Datentypen, in der Regel tabellarische Daten oder reduzierte Vektoren.
Extraktion von Merkmalen
Hierarchische Features (Kanten, Texturen, Formen) werden durch Filter automatisch gelernt.
Lernt Features über direkte Verbindungen, oft weniger effektiv beim Lernen räumlicher Features.
Räumliche Beziehungen
Räumliche Beziehungen werden explizit beibehalten und genutzt (z. B. die Nachbarschaft von Pixeln in Bildern).
Jedes Eingabemerkmal wird unabhängig behandelt. Räumliche Beziehungen gehen verloren, wenn die Eingabe vereinfacht wird.
Parameterfreigabe
Ja, Gewichte (Filter/Kernel) werden an verschiedenen Stellen der Eingabe gemeinsam genutzt.
Nein, jede Verbindung hat ihr eigenes Gewicht.
Anzahl der Parameter
Im Allgemeinen weniger Parameter aufgrund von Gewichtsteilung und Pooling, insbesondere bei hochdimensionalen Eingaben wie Bildern.
Kann eine sehr große Anzahl von Parametern haben, insbesondere bei hochdimensionalen Eingaben.
Translationsinvarianz
Sie sind von Natur aus gut darin, Merkmale zu erkennen, unabhängig von ihrer genauen Position in den Eingabedaten.
Reagieren empfindlicher auf Änderungen bei den Eingabemerkmalen, es sei denn, sie wurden explizit mit augmentierten Daten trainiert.
Recheneffizienz
Effizienter für Bild-/Raumdaten aufgrund reduzierter Parameter und spezialisierter Operationen.
Kann bei hochdimensionalen Eingaben aufgrund der dichten Verbindungen rechenintensiv sein.
Primäre Anwendungen
Bildklassifizierung, Objekterkennung, Bildsegmentierung, Videoanalyse, medizinische Bildgebung, einige NLP-Aufgaben.
Klassifizierung/Regression tabellarischer Daten, einfache Mustererkennung, Funktionsapproximation, einige NLP-Anwendungen.
Wichtigste Vorteile
Hervorragend für visuelle Daten geeignet, lernt hierarchische Features, Translationsinvarianz, reduzierte Parameter, weniger anfällig für Überanpassung bei Bilddaten.
Flexibel für verschiedene Datentypen, gut für nicht-räumliche tabellarische Daten, für grundlegende Aufgaben konzeptionell einfacher zu verstehen.
Wichtigste Einschränkungen
Die Entwicklung kann komplex sein, in der Regel sind große Datasets für das Training erforderlich, weniger effektiv für nicht-räumliche tabellarische Daten.
Nicht ideal für hochdimensionale räumliche Daten, ignoriert räumliche Beziehungen, neigt bei vielen Parametern zu Überanpassung bei komplexen Eingaben.
CNNs haben die Bildverarbeitung revolutioniert und ermöglichen es Maschinen, Bilder präzise zu „sehen“ und zu verstehen. Ihre Fähigkeit, hierarchische Darstellungen visueller Daten zu lernen, hat zu großen Fortschritten bei verschiedenen Computer-Vision-Aufgaben geführt, darunter:
Die Bildklassifizierung ist eine zentrale Aufgabe im Bereich Computer Vision. Dabei wird ein Bild anhand seines Inhalts mit einem Label versehen. CNNs eignen sich hervorragend dafür und erzielen Spitzenergebnisse bei Datasets wie ImageNet. Da sie komplexe Merkmale aus Rohpixeldaten lernen können, sind sie sehr effektiv bei der Erkennung von Objekten, Szenen und sogar Emotionen in Bildern.
Die Objekterkennung geht über die Klassifizierung hinaus, indem sie Objekte in einem Bild identifiziert und ihre Positionen genau bestimmt. CNNs sind für Algorithmen zur Objekterkennung unerlässlich. Sie ermöglichen Anwendungen wie selbstfahrenden Autos, ihre Umgebung wahrzunehmen, Robotern, sich in komplexen Umgebungen zurechtzufinden, und Sicherheitssystemen, Bedrohungen zu erkennen.
Die Anwendungsbereiche von CNNs gehen weit über bildbezogene Aufgaben hinaus. Ihre Fähigkeit, räumliche Hierarchien von Merkmalen zu lernen, macht sie in verschiedenen Bereichen wertvoll, darunter:
Google Cloud bietet ein vollständiges Ökosystem für die Anwendung von CNNs – egal, ob Sie eine fertige Lösung oder eine leistungsstarke Plattform für die Entwicklung eigener Lösungen benötigen.
Für vortrainierte Bildverarbeitungsfunktionen: Wenn Sie Ihrer App leistungsstarke Bildverarbeitungsfunktionen hinzufügen möchten, ohne ein Modell von Grund auf neu zu erstellen, bieten Dienste wie Vision AI über eine einfache API Zugriff auf CNN-basierte Modelle für Aufgaben wie Objekterkennung und Texterkennung. Document AI verwendet ebenfalls CNNs, um Daten aus komplexen Dokumenten zu verstehen und zu extrahieren.
Für das Erstellen, Trainieren und Bereitstellen benutzerdefinierter Modelle: Wenn Sie ein CNN mit Ihren eigenen Daten trainieren müssen, bietet Vertex AI eine einheitliche Plattform. Sie verwaltet den gesamten ML-Lebenszyklus, von der Datenvorbereitung und dem Training bis hin zur Bereitstellung und Überwachung Ihrer benutzerdefinierten CNN-Modelle in großem Maßstab.
Für ein schnelleres Training mit hoher Leistung: Das Training großer, hochmoderner CNNs ist rechenintensiv. Cloud TPUs sind speziell entwickelte Hardwarebeschleuniger von Google, die das Training von Deep-Learning-Modellen beschleunigen und so Innovationen fördern.
Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“-Produkte kennenzulernen.