Kapitel 8 - Neuronale Netze
Wie ist ein Gehirn aufgebaut?
Das Neuron (Nervenzelle) ist die elementare Funktionseinheit
des Gehirns. Ein Neuron besteht aus einem Zellkörper (Soma), der
den Zellkern enthält. An der Zelle verzweigen kurze Fasern
(Dendriten) und lange Fasern (Axon). Neuronen
sind über Synapsen verbunden, welche das Axon mit Dendriten oder
Zellkörpern anderer Neuronen verbinden.
Wie werden Informationen im Gehirn übertragen
Die Informationsübertragung zwischen Neuronen basiert auf einem komplizierten
elektrochemischen Prozess. Wird ein elektrischer Impuls an ein Axonende übertragen,
erzeugt die Synapse eine Transmittersubstanz, welcher über den
Dendrit in das Neuron eindringt und dort das elektrische Potential
erhöht oder erniedrigt. Falls dieses Potential einen an den Neuron gebundenen
Schwellenwert erreicht, wird ein Impuls
(Aktionspotential) durch das Axon geschickt, welche wieder an
anderen Synapsen die Erzeugung von Transmittersubstanzen hervorrufen.
Was genau ist nun ein neuronales Netz?
Ein Neuronales Netz besteht aus einer Menge von Knoten (Ortsbestimmung), die
durch gewichtete Kanten verbunden sind. Die Gewichte sind
veränderbar. Über die Anpassung dieser Gewichte ist ein neuronales Netz
lernfähig. Durch das Lernen kann das Netz seine Ausgaben, die es
aufgrund bestimmter Eingaben erzeugt, ab die gewünschten Ausgaben anpassen.
Jedes Neuron (Knoten) hat Eingabekanten und
Ausgabekanten, welche wieder zu anderen Knoten führen. Jeder
Knoten besitzt ein Aktivierungsniveau (Schwellenwert) und ein
Hilfsmittel zur Berechnung dieses Niveaus. So führt jede Einheit ihre Berechnung
lokal aus. Eine globale Berechnung entfällt somit. In der Umsetzung werden aber die
Berechnungen meist synchronisiert, um die Einheiten immer in einer strikten
Reihenfolge abarbeiten zu können.
Was macht ein Knoten bzw. Neuron?
Hauptfunktion eines Knotens ist das Aktivierungsniveau zu berechnen und
gegebenfalls die empfangenen Signale an die nächsten Einheiten weiterzuleiten. Die
Berechnung erfolgt in zwei Schritten:
- Berechnung der gewichteten Summe der Eingabewerte über die Eingabefunktion
(lineare Komponente)
- Berechnung des Aktivierungsniveaus über die Aktivierungsfunktion
(nichtlineare Komponente)
Welche verschiedenen Aktivierungsfunktionen sind ihnen bekannt?
Für die Aktivierungsfunktion kommen eine Menge verschiedenster Funktionen in
Frage. Die drei gebräuchlichsten sind die Schrittfunktion, die
Signumsfunktion und die Sigmoidfunktion.
Was ist ein Bias im neuronalen Netz?
Ein Bias ist eine Erweiterung des Netzes. Ein Bias ist mit
jedem Neuron verbunden, besitzt aber keine Eingabekante. Ein Bias wird verwendet,
wenn keine Aktivierungsfunktion mit Schwellenwert
verwendet werden soll. Statt dessen wird über diese zusätzliche Eingabe mit einem
Gewicht versehen. So wird das Lernen im Netz einfacher, da nun nur noch die
Gewichte geändert werden müssen und nicht mehr zusätzlich die Schwellenwerte.
Welche zwei Netzstrukturen gibt es?
Es gibt zyklenfreie (feed forward) und
rekurrente Netze. Zyklenfreie Netze haben gerichtete Kanten und
sind schleifenfrei. Dagegen sind in rekurrenten Netzen beliebige Strukturen
erlaubt. Graphentheoretisch ist ein zyklenfreier Graph ein DAG. Die Anordnung der
Neuronen wird üblicherweise in Ebenen vorgenommen. In einem
geschichteten zyklenfreien Netz führen von jeder Einheit aus nur Kanten zu
Einheitenn in der nächsten Ebene. Es sind keine Kanten zu Einheiten in der selben
Ebene oder Kanten, die Ebenen überspingen (außer Bias)
erlaubt.
Die Berechnung in rekurrenten Netzen verläuft weniger geordnet. Solche Netze können
oft instabil werden und ein chaotisches Verhalten zeigen.
Wie sind die Ebenen eingeteilt?
Einheiten, welche Eingaben aus der Umwelt aufnehmen sind
Eingabeeinheiten. Ihr Aktivierungswert wird durch die Umgebung
bestimmt. Die Schicht, welche nur Einheiten enthält, welche Informationen an die
Umgebung abgeben, sind Ausgabeeinheiten. Zwischen Eingabe- und
Ausgabeeinheiten liegen die verborgenen Einheiten (hidden units).
Netze welche keine verborgen Einheiten besitzen sind Perzeptrone.
Solche Netze haben einen einfachen Lernprozess, haben aber eine schlechte
Repräsentationsfähigkeit.
Was ist das schwierigste Problem bei Neuronalen Netzen?
Es ist extrem schwer eine optimale Netzstruktur zu finden. Ist das Netz zu
klein, kann es die gewünschte Funktion nicht repräsentieren. Ist es zu groß, kann
es zwar alle Beispiele der Trainingsmenge in einer Tabelle
speichern, ist aber nicht Verallgemeinerungsfähig und kann neue Beispiele nicht
richtig klassifizieren. (Overfitting)
Das Problem eine gute Netzstruktur zu finden, kann als Suchproblem betrachtet
werden. Genetische Algorithmen sind sehr aufwendig. Ein anderes
mögliches Verfahren ist das Bergsteigen, welches das Netz
schrittweise modifiziert.
|
|
|