Lors de la conception de solutions à des problèmes tels que l' atterrissage lunaire sur OpenAIGym , l'apprentissage par renforcement est un moyen tentant de donner à l'agent un contrôle d'action adéquat pour réussir son atterrissage.
Mais dans quels cas les algorithmes des systèmes de contrôle, tels que les contrôleurs PID , feraient-ils un travail adéquat, sinon meilleur, que l'apprentissage par renforcement?
Des questions comme celle-ci font un excellent travail pour aborder la théorie de cette question, mais ne font pas grand-chose pour aborder la composante pratique.
En tant qu'ingénieur en intelligence artificielle, quels éléments d'un domaine problématique devraient me suggérer qu'un contrôleur PID est insuffisant pour résoudre un problème, et qu'un algorithme d'apprentissage par renforcement devrait plutôt être utilisé (ou vice versa)?
la source
Réponses:
Je pense que les commentaires sont essentiellement sur la bonne voie.
Les contrôleurs PID sont utiles pour trouver des politiques optimales dans des systèmes dynamiques continus, et souvent ces domaines sont également utilisés comme références pour RL, précisément parce qu'il existe une politique optimale facilement dérivée. Cependant, dans la pratique, vous préféreriez évidemment un contrôleur PID pour tout domaine dans lequel vous pouvez facilement en concevoir un: les comportements du contrôleur sont bien compris, tandis que les solutions RL sont souvent difficiles à interpréter.
Où RL brille dans des tâches où nous savons à quoi ressemble un bon comportement (c.-à-d., Nous connaissons la fonction de récompense), et nous savons à quoi ressemblent les entrées de capteur (c.-à-d. Nous pouvons décrire complètement et précisément un état donné numériquement), mais nous avons peu ou aucune idée de ce que nous voulons réellement que l'agent fasse pour obtenir ces récompenses.
Voici un bon exemple:
Si je voulais qu'un agent manoeuvre un avion devant un avion ennemi avec des schémas de mouvement connus derrière lui, en utilisant le moins de carburant, je préférerais de loin utiliser un contrôleur PID .
Si je voulais faire un agent pour contrôler un avion et abattre un avion ennemi avec suffisamment de carburant pour atterrir, mais sans une description formelle de la façon dont l'avion ennemi pourrait attaquer (peut-être qu'un expert humain le pilotera dans des simulations contre notre agent) , Je préfère de beaucoup RL .
la source