Neuronale Netze für künstliche Intelligenz

Aus Spieleprogrammierer-Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
[unmarkierte Version][gesichtete Version]
(Einstieg)
(Von Perzeptronen und künstlichen Neuronen)
Zeile 8: Zeile 8:
 
Im Grunde genommen ist ein Neuronales Netz eine Struktur mehrerer künstlicher Neuronen, die gemeinsame Eingabedaten und ein gewisse Anzahl an Ausgabesignalen erzeugen. Das wichtigste ist wohl die Lernfähigkeit dieser Systeme, so kann man sie beispielsweise zur Gesichtserkennung nutzen, zum umwandeln von handschriftlichen in 'maschinellen' Text oder aber auch als "Gehirn" für Wesen in einem Spiel. Entgegen einem evolutionären Algorithmus, der sich eher für Optimierungsprobleme eignet, wie etwa Autofahren von A nach B durch eine kurvige Straße, sind Neuronale Netze besonders gut darin, Muster zu erkennen. Natürlich gibt es verschiedene Arten von Neuronalen Netzen, der Grundaufbau bleibt jedoch stets gleich. Es gibt je eine so genannte "Input-Layer", "Hidden-Layer" und eine "Output-Layer".
 
Im Grunde genommen ist ein Neuronales Netz eine Struktur mehrerer künstlicher Neuronen, die gemeinsame Eingabedaten und ein gewisse Anzahl an Ausgabesignalen erzeugen. Das wichtigste ist wohl die Lernfähigkeit dieser Systeme, so kann man sie beispielsweise zur Gesichtserkennung nutzen, zum umwandeln von handschriftlichen in 'maschinellen' Text oder aber auch als "Gehirn" für Wesen in einem Spiel. Entgegen einem evolutionären Algorithmus, der sich eher für Optimierungsprobleme eignet, wie etwa Autofahren von A nach B durch eine kurvige Straße, sind Neuronale Netze besonders gut darin, Muster zu erkennen. Natürlich gibt es verschiedene Arten von Neuronalen Netzen, der Grundaufbau bleibt jedoch stets gleich. Es gibt je eine so genannte "Input-Layer", "Hidden-Layer" und eine "Output-Layer".
  
==Von Perzeptronen und künstlichen Neuronen==
+
==Künstliche Neuronen==
Perzeptronen oder auch künstliche Neuronen sind das Modell auf dem neuronale Netze basieren. Sie sind den Synapsen nachempfunden und haben auch eine ähnliche Funktionsweise.  
+
Künstliche Neuronen sind das Modell auf dem Neuronale Netze basieren. Das einfachste neuronale Netz ist eines mit einem einzelnen, künstlichem Neuron als Output-Layer, auch Perzeptron genannt. Sie sind den Synapsen nachempfunden und haben auch eine ähnliche Funktionsweise. Die Hidden-Layer wäre hier leer.
 
+
Wir wollen uns erst einmal anhand eines solchen Neuronalen Netzes die Funktionsweise näher bringen. Nehmen wir an, wir wollen das logische Und umsetzen, wir bekommen also zwei Inputs mit jeweils den Werten Eins oder Null und wollen anhand dessen, sobald beide Inputs den Wert Eins annehmen, Eins als Output ausgeben, ansonsten eben Null. Unser Netz sieht also so aus:
Sie besitzen einen Eingangsvektor, und zu diesem einen Gewichtsvektor. Das Neuron reagiert auf die Eingabesignale und erzeug ein Ausgangssignal.
+
[[Datei:Nn_01.png]]
 
+
Die Berechnung der Ausgabe ist in der Regel das Skalarprodukt des Eingangsvektors mit dem Gewichtsvektor.
+
  
 +
Unser Neuron, hier rot, weil es ja gleichzeitig der Output ist, bekommt einen Vektor, der den Input repräsentiert, macht irgendwas magisches mit diesem Input und gibt uns hoffentlich den richtigen Output. Jeder "Pfeil", jede Linie zu einem anderen künstlichen Neuron in diesen Grafiken, repräsentiert die Verbindung zu dem anderem, dass das andere den Output des letzten erhält. Dieser wird mit einer Gewichtung multipliziert. Der "magische" Prozess des Neurons ist nun, jede Komponente des Eingabevektors auf zu addieren und die Summe all dessen in eine so genannte Aktivierungsfunktion zu stecken. Diese Funktion kann man sich praktisch für jedes Neuron neu aussuchen. In unserem Beispielfall macht z.B. die Vorzeichenfunktion Sinn. Also
 +
<math>f\left(x\right)=\left\{
 +
  \begin{array}{l l}
 +
    -1 & \quad \text{, wenn }x > 0\\
 +
    0 & \quad \text{, wenn }x = 0\\
 +
    +1 & \quad \text{, wenn }x < 0
 +
  \end{array} \right\}
 +
</math>
  
 
==Aufbau Neuronaler Netze==
 
==Aufbau Neuronaler Netze==

Version vom 11. April 2015, 13:09 Uhr

Klicke hier, um diese Version anzusehen.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge