Das Zeitalter der modernen künstlichen Intelligenz ist durch mehrere bahnbrechende Erfindungen gekennzeichnet, eine davon sind die Convolutional Neural Networks (ConvNets oder CNNs). CNNs sind eine Klasse tiefer, vorwärtsgerichteter künstlicher neuronaler Netzwerke, die am häufigsten zur Analyse visueller Bilder eingesetzt werden, obwohl ihre Anwendungen, wie wir später erfahren werden, auch auf mehrere andere Bereiche ausgedehnt wurden. Ein Convolutional Neural Network besteht aus einer Eingabeschicht, einer Ausgabeschicht und mehreren verborgenen Schichten.
In diesem Artikel behandeln wir:
- Entstehung von Convolutional Neural Networks
- Einführung in LeNet
- Die Faltungsschicht
- Die kambrische Explosion
- Die ImageNet-Herausforderung
- Die Encoder-Decoder-Architekturen
- Nachgelagerte Computer Vision-Aufgaben
- Objekterkennung
- ConvNets in anderen Domänen
- Das Aufkommen der Transformers
- Die zentralen Thesen
Genesis
Die Entstehung von Convolutional Neural Network geht auf ein Problem im Bereich der Computervision zurück : die MNIST- Aufgabe zur Ziffernklassifizierung. Die Aufgabe bestand darin, handgeschriebene Ziffern von 0 bis 9 zu klassifizieren, ein Problem, das menschlichen Beobachtern trivial erscheinen mag, für die damaligen Computermodelle jedoch eine Herausforderung darstellte. Zur Lösung dieses Problems wurden zunächst Feedforward Neural Networks (FFNNs) oder Multilayer Perceptrons (MLPs) eingesetzt. FFNNs, die aus allen dichten Schichten bestehen, verbinden jedes Neuron einer Schicht mit jedem Neuron der nächsten Schicht und bilden so ein dicht verbundenes Netzwerk. Die Genauigkeit, die FFNNs erreichen konnten, war jedoch begrenzt, hauptsächlich aufgrund ihrer Unfähigkeit, räumliche Hierarchien zu erfassen, und der hohen Dimensionalität der Bilddaten.
LeNet als Heilmittel
Faltungsneuronale Netze wurden zum bahnbrechenden Konzept, das von Yann LeCun vorgeschlagen wurde. In seiner bahnbrechenden Arbeit in den 1990er Jahren schlug LeCun eine neue Architektur namens LeNet-5 vor , die Faltungsschichten anwendete, um das hierarchische Muster in Daten zu verstehen, was eine deutliche Abkehr von FCLs darstellte. Sie wurde mit mehreren Schlüsselideen im Hinterkopf entwickelt, darunter:
- Lokale rezeptive Felder: In herkömmlichen neuronalen Netzwerken ist jedes Neuron einer Schicht mit jedem Neuron der vorherigen Schicht verbunden. Dies führt zu einer sehr hohen Anzahl von Parametern und kann zu Überanpassung führen. In LeNet ist jedes Neuron einer Schicht nur mit einem kleinen Bereich der vorherigen Schicht verbunden. Dies reduziert die Anzahl der Parameter und ermöglicht es dem Netzwerk, lokale Merkmale zu erlernen, die für die jeweilige Aufgabe nützlich sind.
- Gewichtsverteilung: In LeNet hat jedes Neuron in einer bestimmten Feature-Map die gleichen Gewichte wie alle anderen Neuronen in dieser Feature-Map. Diese Gewichtsverteilung reduziert die Anzahl der Parameter noch weiter und ermutigt das Netzwerk, Features zu lernen, die gegenüber kleinen Übersetzungen der Eingabe invariant sind.
- Subsampling: In LeNet werden Subsampling-Ebenen verwendet, um die räumliche Größe der Feature-Maps zu reduzieren und gleichzeitig wichtige Informationen beizubehalten. Dies reduziert den Rechenaufwand des Netzwerks und hilft, Überanpassung zu vermeiden.
- Faltungsschichten: Der Kernbaustein eines Faltungsneuronalen Netzwerks ist die Faltungsschicht. Durch die Verwendung einer Faltungsschicht kann das Netzwerk räumlich invariante Merkmale erlernen, die für die jeweilige Aufgabe nützlich sind. Dies ist insbesondere für Deep-Learning-Aufgaben wie die Erkennung handschriftlicher Ziffern wichtig, bei denen die Position der Ziffer im Bild variieren kann.
Die LeNet-Architektur besteht aus zwei Convolutional-Schichten, zwei Subsampling-Schichten (Max-Pooling-Schicht) und drei vollständig verbundenen Schichten. Insgesamt demonstriert die LeNet-Architektur die Leistungsfähigkeit von Convolutional Neural Networks für Bilderkennungsaufgaben und wie sie den Weg für viele nachfolgende Entwicklungen bei Deep-Learning-Algorithmen ebnete.
Die Faltungsschicht
Betrachten wir ein Eingabebild mit Höhe H , Breite W und C Kanälen (ein RGB-Bild hat beispielsweise 3 Kanäle). Wir haben auch einen Satz von K lernbaren Filtern (Kerneln), wobei jeder Filter eine Höhe, Breite und Kanäle hat. Die Kanäle sind normalerweise viel größer als die eingegebene Anzahl von Kanälen, und die Höhe und Breite des Filters sind deutlich niedriger als die räumliche Auflösung der Eingabe.
Die 2D-Faltungsoperation nimmt jeden Filter und schiebt ihn über das Eingabebild. An jeder Position führt sie eine elementweise Multiplikation zwischen dem Filter und den entsprechenden Eingabebildpixeln durch und summiert dann die resultierenden Werte, um einen einzelnen Ausgabewert zu erzeugen. Diese Operation entspricht einer Matrixmultiplikationsoperation mit einem Gewicht der Matrix, das aus den wiederholten Werten des Kernels erstellt wird, was sie einer vollständig verbundenen Schicht mit Gewichtsteilung gleichstellt. Es ist auch wichtig zu beachten, dass die Pixelwerte eines Eingabebilds in teilweise verbundenen Schichten nicht genau mit der Ausgabeschicht verbunden sind.
Um die Ausgabe-Feature-Map für alle Filter zu berechnen, müssen wir die Faltungsoperation K-mal durchführen, einmal für jeden Filter. Die Ausgabe-Feature-Map wird dann durch Stapeln der Feature-Maps entlang der Tiefenachse erhalten. Es ist erwähnenswert, dass die Größe der Ausgabe-Feature-Map durch die Größe des Eingabebilds, die Größe des Filters, die Schrittweite und die Polsterung bestimmt wird.
Die kambrische Explosion
Die kambrische Explosion bezeichnet eine Zeit der raschen Diversifizierung des Lebens auf der Erde, die vor etwa 541 Millionen Jahren stattfand. In den letzten Jahrzehnten hat Deep Learning erhebliche Fortschritte gemacht. Das Ergebnis ist ein riesiger Zoo von Deep-Learning-Modellen, die eine Vielzahl von Aufgaben lösen können, die zuvor für autonome Agenten unerreichbar waren.
Insbesondere die Entwicklung tiefer neuronaler Netzwerke hat zu Durchbrüchen in einer Vielzahl von Anwendungen und Algorithmen des maschinellen Lernens geführt, darunter Bilderkennung, Spracherkennung, Verarbeitung natürlicher Sprache und Spiele. Der Erfolg des LeNet auf dem MNIST-Datensatz war der Auslöser für diesen enormen Boom, der mehrere Jahrzehnte anhielt, aber es gab auch andere Faktoren, die den Prozess katalysierten, wie zum Beispiel:
- Erhöhte Datenverfügbarkeit: Mit der Verbreitung digitaler Geräte und dem Wachstum des Internets hat die Menge an Trainingsdaten, die für Modelle des maschinellen Lernens verfügbar sind, massiv zugenommen.
- Fortschritte bei der Hardware: Die Entwicklung von Grafikprozessoren (GPUs) und anderer Spezialhardware hat es möglich gemacht, tiefe neuronale Netzwerke effizienter zu trainieren als dies bisher möglich war.
- Entwicklung neuer Algorithmen: Forscher haben neue Techniken zum Trainieren tiefer neuronaler Netzwerke entwickelt, hauptsächlich Modifikationen einer Methode erster Ordnung – des Gradientenabstiegs, der eine schnellere Konvergenz ermöglicht und manchmal hilft, bessere lokale Minima zu finden.
- Open-Source-Software: Die Verfügbarkeit von Open-Source-Software-Frameworks wie TensorFlow und PyTorch hat es Forschern und Entwicklern erleichtert, mit Deep-Learning-Techniken zu experimentieren.
Die ImageNet-Herausforderung
Da LeNet bei der MNIST-Ziffernklassifizierungsaufgabe eine Genauigkeit von 99 % erreichen konnte, gab es nicht mehr viel Raum für Verbesserungen. Daher stand die wissenschaftliche Gemeinschaft vor einer viel größeren und schwierigeren Herausforderung, die sie bei der Entwicklung dieser Modelle bewältigen musste.
Die ImageNet- Challenge, auch bekannt als ImageNet Large Scale Visual Recognition Challenge (ILSVRC), war ein Wettbewerb, bei dem Forschungsteams Algorithmen entwickelten, die verschiedene Objekte und Szenen erkennen und klassifizieren konnten. Der Wettbewerb, der jährlich von 2010 bis 2017 stattfand, spielte eine entscheidende Rolle bei der Weiterentwicklung von Convolutional Neural Networks.
Im Vergleich zu MNIST enthält der Datensatz deutlich mehr RGB-Bilder – etwa 1 Million aus 1000 verschiedenen Klassen. Die Bilder haben eine höhere Auflösung, sodass sie mehr Details enthalten können. Diese Vielfalt macht den ImageNet-Datensatz zu einem weithin akzeptierten Vortrainingsdatensatz für nahezu alle nachgelagerten Computer Vision-Aufgaben.
Im Jahr 2012 gewann ein Deep-Learning-Modell namens AlexNet , das mithilfe von Convolutional Neural Networks entwickelt wurde, den Wettbewerb mit großem Vorsprung und markierte damit einen Paradigmenwechsel im Bereich der Computervision. Die Hauptgründe für den Erfolg von AlexNet waren:
- Großer Datensatz: AlexNet wurde anhand eines großen Bilddatensatzes namens ImageNet trainiert, der über 1,2 Millionen Trainingsbilder und 50.000 Validierungsbilder aus 1.000 verschiedenen Klassen enthielt. Dieser große Datensatz ermöglichte es dem Netzwerk, eine Vielzahl von Merkmalen und Mustern zu erlernen, die für die Bildklassifizierungsaufgabe nützlich waren.
- Tiefe Architektur: AlexNet war eine tiefe neuronale Netzwerkarchitektur mit acht Schichten, darunter fünf Faltungsschichten und drei vollständig verbundene Schichten. Durch die Verwendung mehrerer Schichten konnte das Netzwerk komplexe hierarchische Darstellungen der Eingabebilder erlernen, die für eine genaue Klassifizierung entscheidend waren.
- Faltungsschichten: Durch die Verwendung von Faltungsschichten konnte AlexNet räumlich invariante Merkmale erlernen, die für die Bildklassifizierung nützlich waren. Über die Pooling-Schicht lernten sie eine Reihe von Filtern, die mit dem Eingabebild gefaltet wurden, wodurch eine Reihe von Merkmalskarten erstellt wurde, die verschiedene Aspekte des Bildes erfassten.
- ReLU-Aktivierung: AlexNet verwendete die Aktivierungsfunktion Rectified Linear Unit (ReLU), die es dem Netzwerk ermöglichte, viel schneller zu lernen als frühere Architekturen, die Sigmoid- oder Tanh-Aktivierungen verwendeten. ReLU half auch dabei, das Problem des verschwindenden Gradienten zu vermeiden, das in tiefen neuronalen Netzwerken auftreten kann.
- Datenerweiterung: AlexNet verwendete Datenerweiterungstechniken wie Zuschneiden, Umdrehen und Skalieren, um die Größe des Trainingsdatensatzes künstlich zu erhöhen. Dies trug dazu bei, Überanpassung zu reduzieren und die Generalisierungsleistung des Netzwerks zu verbessern.
- Dropout-Regularisierung: AlexNet verwendet Dropout-Regularisierung, die während des Trainings zufällig einen Prozentsatz von Neuronen ausschließt, um Überanpassung zu verhindern. Diese Technik trägt auch dazu bei, die Generalisierungsleistung des Netzwerks zu verbessern.
Anschließend wurden weitere ConvNet-basierte Modelle entwickelt und optimiert, die als leistungsstarke Merkmalsextraktoren für verschiedene nachgelagerte Aufgaben über die Bildklassifizierung hinaus dienen, darunter Objekterkennung, Segmentierung und mehr.
Vergessen wir nicht VGGNet oder einfach VGG , das von der Visual Geometry Group an der Universität Oxford vorgeschlagen wurde. VGG war ein weiterer Meilenstein in der Entwicklung von Convolutional Neural Networks. Es war das erste Modell, das aufgrund seiner einheitlichen Architektur weithin als Backbone verwendet wurde, was es für verschiedene Aufgaben sehr anpassungsfähig machte. VGG demonstrierte die Leistungsfähigkeit der Tiefe in neuronalen Netzwerken, indem es 16 bis 19 Schichten einsetzte und im gesamten neuronalen Netzwerk selbst kleine (3×3) Faltungsfilter verwendete.
Trotz der von VGG demonstrierten Tiefenleistung stellte das Training sehr tiefer Netzwerke ein Problem dar – verschwindende Gradienten. Mit zunehmender Netzwerktiefe wurden die während der Backpropagation berechneten Gradienten oft extrem klein, was das Lernen des Netzwerks effektiv verhinderte.
ResNet oder Residual Network, vorgeschlagen von Microsoft Research, löste dieses Problem durch die Einführung von „Skip Connections“ oder „Shortcuts“, die es ermöglichten, Gradienten direkt in frühere Schichten zurückzuleiten. Diese Architektur ermöglichte das Training von Netzwerken, die deutlich tiefer waren als zuvor. Das Team demonstrierte für den ImageNet-Wettbewerb ein Modell mit 152 Schichten. Dies war ein bedeutender Fortschritt, da es zeigte, dass Netzwerke beliebiger Tiefe effektiv trainiert werden konnten und eine bessere Leistung erzielten als ihre flacheren Gegenstücke.
Die Encoder-Decoder-Architekturen
Nach dem riesigen Erfolg der Convolutional Neural Networks begannen die Forscher, Anwendungsmöglichkeiten für andere Aufgaben in diesem Bereich zu finden, beispielsweise für die Bildsegmentierung , Objekterkennung, Ähnlichkeitslernen, Bildretuschierung usw. Um die auf dem Schlachtfeld der Bildklassifizierung getesteten, hochleistungsfähigen Architekturen wiederzuverwenden, machten sich die Forscher intensiv Transferlernen zunutze und nutzten die Arbeit des vortrainierten Convolutional Neural Network von ImageNet als Rückgrat für ihre neuen Modelle, um eine völlig andere Aufgabe zu lösen.
Der vollständig konvolutionelle Teil bekannter Bildklassifizierungsnetzwerke dient als hervorragender Merkmalsextraktor, der sehr hochdimensionale Eingaben erfolgreich in niedrigere Dimensionen kodiert und dabei die meisten der in den Eingaben vorhandenen wichtigen Merkmale bewahrt. Bei der Bildklassifizierungsaufgabe wird kein Decoder benötigt, sondern es muss lediglich eine vollständig verbundene Schicht auf die Merkmalskarte angewendet werden, die den Encoder in eine gewählte Anzahl von Klassen klassifizieren lässt. Abhängig von der nachgelagerten Klasse werden verschiedene Arten von Decodern auf den Encoder gesetzt, um die resultierende Merkmalskarte in das benötigte Ausgabeformat umzuwandeln. Bei der semantischen Segmentierung muss beispielsweise die Merkmalskarte in die ursprünglichen räumlichen Dimensionen des Eingabebilds und die Anzahl der Kanäle umgewandelt werden, die den im Datensatz vorhandenen semantischen Klassen entsprechen.
Das 2015 von Ronneberger et al. vorgeschlagene U-Net war eine bahnbrechende Architektur, die die Encoder-Decoder-Struktur in Convolutional Neural Networks populär machte. U-Net wurde speziell für die Herausforderungen der Segmentierung biomedizinischer Bilder entwickelt, die oft komplexe Strukturen enthalten und über eine relativ geringe Menge an Trainingsdaten verfügen. Die Schlüsselideen hinter U-Net, die zu seinem großen Erfolg geführt haben, sind:
- U-förmige Architektur: U-Net verfügt über eine U-förmige Architektur, die sowohl aus einem kontrahierenden als auch einem expandierenden Pfad besteht. Der kontrahierende Pfad umfasst mehrere Faltungsschichten und Pooling-Schichten, die die räumliche Auflösung des Eingabebilds schrittweise reduzieren und gleichzeitig die Anzahl der Feature-Maps erhöhen. Der expandierende Pfad umfasst mehrere Upsampling- und Faltungsschichten, die die räumliche Auflösung der Ausgabesegmentierungskarte schrittweise erhöhen.
- Skip-Verbindungen: U-Net verwendet Skip-Verbindungen zwischen den kontrahierenden und expandierenden Pfaden, die es dem Netzwerk ermöglichen, Informationen aus früheren Schichten zu bewahren. Ähnlich wie die ResNets helfen diese Skip-Verbindungen, das Problem des verschwindenden Gradienten zu mildern, das in tiefen neuronalen Netzwerken auftreten kann. Sie können auch dazu beitragen, die Genauigkeit der Segmentierung zu verbessern, indem sie es dem Netzwerk ermöglichen, Informationen aus verschiedenen Maßstäben zu nutzen.
- Mehrskalige Feature-Maps: U-Net verwendet mehrskalige Feature-Maps, die Informationen auf verschiedenen Abstraktionsebenen erfassen. Der Kontraktionspfad umfasst mehrere Faltungs- und Pooling-Schichten, die die räumliche Auflösung des Eingabebilds verringern und gleichzeitig die Anzahl der Feature-Maps erhöhen. Der Expansionspfad umfasst mehrere Upsampling- und Faltungsschichten, die die räumliche Auflösung der Ausgabesegmentierungskarte erhöhen. Die Sprungverbindungen zwischen diesen Schichten ermöglichen es dem Netzwerk, Informationen aus verschiedenen Maßstäben zu kombinieren, was für eine genaue Segmentierung von entscheidender Bedeutung ist.
Nachgelagerte Computer Vision-Aufgaben
Mit dem Aufkommen ausgefeilterer Convolutional Neural Networks wurde die Fähigkeit, komplexere nachgelagerte Computer Vision-Aufgaben zu bewältigen, verbessert. Schauen wir uns einige der am häufigsten verwendeten an:
Semantische Segmentierung
Bei der semantischen Segmentierung geht es darum, jedem Pixel in einem Bild eine semantische Bezeichnung zuzuweisen. Im Laufe der Jahre gab es mehrere Entwicklungen bei Deep-Learning-Techniken für die semantische Segmentierung, wobei jede neue Architektur auf den Erfolgen und Einschränkungen ihrer Vorgänger aufbaut. Erwähnenswert sind das Pioniermodell in diesem Bereich – FCNs – und eine Modifikation der berühmten U-Net-Architektur – SegNet :
- Vollständig konvolutionelle Netzwerke (FCNs): FCNs waren die erste Deep-Learning-Architektur, die speziell für die semantische Segmentierung entwickelt wurde. FCNs verwenden konvolutionelle Schichten, um eine dichte Ausgabekarte zu generieren, die jedem Pixel im Eingabebild eine Klassenbezeichnung zuweist. Die Verwendung konvolutioneller Schichten ermöglicht es dem Netzwerk, räumliche Informationen zu erfassen und Merkmale zu erlernen, die für die Segmentierungsaufgabe nützlich sind.
- SegNet: SegNet wurde als Architektur eingeführt, die eine semantische Segmentierung von hochauflösenden Bildern in Echtzeit durchführen kann. SegNet verwendet eine vollständig konvolutionale Encoder-Decoder-Architektur, die aus einem Encoder-Netzwerk besteht, das die räumliche Auflösung des Eingabebilds reduziert, und einem Decoder-Netzwerk, das die Feature-Maps hochsampelt, um die Segmentierungsausgabe zu erzeugen. SegNet verwendet außerdem eine Reihe von Pooling-Indizes, um den Ort der maximalen Aktivierung für jeden Pooling-Bereich im Encoder-Netzwerk zu speichern, was auch zum Durchführen eines effizienten Upsamplings im Decoder-Netzwerk verwendet wird.
Objekterkennung
Objekterkennung ist eine Computervisionsaufgabe, bei der es darum geht, Objekte in visuellen Bildern zu identifizieren und zu lokalisieren. Ziel ist es nicht nur zu erkennen, welche Objekte in einem Bild vorhanden sind, sondern auch für jedes Objekt einen Begrenzungsrahmen vorherzusagen, der den eingeschränkten Bereich angibt, in dem es sich befindet.
Die RCNN-Detektorfamilie erfreut sich großer Beliebtheit und ist seit langem das modernste Modell. Die Entwicklung der Modelle dieser Familie ist sehr interessant und bietet viele Erkenntnisse, die in jedem Bereich der Nutzung von Deep-Learning-Modellen angewendet werden können. Hier ist ein Überblick über die wichtigsten Entwicklungen in ihren Architekturen:
- RCNN: Das Region-based Convolutional Neural Network (RCNN) wurde 2014 von Ross Girshick et al. vorgeschlagen und war einer der ersten erfolgreichen Deep-Learning-Ansätze zur Objekterkennung. RCNN funktioniert, indem zunächst mithilfe eines externen Algorithmus eine Reihe von Regionsvorschlägen generiert wird, dann ein vorab trainiertes Convolutional Neural Network (CNN) auf jeden Vorschlag angewendet wird, um Merkmale zu extrahieren, und schließlich jeder Vorschlag mithilfe einer Support Vector Machine (SVM) klassifiziert wird.
- Fast-RCNN: Das Fast Region-based Convolutional Neural Network (Fast R-CNN) wurde 2015 von Ross Girshick vorgeschlagen und soll die Geschwindigkeit und Genauigkeit der Objekterkennung verbessern. Fast R-CNN verwendet ein einzelnes gemeinsames CNN, um Merkmale aus dem gesamten Bild zu extrahieren. Anschließend verwendet es das Pooling der Region of Interest (RoI), um Merkmalsvektoren mit fester Länge für jeden Regionsvorschlag zu extrahieren. Diese Merkmalsvektoren werden dann in eine Reihe vollständig verbundener Schichten eingespeist, die eine Objektklassifizierung und eine Bounding-Box-Regression durchführen.
- Faster-RCNN: Das Faster Region-based Convolutional Neural Network (Faster R-CNN) wurde 2015 von Shaoqing Ren et al. vorgeschlagen und stellte einen großen Durchbruch in der Objekterkennung dar. Faster R-CNN verwendet zunächst ein Region Proposal Network (RPN), um Regionsvorschläge direkt aus den CNN-Funktionen zu generieren, anstatt einen externen Algorithmus zu verwenden. Das RPN teilt Faltungsschichten mit dem Objekterkennungsnetzwerk, wodurch es durchgängig mit dem Rest des Netzwerks trainiert werden kann. Faster R-CNN führte außerdem eine neue Verlustfunktion ein, die die Objektklassifizierung und die Bounding-Box-Regression gemeinsam optimiert und so zur Verbesserung der Genauigkeit beiträgt.
Später im Jahr 2017 schlugen Kaiming He et al. vor, die Faster-RCNN-Architektur zu erweitern und erstellten Mask R-CNN . Es wurde erstellt, indem ein paralleler Zweig hinzugefügt wurde, der neben Begrenzungsrahmen und Klassenbezeichnungen Segmentierungsmasken für jeden Objektvorschlag vorhersagt. Mit diesem Ansatz kann Mask R-CNN eine Instanzsegmentierung durchführen, bei der das Ziel darin besteht, jede Objektinstanz innerhalb eines Bildes zu segmentieren und jedem Segment eine eindeutige Bezeichnung zuzuweisen.
ConvNets in anderen Domänen
Während ConvNets im Bereich der Computervision eine Revolution darstellten, erstreckt sich ihre Anwendung auch auf andere Domänen, einschließlich Audioverarbeitung, Zeitreihenanalyse und Finanzprognosen.
WaveNet , ein tiefes generatives Modell von Roh-Audiowellenformen, demonstrierte die Wirksamkeit von ConvNets bei der Audioverarbeitung. WaveNet wurde von DeepMind entwickelt und verwendet mehrere Schlüsselkonzepte, die in der Computervision weit verbreitet sind, um eine hochleistungsfähige Audiodomäne zu erstellen:
- Dilatierte Faltungen: WaveNet verwendet dilatierte Faltungen, also Faltungsschichten mit Lücken zwischen den Kernelgewichten. Dadurch verfügt das Netzwerk über ein exponentiell wachsendes rezeptives Feld, was bedeutet, dass es langfristige Abhängigkeiten im Audiosignal erfassen kann. Die Verwendung dilatierter Faltungen ermöglicht es WaveNet außerdem, hochwertige Audiowellenformen mit einer hohen Abtastrate zu erzeugen.
- Restverbindungen: WaveNet verwendet Restverbindungen zwischen Faltungsschichten. Dadurch können Gradienten leichter durch das Netzwerk fließen und das Problem verschwindender Gradienten, das in tiefen neuronalen Netzwerken auftritt, wird vermieden. Die Restverbindungen tragen auch dazu bei, die Qualität des generierten Audios zu verbessern, indem sie es dem Netzwerk ermöglichen, eine Restzuordnung zwischen der Eingabe und Ausgabe jeder Schicht zu erlernen.
WaveNet verwendet kausale Faltungen, was bedeutet, dass die Ausgabe bei jedem Zeitschritt nur von den vorherigen Zeitschritten abhängt. Dies ist wichtig für die Generierung von Audiowellenformen, da dadurch sichergestellt wird, dass das Modell nicht auf zukünftige Informationen angewiesen ist, um die Ausgabe beim aktuellen Zeitschritt zu generieren.
Die nächste große Verbesserung bei ConvNets, die für Sequenzmodellierungsaufgaben entwickelt wurden, waren die Temporal Convolutional Networks (TCNs) . TCNs wurden 2018 von Bai et al. eingeführt und haben sich bei einer Vielzahl von Aufgaben als leistungsfähigstes Netzwerk erwiesen, darunter Sprachmodellierung, Spracherkennung, Videoanalyse und Finanzzeitreihenanalyse. Es verwendet alle Schlüsselideen von WaveNet, wie erweiterte Faltungen, Residualverbindungen und kausale Faltungen, und darüber hinaus verwendet es:
- Zeitliche Sprungverbindungen: Sie verbinden nicht benachbarte Schichten im Netzwerk. Diese Sprungverbindungen ermöglichen es dem Netzwerk, langfristige Abhängigkeiten effektiver zu erfassen und verbessern nachweislich die Genauigkeit der generierten Ausgabe.
Das Aufkommen der Transformers
Faltungsneuronale Netze haben eine Reihe von entscheidenden Vorteilen, die zu ihrer weitverbreiteten Nutzung und ihrem Erfolg beigetragen haben. Sie verfügen über die inhärente Fähigkeit, räumliche Hierarchien zu erfassen, was sie ideal für Bildverarbeitungsaufgaben macht. Darüber hinaus wurden ihre Architekturen, vom frühen LeNet bis zum neueren ConvNet , kontinuierlich weiterentwickelt, um die Merkmalsextraktion zu verbessern, tiefere Netzwerke zu handhaben und mit weniger Daten effizient zu rechnen.
Allerdings hat die Einführung von Transformer -Modellen, die ursprünglich in dem Aufsatz „Attention is All You Need“ von Vaswani et al. vorgeschlagen wurden, die Vorherrschaft der Convolutional Neural Networks sowohl in der Computervision als auch in anderen Bereichen in Frage gestellt.
Im Gegensatz zu Convolutional Neural Networks verlassen sich Transformer nicht auf die sequentielle Datenverarbeitung mit einem gleitenden Fenster. Stattdessen verwenden sie einen Mechanismus namens Self-Attention, der es ihnen ermöglicht, die gesamte Sequenz auf einmal zu berücksichtigen. Dadurch sind Transformer äußerst effektiv bei der Modellierung von Abhängigkeiten in Daten über große Entfernungen, eine Herausforderung bei Aufgaben wie Sprachübersetzung, Textzusammenfassung und mehr. Darüber hinaus haben sie sich nach und nach in den Bereich der Computervision eingeschlichen und übertrafen ConvNets von Aufgabe zu Aufgabe.
Wenn Sie sich an den Anfang des Artikels erinnern, lag der Grund dafür, dass Faltungsneuronale Netze MLPs übertrafen, darin, dass wir die Anzahl benachbarter Bildpixel, die ein Pixel beeinflussen können, durch kleine Faltungsfiltergrößen beschränkten, während die MLPs andererseits alle Pixel als Nachbarn betrachteten. Die Transformers machen diesen Nachbarbetrachtungsprozess lernbar, da sie MLPs verwenden, die dem Netz praktisch die Fähigkeit verleihen, jedes Pixel als Nachbarn zu betrachten und gleichzeitig über den Aufmerksamkeitsmechanismus zu verfügen. Abgerundet wird dies durch MLPs, die dem Netz die Fähigkeit verleihen, zu lernen, welche Pixel wichtiger sind und welche weniger wichtig Insta360.
Dies ist jedoch kein durchschlagender Sieg für Transformers. Eine aktuelle Arbeit von Zhuang Liu et al. präsentierte den Prozess der Verbesserung einer ResNet-50-Architektur für Convolutional Neural Networks, um eine SOTA Swin-T- Transformerarchitektur zu übertreffen. Die wichtigsten Änderungen, die bei ResNet-50 vorgenommen wurden und zur Leistungsverbesserung führten, waren:
- Trainingstechniken: Die Autoren betonten, dass nach der Veröffentlichung von ResNet neue Optimierer und Trainingstechniken erfunden wurden. Daher modifizierten sie den Trainingsprozess von ResNet-50, erhöhten die Anzahl der Epochen von 90 auf 300 und stellten den Optimierer auf AdamW um . Darüber hinaus nutzten sie aktuelle Fortschritte bei der Datenerweiterung, indem sie Mixup , CutMix , Random Erasing und Regularisierungstechniken wie Label Smoothing und Stochastic Depth anwendeten .
- Tiefenweise trennbare Faltungen: Die Autoren folgten dem Weg von ResNeXt und MobileNet und verwendeten Gruppenfaltungen, genauer gesagt tiefenweise trennbare Faltungen, bei denen die Anzahl der Gruppen der Anzahl der Kanäle in der Faltungsschicht entspricht. Diese Trennung von räumlichen und Kanalmischvorgängen erwies sich in vielen Architekturen, einschließlich Swin-T, als vorteilhaft. Erwähnenswert ist auch, dass sie rechnerisch günstiger ist als normale Faltungen.
- Aktivierungsfunktionen: Die Autoren haben der Dominanz der Schichten mit gleichgerichteten linearen Einheiten in Convolutional Neural Networks ein Ende gesetzt, indem sie darauf geachtet haben, dass im Bereich der Verarbeitung natürlicher Sprache, wo die Transformer-Architekturen so erfolgreich sind, ReLUs nicht so häufig verwendet werden, während Sigmoid- und TanH-Funktionen beliebter sind. Sie haben die Schichten mit gleichgerichteten linearen Einheiten durch die Gaussian Error Linear Unit (GELU) ersetzt, eine glattere Version von ReLUs. Sie haben auch die Anzahl der Verwendungen der Aktivierungsfunktionen im Netzwerk verringert, was sich als vorteilhaft erwies.
- Größere Filtergrößen: Die Autoren betonen die Tatsache, dass die Schichten der Transformer-Architektur aufgrund ihres Selbstaufmerksamkeitsmechanismus größere rezeptive Felder haben. Im Gegensatz dazu wurde in Convolutional Neural Networks der Goldstandard von 3×3 Filtergrößen von VGG festgelegt, und fast alle nachfolgenden Modelle verwendeten keine größeren Filter. In diesem Fall haben die Autoren gezeigt, dass die Verwendung von 7×7 Kerneln in tiefenweise trennbaren Convolutions nicht nur die Leistung steigert, sondern auch vernachlässigbare Auswirkungen auf FLOPs hat, da die tiefenweise Komponente dieser Convolutions deutlich weniger Filtergewichte erfordert.
Nachdem alle diese Verbesserungen umgesetzt wurden, eroberte das ConvNeXt-Modell den SOTA-Thron für Convolutional Neural Networks im Bereich Computer Vision zurück und übertraf die Swin-T-Architektur um etwa 1 %.
Die zentralen Thesen
Wir haben die Entwicklung von ConvNets in den letzten Jahrzehnten vorgestellt und dabei die wichtigsten und innovativsten Ideen hervorgehoben, die in ihnen verwendet wurden, und ihnen geholfen, sich anzupassen und immer anspruchsvollere Aufgaben in der Computervision und darüber hinaus zu lösen. Obwohl die jüngste visuelle generative KI, Dall-E 2 , einige Zeit im Trend lag, war sie ziemlich weit vom Erfolg von ChatGPT entfernt . Da ChatGPT ein großer Schritt in Richtung AGI war, hoffen wir, dass in naher Zukunft ein leistungsfähigeres visuelles generatives KI-Tool darin integriert werden kann, das der Menschheit beispiellose Horizonte eröffnet.