Künstliche neurale Netzwerke
Das künstliche neuronale Netzwerk, oder kurz neuronales Netzwerk, ist keine neue Idee. Es gibt es seit ungefähr 80 Jahren.
Erst 2011 wurde Deep Neural Networks durch den Einsatz neuer Techniken, die enorme Verfügbarkeit von Datensätzen und leistungsstarke Computer populär.
Ein neuronales Netzwerk ahmt ein Neuron nach, das Dendriten, einen Kern, ein Axon und ein terminales Axon aufweist.
Für ein Netzwerk benötigen wir zwei Neuronen. Diese Neuronen übertragen Informationen über eine Synapse zwischen den Dendriten des einen und dem terminalen Axon eines anderen.
Ein wahrscheinliches Modell eines künstlichen Neurons sieht so aus -
Ein neuronales Netzwerk sieht wie folgt aus:
Die Kreise sind Neuronen oder Knoten mit ihren Funktionen auf den Daten und die Linien / Kanten, die sie verbinden, sind die Gewichte / Informationen, die weitergegeben werden.
Jede Spalte ist eine Ebene. Die erste Ebene Ihrer Daten ist die Eingabeebene. Dann sind alle Ebenen zwischen der Eingabeebene und der Ausgabeebene die verborgenen Ebenen.
Wenn Sie eine oder mehrere versteckte Schichten haben, haben Sie ein flaches neuronales Netzwerk. Wenn Sie viele versteckte Schichten haben, haben Sie ein tiefes neuronales Netzwerk.
In diesem Modell haben Sie Eingabedaten, gewichten diese und leiten sie durch die Funktion im Neuron, die als Schwellenwertfunktion oder Aktivierungsfunktion bezeichnet wird.
Grundsätzlich ist es die Summe aller Werte nach dem Vergleich mit einem bestimmten Wert. Wenn Sie ein Signal auslösen, ist das Ergebnis (1) oder nichts, dann (0). Das wird dann gewichtet und an das nächste Neuron weitergegeben, und die gleiche Art von Funktion wird ausgeführt.
Wir können eine Sigmoidfunktion (S-Form) als Aktivierungsfunktion haben.
Die Gewichte sind zu Beginn nur zufällig und pro Eingabe in den Knoten / das Neuron eindeutig.
In einem typischen "Feed Forward", dem grundlegendsten Typ eines neuronalen Netzwerks, werden Ihre Informationen direkt durch das von Ihnen erstellte Netzwerk geleitet, und Sie vergleichen die Ausgabe mit dem, was Sie gehofft hatten, dass die Ausgabe Ihre Beispieldaten verwendet hätte.
Von hier aus müssen Sie die Gewichte anpassen, damit Ihre Ausgabe der gewünschten Ausgabe entspricht.
Das Senden von Daten direkt durch ein neuronales Netzwerk wird als a bezeichnet feed forward neural network.
Unsere Daten gehen von der Eingabe über die Ebenen bis zur Ausgabe.
Wenn wir rückwärts gehen und anfangen, Gewichte anzupassen, um Verluste / Kosten zu minimieren, wird dies aufgerufen back propagation.
Das ist ein optimization problem. Mit dem neuronalen Netzwerk müssen wir in der Praxis mit Hunderttausenden von Variablen oder Millionen oder mehr umgehen.
Die erste Lösung bestand darin, den stochastischen Gradientenabstieg als Optimierungsmethode zu verwenden. Jetzt gibt es Optionen wie AdaGrad, Adam Optimizer und so weiter. In jedem Fall ist dies eine massive Rechenoperation. Aus diesem Grund wurden neuronale Netze meist über ein halbes Jahrhundert lang im Regal gelassen. Erst in jüngster Zeit hatten wir sogar die Leistung und Architektur unserer Maschinen, um diese Vorgänge in Betracht zu ziehen, und die passenden Datensätze mit der richtigen Größe.
Für einfache Klassifizierungsaufgaben ist das neuronale Netzwerk in seiner Leistung relativ ähnlich zu anderen einfachen Algorithmen wie K Nearest Neighbors. Der wahre Nutzen neuronaler Netze wird erkannt, wenn wir viel größere Daten und viel komplexere Fragen haben, die beide andere Modelle des maschinellen Lernens übertreffen.