Heim > Artikel > Technologie-Peripheriegeräte > Vergleichende Analyse von Deep-Learning-Architekturen
Das Konzept des Deep Learning stammt aus der Erforschung künstlicher neuronaler Netze. Ein mehrschichtiges Perzeptron, das mehrere verborgene Schichten enthält, ist eine Deep-Learning-Struktur. Deep Learning kombiniert Funktionen auf niedriger Ebene, um abstraktere Darstellungen auf hoher Ebene zu bilden, um Kategorien oder Merkmale von Daten darzustellen. Es ist in der Lage, verteilte Merkmalsdarstellungen von Daten zu erkennen. Deep Learning ist eine Form des maschinellen Lernens, und maschinelles Lernen ist der einzige Weg, künstliche Intelligenz zu erreichen.
Was sind also die Unterschiede zwischen verschiedenen Deep-Learning-Systemarchitekturen?
Ein vollständig verbundenes Netzwerk (FCN) besteht aus einer Reihe vollständig verbundener Schichten, wobei jedes Neuron in jeder Schicht mit jedem Neuron in einer anderen Schicht verbunden ist. Sein Hauptvorteil besteht darin, dass es „strukturunabhängig“ ist, d. h. es sind keine besonderen Annahmen über die Eingabe erforderlich. Obwohl diese Strukturunabhängigkeit vollständig verbundene Netzwerke sehr breit anwendbar macht, sind solche Netzwerke tendenziell schwächer als spezialisierte Netzwerke, die speziell auf die Struktur des Problemraums abgestimmt sind.
Die folgende Abbildung zeigt ein mehrschichtiges, vollständig verbundenes Netzwerk:
2.1 Architekturmerkmale von CNN
Das Bild wird hier als Raster aus Pixeln dargestellt, bei dem es sich um ein Raster aus positiven ganzen Zahlen handelt, wobei jeder Zahl eine Farbe zugewiesen ist.
Ausgabe des Modells: Die Ausgabe des Modells hängt davon ab, was es vorherzusagen versucht. Die folgenden Beispiele stellen einige häufige Aufgaben dar:2.2 Anwendungsfälle von CNN
Für ein vollständig verbundenes neuronales Netzwerk gibt es eine Eingabe mit der Form (Hin×Win×Cin) und eine Ausgabe mit der Form (Hout×Wout×Cout). Dies bedeutet, dass jede Pixelfarbe des Ausgabemerkmals mit jeder Pixelfarbe des Eingabemerkmals verbunden ist. Für jedes Pixel der Eingabe- und Ausgabebilder gibt es einen unabhängigen lernbaren Parameter. Daher beträgt die Anzahl der Parameter (Hin×Hout×Win×Wout×Cin×Cout).
In der Faltungsschicht ist die Eingabe ein Bild der Form (Hin, Win, Cin), und die Gewichte berücksichtigen die Nachbarschaftsgröße des gegebenen Pixels als K×K. Die Ausgabe ist die gewichtete Summe eines bestimmten Pixels und seiner Nachbarn. Für jedes Paar (Cin, Cout) von Eingangs- und Ausgangskanälen gibt es einen separaten Kernel, aber die Gewichte des Kernels sind ortsunabhängige Tensoren der Form (K, K, Cin, Cout). Tatsächlich kann diese Ebene Bilder jeder Auflösung akzeptieren, während vollständig verbundene Ebenen nur feste Auflösungen verwenden können. Schließlich sind die Schichtparameter (K, K, Cin, Cout). Für den Fall, dass die Kernelgröße K viel kleiner als die Eingabeauflösung ist, wird die Anzahl der Variablen erheblich reduziert.
Seitdem AlexNet den ImageNet-Wettbewerb gewonnen hat, beweist die Tatsache, dass jedes siegreiche neuronale Netzwerk eine CNN-Komponente verwendet hat, dass CNN für Bilddaten effektiver ist. Es ist sehr wahrscheinlich, dass Sie keinen aussagekräftigen Vergleich finden, da es nicht möglich ist, nur FC-Ebenen zur Verarbeitung von Bilddaten zu verwenden, während CNN diese Daten verarbeiten kann. Warum?
Die Anzahl der Gewichte mit 1000 Neuronen in der FC-Schicht beträgt etwa 150 Millionen für ein Bild. Dies ist lediglich die Anzahl der Gewichte für eine Ebene. Moderne CNN-Architekturen verfügen über 50–100 Schichten mit insgesamt Hunderttausenden Parametern (z. B. hat ResNet50 23 Millionen Parameter, Inception V3 hat 21 Millionen Parameter).
Aus mathematischer Sicht vergleicht man die Anzahl der Gewichtungen zwischen CNN und FCN (mit 100 versteckten Einheiten), wenn das Eingabebild 500×500×3 ist:
<code>((shape of width of the filter * shape of height of the filter * number of filters in the previous layer+1)*number of filters)( +1 是为了偏置) = (Fw×Fh×D+1)×F=(5×5×3+1)∗2=152</code>
Übersetzungsinvarianz
Invarianz bedeutet, dass ein Objekt auch dann noch korrekt erkannt werden kann, wenn sich seine Position ändert. Dies ist normalerweise eine positive Eigenschaft, da dadurch die Identität (oder Kategorie) des Objekts erhalten bleibt. „Übersetzung“ hat hier eine spezifische Bedeutung in der Geometrie. Das Bild unten zeigt dasselbe Objekt an verschiedenen Orten. Aufgrund der Übersetzungsinvarianz kann CNN korrekt identifizieren, dass es sich bei beiden um Katzen handelt.
RNN ist eine der grundlegenden Netzwerkarchitekturen, auf denen andere Deep-Learning-Architekturen aufbauen. Ein wesentlicher Unterschied besteht darin, dass RNNs im Gegensatz zu normalen Feedforward-Netzwerken über Verbindungen verfügen können, die eine Rückkopplung zu ihrer vorherigen oder derselben Schicht ermöglichen. RNN verfügt gewissermaßen über ein „Gedächtnis“ früherer Berechnungen und nutzt diese Informationen für die aktuelle Verarbeitung.
Der Begriff „Wiederkehrend“ wird verwendet, wenn das Netzwerk auf jeder Sequenzinstanz dieselbe Aufgabe ausführt, sodass die Ausgabe von vorherigen Berechnungen und Ergebnissen abhängt.
RNN eignet sich natürlich für viele NLP-Aufgaben, wie zum Beispiel die Sprachmodellierung. Sie sind in der Lage, den Bedeutungsunterschied zwischen „Hund“ und „Hot Dog“ zu erfassen, sodass RNNs speziell für die Modellierung dieser Art von Kontextabhängigkeit in Sprachen und ähnlichen Sequenzmodellierungsaufgaben geeignet sind, was den Einsatz von RNNs in diesen Bereichen sinnvoller macht als Der Hauptgrund für CNN. Ein weiterer Vorteil von RNN besteht darin, dass die Modellgröße nicht mit der Eingabegröße zunimmt, sodass Eingaben beliebiger Länge verarbeitet werden können.
Darüber hinaus verfügt RNN im Gegensatz zu CNN über flexible Rechenschritte, bietet bessere Modellierungsmöglichkeiten und schafft die Möglichkeit, unbegrenzten Kontext zu erfassen, da es historische Informationen berücksichtigt und seine Gewichtungen im Laufe der Zeit geteilt werden. Allerdings leiden rekurrente neuronale Netze unter dem Problem des verschwindenden Gradienten. Der Gradient wird sehr klein, wodurch die Aktualisierungsgewichte der Backpropagation sehr klein werden. Aufgrund der für jedes Etikett erforderlichen sequentiellen Verarbeitung und des Vorhandenseins verschwindender/explodierender Gradienten ist das RNN-Training langsam und manchmal schwierig zu konvergieren.
Das Bild unten von der Stanford University ist ein Beispiel für RNN-Architektur.
Zu beachten ist auch, dass CNN und RNN unterschiedliche Architekturen haben. CNN ist ein Feed-Forward-Neuronales Netzwerk, das Filter und Pooling-Schichten verwendet, während RNN die Ergebnisse durch Autoregression zurück in das Netzwerk einspeist.
RNN ist ein neuronales Netzwerk, das speziell für die Analyse von Zeitreihendaten entwickelt wurde. Dabei beziehen sich Zeitreihendaten auf Daten, die in zeitlicher Reihenfolge angeordnet sind, z. B. Text oder Video. RNN hat breite Anwendungsmöglichkeiten in der Textübersetzung, der Verarbeitung natürlicher Sprache, der Stimmungsanalyse und der Sprachanalyse. Beispielsweise können damit Audioaufnahmen analysiert werden, um die Rede des Sprechers zu identifizieren und in Text umzuwandeln. Darüber hinaus können RNNs auch zur Textgenerierung verwendet werden, beispielsweise zum Erstellen von Texten für E-Mails oder Social-Media-Beiträge.
In CNN sind die Eingabe- und Ausgabegrößen festgelegt. Dies bedeutet, dass CNN ein Bild mit fester Größe nimmt und es zusammen mit der Zuverlässigkeit seiner Vorhersage auf der entsprechenden Ebene ausgibt. Bei RNN können die Eingabe- und Ausgabegrößen jedoch variieren. Diese Funktion ist nützlich für Anwendungen, die eine Ein- und Ausgabe variabler Größe erfordern, z. B. die Generierung von Text.
Sowohl Gated Recurrent Units (GRU) als auch Long Short-Term Memory Units (LSTM) bieten Lösungen für das Problem des verschwindenden Gradienten, das bei Recurrent Neural Networks (RNN) auftritt.
Long Short Memory Neural Network (LSTM) ist eine spezielle Art von RNN. Es erleichtert RNNs die Speicherung von Informationen über viele Zeitstempel hinweg, indem es langfristige Abhängigkeiten lernt. Die folgende Abbildung ist eine visuelle Darstellung der LSTM-Architektur.
LSTM ist überall und in vielen Anwendungen oder Produkten, wie zum Beispiel Smartphones, zu finden. Seine Stärke liegt darin, dass es sich von der typischen neuronenbasierten Architektur entfernt und stattdessen das Konzept von Speichereinheiten übernimmt. Diese Speichereinheit behält ihren Wert entsprechend der Funktion ihrer Eingabe und kann ihren Wert für kurze oder lange Zeit halten. Dadurch kann sich das Gerät wichtige Dinge merken, nicht nur den zuletzt berechneten Wert.
Die LSTM-Speicherzelle enthält drei Tore, die den Zu- oder Abfluss von Informationen innerhalb ihrer Zelle steuern.
Forgetting Gate: Verantwortlich für die Verfolgung, welche Informationen „vergessen“ werden können, um Platz für die Verarbeitungseinheit zu schaffen, um sich neue Daten zu merken.
Output Gate: Bestimmt, wann die in der Verarbeitungseinheit gespeicherten Informationen als Ausgabe der Zelle verwendet werden können.
Im Vergleich zu GRU und insbesondere RNN kann LSTM längerfristige Abhängigkeiten lernen. Da es drei Tore gibt (zwei in GRU und null in RNN), verfügt LSTM im Vergleich zu RNN und GRU über mehr Parameter. Diese zusätzlichen Parameter ermöglichen es dem LSTM-Modell, komplexe Sequenzdaten wie natürliche Sprache oder Zeitreihendaten besser zu verarbeiten. Darüber hinaus können LSTMs auch Eingabesequenzen variabler Länge verarbeiten, da ihre Gate-Struktur es ihnen ermöglicht, unnötige Eingaben zu ignorieren. Daher schneidet LSTM in vielen Anwendungen gut ab, darunter Spracherkennung, maschinelle Übersetzung und Börsenprognosen.
GRU verfügt über zwei Tore: Update-Gate und Reset-Gate (im Wesentlichen zwei Vektoren), um zu entscheiden, welche Informationen an den Ausgang übergeben werden sollen.
Ähnlich wie RNN ist GRU auch ein wiederkehrendes neuronales Netzwerk, das Informationen effektiv über einen langen Zeitraum speichern und längere Abhängigkeiten erfassen kann als RNN. GRU ist jedoch einfacher und schneller zu trainieren als LSTM.
Obwohl GRU in der Implementierung komplexer ist als RNN, da es nur zwei Gating-Mechanismen enthält, verfügt es über eine geringere Anzahl von Parametern und kann im Allgemeinen keine Abhängigkeiten mit größerer Reichweite wie LSTM erfassen. Daher benötigt GRU in einigen Fällen möglicherweise mehr Trainingsdaten, um das gleiche Leistungsniveau wie LSTM zu erreichen.
Da GRU außerdem relativ einfach ist und der Rechenaufwand niedrig ist, kann es sinnvoller sein, GRU in Umgebungen mit begrenzten Ressourcen wie mobilen Geräten oder eingebetteten Systemen zu verwenden. Wenn andererseits die Genauigkeit des Modells für die Anwendung von entscheidender Bedeutung ist, ist LSTM möglicherweise die bessere Wahl.
Der Artikel über Transformers „Attention is All You Need“ ist fast der Artikel Nummer eins aller Zeiten auf Arxiv. Transformer ist ein großes Encoder-Decoder-Modell, das mithilfe komplexer Aufmerksamkeitsmechanismen ganze Sequenzen verarbeiten kann.
Typischerweise wird in Anwendungen zur Verarbeitung natürlicher Sprache jedes Eingabewort zunächst mithilfe eines Einbettungsalgorithmus in einen Vektor umgewandelt. Die Einbettung erfolgt nur im Encoder der untersten Ebene. Die Abstraktion, die allen Encodern gemeinsam ist, besteht darin, dass sie eine Liste von Vektoren der Größe 512 erhalten, bei denen es sich um die Worteinbettungen handelt, bei anderen Encodern jedoch direkt unter der Encoderausgabe.
Aufmerksamkeit bietet eine Lösung für das Engpassproblem. Bei dieser Art von Modellen stellen Kontextvektoren einen Flaschenhals dar, der es dem Modell erschwert, mit langen Sätzen umzugehen. Aufmerksamkeit ermöglicht es dem Modell, sich bei Bedarf auf relevante Teile der Eingabesequenz zu konzentrieren und die Darstellung jedes Wortes als Abfrage zu behandeln, um auf Informationen aus einer Reihe von Werten zuzugreifen und diese zu kombinieren.
Im Allgemeinen ist der Encoder in der Transformer-Architektur in der Lage, alle verborgenen Zustände an den Decoder zu übergeben. Allerdings nutzt der Decoder die Aufmerksamkeit, um einen zusätzlichen Schritt auszuführen, bevor er die Ausgabe generiert. Der Decoder multipliziert jeden verborgenen Zustand mit seinem Softmax-Score, wodurch verborgene Zustände mit höherer Bewertung verstärkt und andere verborgene Zustände überflutet werden. Dadurch kann sich das Modell auf die Teile der Eingabe konzentrieren, die für die Ausgabe relevant sind.
Selbstaufmerksamkeit befindet sich im Encoder. Der erste Schritt besteht darin, aus jedem Encoder-Eingabevektor (Einbettung jedes Wortes) drei Vektoren zu erstellen: Schlüssel-, Abfrage- und Wertvektoren. Diese Vektoren werden durch Multiplikation der Einbettungen während des Trainings erstellt 3 Matrizen wurden dabei trainiert. Die K-, V- und Q-Dimensionen betragen 64, während die Einbettungs- und Encoder-Eingabe-/Ausgabevektoren eine Dimension von 512 haben. Das Bild unten stammt aus Jay Alammars Illustrated Transformer, der wahrscheinlich besten visuellen Interpretation im Internet.
Die Größe dieser Liste ist ein einstellbarer Hyperparameter und entspricht im Wesentlichen der Länge des längsten Satzes im Trainingsdatensatz.
Was sind Abfrage-, Schlüssel- und Wertvektoren? Es handelt sich um abstrakte Konzepte, die beim Berechnen und Nachdenken über Aufmerksamkeit hilfreich sind. Die Berechnung der Queraufmerksamkeit im Decoder ist mit Ausnahme der Eingabe dieselbe wie die der Selbstaufmerksamkeit. Die gegenseitige Aufmerksamkeit kombiniert asymmetrisch zwei unabhängige Einbettungssequenzen derselben Dimension, während die Eingabe der Selbstaufmerksamkeit eine einzelne Einbettungssequenz ist.
Um Transformer zu diskutieren, ist es auch notwendig, zwei vorab trainierte Modelle zu diskutieren, nämlich BERT und GPT, da sie zum Erfolg von Transformer geführt haben.
Der vorab trainierte Decoder von GPT verfügt über 12 Schichten, darunter 768-dimensionale verborgene Zustände, eine 3072-dimensionale Feed-Forward-verborgene Schicht und ist mit 40.000 zusammengeführten Bytepaaren codiert. Es wird hauptsächlich beim Denken in natürlicher Sprache verwendet, um Satzpaare als Folgerung, Widerspruch oder Neutralität zu kennzeichnen.
BERT ist ein vorab trainierter Encoder, der maskierte Sprachmodellierung verwendet, um einen Teil der Wörter in der Eingabe durch spezielle [MASK]-Tokens zu ersetzen, und dann versucht, diese Wörter vorherzusagen. Daher muss der Verlust nur für die vorhergesagten maskierten Wörter berechnet werden. Beide BERT-Modellgrößen verfügen über eine große Anzahl von Encoderschichten (im Papier Transformer-Blöcke genannt) – 12 in der Basisversion und 24 in der großen Version. Diese verfügen außerdem über größere Feedforward-Netzwerke (768 bzw. 1024 versteckte Einheiten) und mehr Aufmerksamkeitsköpfe (12 bzw. 16) als die Standardkonfiguration in der Transformer-Referenzimplementierung im ersten Artikel (6 Encoderschichten, 512 versteckte Einheiten und 8 Aufmerksamkeitsköpfe). ). BERT-Modelle lassen sich leicht optimieren und können normalerweise auf einer einzelnen GPU durchgeführt werden. BERT kann für die Übersetzung in NLP verwendet werden, insbesondere für die Übersetzung ressourcenarmer Sprachen.
Ein Leistungsnachteil von Transformern besteht darin, dass ihre Rechenzeit in der Selbstaufmerksamkeit quadratisch ist, während RNNs nur linear wachsen. 6.2 Transformer-Anwendungsfälle . Dies nennt man „Selbstaufmerksamkeit“. Dies bedeutet, dass der Transformer den Inhalt des gesamten Datensatzes sehen kann, sobald er mit dem Training beginnt.
Vor dem Aufkommen von Transformer blieb der Fortschritt der KI-Sprachaufgaben weit hinter der Entwicklung anderer Bereiche zurück. Tatsächlich war die Verarbeitung natürlicher Sprache in der Deep-Learning-Revolution der letzten etwa zehn Jahre ein Nachzügler, und NLP blieb in gewissem Maße hinter Computer Vision zurück. Mit dem Aufkommen von Transformers hat der NLP-Bereich jedoch einen enormen Aufschwung erfahren und eine Reihe von Modellen wurde auf den Markt gebracht, die bei verschiedenen NLP-Aufgaben gute Ergebnisse erzielen.
Um den Unterschied zwischen traditionellen Sprachmodellen (basierend auf rekursiven Architekturen wie RNN, LSTM oder GRU) und Transformers zu verstehen, können wir ein Beispiel nennen: „Die Eule hat ein Eichhörnchen entdeckt aber er hat nur das Ende seines Schwanzes erreicht.“ Der Aufbau des zweiten Satzes ist verwirrend: Was bedeutet dieses „es“? Traditionelle Sprachmodelle, die sich nur auf die Wörter rund um „es“ konzentrieren, hätten Schwierigkeiten, aber ein Transformer, der jedes Wort mit jedem anderen Wort verbindet, kann erkennen, dass eine Eule ein Eichhörnchen gefangen hat und dass das Eichhörnchen einen Teil seines Schwanzes verloren hat.
Bei CNN beginnen wir im lokalen Bereich und erlangen nach und nach die globale Perspektive. CNN erkennt Bilder Pixel für Pixel, indem es Merkmale von lokal nach global aufbaut, um Merkmale wie Ecken oder Linien zu identifizieren. Allerdings werden im Transformer durch Selbstaufmerksamkeit bereits auf der ersten Ebene der Informationsverarbeitung (genau wie bei der Sprache) Verbindungen zwischen entfernten Bildorten hergestellt. Wenn der CNN-Ansatz einer Skalierung ausgehend von einem einzelnen Pixel gleicht, dann wird der Transformator nach und nach das gesamte unscharfe Bild in den Fokus bringen.
CNN generiert lokale Feature-Darstellungen, indem es wiederholt Filter auf lokale Patches der Eingabedaten anwendet, deren empfängliches Sichtfeld schrittweise vergrößert und eine globale Feature-Darstellung aufbaut. Aufgrund der Faltung kann die Fotos-App Birnen von Wolken unterscheiden. Vor der Transformer-Architektur galt CNN als unverzichtbar für Vision-Aufgaben.
Die Architektur des Vision Transformer-Modells ist fast identisch mit dem ersten Transformer aus dem Jahr 2017, mit nur einigen geringfügigen Änderungen, die es ihm ermöglichen, Bilder statt Wörter zu analysieren. Da Sprache tendenziell diskret ist, muss das Eingabebild diskretisiert werden, damit der Transformator visuelle Eingaben verarbeiten kann. Die genaue Nachahmung des Sprachansatzes und die Durchführung der Selbstaufmerksamkeit für jedes Pixel würde in Bezug auf die Rechenzeit unerschwinglich teuer werden. Daher unterteilt ViT größere Bilder in quadratische Zellen oder Patches (ähnlich wie Token im NLP). Die Größe ist beliebig, da das Token je nach Auflösung des Originalbilds größer oder kleiner sein kann (Standard ist 16 x 16 Pixel). Aber durch die Verarbeitung von Pixeln in Gruppen und die Anwendung der Selbstaufmerksamkeit auf jedes Pixel kann ViT schnell riesige Trainingsdatensätze verarbeiten und immer genauere Klassifizierungen ausgeben.
6.2.3 Multimodale Aufgaben der menschlichen Intelligenz. Mit anderen Worten: Es bestand Bedarf an einer einzigen Mehrzweckarchitektur, die einen nahtlosen Übergang zwischen Sinnen wie Lesen/Sehen, Sprechen und Zuhören ermöglicht. Für multimodale Aufgaben müssen mehrere Datentypen gleichzeitig verarbeitet werden, z. B. Originalbilder, Videos und Sprachen, und Transformer bietet das Potenzial einer allgemeinen Architektur.Aufgrund des diskreten Ansatzes früherer Architekturen, bei denen jeder Datentyp sein eigenes spezifisches Modell hatte, war dies eine schwierige Aufgabe. Transformer bieten jedoch eine einfache Möglichkeit, mehrere Eingabequellen zu kombinieren. Multimodale Netzwerke könnten beispielsweise Systeme antreiben, die die Lippenbewegungen von Menschen lesen und auf ihre Stimmen hören, indem sie gleichzeitig reichhaltige Darstellungen von Sprach- und Bildinformationen nutzen. Durch die gegenseitige Aufmerksamkeit ist Transformer in der Lage, Abfrage-, Schlüssel- und Wertevektoren aus verschiedenen Quellen abzuleiten, was es zu einem leistungsstarken Werkzeug für multimodales Lernen macht.
Deshalb ist Transformer ein großer Schritt in Richtung der „Fusion“ neuronaler Netzwerkarchitekturen, die dazu beitragen kann, eine universelle Verarbeitung mehrerer modaler Daten zu erreichen. 6.3 Vor- und Nachteile von Transformer gegenüber RNN/GRU/LSTMIm Vergleich zu RNN/GRU/LSTM kann Transformer längere Abhängigkeiten lernen als RNN und seine Varianten (wie GRU und LSTM).Der größte Vorteil liegt jedoch darin, dass Transformer sich für die Parallelisierung eignen. Im Gegensatz zu einem RNN, das bei jedem Zeitschritt ein Wort verarbeitet, besteht eine Schlüsseleigenschaft des Transformers darin, dass das Wort an jeder Position über seinen eigenen Pfad durch den Encoder fließt. In der Selbstaufmerksamkeitsschicht gibt es Abhängigkeiten zwischen diesen Pfaden, da die Selbstaufmerksamkeitsschicht die Bedeutung anderer Wörter in jeder Eingabesequenz für dieses Wort berechnet. Sobald jedoch die Selbstaufmerksamkeitsausgabe generiert ist, weist die Feedforward-Schicht diese Abhängigkeiten nicht mehr auf, sodass einzelne Pfade beim Durchlaufen der Feedforward-Schicht parallel ausgeführt werden können. Dies ist eine besonders nützliche Funktion im Fall des Transformer-Encoders, der jedes Eingabewort nach einer Selbstaufmerksamkeitsschicht parallel mit anderen Wörtern verarbeitet. Diese Funktion ist jedoch für den Decoder nicht sehr wichtig, da er jeweils nur ein Wort generiert und keine parallelen Wortpfade verwendet.
Die Laufzeit der Transformer-Architektur skaliert quadratisch mit der Länge der Eingabesequenz, was bedeutet, dass die Verarbeitung langsam sein kann, wenn lange Dokumente oder Zeichen als Eingabe verarbeitet werden. Mit anderen Worten, während der Selbstaufmerksamkeitsbildung müssen alle Interaktionspaare berechnet werden, was bedeutet, dass die Berechnung quadratisch mit der Sequenzlänge wächst, also O(T^2d), wobei T die Sequenzlänge und D ist die Dimension. Entspricht beispielsweise einem einfachen Satz d=1000, T≤30⇒T^2≤900⇒T^2d≈900K. Und für die zirkulierenden Nerven wächst es nur linear.
Wäre es nicht schön, wenn der Transformer nicht paarweise Interaktionen zwischen jedem Wortpaar im Satz berechnen müsste? Es gibt Studien, die zeigen, dass recht hohe Leistungsniveaus erreicht werden können, ohne die Interaktionen zwischen allen Wortpaaren zu berechnen (z. B. durch Approximation der paarweisen Aufmerksamkeit).
Im Vergleich zu CNN sind die Datenanforderungen von Transformer extrem hoch. CNNs sind immer noch stichprobeneffizient, was sie zu einer hervorragenden Wahl für Aufgaben mit geringem Ressourcenaufwand macht. Dies gilt insbesondere für Bild-/Videogenerierungsaufgaben, die selbst für CNN-Architekturen große Datenmengen erfordern (was die extrem hohen Datenanforderungen der Transformer-Architektur mit sich bringt). Beispielsweise wird die kürzlich von Radford et al. vorgeschlagene CLIP-Architektur mit CNN-basierten ResNets als visuellem Rückgrat trainiert (anstelle der ViT-ähnlichen Transformer-Architektur). Während Transformatoren Genauigkeitsgewinne bieten, sobald ihre Datenanforderungen erfüllt sind, bieten CNNs eine Möglichkeit, eine gute Genauigkeitsleistung bei Aufgaben bereitzustellen, bei denen die Menge der verfügbaren Daten nicht ungewöhnlich hoch ist. Daher haben beide Architekturen ihren Nutzen.
Da die Laufzeit der Transformer-Architektur einen quadratischen Zusammenhang mit der Länge der Eingabesequenz hat. Das heißt, die Berechnung der Aufmerksamkeit für alle Wortpaare erfordert, dass die Anzahl der Kanten im Diagramm quadratisch mit der Anzahl der Knoten wächst, d. h. in einem Satz mit n Wörtern muss der Transformer n^2 Wortpaare berechnen. Dies bedeutet, dass die Anzahl der Parameter riesig ist (d. h. die Speichernutzung hoch ist), was zu einer hohen Rechenkomplexität führt. Hohe Rechenanforderungen wirken sich insbesondere bei mobilen Geräten negativ auf die Leistung und die Akkulaufzeit aus. Um eine bessere Leistung (z. B. Genauigkeit) zu erzielen, benötigt Transformer insgesamt eine höhere Rechenleistung, mehr Daten, mehr Strom-/Akkulaufzeit und einen größeren Speicherbedarf.
Jeder in der Praxis verwendete Algorithmus für maschinelles Lernen, vom nächsten Nachbarn bis zur Gradientenverstärkung, weist seine eigene induktive Verzerrung hinsichtlich der Kategorien auf, die leichter zu erlernen sind. Fast alle Lernalgorithmen haben die Tendenz zu lernen, dass Elemente, die ähnlich sind („nahe“ beieinander in einem bestimmten Merkmalsraum), mit größerer Wahrscheinlichkeit zur gleichen Klasse gehören. Lineare Modelle wie die logistische Regression gehen außerdem davon aus, dass Kategorien durch lineare Grenzen getrennt werden können, was eine „harte“ Tendenz darstellt, da das Modell nichts anderes lernen kann. Selbst bei der regulierten Regression, die beim maschinellen Lernen fast immer verwendet wird, besteht eine Tendenz zum Lernen von Grenzen mit einer kleinen Anzahl von Merkmalen und geringen Merkmalsgewichten. Dies ist eine „weiche“ Tendenz, da das Modell viele Klassen lernen kann Grenzen mit Features mit hohem Gewicht, aber das ist schwieriger/erfordert mehr Daten.
Sogar Deep-Learning-Modelle haben Inferenzverzerrungen. Beispielsweise ist das neuronale LSTM-Netzwerk sehr effektiv für Aufgaben zur Verarbeitung natürlicher Sprache, da es Kontextinformationen zu langen Sequenzen bevorzugt.
Das Verständnis von Domänenkenntnissen und Problemschwierigkeiten kann uns bei der Auswahl geeigneter Algorithmusanwendungen helfen. Zum Beispiel das Problem, relevante Begriffe aus klinischen Aufzeichnungen zu extrahieren, um festzustellen, ob bei einem Patienten Krebs diagnostiziert wurde. In diesem Fall funktioniert die logistische Regression gut, da es viele unabhängig informative Begriffe gibt. Bei anderen Problemen, etwa dem Extrahieren der Ergebnisse eines Gentests aus einem komplexen PDF-Bericht, kann die Verwendung von LSTM den langfristigen Kontext jedes Wortes besser verarbeiten, was zu einer besseren Leistung führt. Sobald ein Basisalgorithmus ausgewählt wurde, kann uns das Verständnis seiner Vorurteile auch beim Feature Engineering helfen, dem Prozess der Auswahl von Informationen, die in einen Lernalgorithmus eingespeist werden sollen.
Jede Modellstruktur weist eine inhärente Inferenzverzerrung auf, die dabei hilft, Muster in Daten zu verstehen und dadurch Lernen zu ermöglichen. Beispielsweise weist CNN eine gemeinsame Nutzung räumlicher Parameter und Übersetzung/räumliche Invarianz auf, während RNN eine gemeinsame Nutzung zeitlicher Parameter aufweist.
Der alte Programmierer hat versucht, Transformer, CNN, RNN/GRU/LSTM in der Deep-Learning-Architektur zu vergleichen und zu analysieren, und hat verstanden, dass Transformer längere Abhängigkeiten lernen kann Beziehungen, erfordert jedoch höhere Datenanforderungen und Rechenleistung; Transformer eignet sich für multimodale Aufgaben und kann nahtlos zwischen Sinnen wie Lesen/Sehen, Sprechen und Zuhören wechseln Daten, um Lernen zu ermöglichen.
【Referenz】
Das obige ist der detaillierte Inhalt vonVergleichende Analyse von Deep-Learning-Architekturen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!