Netztypen: Unterschied zwischen den Versionen

Aus eLearning - Methoden der Psychologie - TU Dresden
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 22: Zeile 22:
== Arten von Feed-forward-Netzen ==
== Arten von Feed-forward-Netzen ==


=== Das [[Perceptron|Perzeptron]] ===
=== Das [[Perzeptron]] ===


In seiner Grundversion besteht das [[Perceptron|Perzeptron]] aus nur einem einzelnen Knoten. Dieser besitzt anpassbare Gewichte für alle Inputs, die er erhält, und einen veränderlichen Schwellwert. Durch den Schwellwert ist der Output binär: Der Knoten ist aktiv, wenn der Schwellwert überschritten wird und andernfalls inaktiv. Das [[Perceptron|Perzeptron]] bildet die Grundlage heutiger [[Neuronale Netze|neuronaler Netze]] und existiert mittlerweile auch in Form mehrerer verschalteter Knoten in einer oder mehreren Schichten. Für mehr Details, siehe [[Perceptron|Perzeptron]].
In seiner Grundversion besteht das [[Perzeptron]] aus nur einem einzelnen Knoten. Dieser besitzt anpassbare Gewichte für alle Inputs, die er erhält, und einen veränderlichen Schwellwert. Durch den Schwellwert ist der Output binär: Der Knoten ist aktiv, wenn der Schwellwert überschritten wird und andernfalls inaktiv. Das [[Perzeptron]] bildet die Grundlage heutiger [[Neuronale Netze|neuronaler Netze]] und existiert mittlerweile auch in Form mehrerer verschalteter Knoten in einer oder mehreren Schichten. Für mehr Details, siehe [[Perzeptron]].


=== Kompetitive Netze ===
=== Kompetitive Netze ===

Version vom 26. August 2018, 12:32 Uhr

Topologie

Künstliche neuronale Netze können aufgrund ihrer Topologie, das heißt der Struktur des Netzes, in verschiedene Typen eingeteilt werden. Grundsätzlich bestehen neuronale Netze aus Schichten (Layers), die nach ihrer Funktion als Input-, Hidden oder Outputschicht bezeichnet werden. Die verschiedenen Typen unterscheiden in der Vernetzung dieser Schichten. Feed-forward-Netze sind dadurch gekennzeichnet, dass ihre Verbindungen ausschließlich zu höheren Schichten gerichtet sind. So gibt es zum Beispiel Verbindungen von der Inputschicht zur Hiddenschicht und von dort zur Outputschicht, jedoch keine Verbindungen zurück.

Feedforward.png

Im Gegensatz dazu spricht man von rekurrenten Netzen, wenn es Verbindungen zwischen Knoten einer Schicht oder von einer Schicht zur vorherigen gibt. Solche Rückkopplungen können direkt, indirekt oder lateral erfolgen. Durch direkte Rückkopplungen sind Knoten mit sich selbst verbunden. Sie können also ihre Aktivierung selbst verstärken oder hemmen.

Direkt.png

Indirekte Rückkopplung erfolgt, indem Knoten einer Schicht die Knoten vorheriger Schichten beeinflussen. Beeinflusst also ein Knoten in der Hiddenschicht andere Knoten in der Inputschicht, so wirkt sich die Beeinflussung letztlich wieder auf den Knoten in der Hiddenschicht aus.

Indirekt.png

Laterale Rückkopplung schließlich bezeichnet die Verbindungen zwischen Knoten innerhalb derselben Schicht.

Lateral.png

Prinzipiell ist die Anordnung und Kombination von Knoten in Schichten und deren Verbindungen beliebig für den jeweiligen Einsatzzweck gestaltbar. In der Geschichte der neuronalen Netze haben sich aber bestimmte Konfigurationen etabliert, welche Namen erhalten haben (oftmals nach ihrem Erfinder).

Arten von Feed-forward-Netzen

Das Perzeptron

In seiner Grundversion besteht das Perzeptron aus nur einem einzelnen Knoten. Dieser besitzt anpassbare Gewichte für alle Inputs, die er erhält, und einen veränderlichen Schwellwert. Durch den Schwellwert ist der Output binär: Der Knoten ist aktiv, wenn der Schwellwert überschritten wird und andernfalls inaktiv. Das Perzeptron bildet die Grundlage heutiger neuronaler Netze und existiert mittlerweile auch in Form mehrerer verschalteter Knoten in einer oder mehreren Schichten. Für mehr Details, siehe Perzeptron.

Kompetitive Netze

Üblicherweise sind kompetitive Netze zweischichtige Feed-forward-Netze. Sie lernen unüberwacht, wobei eine Besonderheit der Lernregel darin besteht, dass sie auf dem „Winner-takes-all“-Prinzip basiert. Das bedeutet, dass nicht alle Gewichte in jedem Lerndurchgang angepasst werden, sondern nur die Gewichte der Synapsen des am stärksten aktivierten Neurons. Kompetitive Netze eignen sich zum Beispiel dafür, Kategorien von Inputmustern zu finden, die gering miteinander korreliert sind.

Kohonen-Netze

Diese auch als selbstorganisierende Karten bezeichneten Netze lernen kompetitiv und unüberwacht. Sie bestehen aus einer Inputschicht und einer zweidimensionalen „Kartenschicht“, in der jeder Knoten komplett mit der Inputschicht vernetzt ist. Zudem sind alle Knoten der Kartenschicht untereinander vernetzt. Inputs werden geclustert, indem ähnliche Muster auf benachbarte Knoten abgebildet werden. Zu den typischen Anwendungen gehört daher die Repräsentation der Struktur von Eingabemuster. Kohonen-Netze gelten als eine Analogie zu den topographishen Repräsentationen im menschlichen Cortex, wie sie im somatosensorischen Cortex oder im visuellen System zu finden sind: Auch hier führen ähnliche Inputs (z.B. Berührungen naheliegender Stellen am Körper oder leicht unterschiedlich gekippte visuelle Kanten) zur Aktivierung räumlich nebeneinanderliegender Neurone.

Arten von rekurrenten Netzen

Aufgrund der Rückkopplungen und des damit einhergehenden Einflusses früherer Aktivität auf die Aktivität zu späteren Zeitpunkten entstehen zeitliche Beziehungen. Rekurrente Netze eignen sich daher besonders gut dafür, zeitliche Sequenzen wie zum Beispiel die Entwicklung des Börsenmarktes zu erkennen und vorherzusagen. Andere Anwendungen sind die Spracherkennung oder die Vorhersage nachfolgender Wörter eines Satzes.

Attraktorennetze

Attraktorennetze, die oft auch nach Ihrem Erfinder Hopfield-Netze genannt werden, sind einschichtige rekurrente Netze, die stabile Koaktivierungsmuster von Neuronen lernen können. Diese Aktivierungsmuster bilden Attraktoren. Das bedeutet, dass Inputmuster, die einem der Attraktoren ähnlich sind, durch die Rückkopplungen zwischen den Neuronen dem Attraktor-Muster angeglichen werden. Das Funktionsprinzip dahinter ist, dass die aktiven Neurone eines gelernten Musters durch stärkere Verbindungen miteinander assoziiert wurden. Dadurch können sich die miteinander verknüpften Neurone gegenseitig erregen und hemmen, sodass das gelernte Muster wiederhergestellt wird. Das Netz verfügt somit über eine hohe Toleranz gegenüber fehlerhaftem oder verrauschtem Input und eignet sich zur Wiederherstellung von gestörten Mustern. Attraktornetze gelten als eine Analogie zu den Gedächtnisabrufprozessen im Gehirn: Es genügt ein kleiner Teil eines Musters, um das gesamte Muster wiederherzustellen. So kann z.B. erklärt werden, wie wir eine Person auf verschiedenen Fotos wiedererkennen können oder aus dem gesehenen Teil eines Gesichts die Erinnerung an das gesamte Gesicht abrufen können.

Einfache rekurrente Netze

Diese im Englischen als SRN’s (simple recurrent networks) bezeichneten Netze besitzen sogenannte Kontextneurone, welche die Aktivierung einer Schicht für einen Verarbeitungsschritt zwischenspeichern können. Dies geschieht, indem es von den Neuronen der entsprechenden Schicht eine Verbindung zu jeweils einem Kontextneuron mit unveränderlichem Gewicht gibt, welches den Wert 1 besitzt. Im nächsten Schritt wird diese gespeicherte Kopie der Aktivierungen wieder vorwärts geschickt. Die Verbindungen sind hierbei jedoch von jedem Kontextneuron zu jedem Neuron der ausgewählten Schicht vorhanden und außerdem modifizierbar. So kann eine Kopie der Information gespeichert werden und im nächsten Schritt wiederum die Verarbeitung in der Hiddenschicht (oder der Inputschicht) beeinflussen. Diese Rückkopplung ermöglicht einfachen rekurrenten Netzen, Inputsequenzen zu lernen, die über die Zeit miteinander zusammenhängen: Die Aktivierung der Hiddenschicht zu einem Zeitpunkt t beeinflusst dessen Aktivierung zum Zeitpunkt t+1, zusammen mit dem Input zum Zeitpunkt t+1. Diese Aktivierung zum Zeitpunkt t+1 wiederum beeinflusst dann zusammen mit dem Input zum Zeitpunkt t+2 wieder dessen Aktivierung zu t+2, und so weiter. So können diese Netze z.B. die Struktur von Sätzen lernen und Vorhersagen bzw. Erwartungen für das nächste Wort in einem Satz erwerben. Beispiele für einfache rekurrente Netze sind Elman- und Jordan-Netze. Erstere verbinden Kontextneuronen mit der Hiddenschicht und können beispielsweise Satzelemente vorhersagen, Bedeutungsunterschiede von Wörtern in Abhängigkeit von der Satzposition erkennen und Wortkategorien extrahieren. Jordan-Netze sind sehr ähnlich aufgebaut, allerdings verknüpfen sie die Kontextneuronen mit der Outputschicht und verfügen teils über direkte Rückkopplungen in der Kontextschicht.

Dynamische neuronale Felder

Bei dynamischen neuronalen Feldern liegt der Schwerpunkt auf der dynamischen Interaktion zwischen Neuronen. Diese beeinflussen sich in ihren Schichten gegenseitig, indem das Feuern naher Nachbarn verstärkt und das entfernterer Nachbarn unterdrückt wird. So erlauben sie, ähnlich den selbst-organisierten Karten, die Repräsentation miteinander ähnlicher Reize. Für mehr Details, siehe Dynamic Neural Fields.