Question

Je suis actuellement en utilisant Q-Learning pour essayer d'enseigner un robot comment se déplacer dans une pièce remplie de murs / obstacles. Il doit commencer en tout lieu dans la salle et se rendre à l'état de but (cela pourrait être, à la tuile qui a une porte, par exemple). À l'heure actuelle quand il veut passer à une autre tuile, il ira à cette tuile, mais je pensais que dans l'avenir, je pourrais ajouter une chance au hasard d'aller à une autre tuile, au lieu de cela. Il ne peut se déplacer de haut en bas, à gauche et à droite. Atteindre l'état objectif des rendements +100 et le reste des actions donnera 0.

J'utilise l'algorithme trouvé , qui peut être vu dans le image ci-dessous.

text alt text alt

Maintenant, en ce qui concerne, j'ai quelques questions:

  1. Lorsque vous utilisez Q-Learning, un peu comme Les réseaux de neurones, je dois faire distinction entre une phase d'apprentissage et une phase à l'aide? Je veux dire, il semble que ce qu'ils apparaissent sur la première l'image est un et l'apprentissage dans la seconde image une en utilisant un.
  2. J'ai lu quelque part que ça prendrait une nombre infini de marches pour arriver à le tableau des valeurs optimum Q. Est-ce vrai? Je dirais que ce n'est pas vrai, mais je doit manquer quelque chose ici.
  3. Je l'ai également entendu parler de TD (Temporal Les différences), ce qui semble être représenté par la expression:

    Q(a, s) = Q(a, s) * alpha * [R(a, s) + gamma * Max { Q(a', s' } - Q(a, s)]
    

    pour lequel alpha = 1, il suffit de le semble une première représenté dans l'image. Quoi la différence est-ce que gamma faire, ici?

  4. J'ai couru dans certaines complications si J'essaie une très grande chambre (300x200 pixels, par exemple). Comme ca fonctionne essentiellement au hasard, si le chambre est très grande alors il faudra un beaucoup de temps pour aller au hasard de la premier état à l'état de but. Quoi méthodes puis-je utiliser pour l'accélérer? je pensée peut-être avoir une table remplie avec trues et faux, en ce qui concerne tout ce que j'ai dans cet épisode déjà dans cet état ou non. Si oui, je les détruisons, sinon, je serais Va là-bas. Si je l'avais déjà été tous ces états, alors j'iriez une un hasard. De cette façon, ce serait juste comme ce que je fais maintenant, sachant que je répète moins souvent un états que je fais actuellement.
  5. Je voudrais essayer autre chose que ma table de recherche pour Q-valeurs, donc je a été pensée à l'aide Neural Réseaux avec rétropropagation pour cette. Je vais probablement essayer d'avoir un Neural Network pour chaque action (haut, bas, gauche, droite), comme il semble que c'est ce qui donne de meilleurs résultats. Sont là d'autres méthodes (SVM outre, que semblent trop difficiles à mettre en œuvre moi-même) que je pouvais utiliser et que tu me ustensile donner bonne Q-valeurs approximation de la fonction?
  6. Pensez-vous que les algorithmes génétiques donnerait de bons résultats dans ce la situation, en utilisant la matrice Q-Valeurs comme base pour cela? Comment pourrais-je tester ma fonction de remise en forme? Il me donne l'impression que GA sont généralement utilisés pour des choses de manière plus aléatoire / complexe. Si nous regardons attentivement, nous remarquerons que les valeurs de Q suivent une tendance claire - ayant les valeurs plus élevées de Q près de l'objectif et inférieurs le plus loin, vous êtes d'eux. Va essayer de parvenir à cette conclusion par GA serait probablement prendre trop de temps?
Était-ce utile?

La solution

Je ne suis pas un expert sur le sujet, mais je vais essayer de répondre à directement à vos nombreuses questions
[BTW, je devrais obtenir reps multi + pour chaque question! ... Je plaisante, si j'étais « pour les représentants SO », je rester à l'écart de l'affichage qui obtenir un grand total de 20 vues avec la moitié de ces les visiteurs ayant une idée approximative des concepts à la main]

1) Q-apprentissage d'une chose en deux phases? Oui, Q-Learning implique deux phases, une phase d'apprentissage et une phase d'action. Comme pour de nombreux algorithmes d'apprentissage automatique, il est possible de « continuer à apprendre », tandis que dans la phase d'action.

2) nombre infini d'étapes pour une matrice optimale G? Je ne sais pas si la déclaration exigeant un nombre infini de cycles d'apprentissage pour apprendre une matrice optimale Q. Pour être sûr (et à moins que les facteurs alpha et gamma sont incorrectes), l'algorithme converge, si seulement à un rythme très lent peut-être. Cela me demande de sauter et de commenter votre idée d'un espace de jeu 300x200, et bien ... OUI !, pour un tel espace, un donné le modèle de récompense, il faudra ce qui semble à l'infini pour obtenir une table Q « optimale » . Maintenant, il peut être possible que mathématiquement l'algorithme n'a jamais atteint la Nivarna optimale, mais des solutions pratiques, en travaillant sur l'asymptote est juste assez bon.

3) Rôle de gamma dans le modèle TD Cela indique l'importance de différer des récompenses, sur un chemin (ici avec votre modèle, littéralement), vers des récompenses plus élevées. Cela empêche généralement l'algorithme de rester coincé dans maximas locaux de l'espace de solution, au prix de rendre l'apprentissage encore plus lent ...

4) Suggestions pour aider à l'apprentissage d'un grand labyrinthe Au risque de trahir la nature de Q-Learning, vous pouvez commencer le robot à des distances de plus en plus plus de l'objectif. Cela l'aidera à améliorer la Q matrice dans la zone des Etats qui entourent l'objectif premier, en tirant parti alors cette matrice Q partiellement appris que l'état initial pris, au hasard, dans un rayon de plus en plus de l'objectif.

Une autre, plus risqué, approche (et en fait qui peut en outre démentir la vraie nature de Q-Learning), serait de changer la R matrice pour fournir des récompenses de plus en plus élevés, à PLACÉ aléatoire situé à une distance décroissante de l'objectif. L'inconvénient de cette approche est qu'il peut offrir des possibilités de nombreux maximas locaux dans l'espace de solution, où l'algorithme peut se bloquer si le taux d'apprentissage et d'autres facteurs ne sont pas correctement peaufinés.

Ces deux approches, en particulier celle-ci peut être interprété comme votre (le concepteur) « câblage » dans une solution. D'autres diront que cela est simplement comme moyen d'introduire un tiret de DP dans le mélange ...

5) réseau neuronal (NN) 6) algorithme génétique (GA) Pas d'opinion sur l'ajout ou NN GA dans le mélange.
J'ai probablement fait assez d'un fou de moi-même avec une partie de la déclaration moins que mathématiquement précise ci-dessus. ; -)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top