Während wir uns mit der Literatur über neuronale Netze befassen, können wir andere Methoden mit neuromorphen Topologien identifizieren ("Neural-Network" -ähnliche Architekturen). Und ich spreche nicht über den Satz der universellen Approximation . Beispiele sind unten angegeben.
Dann frage ich mich: Was ist die Definition eines künstlichen neuronalen Netzwerks? Seine Topologie scheint alles abzudecken.
Beispiele:
Eine der ersten Identifizierungen, die wir vornehmen, besteht zwischen PCA und einem linearen Autoencoder mit gebundenen Gewichten im Encoder und Decoder und schwellwertgesteuerten Aktivierungen in der Engpassschicht.
Es wird auch eine gemeinsame Identifikation zwischen linearen Modellen (speziell der logistischen Regression) und einem neuronalen Netzwerk ohne verborgene Schicht und einer einzelnen Ausgabeschicht durchgeführt. Diese Identifikation öffnet mehrere Türen.
Fourier- und Taylor-Reihen? ANNs . SVM ? ANN. Gaußscher Prozess? ANN (mit einer versteckten Ebene mit unendlichen versteckten Einheiten).
Genauso einfach können wir beliebige regulierte Versionen mit speziellen Verlustfunktionen dieser Algorithmen in ein neuronales Netzwerk-Framework integrieren.
Aber je mehr wir graben, desto mehr Ähnlichkeiten tauchen auf. Ich bin gerade auf Deep Neural Decision Trees gestoßen , mit denen eine bestimmte ANN-Architektur anhand von Entscheidungsbäumen identifiziert werden kann, sodass diese mithilfe von ANN-Methoden (z. B. Gradient Descent Backpropagation) gelernt werden können. Daraus können wir zufällige Wälder und gradientenverstärkte Entscheidungsbäume aus rein neuronalen Netzwerktopologien konstruieren.
Wenn alles als künstliches neuronales Netzwerk ausgedrückt werden kann, was definiert ein künstliches neuronales Netzwerk?
quelle
Antworten:
Jürgen Schmidhuber, " Deep Learning in neuronalen Netzen : Ein Überblick ", beschreibt die Geschichte der Schlüsselkonzepte in neuronalen Netzen und Deep Learning. Seiner Ansicht nach scheinen neuronale Netze im Wesentlichen jedes Modell zu umfassen, das als gerichteter Graph charakterisiert werden kann, wobei jeder Knoten eine Recheneinheit darstellt. Schmidhuber ist ein bekannter Forscher für neuronale Netze und hat mit Sepp Hochreiter die Originalarbeit über LSTM-Netze verfasst.
Andererseits bin ich mir nicht sicher, ob es unbedingt rentabel ist, eine Taxonomie von sich gegenseitig ausschließenden Buckets für maschinelle Lernstrategien zu erstellen. Ich denke, wir können sagen, dass es Perspektiven gibt, aus denen Modelle als neuronale Netze betrachtet werden können. Ich denke nicht, dass die Perspektive in allen Kontexten unbedingt die beste oder nützlichste ist. Zum Beispiel plane ich immer noch, zufällige Wälder und Bäume mit Farbverläufen als "Baumensembles" zu bezeichnen, anstatt ihre Unterscheidungen aufzuheben und sie "neuronale Netzwerkbäume" zu nennen. Darüber hinaus unterscheidet Schmidhuber NNs von Kernel-Maschinen - auch wenn Kernel-Maschinen einige Verbindungen zu NNs aufweisen -, wenn er schreibt: "Im neuen Jahrtausend haben tiefe NNs endlich breite Aufmerksamkeit erregt. hauptsächlich, indem alternative Methoden des maschinellen Lernens wie Kernel-Maschinen übertroffen werden ... in zahlreichen wichtigen Anwendungen. "
quelle
Wenn Sie eine grundlegende Definition eines ANN wünschen, können Sie sagen, dass es sich um ein gerichtetes grafisches Modell handelt, bei dem Ein- und Ausgaben an jedem Knoten über eine Aktivierungsfunktion verarbeitet werden und der größte Teil des Zeitgradientenabfalls zum Trainieren verwendet wird. Es stellt sich also die Frage, welche Modelle da draußen als grafische Modelle ausgedrückt werden können.
Ich bin kein Experte, aber ich glaube, dass theoretisch gezeigt werden kann, dass einige ANNs vollständig sind, was bedeutet, dass sie in der Lage sein sollten, alle möglichen Berechnungen durchzuführen (mit einer möglichen unendlichen Anzahl von Ressourcen, wohlgemerkt).
Ich werde Ihre Frage auch folgendermaßen interpretieren:
Ein Vanille-Neuronales-Netzwerk kann einen Entscheidungsbaum mithilfe von Heaviside-Step-Aktivierungen emulieren. Das Problem ist, dass solche Einheitenaktivierungen einen Gradienten von Null haben, sodass ein normaler Gradientenabstieg nicht funktioniert. Sie könnten sagen: "Kein Problem, verwenden Sie einfach eine modifizierte Form der Gradientenabnahme." Das reicht aber noch nicht aus. Ein besseres Beispiel ist XGBOOST, bei dem es sich nicht nur um gradientenverstärkte Wälder handelt. Es ist eine Menge zusätzlicher Arbeit erforderlich, um Split-Punkte auszuwählen, zu beschneiden, die Geschwindigkeit zu optimieren usw. Möglicherweise können Sie nach einer ausreichenden Anzahl von Änderungen eine ähnlich aussehende ANN erstellen auch nicht, wenn es für die Arbeit optimiert ist.
quelle
"For any given model, can I slap together an ANN model to emulate that model, as close as possible, and in a reasonable amount of time?"
- muss ich leider sagen, dass das nicht der Punkt ist. Der Punkt ist, dass die ANN-Topologie so allgemein ist, dass sie anscheinend alles abdeckt, und die Optimierungsstrategie nicht in der Lage zu sein scheint, zu bestimmen, was ein ANN ist und was nicht. Daher die Frage, was eine ANN ausmacht? Denn ansonsten ist alles in gewisser Weise eine ANN, die in anderen Begriffen ausgedrückt wird."A vanilla neural network can emulate a decision tree, by using heaviside step-activations. The problem is that such unit activations have zero gradient, so normal gradient descent won't work. You might say, "no problem, just use a modified form of gradient descent." However, that's still not enough. [...]"
- Wie wir behaupten könnten, ist Optimierung kein bestimmender Faktor für die Definition dessen, was eine ANN ausmacht. Wenn Sie jeden Entscheidungsbaum als neuronales Netzwerk schreiben können (und das können wir), können wir sicher sagen, dass DTs (eine Art von) NN sind, während die Umkehrung nicht wahr ist."If you want a basic definition of an ANN, you might say that it's a directed-graphical-model, where inputs and outputs are processed at each node via an activation function, and most of the time gradient descent is used to train it. So the question really becomes: what models out there can be expressed as graphical models?"
- Ich stimme dem zu. Dann kann "Neuronales Netz" als die allgemeinste Klasse von Modellen interpretiert werden, möglicherweise nur weniger allgemein als "Graphmodelle", die eine Obermenge von sowohl ungerichteten als auch gerichteten Graphmodellen ist. Vielleicht könnten Sie dies näher erläutern;)Vielleicht ist ein genauerer Name für ANNs "differenzierbare Netzwerke", dh komplexe parametrisierte Funktionen, die unter Verwendung von Gradientenabstieg oder seiner Variante optimiert werden können. Dies ist eine sehr allgemeine Definition, die die Differenzierbarkeit betont, aber nichts über Hauptideen, Aufgaben, für die sie geeignet ist, zugrundeliegende mathematische Rahmenbedingungen usw. aussagt.
Beachten Sie, dass Differenzierbarkeit ein Merkmal ist, das nicht unbedingt erforderlich ist. Zum Beispiel kann SVM mit Gradienten trainiert werden und weist somit Eigenschaften eines neuronalen / differenzierbaren Netzwerks auf, die Hauptidee ist jedoch die Datentrennung mit Hilfe von Hyperebenen. Variationale Autoencoder verwenden MLPs für Encoder und Decoder, aber die von Ihnen optimierte Funktion stammt aus der Bayes'schen Statistik und so weiter.
Es gibt auch einige Modelle, die oft als neuronale Netze bezeichnet werden, aber GD nicht zum Lernen verwenden. Ein gutes Beispiel ist RBM. Ich vermute, dass das Label "neuronales Netzwerk" hauptsächlich aus historischen Gründen daran angehängt wurde - schließlich ist der Schöpfer von RBM Geoffrey Hinton, und Hinton ist ein Typ für neuronales Netzwerk, richtig? Wenn Sie das Modell analysieren, werden Sie jedoch feststellen, dass die Struktur des RBM ein Markov-Netz ist. Die energiebasierte Kostenfunktion stammt aus der statistischen Physik zu Beginn des 20. Jahrhunderts, und die MCMC / Gibbs-Abtastung wurde parallel und völlig unabhängig von neuronalen Netzen entwickelt .
quelle
Ich könnte versuchen, einige Dinge zu postulieren, die helfen, ein neuronales Netzwerk zu definieren.
Ich bin mir ziemlich sicher, dass dies alle heute gebräuchlichen neuronalen Netze und auch einige esoterische Netze abdeckt.
Dies ist für die Optimierung nicht relevant (wenn wir eine gradientenbasierte Optimierung anwenden, sind weiterentwickelte Netzwerke keine neuronalen Netzwerke).
Es werden keine Neuronen / Knoten oder Schichten erwähnt (einige neuronale Netze werden heutzutage kaum mit diesen Begriffen beschrieben), aber ich denke, wir könnten das einbauen und etwas restriktiver sein.
quelle