Cette fois, j'aimerais explorer le labyrinthe en utilisant l'apprentissage par renforcement, en particulier l'apprentissage Q.
En termes simples, une valeur appelée valeur Q est conservée pour chaque paire d '«état» et de «comportement», et la valeur Q est mise à jour en utilisant «récompense» ou autre. Les actions qui sont plus susceptibles d'obtenir une récompense positive convergeront vers une valeur Q. Dans le labyrinthe, la masse du passage correspond à l'état, et le déplacement vers le haut, le bas, la gauche et la droite correspond à l'action. En d'autres termes, la valeur Q doit être stockée dans la mémoire pour le nombre de cellules dans le passage * le nombre de modèles d'action (4 pour haut, bas, gauche et droite). Par conséquent, il ne peut pas être facilement adapté lorsqu'il existe de nombreuses paires d '"état" et d' "action", c'est-à-dire lorsque l'espace d'état et d'action explose.
Cette fois, nous traiterons le problème que le nombre de carrés dans le passage est de 60 et le nombre d'actions qui peuvent être effectuées est de quatre valeurs de 240 Q, haut, bas, gauche et droite.
Initialement, toutes les valeurs Q sont initialisées à 0. La valeur Q est mise à jour à chaque fois que l'action $ a $ est effectuée dans l'état $ s_t $.
Cette fois, nous utiliserons ε-gourmand. Sélectionnez une action aléatoire avec une faible probabilité de ε, et sélectionnez une action avec la valeur Q maximale avec une probabilité de 1-ε.
Le code a été téléchargé sur Github. Faites-le en tant que python map.py
. Je l'ai écrit il y a environ deux ans, mais c'est assez terrible.
L'environnement expérimental est comme le montre l'image ci-dessous: le carré bleu clair en bas à droite est le but, le carré supérieur gauche est le début et les quatre coins bleus sont les agents d'apprentissage. Lorsque vous atteignez l'objectif, vous recevrez une récompense positive. De plus, la partie noire est le mur et l'agent ne peut pas entrer. L'agent n'a donc pas d'autre choix que de passer par le passage blanc. La valeur Q de chaque cellule est initialisée à 0, mais lorsque la valeur Q devient supérieure à 0, la plus grande valeur Q des quatre valeurs Q de cette cellule est la nuance de couleur et l'action est affichée par une flèche. C'est un mécanisme.
Les résultats expérimentaux sont publiés sur youtube. Vous pouvez voir que la valeur Q est propagée lorsque l'agent atteint l'objectif.
Je veux essayer Q learning + neural net
Recommended Posts