Sie haben es richtig gemacht, die V Funktion gibt Ihnen den Wert eines Zustands und Q gibt Ihnen den Wert einer Aktion in einem Zustand (gemäß einer gegebenen Richtlinie π ). Die klarste Erklärung für Q-Learning und seine Funktionsweise fand ich in Tom Mitchells Buch "Machine Learning" (1997), Kap. 13, die heruntergeladen werden kann. V ist definiert als die Summe einer unendlichen Reihe, aber es ist hier nicht wichtig. Was zählt, ist das Q Funktion definiert als
Q(s,a)=r(s,a)+γV∗(δ(s,a))
,
wobei V * ist der beste Wert eines Staateswenn Sie eine optimale Politik folgen könntendie Sie nicht kennen. Doch es eine schöne Charakterisierung hinsichtlich hatQ
V∗(s)=maxa′Q(s,a′)
ComputingQ durchErsetzen der getan wirdV∗in der ersten Gleichung ergibt sich
Q(s,a)=r(s,a)+γmaxa′Q(δ(s,a),a′)
Dies mag zunächst als merkwürdige Rekursion erscheinen, da sie den Q-Wert einer Aktion im aktuellen Status als den besten Q-Wert eines Nachfolgezustands ausdrückt , aber es ist sinnvoll, wenn Sie sich ansehen, wie der Sicherungsprozess ihn verwendet: Die Erkundung Der Prozess stoppt, wenn er einen Zielstatus erreicht und die Belohnung sammelt, die zum Q-Wert des endgültigen Übergangs wird. Wenn nun in einer nachfolgenden Trainingsepisode der Erkundungsprozess diesen Vorgängerstatus erreicht, verwendet der Sicherungsprozess die obige Gleichheit, um den aktuellen Q-Wert des Vorgängerstatus zu aktualisieren. Das nächste Mal seineDer Vorgänger wird daraufhin besucht, dass der Q-Wert des Status aktualisiert wird, und so weiter. (Mitchells Buch beschreibt eine effizientere Methode, indem alle Berechnungen gespeichert und später wiedergegeben werden.) Vorausgesetzt, jeder Zustand wird unendlich oft besucht, berechnet dieser Prozess schließlich das optimale Q
Manchmal wird eine Lernrate α angewendet, um zu steuern, wie viel Q tatsächlich aktualisiert wird:
Q(s,a)=(1−α)Q(s,a)+α(r(s,a)+γmaxa′Q(s′,a′))
=Q(s,a)+α(r(s,a)+γmaxa′Q(s′,a′)−Q(s,a))
Hinweis jetztdass das Update auf den QWertnichtauf dem aktuellen QWert ab. In Mitchells Buch wird auch erklärt, warum dies so ist und warum Sieα benötigen: es ist für stochastische MDPs. Ohneα jedes Mal, wenn ein Zustand-Aktionspaar versucht wurde, eine andere Belohnung geben, so dass die Q ^ -Funktion überall abprallt und nicht konvergiert. αist da so, dass da das neue wissen nur zum teil akzeptiert wird. Anfänglich wird α hoch eingestellt, damit die aktuellen (meist zufälligen) Werte von Q weniger einflussreich sind. α wird mit fortschreitendem Training verringert, so dass neue Aktualisierungen immer weniger Einfluss haben und das Q-Lernen jetzt konvergiert