Neuronale Netze In Der Statistischen Datenauswertung?

Allgemein Neuronale Netze Statistik Trackbacks (0) Artikel kommentieren   

 

Mit F-I-S-C-H-E-R möchte ich an dieser Stelle ein Programm zur statistischen Datenauswertung -mittels herkömmlicher Verfahren klassischer Statistik  und Neuronaler Netze- vorstellen, das im Rahmen eines Forschungspraktikums an der Universität Würzburg gestaltet und im Rahmen einer Diplomarbeit an der Universität Trier evaluiert wurde (für Informationen zu Neuronalen Netzen in der statistischen Datenauswertung vgl. z.B. Sarle (1994); Rumelhart et al.(1995), Cheng&Titterington(1994), oder Rey&Wender(2008)).

Bisher stehen dem Nutzer des Programms folgende Verfahren zur Verfügung:

Die neueste Version des Programms kann man kostenfrei herunterladen:   

 Free Download: F.I.S.C.H.E.R. light

    (Sollten sie Anregungen haben oder Fehler im Programm finden, melden sie sich bitte bei: andreasfischer1985@web.de)


Es wurde versucht, für klassisch-statistische Verfahren und für Neuronale Algorithmen eine einheitliche Form der Handhabung und Ergebnispräsentation zu schaffen, so dass es dem Anwender besonders leicht fallen sollte, Ergebnisse aus beiden Bereichen zueinander in Beziehung zu setzen und Neuronale Netze zur statistischen Datenauswertung zu nutzen.

Hier ein Screenshot aus der "Neuronale Netze Werkstatt":

 

Mit F.I.S.C.H.E.R. können sie rechnen:

  • Zusätzlich zu diversen Neuronalen Netzen als Analysemethoden steht mit der "Neuronale Netze Werkstatt" auch die Möglichkeit zur Verfügung, sich aus einem reichhaltigen Angebot an Aktivitätsfunktionen, Lernregeln, usw. ein eigenes Neuronales Netz zu erstellen und alle Feineinstellungen selbst vorzunehmen.
  • Überdies stellt das Programm neben diversen Methoden der Datenbearbeitung, -transformation und -analyse Methoden zur Visualisierung der Daten zur Verfügung (Histogramme, Scatterplots, 3D-Scatterplots).
  • Fortgeschrittene Nutzer können das Programm auch  über eine Scriptsprache bedienen.
  • Unterstützte Dateiformate zum Einlesen und Speichern von Datensätzen sind bisher .csv, .txt und .xls.
  • Das Programm wurde mit JAVA erstellt und ist insofern plattformunabhängig anwendbar.

 

Historisches:

Die aktuelle Version 1.2b bietet im vgl. zu Version 1.1 u.a. folgende Neuerungen:
  • Neue Lernregeln in der Neuronale Netze Werkstatt (Simulated Annealing, Maximum-Likelihood-Backpropagation)
  • Algorithmen zum Ersetzen fehlender Werte, zum Sortieren der Daten oder zum Umpolen von Items
  • Neue Einstellungsmöglichkeiten (z.B. alle wichtigen Infos und Grafiken in einem Fenster)
  • Optional erläuternde Hinweistexte zu den Regressionsgleichungen
  • Möglichkeit, markierte Zeilen und Spalten zu löschen (DEL+Enter)
  • einige kleinere Bugfixes, u.a. in der linearen, der polynomialen Regression und den Neuronalen Netzen ohne Hiddenunits
  • ab Version 1.2a grober Bug beim Verschieben von Spalten behoben
  • ab Version 1.2b Zahlenbeispiele beigelegt, Bugs bei Buttons "Neu" und "Zeilen/Spalten" behoben

 

Neuronale Netze

Allgemein Neuronale Netze Trackbacks (0) Artikel kommentieren   

 

 

Definitionsversuch

Neuronale Netze sind informationsverarbeitende Systeme aus Neuronen (Units) und ihren Synapsen (Verbindungen). IdR wird die Stärke einer Verbindung zwischen zwei Units durch ein Gewicht -eine positive oder negative reele Zahl- ausgedrückt. Je größer der Absolutbetrag des Gewichts ist, desto größer ist der Einfluss einer Unit auf eine andere. Die Ausgabe einer Unit wird ebenfalls über eine positive oder negative reele Zahl ausgedrückt. Ist eine Unit aktiviert, gibt sie ihre Ausgabe, multipliziert mit dem Gewicht der jeweiligen Verbindung, an alle Units weiter, mit denen sie verbunden ist.

 Zur Funktionsweise einer Unit siehe "Modell eines Neurons"

 


 

Zu Units und ihren Verbindungen:

Man unterscheidet unter den Neuronen zwischen Inputunits, Hiddenunits und Outputunits.

-          Inputunis werden von der Umwelt des Systems zur Aktivität angeregt (ihre Ausgabe wird von außen in Form einer Zahl vorgegeben)

-          Outputunits geben ihren Aktivitätslevel in Form einer Zahl an die Außenwelt aus.

-          Hiddenunits befinden sich zwischen Input- und Outputunits

-          Biasunits sind Inputunits, die konstant die Ausgabe 1 liefern

 

(Es gibt Netze mit Hiddenunits, aber auch Netze ohne Hiddenunits. Ebenso gibt es Netze mit und Netze ohne Biasunits)

IdR ist nicht jede Unit mit jeder verbunden.Die Units werden vielmehr zu sogenannten Schichten/Layers gruppiert: Die Inputunits werden zur Inputschicht, die Hiddenunits zur Hiddenschicht und die Outputunits zur Outputschicht zusammengefasst, wobei

a)       Units einer Schicht untereinander nicht verbunden sind , und

b)       Jede Unit einer Schicht mit allen Units der folgenden Schicht verbunden ist.

 

 

Wie lernen Neuronale Netze?

Lernen in Neuronalen Netzen geschieht über eine Veränderung der Gewichte / Verbindungsstärken. Man aktiviert die Inputunits,errechnet die Aktivität der Outputunit, und bestimmt dann die resultierenden Gewichtsveränderungen über eine Lernregel.

Die bekanntesten Lernregeln sind

  1. die Hebb'sche Regel
  2. die Deltaregel 
  3. der Backpropagation-Algorithmus

 

 

 

 

Modell Eines Neurons

Allgemein Neuronale Netze Trackbacks (0) Kommentare (2)   

 

 

Im Folgenden werden die Annahmen des "kontinuierlichen Grundmodells" dargestellt. Andere Modelle zur Beschreibung Neuronaler Funktionsweisen finden im Kontext Künstlicher Neuronale Netze selten Verwendung -diese anderen Modelle unterscheiden sich vom hier vorgestellten Grundmodell idR durch einen geringeren Abstraktionsgrad  auf Kosten einfacher und effizienter Berechenbarkeit (ein Beispiel für Modelle, die sich näher am Biologischen Vorbild orientieren, stellen z.B. sog. "Pulsed Neurons" dar).

 

Zu den Annahmen des kontinuierlichen Grundmodells:

 

Wenn ein Neuron von anderen Neuronen erregt wird, verarbeitet es diese Information in drei Schritten:

1) Propagierung (aus der Erregung durch alle sendenden Neurone wird eine Gesamt-Erregung errechnet -der sog. Net-Input)

2) Aktivierung (aus dem in Schritt 1 errechneten Net-Input wird die Aktivität des empfangenden Neurons errechnet -der sog. Aktivitätslevel)

3) Ausgabe (aus dem in Schritt 2 errechneten Aktivitätslevel wird die Erregung errechnet, die das Neuron an weitere Neurone oder an die Umwelt weitergibt -die sog. Ausgabe)

 

Auf diese drei Schritte soll im Folgenden etwas genauer eingegangen werden:

 


 

 

1) Propagierung

Ein Neuron i wird erregt von anderen Neuronen j, die über Synapsen von einer Stärke wij mit diesem verbunden sind (der Beitrag, den ein sendendes Neuron j zur Erregung leistet, bestimmt sich über das Produkt aus seiner Aktivität aj und der Synapsenstärke wij zwischen den beiden Neuronen),

wobei diese Beiträge über alle sendenden Neurone j aufsummiert werden (die Summenfunktion Σ(a1*wi1,a2*wi2,...,aj*wij) nennt man in diesem Kontext Propagierungsfunktion) was den sog. "Net-Input" ergibt.

 

Zahlenbeispiel:

In der folgenden Abbildung sieht man ein Neuronales Netz mit drei sendenden Units (grün) und einer empfangenden Unit (rot). Den Net-Input der empfangenden Unit erhält man nun, indem man für jede sendende Unit deren Aktivität mit der Stärke des verbindenden Gewichts (im Beispiel beträgt das Gewicht für jede Unit 0.5) multipliziert, und diese Produkte aufsummiert:

(0.5*0.5) + (0.4*0.5) + (0.3*0.5) = 0.6

 

 


 

 

2) Aktivierung

Hat man den Net-Input errechnet, kann man über eine bestimmte Funktion (sog. Aktivitätsfunktion fakt) den Aktivitätslevel des Neurons bestimmen.

 

Häufig kommt als Aktivitätsfunktion fakt eine der folgenden Funktionen zum Einsatz:

 


 

 

3) Ausgabe

Aus dem Aktivitätslevel wird sodann über die Ausgabefunktion die konkrete Ausgabe des Neurons an andere Neuronen errechnet (als Ausgabefunktion kommt in der Regel die Identitätsfunktion zum Einsatz, d.h. f(x)=x, so dass die Ausgabefunktion sich eigentlich erübrigt -sie sei nur der Vollständigkeit halber angesprochen).

 


 

 

Zusammengefasst:

Die Ausgabe eines Neurons lässt sich errechnen als

ai =fakt(Σ(aj*wij)) 

 



 

Die Deltaregel

Allgemein Neuronale Netze Trackbacks (0) Artikel kommentieren   


 

Die Deltaregel stellt eine Lernregel für Neuronale Netze dar. Sie gibt vor, wie die Gewichte zwischen den Units zu verändern sind, wenn man erreichen will, dass das Netz bei einem gegebenen Input (sprich: Ausgabe der Inputunits) bestmöglich einen bestimmten Output (sprich: Ausgabe der Outputunits) liefert.

Da zu jedem Input ein gewünschter Output vorzugeben ist, spricht man von "supervised training".

Wie Lernregeln in Neuronalen Netzen allgemein -und die Deltaregel im Besonderen- funktionieren veranschaulicht man am besten an einem Beispiel:

Angenommen man habe v Variablen und n Fälle -die jeweils eine bestimmte Variablenkonstellation (im Folgenden „Pattern“) darstellen.
Z.B. von 3 Fällen die folgenden Ausprägungen auf 4 Variablen:

        

 

v1

v2

v3

v4

n1

n2

n3

1

1

1

2

3

4

3

4

2

4

5

1

 

In einem solchen Fall kann kann man ein Neuronales Netz dazu nutzen, beliebige Variablen mit beliebigen anderen Variablen zu assoziieren (z.B. könnte man Variablen, die ein Gesicht kodieren, mit Variablen verknüpfen, die den zugehörigen Namen kodieren).

Gibt man ein Gesicht vor, soll das Neuronale Netz z.B. den zugehörigen Namen ausgeben (wobei sowohl Gesichter als auch Namen vorher auf eine hier nicht näher besprochene beliebige Weise in Zahlen(-reihen) zu kodieren wären).

In unserem Beispiel wollen wir die Variaben v1, v2 und v3 (im Folgenden „Inputvariablen“) mit der Variable v4 (im Folgenden „Outputvariable“) verknüpfen -gibt der Nutzer die Aktivität der Inputunits vor, soll das Netz die korrekte Ausprägung der Outputvariable vorherzusagen lernen.

(Parallelen zwischen der Deltaregel Neuronaler Netze und der linearen Regression in der klassischen Statistik sind nicht zufällig: Die Deltaregel wird auch als "least-mean-squares-Algorithmus" bezeichnet und führt -bei hinreichend kleinem Lernparameter, ausreichend langem Training sowie linearer Aktivitätsfunktion- zu Gewichten, die mit den Koeffizienten einer linearen Regression übereinstimmen. Für nicht-lineare Aktivitätsfunktionen vgl. "GLMs in der Sprache Neuronaler Netze")

 

 

Wir erstellen entsprechend ein Neuronales Netz mit drei Inputunits und einer Outputunit (lineare Aktivitätsfunktion):

Ein Detail am Rande: Zu Beginn sind alle Gewichte zwischen Input- und Outputunits gleich 0.

 

 

Nun verändern wir die Gewichte des Netzes, indem wir folgende Schritte mehrere Male durchlaufen:
  1. Wir präsentieren ein Pattern, d.h. wir bestimmen die Aktivität der Inputunits über die Ausprägungen der Inputvariablen.
  2. Aus der Ausgabe der Inputunits lässt sich (vgl. Funktionsweise der Neuronen) dann die Ausgabe der Outputunit errechnen (ai(actual)).
  3. Diese Ausgabe der Outputunit entspricht eventuell noch nicht wie gewünscht der Ausprägung der Outputvariablen (ai(ideal)) -d.h. es besteht u.U. eine Differenz δi zwischen ai(ideal) und ai(actual). Wir verändern daher die Gewichte einer jeden Inputunit j zur Outputunit i um einen Wert Δwij den wir nach folgender Formel bestimmen:
  Δwij = ε*δi*aj,

 

wobei δi = ai(ideal) –ai(actual)

Der Term ε in dieser Formel stellt eine Konstante dar, die dazu dient, dass auch bei Inputs, deren Beträge >1 sind, durch die Gewichtsveränderung tatsächlich eine Verbesserung gewährleistet ist und das Netz sich nicht kontinuierlich verschlechtert.

(Sollten die Inputvariablen also Werte aufweisen, deren Betrag >1 ist, ist ein hinreichend kleiner Lernparameter ε von besonderer Wichtigkeit. Ein brauchbarer Wert für ε lässt sich folgendermaßen ermitteln: 

Man bilde eine Potenz a^b:
Als Basis a wähle man den Betrag des größten Input-Wertes,
als Expontent b wähle man
  • "-2" im Falle der linearen Aktivitätsfunktion (bzw. allg. bei Funktionen deren Ausgabe beliebig groß/klein sein kann), und
  • "-1" im Falle der logistischen oder tanh- Aktivitätsfunktion (bzw. allg. bei Funktionen deren Ausgabe nie jenseits des Intervalls [-1;1] liegt) 

 

Die gebildete Potenz a^b nutzen wir nun als Lernparameter ε. Für unser Zahlenbeispiel erhalten wir dementsprechend als Lernparameter: ε = (5^(-2)) = 0.04)

 


 


Die o.g. Schritte 1 bis 3 durchlaufen wir einmal für jedes Pattern. Hat man jedes Pattern einmal präsentiert, spricht man vom Ende einer „Epoche“.

Wir trainieren das neuronale Netz noch viele Epochen lang,

solange bis die Gewichte sich zwischen zwei Epochen nicht mehr merklich verändern oder die Abweichung zwischen ai(ideal) und ai(actual) extrem nahe 0 ist.





Als Lösung erhalten wir folgende Gleichung für die vorhergesagte Ausgabe der Outputunit:

y1[var4] =

0.3333333042829*x1[var1] +

-0.6666666619085*x2[var2] +

1.6666666714248*x3[var3]

 



Statt die Gewichte nach jedem Pattern zu verändern –man spricht von „incremental training“- kann man sich auch entschließen, die Werte Δwij   für jedes Pattern zu berechnen OHNE die Gewichte gleich anzupassen, und erst am Ende einer Epoche die Gewichte um die Summe aus allen für die einzelnen Patterns berechneten Δwij  zu erhöhen –man spricht in diesem Fall von „batch training“.



 

Die folgende txt-Datei enthält ein Excel-Makro, mit dem sich das beschriebene Neuronale Netz in Excel umsetzen lassen sollte:

Einfaches Neuronales Netz.txt

Man kann beliebig viele Input- und Outputvariablen angeben, ist allerdings (für Demonstrationszwecke völlig ausreichend) auf die lineare Aktivitätsfunktion beschränkt. Die errechneten Gewichte werden auf einem neuen Tabellenblatt ausgegeben.

 

 

Die Hebb'sche Regel

Allgemein Neuronale Netze Trackbacks (0) Artikel kommentieren   

 

Die Hebb’sche Regel fordert in ihrer einfachsten Form –nachdem man die gewünschte Aktivität der Inputunits vorgegeben, und die Ausgabe der Outputunits errechnet hat- folgende Gewichtsveränderung zwischen einem sendenden Neuron j und einem empfangenden Neuron i:

 Δwij = ε*ai*aj,   

Da man keine gewünschte Ausgabe der empfangenden Units vorgeben muss, handelt es sich um sogenanntes „unsupervised training“. 

(Ersetzt man in der Formel jedoch z.B. die Aktivität der empfangenden Unit durch die gewünschte Aktivität der empfangenden Unit, lässt sich die Hebb’sche Regel auch als „supervised training“ realisieren.) 

Auch kann man die Regel wie schon die Deltaregel als „batch training“ und „incremental training“ realisieren.

 

Es sei noch erwähnt, dass die angegebene Formel der ursprünglichen Formulierung von Donald Hebb nur in dem Fall entspricht, dass als Aktivitäten der Neuronen lediglich positive Werte zugelassen werden –wie es z.B. unter Verwendung der binären oder der logistischen Aktivitätsfunktion der Fall ist. Bezieht man auch negative Aktivitätswerte in die Rechnung mit ein entfernt man sich von Hebb’s ursprünglicher Formulierung, was der Nützlichkeit der Regel jedoch keinen Abbruch tut.

 

Für Statistiker u.U. interessant: 

Es existieren diverse Verallgemeinerungen der Hebb’schen Regel (z.B: Sanger’s Algorithm, Oja’s Algorithm, oder Oja’s M-Komponenten-Regel) die bei linearen Aktivitätsfunktionen und standardisiert eingespeisten Inputdaten zu Gewichten führen, welche man als Elemente der Eigenvektoren der Korrelationsmatrix der Inputdaten interpretieren kann. Die Gewichte des Neuronalen Netzes entsprechen also dem Ergebnis einer Hauptkomponentenanalyse (PCA).

 

Klassische Konditionierung In Der Sprache Neuronaler Netze

Allgemein Neuronale Netze Psychologie Trackbacks (0) Artikel kommentieren   

 

 

Die Hebb’sche Regel wird häufig herangezogen, um zu veranschaulichen inwiefern ein Konditionierter Stimulus (CS), der häufig gemeinsam mit einem unkonditionierten Stimulus (US) und einer darauf folgendenden unkonditionierten Reaktion (UR)  autritt, zunehmend selbst in die Lage versetzt wird, besagte Reaktion auszulösen (Stimulus-Substitutions-Hypothese).

Hierfür denkt man sich für CS und US jeweils eine Inputunit, und für die Reaktion eine Outputunit, und bestimmt die Gewichte nach folgender Lernregel:

Δwij = ε*ai*aj, 

 

Die Gewichtsveränderung zwischen zwei Einheiten ergibt sich also aus einem Lernparameter ε, der Aktivität aj der sendenden Einheit j und der Aktivität ai = f(Σ (wij*aj)) der empfangenden Einheit i, wobei als Funktion f idR eine lineare oder sigmoide Funktion zum Tragen kommt.

 

Einige Details der zeitlichen Zusammenhänge zwischen CS und US werden von diesem Modell jedoch nicht erklärt (so wirkt ein CS z.B. ausschließlich, wenn er zeitlich vor dem US präsentiert wird –für ein Modell, welches dieser Tatsache Rechnung trägt, in seinen zentralen Folgerungen jedoch dem im Folgenden dargestellten Rescorla-Wagner-Modell nahesteht, vgl. z.B. Sutton & Barto (1881) „Toward a Modern Theory of Adaptive Networks: Expectation and Prediction“).

Auch geraten Hebb'sche Modelle in Erklärungsnot, wo die Konditionierte Reaktion (CR) nicht identisch mit der unkonditionierten Reaktion (UR) ist, sondern lediglich ähnlich.

 

Ein äußerst einflussreiches und auch heute noch gängiges Modell der Lerntheorie ist das Rescorla-Wagner-Modell der Klassischen Konditionierung:

Die Stärke Vj eines CS j  (von der Assoziierbarkeit/Salienz αj) verändert sich angesichts eines US von der Stärke A, im Kontext aller CS Vsum in einem Konditionierungsdurchgang -sofern der CS j vorliegt und nur dann- um:

ΔVj = αj * (A - Vsum)

 

In der Klammer steht also die Differenz zwischen der tatsächlichen Stärke des US und der (anhand der CS) vorhergesagten/erwarteten Stärke des US.

Eben diese Differenz zwischen tatsächlichen und vorhergesagten Werten, entspricht in der Deltaregel Neuronaler Netze dem namensgebenden Vorhersagefehler Delta.

Die Deltaregel lässt sich folgendermaßen formulieren:

Δwij = ε*(ai(ideal) –ai(actual))*aj,

 

D.h. die Gewichtsveränderung zwischen zwei Einheiten ergibt sich aus einem Lernparameter ε, der Aktivität aj der sendenden Einheit j und der gewünschten Aktivität ai(ideal) der empfangenden Einheit i, sowie der tatsächlichen Aktivität ai(actual) = f(Σ (wij*aj)) der empfangenden Einheit i, wobei als Funktion f idR eine lineare oder sigmoide Funktion zum Tragen kommt.

 

Wie Sutton & Barto (1881) bemerkten, ist die Widrow-Hoff-Regel (also die Deltaregel) mit der Rescorla-Wagner-Gleichung im Kern identisch.

Die Gewichte w zwischen den Inputunits und einer Outputunit entsprechen der Stärke V eines CS bzgl. einer Reaktion y,

  • wenn man für jeden CS eine Inputunit j annimmt (aj=1, wenn der CS vorliegt, aj=0, wenn der CS nicht vorliegt),
  • wenn man für den gewünschten Output ai(ideal) die Stärke des US A annimmt (wobei ai(ideal) =0, wenn kein US vorliegt),
  • wenn man ai(actual) wie Vsum als die gewichtete Summe der CS-/Inputaktivitäten bestimmt, und
  • wenn der Lernparameter ε dem Lernparameter αj entspricht.

Aufgrund ihrer Parallelen zum (bzw. ihrer Übereinstimmung mit dem) Rescorla-Wagner-Modell bietet die Deltaregel eine adäquatere Beschreibung klassischer Konditionierung, als die Hebb’sche Regel (wobei angemerkt sei, dass Sutton und Barto in o.g. Artikel eine Erweiterung der Rescorla-Wagner/Widrow-Hoff-Regel vorschlagen, die auch noch dem zeitlichen Aspekt klassischer Konditionierung Rechnung trägt).

 

Biologisches Neuronales Netz - Die Grundlagen

Allgemein Exkurs Neurobiologie Trackbacks (0) Artikel kommentieren   

 

 

Neuronen lassen sich als elektrochemische Einheiten verstehen, die jeweils aus einem Zellkörper, "Soma" genannt, einem Fadenartigen Fortsatz namens "Axon" (wobei ein Axon oft mehrere Kollateralen ausbildet) und beliebig vielen Andockstellen namens "Dendriten" bestehen.

Die Zellmembran eines Neurons hält ein sogenanntes Ruhepotential von etwa –70mV zur das Neuron umgebenden Extrazellulärraum/Interstitium aufrecht. Summiert sich die Aktivität im Soma zu einem gewissen Schwellwert (etwa –60mV) auf, wird über die Öffnung von Ionenkanälen in der Membranwand ein Aktionspotential ausgelöst, das sich vom Soma weg über das Axon ausbreitet.

Da solche Aktionspotentiale entweder ausgelöst wurden oder nicht, spricht man von einem „Alles-oder-nichts-Prinzip“.

Informationen werden nicht über einzelne Aktionspotentiale sondern vielmehr über deren Frequenz und Rhythmizität übermittelt. Nach einem Aktionspotential gibt es eine kurze „abolute Refraktärphase“, innerhalb derer kein weiteres Aktionspotential ausgelöst werden kann. Die maximale Frequenz, mit der ein Neuron Aktionspotentiale ausbilden kann, ist also begrenzt (die maximale Frequenz liegt  für die meisten Neuronen bei etwa 500/s).

(deswegen: Reizstärken über logistische Funktion modellieren - nach oben und unten begrenzt sowie stufenlos)

Erreicht ein Aktionspotential die präsynaptische Membran des Neurons, werden idR Neurotranmitter freigesetzt, die an der postsynaptischen Membran des folgenden Neurons eine erregende oder hemmende Wirkung haben.

Bei erregenden chemischen Synapsen wird im postsynaptischen Neuron vorübergehend das Ruhepotential depolarisiert  -man spricht auch von erregendem postsynaptschen Potential EPSP- (bei genügender Depolarisation kann es in dieser Zelle zur Aktivierung eines Aktionspotentials kommen) .

Das Ausmaß der Depolarisation einer Zelle hängt davon ab, wie viele afferente Neuronen gleichzeitig aktiv sind und wie oft sie dies sind (es kommt zu einer zeitlichen und räumlichen Summation der einzelnen Potentiale)

Analog zum EPSP gibt es hemmende/inhibitoprische chemische Synapsen, deren Aktivierung zu einer Hyperpolarisierung des Ruhepotentials führt, wodurch die Erregbarkeit der Zelle vorübergehend herabgesetzt wird. Man spricht hier auch vom inhibitorischen postsynaptischen Potential (IPSP), oder einer Abnahme des EPSP.

(deswegen: postive und negative Gewichte)

Mit Langzeitpotenzierung LTP und Langzeitdepression LDP seien schließlich noch zwei Begriffe angesprochen, mit der in der Neurobiologie Lernprozesse bezeichnet werden die eine langfristige zunehmende oder abnehmende Erregbarkeit einer Synapse bezeichnen.

(deswegen: Lernen als Gewichtsveränderung)

KüNstliches Neuronales Netz - Geschichtliches

Allgemein Exkurs Trackbacks (0) Artikel kommentieren   

 

 

Im Folgenden einige der zahllosen geschichtlich relevanten Eckdaten in der Geschichte künstlicher neuronaler Netze:

 


 

1934 veröffentlichten Warren S. McCulloch und Walter Pitts „A logical calculus of the ideas immanent in nervous activity“, einen Artikel in dem sie mit 5 Annahmen zur Arbeitsweise von Neuronen ein Modell des Neurons aufstellten, das Beachtliches zu leisten im Stande war und  das Forschungsfeld künstlicher Neuronaler Netze quasi eröffnete.


1949 veröffentlichte Donald O. Hebb in seinem Buch "The Organization of Behavior" neben anderen herausragenden Überlegungen die erste physiologische Lernregel (die Hebb'sche Regel) für Synapsenmodifikationen.

 

 

1958 stellte Rosenblatt das erste Perceptron vor -ein (Reinforcement-)lernfähiges Neuronales Netz ohne Hiddenschicht, das zur Klassifikation von Daten fähig war.

 



 

1958 veröffentlichte Selfridge mit seinem Pandemonium ein neues Paradigma des Lernens. Er schlug vor, dass man Lernen realisieren könnte indem man die Gewichte leicht in jede Richtung variiere, bis sich eine möglichst große Verringerung des Fehlers zeige, woraufhin man diese Kombination beibehielte (dann wieder die Gewichte variiere usw)

-auf diese Weise ließe sich sicherstellen, dass eine Gewichtskombination gefunden wird, die ein lokales Minimum der Fehlerfunktion darstellt. Als Startgewichte des Verfahrens schlägt er diejenigen vor, die aus einer großen Reihe Zufallsgewichten die beste Kombination darstellen.

In Selfridges Vorgehen klingt bereits an, was später als Gradientenabstiegsverfahren mathematische Präzision erhalten sollte, in der Tat bedient er sich sogar schon der paradigmatischen Bergsteigermetapher.

 

 

1960 beglückten Bernard Widrow & Macian E. Hoff die Welt mit der Deltaregel. Sie nahmen an, dass die quadrierte Abweichung vom gewünschten Wert als zu minimierener Fehler heranzuziehen sei (bei Batch-Training ergibt sich eine Minimierung der Summe quadrierter Abweichungen). 

 


 

1969 veröffentlichten Minsky und Papert ihre Analyse der Beschränktheit von Perceptronen ohne Hiddenunits.

 


1972 verwendete Kohonen lineare Aktivitätsfunktionen statt der bis dahin gängigen binären Schwellenfunktion. Traininert wurde vorerst nach einer Verallgemeinerung der Hebb’schen Regel, doch auch supervised-lernregeln wie die Deltaregel ließen sich auf das neue Paradigma anwenden.

 


1976 verband Grossberg unter Verwendung der Sigmoiden Aktivitätsfunktion die Tatsache dass ein Neuron kontinuierliche Unterschiede in der Feuerrate aufweisen kann, mit der Tatsache dass nach oben und nach unten eine Beschränkung möglicher Aktivität eines Neurons besteht.


 1982 entwarf J.J. Hopfield ein Netzwerk, das eine Reihe stabiler Zustände (Attraktoren) verwirklicht, denen es sich auch bei fehlerhaftem oder teilweise gänzlich fehlendem Input nähert (vgl. Synergetischer Computer). 


 

1986 wurde mit einem Artikel in Rumelhart (linkes Bild), Hinton (rechtes Bild) und Williams eine Lösung für die Problematik, Netze mit Hiddenunits zu trainineren, publik gemacht: Der Backpropagation-Algorithmus, eine Generalisierung der Deltaregel.

 

Backpropagation - Die Generalisierte Deltaregel

Allgemein Neuronale Netze Statistik Trackbacks (0) Artikel kommentieren   

 

 

Eine in vielerlei Hinsicht generalisierte Variante der Deltaregel stellt der Backpropagation-Algorithmus dar.

Will man

  • für Netze mit beliebigen Aktivitätsfunktionen,
  • sowie bei evtl. vorhandenen Hiddenunits,
eine Fehlerfunktion nach Wahl minimieren (z.B. die Summe der quadrierten Abweichungen zwischen vom Netz vohergesagten Werten und gewünschten Werten –auch als Least-Squares-Kriterium (LS-Kriterium) bekannt- oder die negative Likelihood –auch als Maximum-Likelihood-Kriterium (ML-Kriterium) bekannt)

dann bietet sich als Lernregel die Generalisierte Deltaregel an.

Je nach gewünschter Fehlerfunktion ergeben sich andere Formeln:

 

Will man für z.B. die Summe der Abweichungsquadrate minimieren (LS-Kriterium), verändert man die Gewichte um Δw nach folgenden Formeln:

 

 

Will man hingegen unter Annahme einer bestimmten Verteilung die Likelihood der Schätzer maximieren (ML-Kriterium) bzw die negative Likelihood minimieren, ergeben sich andere für die Gewichtsveränderung Δw relevante Formeln.

Will man (z.B. um eine logistische Regression mit dichotomem Kriterium zu rechnen) die Binomialverteilung der Kriteriumsvariable annehmen, ließen sich die von Spackman (1992) vorgeschlagenen Formeln heranziehen (vgl. auch Rumelhart, Chauvin et al. (1995)):

 

Fazit:

Wer sich mit Neuronalen Netzen in Bezug auf Möglichkeiten zur statistischen Datenauswertung auseinandersetzt, der wird auf interessante Parallelen zwischen den Algorithmen Neuronaler Netze und den Verfahren klassischer Statistik stoßen (für einen Überblick, vgl. z.B. Sarle (1994)).

Bestimmte Varianten des Backpropagation-Algorithmus führen zu genau denselben Koeffizienten, wie die entsprechenden Verfahren klassischer Statistik.

(so entsprechen die Gewichte von Netzen ohne Hiddenunits bei entsprechend gewählter Lernregel den Gewichten von linearer Regression, logistischer Regression, o.ä. (vgl. "GLMs in der Sprache Neuronaler Netze") ;

Netze mit Hiddenunits finden ihre Parallelen in nonlinearer least-squares-Regression (vgl. "Nichtlineare Regression mit Neuronalen Netzen"), und herkömmlicher Projection Pursuit Regression (vgl. Klinke&Grassmann).)

 


Ein allgemeines Problem des Backpropagation-Verfahrens ist, dass es sich um ein Verfahren zur lokalen Optimierung handelt, so dass je nach gewählten Startgewichten unterschiedliche Ergebnisse resultieren können. Die errechneten Gewichte stellen idR ein lokales Fehler-Minimum dar, ob es sich dabei jedoch um ein absolutes Minimum handelt lässt sich in vielen Fällen nicht feststellen (in manchen Fällen hat die Fehlerfunktion jedoch lediglich ein einziges Minimum, sodass dieses potentielle Problem nicht besteht).


Zwar stehen zahlreiche Variationen des Verfahrens (z.B. resilient-backpropagation), sowie alternative Algorithmen (z.B. Simulated Annealing und Evolutionäre Algorithmen) zur Verfügung, die diese und weitere Mängel des Verfahrens zu umgehen helfen, nichtsdestotrotz bleibt die globale Optimierung in der Mathematik oft ein unsicheres Unterfangen.

GLMs In Der Sprache Neuronaler Netze

Allgemein Neuronale Netze Statistik Trackbacks (0) Artikel kommentieren   

 

 

Nach der Darlegung von Deltaregel und Generalisierter Deltaregel will ich nun versuchen, diese Verfahren in Beziehung zu den Maximum-Likelihood-Schätzverfahren Generalisierter Linearer Modelle (GLMs) zu setzen.

GLMs umfassen sowohl die allseits bekannte lineare Regression (wo eine lineare Regressionsfunktion und normalverteilte Fehler angenommen werden), als auch Regressionsmodelle für Daten die nicht normalverteilt und/oder nicht-linear zu beschreiben sind -wie z.B. die binäre logistische Regression (wo eine logistische Regressionsfunktion und binomialverteilte Fehler angenommen werden).

Zwischen GLMs und Neuronalen Netzen ohne Hiddenunits bestehen bemerkenswerte Übereinstimmungen:

 

Die Modelle

Generalisierte lineare Modelle (GLMs) stellen in der Statistik einen methodisch einheitlichen Rahmen dar, um lineare wie nichtlineare Zusammenhänge zwischen einem Kriterium und einer gewichteten Linearkombination von Prädiktoren zu modellieren (die Art des Zusammenhangs bestimmt sich über die sog. "Link-Funktion").

Diese Modelle entsprechen exakt den uns bekannten Neuronalen Netzen ohne Hiddenunits, welche eine gewichtete Linearkombination von Inputvariablen (den sog. Net-Input) in linearen oder nonlinearen Zusammenhang mit einer Outputvariable stellen (wobei die Art des Zusammenhangs sich über die sog. "Aktivitäts-Funktion" bestimmt).

 

Das Schätzverfahren

Die Gewichte in GLMs werden über Maximum-likelihood-Schätzung errechnet, wobei hierfür eine bestimmte Verteilung der Fehler angenommen wird (Zu jeder Link-Funktion existiert eine adäquate "kanonische Verteilung": zur linearen Link-Funktion z.B. gehört die Normalverteilung, zur logistischen Link-Funktion die Binomialverteilung, usw.).

Auch bei Neuronalen Netzen lassen sich für beliebige Aktivitätsfunktionen ganz leicht Gewichte berechnen, für welche die Likelihood unter Annahme der adäquaten kanonischen Verteilung maximiert (bzw die negative Likelihood minimiert) wird:

Es lässt sich zeigen (vgl. Rumelhart, Chauvin et al. (1995)), dass sich die Formeln der vorzunehmenden Gewichtsveränderungen, für den Fall dass die angenommene Fehler-Verteilung auch der kanonischen Verteilung der gewählten Aktivitätsfunktion entspricht, zu folgender einfachen Formel kürzen lassen:

 

Δwij = ε*δi*aj,

 

wobei δi = ai(ideal) –ai(actual)

 

Erklärt man sich also -wie man dies auch beim Rechnen eines GLMs tut- dazu bereit, für die lineare Aktivitätsfunktion die Normalverteilung der Fehler anzunehmen, für die logistische Aktivitätsfunktion die Binomialverteilung usw.,

dann hat man mit o.g. Formel die Gewichtsveränderungen gegeben, die man iterativ vornehmen muss um die Likelihood der Schätzer zu maximieren.

(Natürlich ist es auch möglich, für eine andere Verteilung als die kanonische Verteilung einer beliebigen Aktivitätsfunktion Formeln abzuleiten -im Beitrag über Backpropagation wurden für die Normalverteilung und für die Binomialverteilung (sowie beliebige differenzierbare Aktivitätsfunktionen) entsprechende Formeln angegeben- aber in diesem Fall lassen sich die Formeln eben u.U. nicht auf eine derart einfache Form bringen/kürzen wie die oben angegebene.)

Die auf die beschriebene Weise errechneten Gewichte entsprechen exakt jenen, welche auch die Berechnung eines entsprechenden GLM ergibt (die Gewichte eines Netzes mit linearer Aktivitätsfunktion entsprechen z.B. den Koeffizienten einer linearen Regression, die Gewichte eines Netzes mit logistischer Aktivitätsfunktion entsprechen den Koeffizienten einer binären logistischen Regression, usw)

Blogged by andreasfischer1985@web.de, Template-Design by JR, Powered by Lifetype