Heim > häufiges Problem > Hauptteil

Algorithmus für künstliche neuronale Netzwerke

(*-*)浩
Freigeben: 2019-06-18 10:53:10
Original
5247 Leute haben es durchsucht

Viele Algorithmen künstlicher neuronaler Netze werden häufig in intelligenten Informationsverarbeitungssystemen verwendet, insbesondere die folgenden vier Algorithmen: ART-Netzwerk, LVQ-Netzwerk, Kohonen-Netzwerk und Hopfield-Netzwerk.

Algorithmus für künstliche neuronale Netzwerke

Das Folgende ist eine detaillierte Einführung in diese vier Algorithmen:

1. Adaptive Resonance Theory (ART)-Netzwerk

Das Adaptive Resonance Theory (ART)-Netzwerk verfügt über verschiedene Schemata. Ein ART-1-Netzwerk enthält zwei Schichten, eine Eingabeschicht und eine Ausgabeschicht. Die beiden Schichten sind vollständig miteinander verbunden, wobei die Verbindungen sowohl in Vorwärtsrichtung (von unten nach oben) als auch in Rückkopplungsrichtung (von oben nach unten) erfolgen.

Wenn das ART-1-Netzwerk funktioniert, ist sein Training kontinuierlich und umfasst die folgenden Algorithmusschritte:

(1) Für alle Ausgabeneuronen, wenn alle Ausgabeneuronen die Warngewichte haben Sind alle auf 1 gesetzt, wird es als unabhängiges Neuron bezeichnet, da es nicht zur Darstellung eines Mustertyps spezifiziert ist.

(2) ergibt ein neues Eingabemuster x.

(3) Ermöglichen Sie allen Ausgabeneuronen die Teilnahme am Erregungswettbewerb.

(4) Finden Sie das siegreiche Ausgabeneuron aus den konkurrierenden Neuronen, das heißt, der x·W-Wert dieses Neurons ist zu Beginn des Trainings am größten oder wenn es kein besseres Ausgabeneuron gibt, das Gewinner Neuron Das Neuron kann ein unabhängiges Neuron sein.

(5) Überprüfen Sie, ob das Eingabemuster x dem Wachsamkeitsvektor V des gewinnenden Neurons ausreichend ähnlich ist.

(6) Wenn r≥p, also Resonanz, vorhanden ist, fahren Sie mit Schritt (7) fort. Andernfalls machen Sie das Gewinnerneuron vorübergehend unfähig, weiter zu konkurrieren, und fahren Sie mit Schritt (4) fort und wiederholen Sie diesen Vorgang Prozess, bis nicht mehr so ​​viele fähige Neuronen wie möglich vorhanden sind.

Empfohlener Kurs: Python-Tutorial.

2. Netzwerk der lernenden Vektorquantisierung (LVQ)

Netzwerk der lernenden Vektorquantisierung (LVQ), das aus drei Schichten von Neuronen besteht, nämlich der Eingabekonvertierungsschicht, der verborgenen Schicht und der Ausgabeschicht. Das Netzwerk ist vollständig zwischen der Eingabe- und der verborgenen Schicht und teilweise zwischen der verborgenen und der Ausgabeschicht verbunden, wobei jedes Ausgabeneuron mit einer anderen Gruppe verborgener Neuronen verbunden ist.

Die einfachsten LVQ-Trainingsschritte sind wie folgt:

(1) Voreinstellen des Anfangsgewichts des Referenzvektors.

(2) Stellen Sie dem Netzwerk ein Trainingseingabemuster zur Verfügung.

(3) Berechnen Sie den euklidischen Abstand zwischen dem Eingabemuster und jedem Referenzvektor.

(4) Aktualisieren Sie das Gewicht des Referenzvektors, der dem Eingabemuster am nächsten liegt (d. h. der Referenzvektor des gewinnenden verborgenen Neurons). Wenn das gewinnende versteckte Neuron zu dem Puffer gehört, der mit dem Ausgabeneuron mit derselben Klasse wie das Eingabemuster verbunden ist, sollte der Referenzvektor näher am Eingabemuster liegen. Andernfalls verlässt der Referenzvektor den Eingabemodus.

(5) Gehen Sie zu Schritt (2) und wiederholen Sie diesen Vorgang mit einem neuen Trainingseingabemuster, bis alle Trainingsmuster korrekt klassifiziert sind oder ein bestimmtes Abbruchkriterium erfüllt ist.

3. Kohonen-Netzwerk

Kohonen-Netzwerk oder selbstorganisierendes Feature-Map-Netzwerk enthält zwei Schichten, eine Eingabepufferschicht wird zum Empfang des Eingabemusters verwendet und die andere ist die Ausgabeschicht. Die Neuronen in der Ausgabeschicht Im Allgemeinen handelt es sich um regelmäßige zweidimensionale Arrays. Jedes Ausgabeneuron ist mit allen Eingabeneuronen verbunden. Die Verbindungsgewichte bilden Komponenten des Referenzvektors, der mit bekannten Ausgabeneuronen verbunden ist.

Das Training eines Kohonen-Netzwerks umfasst die folgenden Schritte:

(1) Voreinstellen kleiner zufälliger Anfangswerte für die Referenzvektoren aller Ausgabeneuronen.

(2) Stellen Sie dem Netzwerk ein Trainingseingabemuster zur Verfügung.

(3) Bestimmen Sie das gewinnende Ausgabeneuron, d. h. das Neuron, dessen Referenzvektor dem Eingabemuster am nächsten kommt. Der euklidische Abstand zwischen dem Referenzvektor und dem Eingabevektor wird häufig als Abstandsmaß verwendet.

(4) Aktualisieren Sie den Referenzvektor des siegreichen Neurons und die Referenzvektoren seiner Nachbarn. Diese Referenzvektoren sind (auf sie verwiesen) näher an den Eingabevektoren. Für den Gewinner-Referenzvektor ist seine Anpassung am größten, während für weiter entfernte Neuronen die Größe der Neuronennachbarschaft mit fortschreitendem Training relativ abnimmt. Am Ende des Trainings wird nur die Referenz des Gewinner-Neurons angepasst .

4. Hopfield-Netzwerk

Das Hopfield-Netzwerk ist ein typisches rekursives Netzwerk, das normalerweise nur binäre Eingänge (0 oder 1) und bipolare Eingänge (+1 oder -1) akzeptiert. Es enthält eine einzelne Schicht von Neuronen, die jeweils mit allen anderen Neuronen verbunden sind und eine rekursive Struktur bilden.

Das obige ist der detaillierte Inhalt vonAlgorithmus für künstliche neuronale Netzwerke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage