4

J'utilise une approche d'apprentissage par renforcement à base d'un seul agent basée sur un modèle pour le vol autonome.Généralisation de la politique pour l'algorithme d'apprentissage par renforcement à base de modèle avec des espaces d'état et d'action étendus

Dans ce projet, j'ai utilisé un simulateur pour collecter des données d'entraînement (état, action, état final) afin qu'un algorithme Locally Weighted Linear Regression puisse apprendre le MODEL.

Le STATE est défini par un vecteur: [Pitch , Yaw , Roll , Acceleration] pour définir la position du drone dans l'espace. Administré au POLICY Il a une autre caractéristique [WantedTrajectory]

Le ACTION est défini par un vecteur aussi: [PowerOfMotor1 , PowerOfMotor2 , PowerOfMotor3 , PowerOfMotor4]

Le REWARD est calculé en fonction de la précision de la trajectoire prise: étant donné un départ état spacial, un trajectoire voulue et l'état spatial de fin, plus la trajectoire effectivement prise à celle voulue est étroite, moins la récompense est négative.

L'algorithme de policy iteration est le suivant:

start from a state S0 

loop  

     1) select the best action according to the Policy 

     2) use LWLR to find the ending state 

     3) calculate reward 

     4) update generalized V function 



endloop; 

De cette façon, les mesures prises dépend aussi de la trajectoire voulu (choosed par l'utilisateur), l'agent de choisir de manière autonome la puissance des 4 moteurs (Essayer de prendre la trajectoire voulue et avoir une récompense plus grande, moins négative) et la politique est dynamique puisqu'elle dépend de la fonction de valeur qui est mise à jour.

Le seul problème est que le choix du POLICY comme suit (S = pas, lacet, roulis, accélération, WantedTrajectory):

π(S) = argmax_a (V(LWLR(S,a))) 

(donc entre toutes les actions celui qui de cet état conduira la agent dans l'état avec la plus grande valeur) coûte beaucoup en termes de calcul puisque l'espace d'action est très grand.

Existe-t-il un moyen de généraliser un POLOCY en fonction d'une FONCTION VALUE déjà généralisée?

+0

Pourquoi utilisez-vous pas discrétisation d'action? et l'approximation de la fonction pour les états serait bien. – NKN

Répondre

0

Je pense que les méthodes d'acteur-critique utilisant un gradient de politique vous seront utiles.

Dans ce cas, vous utilisez une politique parémétralisée qui est ajustée en fonction d'une fonction d'objet basée sur votre fonction de valeur. Il y a quelques autres améliorations telles que l'utilisation des fonctions d'avantage, etc.

David Silver fait une belle vidéo que vous trouverez peut-être utile:

https://www.youtube.com/watch?v=KHZVXao4qXs&index=7&list=PL5X3mDkKaJrL42i_jhE4N-p6E2Ol62Ofa