Fortschrittliche Architekturen | Deep-Learning-Architekturen

Teilen auf Facebook
Teilen auf twittern
Teilen auf verlinktin
Teilen auf Telegramm
Teilen auf WhatsApp

Inhalt

Einführung

Es wird sehr schwierig, mit den jüngsten Fortschritten im Deep Learning Schritt zu halten. Kaum ein Tag vergeht ohne eine neue Innovation oder eine neue Deep-Learning-App.. Aber trotzdem, Die meisten dieser Fortschritte sind in einer großen Anzahl von Forschungsartikeln verborgen, die in Medien wie ArXiv . veröffentlicht werden / Springer.

temp13-4541368

Um uns auf dem Laufenden zu halten, Wir haben eine kleine Lesegruppe gebildet, um unsere Erkenntnisse intern in DataPeaker zu teilen. Eine dieser Erkenntnisse, die ich mit der Community teilen möchte, ist eine Studie über fortschrittliche Architekturen, die von der Forschungsgemeinschaft entwickelt wurden.

Dieser Artikel enthält einige der neueste Fortschritte im Bereich Deep Learning zusammen mit Codes für die Implementierung in der Keras-Bibliothek. Ich habe auch Links zu den Originalartikeln bereitgestellt, falls Sie daran interessiert sind, sie zu lesen oder darauf verweisen möchten.

Um den Artikel prägnant zu halten, Ich habe nur Architekturen betrachtet, die im Bereich Computer Vision erfolgreich waren.

Wenn Sie interessiert sind, weiter lesen!

PD: Dieser Artikel setzt Kenntnisse über neuronale Netze und Vertrautheit mit Keras voraus. Wenn Sie diese Themen nachholen müssen, Ich empfehle Ihnen dringend, zuerst die folgenden Artikel zu lesen:

Inhaltsverzeichnis

  • Was verstehen wir unter fortschrittlicher Architektur?
  • Arten von Bildverarbeitungsaufgaben
  • Liste der Deep-Learning-Architekturen

Was verstehen wir unter fortschrittlicher Architektur?

Deep-Learning-Algorithmen bestehen im Vergleich zu einem einzigen traditionellen Machine-Learning-Algorithmus aus einer so vielfältigen Reihe von Modellen. Dies liegt an der Flexibilität, die das neuronale Netz beim Erstellen eines vollständigen End-to-End-Modells bietet..

Das neuronale Netz kann manchmal mit Lego-Blöcken verglichen werden, wo Sie fast jede einfache oder komplexe Struktur bauen können, die Ihre Vorstellungskraft Ihnen hilft, zu bauen.

temp1-6326964

Wir können eine fortschrittliche Architektur als eine Architektur definieren, die sich als erfolgreiches Modell erwiesen hat.. Dies zeigt sich vor allem in Herausforderungen wie ImageNet, wo deine Aufgabe darin besteht, ein Problem zu lösen, sagen wir Bilderkennung, unter Verwendung der bereitgestellten Daten. Diejenigen, die nicht wissen, was ImageNet ist, ist der Datensatz, der in der ILSVR-Challenge bereitgestellt wird (ImageNet Visuelle Erkennung im großen Maßstab).

Auch wie in den unten genannten Architekturen beschrieben, jeder von ihnen hat eine Nuance, die sie von den üblichen Modellen unterscheidet; ihnen einen Vorteil verschaffen, wenn sie zur Lösung eines Problems verwendet werden. Auch diese Architekturen fallen in die Kategorie der Modelle “tief”, Daher sind sie wahrscheinlich besser als ihre flachen Kollegen.

Arten von Bildverarbeitungsaufgaben

Dieser Artikel konzentriert sich hauptsächlich auf Computer Vision, Daher ist es naheliegend, den Horizont von Computer Vision-Aufgaben zu beschreiben. Computer Vision; wie der Name schon sagt, ist einfach die Erstellung künstlicher Modelle, die die Sehaufgaben eines Menschen nachbilden können. Das bedeutet im Wesentlichen, dass das, was wir sehen und wahrnehmen, ein Prozess ist, der in einem künstlichen System verstanden und umgesetzt werden kann..

Die Haupttypen von Aufgaben, in die Computer Vision eingeteilt werden kann, sind wie folgt::

  • Erkennung / Objektklassifizierung – Bei der Objekterkennung, Sie erhalten ein Rohbild und Ihre Aufgabe besteht darin, zu ermitteln, zu welcher Klasse das Bild gehört.
  • Einstufung + Ort – Wenn das Bild nur ein Objekt enthält und Ihre Aufgabe darin besteht, den Standort dieses Objekts zu finden, ein spezifischerer Begriff für dieses Problem ist Standortproblem.
  • Objekterkennung – Bei Objekterkennung, Ihre Aufgabe ist es, zu identifizieren, wo sich die Objekte im Bild befinden. Diese Objekte können derselben Klasse angehören oder einer völlig anderen Klasse sein.
  • Bildsegmentierung – Die Bildsegmentierung ist eine etwas anspruchsvolle Aufgabe, wobei das Ziel darin besteht, jedes Pixel seiner legitimen Klasse zuzuordnen.

temp5-5283515

Liste der Deep-Learning-Architekturen

Nachdem wir nun verstanden haben, was fortgeschrittene Architektur ist, und die Aufgaben der Computer Vision erforscht haben, Lassen Sie uns die wichtigsten Architekturen und ihre Beschreibungen auflisten:

1. AlexNet

AlexNet ist die erste Deep Architecture, die von einem der Pioniere des Deep Learning eingeführt wurde: Geoffrey Hinton und seine Kollegen. Es ist eine einfache, aber leistungsstarke Netzwerkarchitektur, was dazu beigetragen hat, den Weg für bahnbrechende Deep-Learning-Forschung in ihrer jetzigen Form zu ebnen. Hier ist eine Darstellung der von den Autoren vorgeschlagenen Architektur.

temp6-3310921

Wenn es kaputt geht, AlexNet sieht aus wie eine einfache Architektur mit Faltungsschichten, die übereinander gruppiert sind, gefolgt von vollständig verbundenen Schichten oben. Dies ist eine sehr einfache Architektur, die im Jahrzehnt von konzipiert wurde 1980. Was dieses Modell auszeichnet, ist der Umfang, in dem es die Aufgabe erfüllt, und die Verwendung der GPU für das Training. Im Jahrzehnt von 1980, die CPU wurde verwendet, um ein neuronales Netz zu trainieren. Während AlexNet das Training beschleunigt 10 mal nur mit verwendung von GPU.

Obwohl im Moment etwas veraltet, AlexNet wird immer noch als Ausgangspunkt verwendet, um tiefe neuronale Netze für alle Aufgaben anzuwenden, entweder Computer Vision oder Spracherkennung.

2. VGG-Netz

Das VGG-Netzwerk wurde von Forschern der Visual Graphics Group in Oxford vorgestellt (daher der Name VGG). Dieses Netz zeichnet sich besonders durch seine Pyramidenform aus, wobei die unteren Ebenen, die dem Bild am nächsten sind, breit sind, während die oberen Schichten tief sind.

temp7-4481333

Wie das Bild zeigt, VGG enthält posteriore Faltungsschichten, gefolgt von gruppierten Schichten. Die Gruppierungsebenen sind dafür verantwortlich, die Ebenen schmaler zu machen. In deinem Artikel, mehrere Arten von Netzwerken dieser Art vorgeschlagen, mit Veränderungen in der Tiefe der Architektur.

temp8-8113875

Die Vorteile von VGG sind:

  • Es ist eine sehr gute Architektur für das Benchmarking einer bestimmten Aufgabe.
  • Was ist mehr, Pre-VGG-fähige Netzwerke sind im Internet frei verfügbar, daher wird es häufig für verschiedene Anwendungen verwendet.

Zweitens, Der Hauptnachteil ist, dass das Training sehr langsam ist, wenn Sie von Grund auf trainieren. Im Lieferumfang einer ordentlichen GPU enthalten, Es würde mehr als eine Woche dauern, bis es funktionierte.

3. GoogleNet

GoogleNet (o Inception-Netzwerk) ist eine Architekturklasse, die von Google-Forschern entwickelt wurde. GoogleNet war der Gewinner von ImageNet 2014, wo er sich als starkes Vorbild erwies.

In dieser Architektur, zusätzlich zur Vertiefung (enthält 22 Schichten im Vergleich zu VGG, die hatte 19 deckt), Die Forscher entwickelten auch einen neuartigen Ansatz namens Inception-Modul.

temp10-3828476

Wie oben zu sehen, Es ist eine drastische Änderung gegenüber den sequentiellen Architekturen, die wir zuvor gesehen haben. In einer einzigen Schicht, verschiedene Arten von “Feature-Extraktoren”. Dies hilft indirekt, dass das Netzwerk besser funktioniert, da das Netzwerk in der Ausbildung viele Möglichkeiten zur Lösung der Aufgabe hat. Sie können die Eingabe falten oder direkt gruppieren.

temp9-6905301

Die endgültige Architektur enthält mehrere dieser anfänglichen Module, die übereinander gestapelt sind.. Sogar das Training ist bei GoogleNet etwas anders, da die meisten Top-Layer einen eigenen Output-Layer haben. Diese Nuance hilft dem Modell, schneller zu konvergieren, da gibt es gemeinsames Training und paralleles Training für die Lagen selbst.

Die Vorteile von GoogleNet sind:

  • GoogleNet trainiert schneller als VGG.
  • Die Größe eines zuvor trainierten Google-Netzwerks ist vergleichsweise kleiner als die von VGG. Ein VGG-Modell kann haben> 500 MB, während GoogleNet nur eine Größe von . hat 96 MB

GoogleNet hat per se keinen unmittelbaren Nachteil, aber zusätzliche Änderungen an der Architektur werden vorgeschlagen, damit funktioniert das Modell besser. Eine dieser Änderungen heißt Red Xception, bei der die Divergenzgrenze des Startmoduls erhöht wird (4 auf GoogleNet, wie wir im Bild oben gesehen haben). Nun kann es theoretisch unendlich sein (Daher heißt es extremer Start!)

4. ResNet

ResNet ist eine der Monsterarchitekturen, die wirklich definiert, wie tief eine Deep-Learning-Architektur sein kann.. Restnetze (ResNet kurz) besteht aus mehreren aufeinander folgenden Restmodulen, das sind die Grundbausteine ​​der ResNet-Architektur. Eine Darstellung des Restmoduls ist wie folgt

temp11-8740892

In einfachen Worten, ein Restmodul hat zwei Möglichkeiten, Sie können eine Reihe von Funktionen an der Eingabe ausführen oder diesen Schritt ganz überspringen.

Jetzt ähnlich wie GoogleNet, diese Restmodule werden übereinander gestapelt, um ein vollständiges End-to-End-Netzwerk zu bilden.

temp12-4015764

Einige neuere Techniken, die ResNet eingeführt hat, umfassen:

  • Verwendung von Standard-SGD anstelle einer ausgefallenen adaptiven Lerntechnik. Dies geschieht in Verbindung mit einer sinnvollen Initialisierungsfunktion, die das Training intakt hält..
  • Änderungen der Eingabevorverarbeitung, wo der Eingang zuerst gepatcht und dann ins Netzwerk eingespeist wird.

Der Hauptvorteil von ResNet besteht darin, dass Hunderte, sogar Tausende dieser Restschichten können verwendet werden, um ein Netzwerk zu erstellen und dann zu trainieren. Dies unterscheidet sich ein wenig von den üblichen sequentiellen Netzwerken, wo Sie sehen, dass die Leistungsverbesserungen mit zunehmender Anzahl von Ebenen reduziert werden.

5. ResNeXt

ResNeXt gilt als die fortschrittlichste aktuelle Technik zur Objekterkennung. Es basiert auf den Konzepten von Startup und Resnet, um eine neue und verbesserte Architektur zu generieren. Das folgende Bild ist eine Zusammenfassung, wie ein Restmodul des ResNeXt-Moduls aussieht.

temp15-4313101

6. RCNN (CNN regional)

Die regionsbasierte CNN-Architektur gilt als die einflussreichste aller Deep-Learning-Architekturen, die auf das Objekterkennungsproblem angewendet wurden.. Um das Erkennungsproblem zu lösen, RCNN versucht, einen Begrenzungsrahmen über alle im Bild vorhandenen Objekte zu zeichnen und dann zu erkennen, welches Objekt sich im Bild befindet. Es funktioniert auf folgende Weise:

temp18-8145713

Die Struktur von RCNN ist wie folgt:

temp21-2899363

7. YOLO (du schaust nur einmal)

YOLO ist das aktuelle State-of-the-Art-Echtzeit-Deep-Learning-basierte System zur Lösung von Bilderkennungsproblemen. Wie im Bild unten zu sehen ist, es teilt das Bild zunächst in definierte Begrenzungsboxen auf und führt dann für alle diese Boxen parallel einen Erkennungsalgorithmus aus, um zu identifizieren, zu welcher Objektklasse sie gehören. Nach der Identifizierung dieser Klassen, fügt diese Boxen dann geschickt zusammen, um eine optimale Bounding Box um Objekte zu bilden.

temp20-2734892

All dies geschieht parallel, damit es in Echtzeit laufen kann; Verarbeitung 40 Bilder in einer Sekunde.

Obwohl es eine reduzierte Leistung bietet als sein RCNN-Pendant, es hat immer noch den Vorteil, dass es in Echtzeit ist, um bei alltäglichen Problemen eingesetzt werden zu können. Hier ist ein Rendering der YOLO-Architektur.

temp23-3278410

8. SqueezeNet

Die SqueezeNet-Architektur ist eine leistungsfähigere Architektur, die in Szenarien mit geringer Bandbreite, wie z. B. auf mobilen Plattformen, äußerst nützlich ist.. Diese Architektur belegt nur 4,9 MB Speicherplatz, Zweitens, Der Start belegt ~ 100 MB! Diese drastische Veränderung wird durch eine spezialisierte Struktur herbeigeführt, die als Feuermodul bezeichnet wird.. Das Bild unten ist eine Darstellung des Brandmoduls.

temp16-6357864

Die endgültige Architektur von SqueezeNet sieht wie folgt aus:

temp22-2306453

9. SegNet

SegNet ist eine Deep-Learning-Architektur zur Lösung von Bildsegmentierungsproblemen. Es besteht aus einer Abfolge von Verarbeitungsschichten (Encoder) gefolgt von einem entsprechenden Satz von Decodern für eine Pixelklassifizierung. Das folgende Bild fasst die Funktionsweise von SegNet . zusammen.

temp17-6458470

Ein Schlüsselmerkmal von SegNet ist, dass es die hochfrequenten Details im segmentierten Bild beibehält, da die Clustering-Indizes des Encoder-Netzwerks mit den Clustering-Indizes der Decoder-Netzwerke verbunden sind. Zusammenfassend, Informationstransfer ist direkt statt verschachtelt. SegNet ist eines der besten Modelle, wenn es um Bildsegmentierungsprobleme geht.

10. GAN (Generatives gegnerisches Netzwerk)

GAN ist eine ganz andere Klasse neuronaler Netzwerkarchitekturen, bei dem ein neuronales Netz verwendet wird, um ein komplett neues Bild zu erzeugen, das im Trainingsdatensatz nicht vorhanden ist, aber es ist realistisch genug, um im Datensatz zu sein. Zum Beispiel, Das Bild unten ist eine Aufschlüsselung des GAN. Ich habe in diesem Artikel behandelt, wie GANs funktionieren.. Schau es dir an, wenn du neugierig bist.

g1-9764553

Abschließende Anmerkungen

In diesem Artikel, Ich habe einen Überblick über die wichtigsten Deep-Learning-Architekturen gegeben, mit denen Sie vertraut sein sollten. Wenn Sie Fragen zu Deep-Learning-Architekturen haben, teile es mir gerne in den Kommentaren mit.

Lernen, in Wettbewerb stehen, hacken und angestellt werden!

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.