Le réseau neuronal d'entraînement au code de Karpathy pour jouer à Pong en utilisant des gradients de politique


ixombi

Je regarde Andrej Karpathy "Former un agent ATARI Pong de réseau neuronal avec des gradients de politique à partir de pixels bruts" https://gist.github.com/karpathy/a4166c7fe253700972fcbc77e4ea32c5 . Je ne suis pas une personne Python donc j'essaie d'écrire ce code dans Matlab. J'ai 2 questions.

Question 1 : J'ai remarqué que xs, hs, dlogps, et drssont initialisés à [],[],[],[](ligne 67) et remis à [],[],[],[]après chaque épisode (ligne 103). Mais epx, eph, epdlogp, et eprne sont ni initialisés ni réinitialisés. Ils semblent continuer à croître pour toujours (lignes 99-102). Ai-je raison? Je ne connais pas les nuances de np.vstack.

Question 2 : si j'avais un jeu avec des options de déplacement des joueurs vers le haut, le bas, la droite et la gauche, comment aurais-je besoin de modifier ce code pour le faire fonctionner (à part la modification évidente de 4 nœuds dans la couche de sortie) ?

Merci.

nékomatique

Je pense que vous imaginez des nuances numpy.vstackqu'il n'a pas . Lignes 99-102 du code que vous avez lié pour affecter le résultat de la vstack fonction aux variables concernées. Toutes les valeurs précédentes de ces variables seront remplacées.

epx = np.vstack(xs)
eph = np.vstack(hs)
epdlogp = np.vstack(dlogps)
epr = np.vstack(drs)

Pour la deuxième partie de votre question, je pense que vous devez essayer quelque chose et poser une nouvelle question en montrant ce que vous avez essayé si cela ne fonctionne pas.

Articles connexes