17.11.2014 Views

Apprentissage par renforcement - Institut des Systèmes Intelligents ...

Apprentissage par renforcement - Institut des Systèmes Intelligents ...

Apprentissage par renforcement - Institut des Systèmes Intelligents ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

16 Processus décisionnels de Markov en IA 1<br />

que l’algorithme SARSA effectue les mises à jour en fonction <strong>des</strong> actions choisies effectivement<br />

alors que l’algorithme Q-learning effectue les mises à jour en fonction <strong>des</strong><br />

actions optimales mêmes si ce ne sont pas ces actions optimales que l’agent réalise,<br />

ce qui est plus simple.<br />

Cette simplicité a fait la réputation de l’algorithme Q-learning. Il s’agit sans doute<br />

de l’algorithme d’apprentissage <strong>par</strong> <strong>renforcement</strong> le plus connu et le plus utilisé en raison<br />

<strong>des</strong> preuves formelles de convergence qui ont accompagné sa publication<br />

[WAT 92].<br />

Algorithme 1.1 : Le Q-learning<br />

/* α n est un taux d'apprentissage */<br />

Initialiser(Q 0 )<br />

pour n ← 0 jusqu’à N tot − 1 faire<br />

s n ← ChoixEtat<br />

a n ← ChoixAction<br />

(s ′ n, r n ) ← Simuler(s n , a n )<br />

{ mise à jour de Q n :}<br />

début<br />

Q n+1 ← Q n<br />

δ n ← r n + γ max b Q n (s ′ n, b) − Q n (s n , a n )<br />

Q n+1 (s n , a n ) ← Q n (s n , a n ) + α n (s n , a n )δ n<br />

fin<br />

retourner Q Ntot<br />

Le principe de l’algorithme Q-learning, défini formellement <strong>par</strong> l’algorithme 1.1,<br />

est de mettre à jour itérativement, à la suite de chaque transition (s n , a n , s n+1 , r n ),<br />

la fonction de valeur courante Q n pour le couple (s n , a n ), où s n représente l’état<br />

courant, a n l’action sélectionnée et réalisée, s ′ n l’état résultant et r n la récompense<br />

immédiate. Cette mise à jour se fait sur la base de l’observation <strong>des</strong> transitions instantanées<br />

et de leur récompense associée.<br />

Dans cet algorithme, N tot est un <strong>par</strong>amètre initial fixant le nombre d’itérations.<br />

Le taux d’apprentissage α n (s, a) est propre à chaque couple (s, a), et décroît vers 0 à<br />

chaque passage. La fonction Simuler retourne un nouvel état et la récompense associée<br />

selon la dynamique du système. Le choix de l’état courant et de l’action à exécuter<br />

est effectué <strong>par</strong> les fonctions ChoixEtat et ChoixAction et sera discuté plus loin.<br />

La fonction Initialiser revient la plu<strong>par</strong>t du temps à initialiser les composantes de<br />

Q 0 à 0, mais il existe <strong>des</strong> initialisations plus efficaces.<br />

Il est immédiat d’observer que l’algorithme Q-learning est une formulation stochastique<br />

de l’algorithme de value iteration vu au chapitre précédent pour les MDP.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!