AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht :D
Thema durchsuchen
Ansicht
Themen-Optionen

Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht :D

Ein Thema von Namenloser · begonnen am 18. Sep 2007 · letzter Beitrag vom 15. Jul 2015
 
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#10

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht

  Alt 19. Sep 2007, 15:14
Ganz einfach

Du als Kind möchtest spielen gehen. Deine Eltern möchten das du lernst das entweder

- du nicht spielen darfst
- oder du spielen darfst

im 1. Falle versuchtst du spielen zu gehen und bekommst einen Schlag ins Gesicht, das schmerzt, oder du hälst dich an die Ausgangssperre und bekommst Schokolade, das belohnt.

im 2. Fall versuchst du spielen zu gehen und bekommst ein Stückchen Schokolade, das belohnt, oder du gehst nicht spielen und wirst von deinen Eltern rausgeprügelt, das schmerzt.

So ähnlich werden auch neuronale Netze trainiert. Man legt dem Netz verschiedene Input-Möglichkeiten vor und zu jeder dieser Inputs gleichermaßen den gewünschten Output den wir als Lehrer von ihm erwarten. Das Netzwerk wird nun während des Trainings seine Units langsam so anpassen das die richtigen Outputs erzeugt werden wenn bestimmte Inputs anliegen.

In beiden Fälle passt sich das Netzwerk/Kind also den Gegebenheiten adaptiv an.

Das wird meistens durch Backpropagation erledigt, also quasi das Rückwärts-Korregieren ausgehend von den Outputs über die hidden Units zur Inputschicht. Es ist ein geführtes Lernen, also mit einem Trainer der bestimmt was man wie erlernen soll.
Entscheidend dabei ist das der Lehrer bei kausal zusammenhängenden zu erlernden Sachverhalten diese logische Kausalität nicht mißachtet, sprich sich widersprechende Dinge trainiren möchte, sprich einmal Hü und einmal Hot verlangt zu erlernen.

Das passiert auf im Grunde einfache Weise. Es sieht einen Input und berechnet vorwärts den Output auf Grund der aktuellen Units. Dann wird festgestellt wie weit sich der berechnete Output des Netzes sich vom vorgegebenen Outout des Trainers unterscheidet, man beechnet also einen Fehlerwert. Mit hilfe dieses Fehlerwertes werden nun rückwärts alle Units angepasst. Also ein stark falscher Output, hoher Fehlerwert, führt da zu ds bei der Backpropagation die davorliegenden Units stärker in die Gegenrichtung angepasst werden, bzw. genauergesagt werden die Gewichtungen der Verbindungen zwischen den Units angepasst. Quasi die Nervenstränge wie in unserem Hirn (mal so geagt, auch wenn dieser Vergleich unzulässig ist).

Es gibt aber auch Netzwerke die ganz anders arbeiten, zb. Kohonen & SOM. Diese abstrahieren aus einer Menge von Inputdaten eine Matrix aus Gemeinsamkeiten die sich in allen Inputdaten finden lassen und das ist dann der Output.

Gruß Hagen
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz