neural network learning rules perceptron hebbian learning
Dieses ausführliche Tutorial zu Lernregeln für neuronale Netze erklärt den hebräischen Lern- und Perceptron-Lernalgorithmus anhand von Beispielen:
In unserem vorherigen Tutorial haben wir darüber gesprochen Künstliche neuronale Netz Dies ist eine Architektur einer großen Anzahl miteinander verbundener Elemente, die als Neuronen bezeichnet werden.
Diese Neuronen verarbeiten die empfangene Eingabe, um die gewünschte Ausgabe zu erhalten. Die Knoten oder Neuronen sind durch Eingaben, Verbindungsgewichte und Aktivierungsfunktionen verbunden.
Das Hauptmerkmal eines neuronalen Netzwerks ist seine Lernfähigkeit. Die neuronalen Netze trainieren sich mit bekannten Beispielen. Sobald das Netzwerk trainiert ist, kann es zur Lösung der unbekannten Werte des Problems verwendet werden.
=> Lesen Sie die komplette Schulungsreihe zum maschinellen Lernen durch
Das Neuronale Netz lernt durch verschiedene Lernschemata, die als überwachtes oder unbeaufsichtigtes Lernen eingestuft werden.
Bei überwachten Lernalgorithmen sind die Zielwerte dem Netzwerk bekannt. Es wird versucht, den Fehler zwischen der gewünschten Ausgabe (Ziel) und der tatsächlichen Ausgabe für eine optimale Leistung zu reduzieren. Bei unbeaufsichtigten Lernalgorithmen sind die Zielwerte unbekannt und das Netzwerk lernt von selbst, indem es die verborgenen Muster in der Eingabe durch Bildung von Clustern usw. identifiziert.
Ein ANN besteht aus 3 Teilen, d. H. Eingabe-, verborgener Schicht und Ausgabeschicht. Es gibt eine einzelne Eingabe- und Ausgabeschicht, während möglicherweise keine verborgene Schicht oder eine oder mehrere verborgene Schichten im Netzwerk vorhanden sind. Basierend auf dieser Struktur wird das ANN in ein Einzelschicht-, Mehrschicht-, Feed-Forward- oder wiederkehrende Netzwerke klassifiziert.
Was du lernen wirst:
- Wichtige ANN-Terminologie
- Vergleich der Lernregeln für neuronale Netze
- Fazit
Wichtige ANN-Terminologie
Bevor wir die verschiedenen Lernregeln in ANN klassifizieren, lassen Sie uns einige wichtige Terminologien im Zusammenhang mit ANN verstehen.
# 1) Gewichte: In einem ANN ist jedes Neuron über Verbindungsverbindungen mit den anderen Neuronen verbunden. Diese Glieder haben ein Gewicht. Das Gewicht enthält Informationen über das Eingangssignal für das Neuron. Die Gewichte und das Eingangssignal werden verwendet, um eine Ausgabe zu erhalten. Die Gewichte können in einer Matrixform angegeben werden, die auch als Verbindungsmatrix bezeichnet wird.
Jedes Neuron ist durch Verbindungsgewichte mit jedem anderen Neuron der nächsten Schicht verbunden. Wenn es also 'n' Knoten gibt und jeder Knoten 'm' Gewichte hat, lautet die Gewichtsmatrix:
W1 repräsentiert den Gewichtsvektor ab Knoten 1. W11 repräsentiert den Gewichtsvektor von 1stKnoten der vorhergehenden Schicht zur 1stKnoten der nächsten Schicht. In ähnlicher Weise repräsentiert wij den Gewichtsvektor vom 'i-ten' Verarbeitungselement (Neuron) zum 'j-ten' Verarbeitungselement der nächsten Schicht.
# 2) Bias : Die Vorspannung wird dem Netzwerk hinzugefügt, indem dem Eingabevektor ein Eingabeelement x (b) = 1 hinzugefügt wird. Die Vorspannung trägt auch ein Gewicht, das mit w (b) bezeichnet ist.
Die Vorspannung spielt eine wichtige Rolle bei der Berechnung der Leistung des Neurons. Die Vorspannung kann entweder positiv oder negativ sein. Eine positive Vorspannung erhöht das Nettoeingangsgewicht, während die negative Vorspannung den Nettoeingang verringert.
# 3) Schwelle: In der Aktivierungsfunktion wird ein Schwellenwert verwendet. Die Nettoeingabe wird mit dem Schwellenwert verglichen, um die Ausgabe zu erhalten. In NN wird die Aktivierungsfunktion basierend auf dem Schwellenwert definiert und die Ausgabe berechnet.
Der Schwellenwert ist:
# 4) Lernrate : Es wird mit Alpha bezeichnet? Die Lernrate reicht von 0 bis 1. Sie wird zur Gewichtsanpassung während des Lernprozesses von NN verwendet.
# 5) Impulsfaktor : Es wird für eine schnellere Konvergenz der Ergebnisse hinzugefügt. Der Impulsfaktor wird zum Gewicht addiert und im Allgemeinen in Backpropagation-Netzwerken verwendet.
Vergleich der Lernregeln für neuronale Netze
Lernmethoden -> | Gradientenabstieg | Hebbian | Wettbewerbsfähig | Stochastisch | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
EPOCH 2 | |||||||||||
Art der Architektur || | |||||||||||
Single Layer Feedforward | ADALINE Hopfield Perceptron | Assoziativ Erinnerung Hopfield | Linearer Vektor Quantisierung | ||||||||
Mehrschichtige Vorwärtskopplung | Kaskade Korrelation Mehrschicht-Feed Nach vorne Radial Bias Funktion | Neocognitron | |||||||||
Wiederkehrend | Wiederkehrende neuronale Netzwerk | Bidirektionales Auto Assoziativ Erinnerung Brain-State-In-a-Box Hopfield | Adaptiv Resonanztheorie | Boltzmann Maschine Cauchy Maschine |
Die Klassifizierung verschiedener Lerntypen von ANN ist unten gezeigt.
Klassifizierung von überwachten Lernalgorithmen
- Gradientenabstieg
- Stochastisch
# 1) Gradient Descent Learning
Bei dieser Art des Lernens erfolgt die Fehlerreduzierung mit Hilfe von Gewichten und der Aktivierungsfunktion des Netzwerks. Die Aktivierungsfunktion sollte differenzierbar sein.
Die Einstellung der Gewichte hängt bei diesem Lernen vom Fehlergradienten E ab. Die Backpropagation-Regel ist ein Beispiel für diese Art des Lernens. Somit ist die Gewichtsanpassung definiert als
# 2) Stochastisches Lernen
Bei diesem Lernen werden die Gewichte probabilistisch angepasst.
Klassifizierung unbeaufsichtigter Lernalgorithmen
- Hebbian
- Wettbewerbsfähig
# 1) Hebbisches Lernen
Dieses Lernen wurde 1949 von Hebb vorgeschlagen. Es basiert auf einer korrelativen Anpassung der Gewichte. Die Eingabe- und Ausgabemusterpaare sind einer Gewichtsmatrix W zugeordnet.
Die Transponierung der Ausgabe wird zur Gewichtsanpassung verwendet.
# 2) Wettbewerbsfähiges Lernen
Es ist ein Gewinner nimmt alle Strategie. Wenn bei dieser Art des Lernens ein Eingabemuster an das Netzwerk gesendet wird, konkurrieren alle Neuronen in der Schicht und nur die siegreichen Neuronen haben Gewichtsanpassungen.
Mc Culloch-Pitts Neuron
Auch als M-P-Neuron bekannt, ist dies das früheste neuronale Netzwerk, das 1943 entdeckt wurde. In diesem Modell sind die Neuronen durch Verbindungsgewichte verbunden, und die Aktivierungsfunktion wird binär verwendet. Der Schwellenwert wird verwendet, um zu bestimmen, ob das Neuron feuert oder nicht.
Die Funktion des M-P-Neurons ist:
Hebbischer Lernalgorithmus
Hebb Network wurde 1949 von Donald Hebb angegeben. Nach Hebbs Regel nehmen die Gewichte proportional zum Produkt von Input und Output zu. Dies bedeutet, dass in einem Hebb-Netzwerk, wenn zwei Neuronen miteinander verbunden sind, die mit diesen Neuronen verbundenen Gewichte durch Änderungen der synaptischen Lücke erhöht werden können.
Dieses Netzwerk ist für bipolare Daten geeignet. Die hebräische Lernregel wird im Allgemeinen auf Logikgatter angewendet.
Die Gewichte werden wie folgt aktualisiert:
W (neu) = w (alt) + x * y
Trainingsalgorithmus für die hebräische Lernregel
Die Trainingsschritte des Algorithmus sind wie folgt:
- Zu Beginn werden die Gewichte auf Null gesetzt, d. H. W = 0 für alle Eingänge i = 1 bis n und n ist die Gesamtzahl der Eingangsneuronen.
- Sei s die Ausgabe. Die Aktivierungsfunktion für Eingänge wird im Allgemeinen als Identitätsfunktion festgelegt.
- Die Aktivierungsfunktion für die Ausgabe ist ebenfalls auf y = t eingestellt.
- Die Gewichtsanpassungen und die Vorspannung werden angepasst an:
- Die Schritte 2 bis 4 werden für jeden Eingabevektor und jede Ausgabe wiederholt.
Beispiel einer hebräischen Lernregel
Lassen Sie uns eine logische UND-Funktion mit bipolaren Eingaben mithilfe des hebräischen Lernens implementieren
X1 und X2 sind Eingänge, b ist die Vorspannung, die als 1 angenommen wird, der Zielwert ist der Ausgang der logischen UND-Operation über Eingängen.
Eingang | Eingang | Vorspannen | Ziel |
---|---|---|---|
X1 | X2 | b | Y. |
1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 |
-1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 |
# 1) Zu Beginn werden die Gewichte auf Null gesetzt und die Vorspannung wird ebenfalls auf Null gesetzt.
W1 = w2 = b = 0
#zwei) Der erste Eingabevektor wird als [x1 x2 b] = [1 1 1] angenommen und der Zielwert ist 1.
Die neuen Gewichte sind:
#3) Die obigen Gewichte sind die endgültigen neuen Gewichte. Wenn die zweite Eingabe übergeben wird, werden diese zu den Anfangsgewichten.
# 4) Nehmen Sie den zweiten Eingang = [1 -1 1]. Das Ziel ist -1.
# 5) Ebenso werden die anderen Eingaben und Gewichte berechnet.
Die folgende Tabelle zeigt alle Eingaben:
Eingänge | Vorspannen | Zielausgabe | Gewichtsveränderungen | Bias-Änderungen | Neue Gewichte | ||||
---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | Y. | w1 | w2 | b | W1 | W2 | b |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 | -1 | 1 | -1 | 0 | zwei | 0 |
-1 | 1 | 1 | -1 | 1 | -1 | -1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | 1 | 1 | -1 | zwei | zwei | -zwei |
Hebb Net für UND-Funktion
Perceptron-Lernalgorithmus
Perceptron-Netzwerke sind einschichtige Feed-Forward-Netzwerke. Diese werden auch als Single Perceptron Networks bezeichnet. Das Perceptron besteht aus einer Eingabeebene, einer verborgenen Ebene und einer Ausgabeebene.
Die Eingangsschicht ist mit der verborgenen Schicht durch Gewichte verbunden, die hemmend oder erregend oder Null sein können (-1, +1 oder 0). Die verwendete Aktivierungsfunktion ist eine binäre Schrittfunktion für die Eingabeebene und die verborgene Ebene.
Die Ausgabe ist
Y = f (y)
Die Aktivierungsfunktion ist:
Die Gewichtsaktualisierung findet zwischen der verborgenen Ebene und der Ausgabeebene statt, um der Zielausgabe zu entsprechen. Der Fehler wird basierend auf der tatsächlichen Ausgabe und der gewünschten Ausgabe berechnet.
c ++ Zeichen zu int
Wenn die Ausgabe mit dem Ziel übereinstimmt, findet keine Gewichtsaktualisierung statt. Die Gewichte werden zunächst auf 0 oder 1 gesetzt und nacheinander angepasst, bis eine optimale Lösung gefunden ist.
Die Gewichte im Netzwerk können anfänglich auf beliebige Werte eingestellt werden. Das Perceptron-Lernen konvergiert zu einem Gewichtsvektor, der für alle Eingabetrainingsmuster die richtige Ausgabe liefert, und dieses Lernen erfolgt in einer endlichen Anzahl von Schritten.
Die Perceptron-Regel kann sowohl für binäre als auch für bipolare Eingänge verwendet werden.
Lernregel für Perceptron mit einfacher Ausgabe
# 1) Es gebe 'n' Trainingseingabevektoren und x (n) und t (n) sind den Zielwerten zugeordnet.
#zwei) Initialisieren Sie die Gewichte und die Vorspannung. Setzen Sie sie zur einfachen Berechnung auf Null.
#3) Die Lernrate sei 1.
# 4) Die Eingabeschicht hat eine Identitätsaktivierungsfunktion, also ist x (i) = s (i).
# 5) So berechnen Sie die Leistung des Netzwerks:
# 6) Die Aktivierungsfunktion wird über den Nettoeingang angewendet, um einen Ausgang zu erhalten.
# 7) Vergleichen Sie nun anhand der Ausgabe den gewünschten Zielwert (t) und die tatsächliche Ausgabe.
# 8) Setzen Sie die Iteration fort, bis keine Gewichtsänderung mehr erfolgt. Stoppen Sie, sobald diese Bedingung erfüllt ist.
Lernregel für Perceptron mit mehreren Ausgaben
# 1) Es gebe 'n' Trainingseingabevektoren und x (n) und t (n) sind den Zielwerten zugeordnet.
#zwei) Initialisieren Sie die Gewichte und die Vorspannung. Setzen Sie sie zur einfachen Berechnung auf Null.
#3) Die Lernrate sei 1.
# 4) Die Eingabeschicht hat eine Identitätsaktivierungsfunktion, also ist x (i) = s (i).
# 5) Um die Ausgabe jedes Ausgabevektors von j = 1 bis m zu berechnen, lautet die Nettoeingabe:
# 6) Die Aktivierungsfunktion wird über den Nettoeingang angewendet, um einen Ausgang zu erhalten.
# 7) Vergleichen Sie nun anhand der Ausgabe den gewünschten Zielwert (t) und die tatsächliche Ausgabe und nehmen Sie Gewichtsanpassungen vor.
w ist der Gewichtsvektor der Verbindungsverbindungen zwischen dem i-ten Eingangs- und dem j-ten Ausgangsneuron und t ist der Zielausgang für die Ausgabeeinheit j.
# 8) Setzen Sie die Iteration fort, bis keine Gewichtsänderung mehr erfolgt. Stoppen Sie, sobald diese Bedingung erfüllt ist.
Beispiel einer Perceptron-Lernregel
Implementierung der UND-Funktion unter Verwendung eines Perceptron-Netzwerks für bipolare Ein- und Ausgänge.
Das Eingabemuster ist x1, x2 und Bias b. Die Anfangsgewichte seien 0 und die Vorspannung sei 0. Der Schwellenwert wird auf Null gesetzt und die Lernrate ist 1.
UND Tor
X1 | X2 | Ziel |
---|---|---|
1 | 1 | 1 |
1 | -1 | -1 |
-1 | 1 | -1 |
-1 | -1 | -1 |
# 1) X1 = 1, X2 = 1 und Zielausgabe = 1
W1 = w2 = wb = 0 und x1 = x2 = b = 1, t = 1
Nettoeingang = y = b + x1 * w1 + x2 * w2 = 0 + 1 * 0 + 1 * 0 = 0
Da der Schwellenwert daher Null ist:
Von hier erhalten wir Ausgabe = 0. Überprüfen Sie nun, ob Ausgabe (y) = Ziel (t) ist.
y = 0, aber t = 1, was bedeutet, dass diese nicht gleich sind, daher findet eine Gewichtsaktualisierung statt.
Die neuen Gewichte sind 1, 1 und 1, nachdem der erste Eingabevektor dargestellt wurde.
#zwei) X1 = 1 X2 = -1, b = 1 und Ziel = -1, W1 = 1, W2 = 2, Wb = 1
Nettoeingang = y = b + x1 * w1 + x2 * w2 = 1 + 1 * 1 + (-1) * 1 = 1
Die Nettoleistung für Eingabe = 1 ist 1 von:
Daher stimmt Ziel = -1 nicht mit der tatsächlichen Ausgabe = 1 überein. Gewichtsaktualisierungen finden statt.
Jetzt sind neue Gewichte w1 = 0 w2 = 2 und wb = 0
Wenn Sie mit den nächsten Eingaben fortfahren, erhalten Sie in ähnlicher Weise die folgende Tabelle:
Eingang | Vorspannen | Ziel | Nettoeingang | Berechnete Ausgabe | Gewichtsveränderungen | Neue Gewichte | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | t | Yin | Y. | w1 | w2 | b | W1 | W2 | wb |
EPOCH 1 | |||||||||||
1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 | 1 | 1 | -1 | 1 | -1 | 0 | zwei | 0 |
-1 | 1 | 1 | -1 | zwei | 1 | 1 | -1 | -1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | -3 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | -1 |
1 | -1 | 1 | -1 | -1 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
-1 | 1 | 1 | -1 | -1 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | -3 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
Die EPOCHS sind der Zyklus von Eingabemustern, die dem System zugeführt werden, bis keine Gewichtsänderung mehr erforderlich ist und die Iteration stoppt.
Widrow Hoff Lernalgorithmus
Auch bekannt als Delta-Regel folgt die Gradientenabstiegsregel für die lineare Regression.
Es aktualisiert die Verbindungsgewichte mit der Differenz zwischen dem Ziel- und dem Ausgabewert. Es ist der kleinste mittlere quadratische Lernalgorithmus, der unter die Kategorie des überwachten Lernalgorithmus fällt.
Dieser Regel folgen ADALINE (Adaptive Linear Neural Networks) und MADALINE. Im Gegensatz zu Perceptron hören die Iterationen von Adaline-Netzwerken nicht auf, sondern konvergieren, indem sie den kleinsten mittleren quadratischen Fehler reduzieren. MADALINE ist ein Netzwerk von mehr als einem ADALINE.
Das Motiv der Delta-Lernregel besteht darin, den Fehler zwischen der Ausgabe und dem Zielvektor zu minimieren.
Die Gewichte in ADALINE-Netzwerken werden aktualisiert durch:
Kleinster mittlerer quadratischer Fehler = (t- yim)zweiADALINE konvergiert, wenn der kleinste mittlere quadratische Fehler erreicht ist.
Fazit
In diesem Tutorial haben wir die beiden Algorithmen diskutiert, d. H. Die Hebbian-Lernregel und die Perceptron-Lernregel. Die hebräische Regel basiert auf der Regel, dass der Gewichtsvektor proportional zum Eingangs- und Lernsignal, d. H. Zum Ausgang, zunimmt. Die Gewichte werden erhöht, indem das Produkt aus Eingabe und Ausgabe zum alten Gewicht addiert wird.
W (neu) = w (alt) + x * y
Die Anwendung von Hebb-Regeln liegt in Musterassoziations-, Klassifizierungs- und Kategorisierungsproblemen.
Die Perceptron-Lernregel kann sowohl auf das Netzwerk einzelner Ausgabeklassen als auch auf das Netzwerk mehrerer Ausgabeklassen angewendet werden. Das Ziel des Perzeptron-Netzwerks besteht darin, das Eingabemuster in eine bestimmte Mitgliedsklasse zu klassifizieren. Die Eingangsneuronen und das Ausgangsneuron sind durch Verbindungen mit Gewichten verbunden.
Die Gewichte werden angepasst, um die tatsächliche Ausgabe mit dem Zielwert abzugleichen. Die Lernrate wird von 0 bis 1 eingestellt und bestimmt die Skalierbarkeit von Gewichten.
Die Gewichte werden aktualisiert nach:
Abgesehen von diesen Lernregeln lernen Algorithmen für maschinelles Lernen durch viele andere Methoden, d. H. Überwacht, unbeaufsichtigt, Verstärkung. Einige der anderen gängigen ML-Algorithmen sind Back Propagation, ART, Kohonen Self Organizing Maps usw.
Wir hoffen, Ihnen haben alle Tutorials aus dieser Serie zum maschinellen Lernen gefallen!
=> Besuchen Sie hier für die exklusive maschinelle Lernserie
Literatur-Empfehlungen
- Eine vollständige Anleitung zum künstlichen neuronalen Netzwerk beim maschinellen Lernen
- Arten des maschinellen Lernens: Überwachtes gegen unbeaufsichtigtes Lernen
- Data Mining gegen maschinelles Lernen gegen künstliche Intelligenz gegen tiefes Lernen
- Netzwerksicherheitstests und beste Netzwerksicherheitstools
- 11 beliebtesten Software-Tools für maschinelles Lernen im Jahr 2021
- Tutorial für maschinelles Lernen: Einführung in ML und seine Anwendungen
- 15 besten Netzwerk-Scan-Tools (Netzwerk- und IP-Scanner) von 2021
- Top 30 Tools für Netzwerktests (Tools zur Diagnose der Netzwerkleistung)