Une brève description des algorithmes liés aux acteurs critiques

Cet article présente brièvement les algorithmes pertinents basés sur l'acteur-critique dans l'apprentissage par renforcement profond (apprentissage par renforcement profond) en triant le contenu du tutoriel d'apprentissage automatique de l'enseignant Li Hongyi.

Le lien station B du cours de Li Hongyi :
Li Hongyi, apprentissage par renforcement profond, acteur-critique

Notes connexes :
Une brève description de l'algorithme de gradient de politique Une brève description de
l'algorithme d'optimisation de politique proximale Une brève description de
l'algorithme DQN (deep Q-network)


avantage asynchrone acteur-critique(A3C)


Références :
Volodymtr Mnih, Adria Puigdomenech Badia, Mehdi Mirza, Alex Graves, Timothy P. Lillicrap, Tim Harley, David Silver, Koray Kavukcuoglu, "Méthodes asynchrones pour l'apprentissage par renforcement en profondeur", ICML

Parmi les algorithmes associés basés sur l'acteur-critique, la méthode la plus connue est l'acteur-critique à avantage asynchrone, ou A3C en abrégé.
Si vous supprimez asynchrone (asynchrone), c'est un avantage acteur-critique, c'est-à-dire A2C.

▽ R ˉ θ ≈ 1 N ∑ n = 1 N ∑ t = 1 T n ( ∑ t ′ = t T n γ t ′ − trt ′ n − b ) ▽ ln ⁡ p θ ( atn
∣ stn ) \triangledown \bar R_{\theta} \approx \frac{1}{N} \sum_{n=1}^{N} \sum_{t=1}^{T_n} (\sum_{t^ {\prime}=t}^{T_n} \gamma^{t^{\prime} - t} r_{t^{\prime}}^n - b) \triangledown \ln p_\theta(a^n_t | s^n_t)RˉjeN1n = 1Nt = 1Jn(t =tJnct -trtnb ) danspje( untnstn)

Enregistrez l'incitatif cumulatif comme GGG
G tn = ∑ t ′ = t T n γ t ′ − trt ′ n G^n_t = \sum_{t^{\prime}=t}^{T_n} \gamma^{t^{\prime} - t} r_{t^{\prime}}^ngtn=t =tJnct -trtn

Cependant, en raison du caractère aléatoire du processus d'interaction lui-même, l'incitation cumulative peut être très instable, et le nombre d'échantillons avant chaque mise à jour des paramètres ne peut pas être élevé, et des problèmes peuvent survenir :

G, instable

Pensez donc à utiliser des incitations cumulatives pour GGLa valeur attendue de G est utilisée à la place de la valeur échantillonnée, et la méthode pour obtenir la valeur attendue est une méthode basée sur la valeur, à savoir DQN.

DQN a deux types de critiques, à savoir la fonction de valeur d'état (fonction de valeur d'état) V π ( s ) V^\pi(s)Vπ (s)et la fonction état-action valeur (fonction état-action valeur)Q π ( s , a ) Q^\pi(s, a)Qπ (s,a )
DQN, critiques

Parmi eux, l'approche basée sur Monte-Carlo (MC) et l'approche par différence temporelle (TD) peuvent être utilisées pour l'estimation. La différence temporelle est relativement stable et Monte Carlo est plus précis.

En fait, l'incitation cumulative GGLa valeur attendue de G estQQQ即:
E [ G tn ] = Q π θ ( stn , atn ) E[G^n_t] = Q^{\pi_\theta}(s^n_t, a^n_t)E [ Gtn]=QPije( stn,untn)

En ce qui concerne la ligne de base, une pratique courante consiste à utiliser la fonction état-valeur V π θ ( stn ) V^{\pi_\theta}(s^n_t)VPije( stn) pour représenter, c'est-à-dire :
G et ligne de base

L'inconvénient de la méthode ci-dessus est qu'il est nécessaire d'estimer le QQQ etVVV deux réseaux, le risque d'estimations inexactes est doublé. En fait, on ne peut estimer qu'un seul réseau,VVRéseau V , avec VVLa valeur de V pour représenterle QQLa valeur de Q. Puisque :
Q π ( stn , atn ) = E [ rtn + V π ( st + 1 n ) ] Q^{\pi}(s^n_t, a^n_t) = E[r^n_t + V^\pi( s^n_{t+1})]Qπ (stn,untn)=E [ rtn+Vπ (sj + 1n) ]

Supprimez l'attente et utilisez VV directementV signifieQQQ
Q π ( stn , atn ) = rtn + V π ( st + 1 n ) Q^{\pi}(s^n_t, a^n_t) = r^n_t + V^\pi(s^n_{t +1})Qπ (stn,untn)=rtn+Vπ (sj + 1n)

Obtenez ensuite l'expression de la fonction d'avantage (avantage):
rtn + V π ( st + 1 n ) − V π ( stn ) r^n_t + V^\pi(s^n_{t+1}) - V^\pi (s^n_t)rtn+Vπ (sj + 1n)Vπ (stn)

stratégie de mise à jour π \piDonnez les valeurs π comme suit :
▽ R ˉ θ ≈ 1 N ∑ n = 1 N ∑ t = 1 T n ( rtn + V π ( st + 1 n ) − V π ( stn ) ) ▽ ln ⁡ p θ ( . atn ∣ stn ) \triangledown \bar R_{\theta} \approx \frac{1}{N}\sum_{n=1}^{N}\sum_{t=1}^{T_n}(r^n_t+ V^\pi(s^n_{t+1}) - V^\pi(s^n_t)) \triangledown \ln p_\theta(a^n_t | s^n_t);RˉjeN1n = 1Nt = 1Jn( rtn+Vπ (sj + 1n)Vπ (stn) ) danspje( untnstn)

Quant à la raison de la suppression de la valeur attendue, c'est le résultat de l'article original de l'A3C essayant diverses méthodes de comparaison expérimentale.

Le processus global est le suivant :
organigramme

Dans la méthode du gradient de stratégie, après avoir collecté les données, il est nécessaire de mettre à jour la stratégie ;
mais dans la méthode acteur-critique, au lieu d'utiliser directement ces données pour mettre à jour la stratégie, utilisez d'abord ces données pour estimer la fonction de valeur VVV (la méthode basée sur Monte Carlo ou la méthode basée sur la différence de séries temporelles peut être utilisée), puis en fonction de la fonction de valeur, utilisez la formule ci-dessus pour mettre à jour la stratégie π \pip .

Il y a deux astuces ici.

Tout d'abord, lors de la mise en œuvre de l'acteur critique, nous devons estimer deux réseaux, VVLe réseau de fonctions V et le réseau de politiquesπ \piπ . Puisque l'entrée de ces deux réseaux est l'étatsss , afin que les premières couches puissent être partagées, en particulier pour les jeux où l'entrée est une image :

astuce 1

Deuxièmement, nous avons besoin d'un mécanisme d'exploration. Une approche courante consiste à adopter la politique π \piLa sortie de π est une contrainte pour que l'entropie de la distribution de sortie ne soit pas trop petite, c'est-à-dire que la probabilité d'explorer différentes actions devrait être moyenne. De cette façon, vous pouvez essayer diverses actions et mieux explorer l'environnement.

L'algorithme ci-dessus est l'avantage acteur-critique (A2C), et enfin expliquer ce qui est asynchrone (asynchrone).

Comme le montre la figure ci-dessous, chaque acteur s'exécute en parallèle, c'est-à-dire que "chacun fait sa propre chose, indépendamment de l'autre". Lorsqu'un processus se termine et se prépare à renvoyer des paramètres, les paramètres d'origine peuvent avoir été écrasés par d'autres acteurs, mais le Cela n'a pas d'importance, il suffit de mettre à jour directement, ce qui est "asynchrone". (Remarque : △ θ \triangle \theta
dans la figureθ devrait être▽ θ \triangledown \thetaθ
insérez la description de l'image ici


gradient de politique dérivée par voie


参考文献:
David Silver, Guy Lever, Nicolas Heess, Thomas Degris, Daan Wierstra, Martin Riedmiller, « Algorithmes de gradient de politique déterministe », ICML 2014 Timothy P.
Lillicrap, Jonathan J. Hunt, Alexander Pritzel, Nocolas Heess, Tom Erez, Yuval Tassa, David Silver, Daan Wierstra, "Contrôle continu avec apprentissage par renforcement approfondi", ICLR 2016

Ensuite, l'algorithme de gradient de politique dérivée par chemin est introduit. L'idée de cet algorithme est que le critique non seulement évalue la qualité de l'action, mais indique également à l'acteur quelle action est bonne, à savoir :
arg ⁡ max ⁡ a Q π ( s , a ) \arg \max_a Q^ \pi(s, une )ar gunmaximumQπ (s,un )

Mais s'il s'agit d'une scène d'action continue, il sera plus difficile de résoudre le problème d'optimisation ci-dessus, vous pouvez donc apprendre un autre réseau pour résoudre ce problème d'optimisation (analogue au GAN) :

gradient de politique dérivée par voie, réseau

Le flux de l'algorithme est, d'abord utiliser une stratégie π \piπ interagit avec l'environnement, estimantQQFonction Q , puis fixezQQQ , puis apprendre la stratégieπ \piπ , obtenir un meilleur acteur, et ainsi de suite, comme le montre la figure ci-dessous :

gradient de politique dérivée par voie, organigramme

Similaire au vrai QQ dans le réseau cibleRéseau Q et QQcibleréseau Q (voir section DQN), il y a aussi deux acteurs dans cet algorithme, c'est-à-dire le réelπ \piπ et cibleπ ^ \hat \piPi^ .
De plus, les techniques mentionnées précédemment, telles que le tampon de relecture et l'exploration, etc. peuvent être utilisées.

Le processus spécifique est le suivant (par rapport au DQN d'origine) :

gradient de politique dérivée pathwise, processus spécifique


La relation entre acteur-critique et GAN


Actor-critic est très similaire à GAN. Pour plus de détails, veuillez vous référer à l'article :
David Pfau, Oriol Vinyals, "Connecting Generative Adversarial Networks and Actor-Critic Methods", arXiv preprint 2016

Les deux sont connus pour être difficiles à former, donc l'article rassemble diverses méthodes sur la façon de former GAN. Et parce qu'il y a deux groupes de personnes qui font du GAN et de la critique d'acteur, l'article répertorie les méthodes des deux algorithmes qui ont été essayées, comme le montre la figure ci-dessous :

acteur-critique & GAN

Je suppose que tu aimes

Origine blog.csdn.net/Zhang_0702_China/article/details/123501178
conseillé
Classement