KI: Deep Q Learning - Methoden Überlauf Fehler zu umgehen
Verfasst: Donnerstag 24. September 2020, 12:25
Hallo liebe Community,
ich befasse mich schon einige Zeit mit Neuronalen Netzwerken bzw. generell, wie künstliche Intelligenz arbeitet und programmiert wird.
Zur Zeit bin ich an einem Projekt dran, wo ich mit Double Deep Q Learning das Neuronale Netz trainieren möchte. (bedeutet einfach, die KI zeigt nach dem ersten Durchlaufen 19 verschiedene Q-Werte, wo der Maximalwert dann die Auswahl der Aktion ist, und schaut beim zweiten Durchlaufen mit dem daraufliegenden Status und den bisherigen Gewichten nach den Maximalwert, der theoretisch nach der Aktion erreicht werden kann).
Das Trainieren funktioniert selbst sehr gut - also der "Error" reduziert sich mit jedem Durchlaufen. Allerdings bekomme ich beim 3 Durchlauf, um die Gewichte anzupassen, ein Overflow Problem. Nach eigenen Forschungen liegt die Ursache bei der Loss Funktion, die letztendlich die Delta-Werte ermittelt, um die Gewichte anzupassen. In der Loss Funktion wird von einem hohen zu erwartenden Q-Wert ein kleiner Q-Wert vom ersten Durchlaufen abgezogen. Dieser Abstand wird in die Delta Funktion übernommen und somit werden die Gewichte in ähnlich großen Abstand korrigiert - aber das sorgt für den Überlauf.
Wie löst man dieses Phänomen?
Ein paar Ansätze konnte ich dazu finden, aber ich bin irgendwie gerade zu blöd, die Systematik dazu zu verstehen. Hier meine Quellen:
https://stackoverflow.com/questions/231 ... ementation
https://www.researchgate.net/publicatio ... l_networks
Das sieht am interessantesten aus, kann ich aber nicht ganz nachvollziehen:
https://machinelearningmastery.com/how- ... -clipping/
Ich hoffe, dass mir nun jemand bei dem Thema weiterhelfen kann.
ich befasse mich schon einige Zeit mit Neuronalen Netzwerken bzw. generell, wie künstliche Intelligenz arbeitet und programmiert wird.
Zur Zeit bin ich an einem Projekt dran, wo ich mit Double Deep Q Learning das Neuronale Netz trainieren möchte. (bedeutet einfach, die KI zeigt nach dem ersten Durchlaufen 19 verschiedene Q-Werte, wo der Maximalwert dann die Auswahl der Aktion ist, und schaut beim zweiten Durchlaufen mit dem daraufliegenden Status und den bisherigen Gewichten nach den Maximalwert, der theoretisch nach der Aktion erreicht werden kann).
Das Trainieren funktioniert selbst sehr gut - also der "Error" reduziert sich mit jedem Durchlaufen. Allerdings bekomme ich beim 3 Durchlauf, um die Gewichte anzupassen, ein Overflow Problem. Nach eigenen Forschungen liegt die Ursache bei der Loss Funktion, die letztendlich die Delta-Werte ermittelt, um die Gewichte anzupassen. In der Loss Funktion wird von einem hohen zu erwartenden Q-Wert ein kleiner Q-Wert vom ersten Durchlaufen abgezogen. Dieser Abstand wird in die Delta Funktion übernommen und somit werden die Gewichte in ähnlich großen Abstand korrigiert - aber das sorgt für den Überlauf.
Wie löst man dieses Phänomen?
Ein paar Ansätze konnte ich dazu finden, aber ich bin irgendwie gerade zu blöd, die Systematik dazu zu verstehen. Hier meine Quellen:
https://stackoverflow.com/questions/231 ... ementation
https://www.researchgate.net/publicatio ... l_networks
Das sieht am interessantesten aus, kann ich aber nicht ganz nachvollziehen:
https://machinelearningmastery.com/how- ... -clipping/
Ich hoffe, dass mir nun jemand bei dem Thema weiterhelfen kann.