Ein Convolutional Neural Network (CNN oder ConvNet, faltendes neuronales Netz) ist eine Netzwerkarchitektur für Deep Learning, die direkt anhand von Daten lernt.
CNNs sind besonders nützlich, um Muster in Bildern zu finden und Objekte, Klassen und Kategorien zu erkennen. Zudem können sie bei der Klassifizierung von Audio-, Zeitreihen- und Signaldaten sehr effektiv sein.
Ein Convolutional Neural Network (CNN oder ConvNet) ist eine Deep-Learning-Architektur, die direkt anhand von Daten lernt. Es ist besonders nützlich, um Muster in Bildern zu finden und Objekte, Klassen und Kategorien zu erkennen.
Faltungsschichten wenden Filter auf Trainingsbilder in verschiedenen Auflösungen an, wobei jeder Filter bestimmte Merkmale aus den Bildern aktiviert. Die Ausgabe jedes gefalteten Bildes wird als Eingabe für die nächste Schicht verwendet, beginnend mit einfachen Merkmalen wie Helligkeit und Kanten und fortschreitend zu komplexeren Merkmalen.
Rektifizierte lineare Einheit (ReLU) ermöglicht ein schnelleres und effektiveres Training, indem negative Werte auf null abgebildet und positive Werte beibehalten werden. Dadurch werden nur aktivierte Merkmale in die nächste Schicht weitergereicht.
Pooling vereinfacht die Ausgabe durch nichtlineares Downsampling und reduziert die Anzahl der Parameter, die das Netzwerk lernen muss.
Gemeinsame Gewichtungen und Biases bedeuten, dass alle versteckten Neuronen in einer Schicht dasselbe Merkmal in verschiedenen Bereichen des Bildes erkennen, wodurch das Netzwerk tolerant gegenüber Verschiebungen von Objekten wird (zum Beispiel Autos erkennen, egal wo sie im Bild erscheinen).
CNNs werden in der medizinischen Bildgebung zur Erkennung von Krebszellen, in der Audioverarbeitung zur Schlüsselworterkennung, in der Objekterkennung für autonomes Fahren und zur Erzeugung synthetischer Daten mithilfe von Generative Adversarial Networks (GANs) verwendet.
Verwenden Sie CNNs, wenn Sie große Mengen komplexer Daten haben, wie Bilder, oder wenn Sie mit Signal- oder Zeitreihendaten arbeiten, die vorverarbeitet wurden, um mit der Netzwerkstruktur zu funktionieren.
Transfer Learning nutzt ein vortrainiertes Netzwerk, um eine neue Aufgabe zu erlernen, und benötigt weniger Daten und Rechenressourcen als ein Training von Grund auf. Das vortrainierte Netzwerk hat bereits einen reichen Satz von Merkmalen gelernt, die an neue Objektklassifizierungsaufgaben angepasst werden können.