TD(lambda) Gradient berechnen [neuronale netze] |
20.10.2010, 14:58 | ACB | Auf diesen Beitrag antworten » |
TD(lambda) Gradient berechnen [neuronale netze] Ich hab mich in letzter Zeit ein wenig mehr mit Neuronalen Netzen und dabei insbesondere mit Time Differenced Learning auseinandergesetzt leider bin ich dabei auf eine Formel gestoßen die ich auch nach mehreren Wochen googlen nicht vollständing lösen konnte. Es geht dabei um den TD(lambda) auch bekannt als TD-Leaf Allgorithmus, der verwendet wird um die Gewichte des KNN anzupassen. http://www.research.ibm.com/massive/tdl-eq1.gif Der Allgorithmus und einige erleuterungen dazu sind hier zu finden: http://www.research.ibm.com/massive/tdl.html http://www.aussagekraft.de/files/Studien...Frommberger.pdf http://www.informatik.uni-ulm.de/ni/Lehr...eitungen/Li.pdf Das Problem ist der Teil ab dem Nabala (umgedrehtes Delta) Operator. Ich hab nämlich absolut keinen Plan wie ich einen Gradienten berechne und hab mit Google auch nichts passendes dazu gefunden. Meine Ideen: w ist der Vektor aus den ganzen Gewichten des Netzes und ist entsprechend groß ( ungefähr 10k Dimensionen) Yk is der Ouput des KNN also die Chance auf Sieg/Unentschieden/Niederlage Die Formel versteh ich bis jetz so: Die Differenz des Gewichts Vektors W tum Zeitpunkt t+1 und des Gewichtsvektors W zum Zeitpunkt t is gleich die Lernrate mal die Differenz der Berechneten WKeit zum Zeitpunkt t+1 und zum Zeitpunkt t mal die Summe von k=1 bis t des Produkts von Lambda (Zeitliche Gewichtung) Potenziert mit der differenz von t und k (also wie weit in der vergangenheit) mal den Gradient der Berechneten Wkeit zum Zeitpunkt k / den Gewichtsvektor. Das dann halt einmal für alle möglichen ausgaben des Netzes und am ende addieren. Wie gesagt weiß ich allerdins weiß ich nicht wie ich den Teil ab "Gradient" berechne. |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|