Was ist der Unterschied zwischen Faltungs-Neuronalen Netzen und Deep Learning?

25

Ich möchte Deep Learning in meinem Projekt einsetzen. Ich habe ein paar Artikel durchgesehen und mir ist die Frage gekommen: Gibt es einen Unterschied zwischen dem neuronalen Faltungsnetz und dem tiefen Lernen? Sind diese Dinge gleich oder haben sie größere Unterschiede und was ist besser?

Aadnan Farooq A
quelle
Sagen Sie mir, was genau der Unterschied zu Deep Learning und Convolutional Neural Network ist. Ich bin etwas verwirrt bei diesen beiden Themen
Yamini,

Antworten:

33

Deep Learning ist der Zweig des maschinellen Lernens auf der Basis von Deep Neural Networks (DNNs), dh neuronalen Netzen mit mindestens 3 oder 4 Schichten (einschließlich der Eingabe- und Ausgabe-Schichten). Für einige Leute (insbesondere nicht-technische) gilt jedes neuronale Netz als Deep Learning, unabhängig von seiner Tiefe. Andere betrachten ein 10-lagiges neuronales Netz als flach.

Convolutional Neural Networks (CNNs) sind eine der beliebtesten Architekturen für neuronale Netzwerke. Sie sind äußerst erfolgreich in der Bildverarbeitung, aber auch für viele andere Aufgaben (wie Spracherkennung, Verarbeitung natürlicher Sprache und mehr). Die CNNs auf dem neuesten Stand der Technik sind ziemlich tief (mindestens Dutzende von Schichten), daher sind sie Teil von Deep Learning. Sie können jedoch eine flache CNN für eine einfache Aufgabe erstellen. In diesem Fall handelt es sich nicht um (wirklich) Deep Learning.

Aber CNNs sind nicht allein, es gibt viele andere neuronale Netzwerkarchitekturen, darunter Recurrent Neural Networks (RNN), Autoencoder, Transformers, Deep Belief Nets (DBN = ein Stapel von Restricted Boltzmann Machines, RBM) und mehr. Sie können flach oder tief sein. Hinweis: Selbst flache RNNs können als Teil von Deep Learning betrachtet werden, da für deren Training ein zeitliches Abrollen erforderlich ist, was zu einem tiefen Netz führt.

MiniQuark
quelle
@MiniQurak. Bitte korrigieren Sie mich, ich liege falsch. Ich verstehe, dass CNN nur eine der Architekturen von Deep Nets ist, genau wie Autoencoder, Deep Belief Nets, Recurrent Neural Networks (RNN). Ist es richtig?
Aadnan Farooq A
Ja das ist richtig.
MiniQuark
Können wir dann sagen, welche Architektur je nach Datensatz besser ist? oder was sind die Schlüsselfaktoren?
Aadnan Farooq A
1
CNNs eignen sich hervorragend für Bilderkennungsaufgaben. Sie leuchten auch, wenn die Daten irgendeine Form von hierarchischer Struktur haben, mit lokalen Mustern (z. B. Liniensegmenten), die zu großen Mustern (z. B. Quadraten, Dreiecken), zu größeren Mustern (z. B. Haus, Ebene) zusammengesetzt sind. Dies funktioniert gut für Spracherkennungsaufgaben. RNNs eignen sich hervorragend für Zeitreihen (z. B. zur Vorhersage des Wetters) und zur Verarbeitung von Datensequenzen (z. B. Sätze). Sie werden häufig für NLP (Natural Language Processing) verwendet. AutoEncoder werden nicht überwacht, sie lernen Muster in den Daten.
MiniQuark
1
Okay dann :)
Firebug
21

Deep Learning (DL) ist im Bereich der adaptiven Signalverarbeitung / des maschinellen Lernens eine spezielle Methode, mit der wir komplexe Darstellungen von Maschinen trainieren können.

Im Allgemeinen verfügen sie über eine Formulierung, mit der Sie Ihre Eingabe über eine Reihe hierarchisch gestapelter Operationen (von denen die „Tiefe“ stammt) bis zum Ziel y abbilden können . Diese Operationen sind typischerweise lineare Operationen / Projektionen ( W i ), gefolgt von Nichtlinearitäten ( f i ) wie folgt :xyWichfich

y=fN(...f2(f1(xTW1)W2)...WN)

Derzeit gibt es in DL viele verschiedene Architekturen : Eine solche Architektur ist als Convolutional Neural Net (CNN) bekannt. Eine andere Architektur ist als mehrschichtiges Perzeptron (MLP) usw. bekannt. Verschiedene Architekturen eignen sich zur Lösung verschiedener Arten von Problemen.

Ein MLP ist vielleicht einer der traditionellsten Typen von DL-Architekturen, die man finden kann, und dann wird jedes Element einer vorherigen Schicht mit jedem Element der nächsten Schicht verbunden. Es sieht aus wie das:

Bildbeschreibung hier eingeben

WiWR10x20vR10x1uR1x20u=vTWW der Elemente der nächsten Schicht.

MLPs gerieten damals in Ungnade, auch weil sie schwer zu trainieren waren. Während es viele Gründe für diese Härte gibt, war einer von ihnen auch, weil ihre dichten Verbindungen es ihnen nicht ermöglichten, für verschiedene Computeranblickprobleme leicht zu skalieren. Mit anderen Worten, sie hatten keine Übersetzungsäquivarianz eingebaut. Dies bedeutete, dass sie, wenn es ein Signal in einem Teil des Bildes gab, für das sie sensibel sein mussten, erneut lernen mussten, wie sie sensibel dafür sein mussten, wenn Dieses Signal bewegte sich. Dies verschwendete die Kapazität des Netzes und so wurde das Training hart.

Hier kamen CNNs ins Spiel! So sieht man aus:

Bildbeschreibung hier eingeben

Wich

Es ist üblich zu sehen, dass "CNNs" sich auf Netze beziehen, in denen wir Faltungsschichten im gesamten Netz haben, und MLPs ganz am Ende, so dass dies eine Einschränkung ist, die Sie beachten sollten.

Tarin Ziyaee
quelle
1
+1 Tolle Antwort, ich habe gerade etwas über Töplitz-Matricies gelernt. ;-)
MiniQuark
@MiniQuark Danke! Ja - Sie können eine Faltung als Multiplikation mit einer Toeplitz-Matrix ausgeben. :)
Tarin Ziyaee
@TarinZiyaee und MiniQurak Könnt ihr mir bitte einen guten Buch- / Zeitschriftenartikel / Tutorial vorschlagen, damit der Anfänger mehr über Deep Learning im Detail erfährt.
Aadnan Farooq A
CNNs sind nicht unbedingt tief (-1)
Firebug
7

Deep Learning = tiefe künstliche neuronale Netze + andere tiefe Modelle .

Tiefe künstliche neuronale Netze = künstliche neuronale Netze mit mehr als einer Schicht. ( Weitere Informationen finden Sie unter Mindestanzahl von Ebenen in einem tiefen neuronalen Netzwerk oder in Wikipedia. )

Convolution Neural Network = Eine Art künstlicher neuronaler Netze

Franck Dernoncourt
quelle
Fairerweise umfasst Deep Learning auch "Multilayer-Kernel-Maschinen", und CNNs können flach sein. :)
MiniQuark
@MiniQuark yep.
Franck Dernoncourt
Künstliche neuronale Netze mit mehr als einer Schicht ..... Ich bin nicht sicher, ob ein Netz mit nur zwei Schichten ein tiefes Netz ist.
SmallChess
1
@StudentT Vielleicht arbeite ich nicht im Marketing;) en.wikipedia.org/w/…
Franck Dernoncourt
1
Dies sollte die beste Antwort sein, da CNNs nicht unbedingt tief sind und Deep Learning nicht nur ANNs (im normalen Sinne) betrifft.
Firebug
6

Diese Folie von Yann LeCun weist darauf hin, dass nur Modelle mit einer Feature-Hierarchie (Features auf niedrigerer Ebene werden auf einer Ebene eines Modells gelernt und diese Features werden dann auf der nächsten Ebene kombiniert) tiefgreifend sind .

Ein CNN kann tief oder flach sein; was der Fall ist, hängt davon ab, ob es dieser "Merkmalshierarchie" -Konstruktion folgt, da bestimmte neuronale Netze, einschließlich 2-Schicht-Modelle , nicht tief sind.

Yann LeCuns Definition

Sycorax sagt Reinstate Monica
quelle
3

Deep learningist ein allgemeiner Begriff für den Umgang mit einem komplizierten neuronalen Netzwerk mit mehreren Schichten. Es gibt keine Standarddefinition dessen, was genau ist deep. Normalerweise kann man denken, dass ein tiefes Netzwerk zu groß ist, um von Laptop und PC trainiert zu werden. Der Datensatz wäre so groß, dass Sie ihn nicht in Ihr Gedächtnis aufnehmen können. Möglicherweise benötigen Sie eine GPU, um Ihr Training zu beschleunigen.

Deep ist eher ein Marketingbegriff, um etwas professioneller als sonst klingen zu lassen.

CNNist eine Art tiefes neuronales Netzwerk, und es gibt viele andere Arten. CNNs sind beliebt, weil sie sehr nützliche Anwendungen für die Bilderkennung haben.

Kleinschach
quelle
Ich möchte freundlicherweise gegen einige dieser Aussagen Einspruch erheben: Ein Netzwerk wird im Allgemeinen als tief angesehen, wenn es mehr als eine verborgene Schicht hat, und die meisten Leute würden zustimmen, dass mehr als 10 verborgene Schichten definitiv tief sind. Es ist durchaus möglich, tiefe Netzwerke auf Ihrem Laptop zu trainieren, ich mache es die ganze Zeit. Der Datensatz nicht haben zu sehr groß sein, insbesondere , wenn Sie Transfer Lernen verwenden (dh. Wiederverwendung Schichten aus einem vortrainierte Netzwerk), und / oder Daten Augmentation. Mit dem Wort "tief" ist sicherlich viel Hype verbunden, aber es gibt spezielle Techniken für tiefes Lernen, so dass es nicht nur ein Hype ist. :)
MiniQuark
@MiniQuark Mit der Datenerweiterung wird Ihr Datensatz immer noch groß sein, nur dass Sie mit etwas Kleinem beginnen ...
SmallChess
Guter Punkt, du hast recht. Was ich damit sagen wollte, ist, dass der Datensatz in den Speicher passt, da Sie die meisten Daten im laufenden Betrieb generieren würden.
MiniQuark