Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Qu'est-ce que la Programmation Dynamique ? | Programmation Dynamique
Introduction à l'Apprentissage par Renforcement
course content

Contenu du cours

Introduction à l'Apprentissage par Renforcement

Introduction à l'Apprentissage par Renforcement

1. Théorie Fondamentale de l'Apprentissage par Renforcement
2. Problème du Bandit Manchot
3. Programmation Dynamique
4. Méthodes de Monte Carlo
5. Apprentissage par Différence Temporelle

book
Qu'est-ce que la Programmation Dynamique ?

Note
Définition

Les méthodes de la programmation dynamique (DP) permettent de résoudre des problèmes complexes en les découpant en sous-problèmes plus petits et en les résolvant de manière récursive. Au lieu de résoudre plusieurs fois le même problème, la DP exploite les solutions déjà calculées pour accélérer le processus.

Elle est particulièrement utile en apprentissage par renforcement (RL) pour résoudre efficacement les processus de décision de Markov (MDP) lorsqu’un modèle complet de l’environnement est disponible.

Note
Remarque

À partir de ce chapitre, tous les environnements sont supposés être des MDP finis. Les MDP finis possèdent un espace d’états fini, un espace d’actions fini et un ensemble de récompenses fini.

Conditions d'application de la programmation dynamique

Tous les problèmes ne peuvent pas être résolus par la programmation dynamique. Deux caractéristiques essentielles sont requises pour qu'un problème soit adapté à cette approche :

  • Structure optimale : la solution optimale d'un problème est obtenue à partir des solutions optimales de ses sous-problèmes. Dans les MDP, cela signifie que la politique optimale dans un état dépend des politiques optimales des états suivants. Étant donné que les décisions dans un MDP sont séquentielles, la résolution de sous-problèmes plus petits (trouver la meilleure action pour les états futurs) permet de résoudre le problème global (trouver la meilleure action pour l'état actuel) ;
  • Chevauchement des sous-problèmes : les solutions des sous-problèmes sont réutilisées pour résoudre des problèmes plus larges. Dans les MDP, cela se manifeste par le fait que la valeur d'un état est calculée à plusieurs reprises dans différentes séquences de décisions. Comme les états sont souvent revisités, les valeurs déjà calculées peuvent être stockées et réutilisées, ce qui réduit les calculs redondants et améliore l'efficacité.

Chaque nœud de l'image représente un appel récursif pour calculer Fib(n), et la structure arborescente illustre comment ces appels sont décomposés en sous-problèmes plus petits. On remarque que des sous-problèmes comme Fib(2) et Fib(1) apparaissent plusieurs fois, ce qui démontre le chevauchement des sous-problèmes, tandis que la solution de Fib(5) est construite à partir des solutions optimales de ses sous-problèmes, illustrant la structure optimale. Cette redondance est précisément ce que la programmation dynamique vise à éliminer en stockant et en réutilisant les résultats.

Puisque les MDP présentent à la fois une structure optimale et des sous-problèmes qui se chevauchent, ils se prêtent particulièrement bien aux solutions basées sur la programmation dynamique.

Pourquoi utiliser la programmation dynamique (DP) en apprentissage par renforcement (RL) ?

  • Garanties d'optimalité : les méthodes de programmation dynamique garantissent la convergence vers la politique optimale lorsque le modèle complet est connu ;
  • Efficacité pour des solutions générales : avec l'aide de la programmation dynamique, des solutions générales peuvent être obtenues efficacement, ce qui signifie que la politique résultante sera optimale pour chaque état ;
  • Fondement pour d'autres méthodes : les concepts issus de la programmation dynamique servent de base à d'autres méthodes d'apprentissage par renforcement, telles que Monte Carlo et l'apprentissage par différence temporelle.

Cependant, la programmation dynamique n'est pas réalisable pour des problèmes à grande échelle en raison de sa dépendance à un modèle complet et de ses exigences computationnelles, ce qui conduit aux défis abordés ci-après.

Défis et limitations de la programmation dynamique

Bien que la programmation dynamique (DP) offre un cadre élégant pour résoudre les problèmes d'apprentissage par renforcement, elle présente des défis importants qui limitent son applicabilité dans des scénarios réels :

  • Complexité computationnelle : Les méthodes DP nécessitent des calculs pour chaque état de l'environnement. À mesure que l'espace d'états s'agrandit, le nombre de calculs requis augmente considérablement, rendant la DP impraticable pour des problèmes complexes ;
  • Nécessité d'un modèle connu : La DP suppose que les probabilités de transition et les récompenses de l'environnement sont connues à l'avance. Cependant, dans de nombreuses applications réelles de RL, ces informations ne sont pas disponibles, ce qui rend les approches sans modèle plus pratiques.
Note
Approfondir

À mesure que le nombre de variables d'état augmente, l'espace d'états s'étend de façon exponentielle—un défi connu sous le nom de malédiction de la dimensionnalité. Cela rend le stockage ou le calcul de solutions optimales impraticable, limitant la scalabilité de la DP.

question mark

Laquelle des affirmations suivantes concernant la programmation dynamique (DP) est vraie ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 1

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

course content

Contenu du cours

Introduction à l'Apprentissage par Renforcement

Introduction à l'Apprentissage par Renforcement

1. Théorie Fondamentale de l'Apprentissage par Renforcement
2. Problème du Bandit Manchot
3. Programmation Dynamique
4. Méthodes de Monte Carlo
5. Apprentissage par Différence Temporelle

book
Qu'est-ce que la Programmation Dynamique ?

Note
Définition

Les méthodes de la programmation dynamique (DP) permettent de résoudre des problèmes complexes en les découpant en sous-problèmes plus petits et en les résolvant de manière récursive. Au lieu de résoudre plusieurs fois le même problème, la DP exploite les solutions déjà calculées pour accélérer le processus.

Elle est particulièrement utile en apprentissage par renforcement (RL) pour résoudre efficacement les processus de décision de Markov (MDP) lorsqu’un modèle complet de l’environnement est disponible.

Note
Remarque

À partir de ce chapitre, tous les environnements sont supposés être des MDP finis. Les MDP finis possèdent un espace d’états fini, un espace d’actions fini et un ensemble de récompenses fini.

Conditions d'application de la programmation dynamique

Tous les problèmes ne peuvent pas être résolus par la programmation dynamique. Deux caractéristiques essentielles sont requises pour qu'un problème soit adapté à cette approche :

  • Structure optimale : la solution optimale d'un problème est obtenue à partir des solutions optimales de ses sous-problèmes. Dans les MDP, cela signifie que la politique optimale dans un état dépend des politiques optimales des états suivants. Étant donné que les décisions dans un MDP sont séquentielles, la résolution de sous-problèmes plus petits (trouver la meilleure action pour les états futurs) permet de résoudre le problème global (trouver la meilleure action pour l'état actuel) ;
  • Chevauchement des sous-problèmes : les solutions des sous-problèmes sont réutilisées pour résoudre des problèmes plus larges. Dans les MDP, cela se manifeste par le fait que la valeur d'un état est calculée à plusieurs reprises dans différentes séquences de décisions. Comme les états sont souvent revisités, les valeurs déjà calculées peuvent être stockées et réutilisées, ce qui réduit les calculs redondants et améliore l'efficacité.

Chaque nœud de l'image représente un appel récursif pour calculer Fib(n), et la structure arborescente illustre comment ces appels sont décomposés en sous-problèmes plus petits. On remarque que des sous-problèmes comme Fib(2) et Fib(1) apparaissent plusieurs fois, ce qui démontre le chevauchement des sous-problèmes, tandis que la solution de Fib(5) est construite à partir des solutions optimales de ses sous-problèmes, illustrant la structure optimale. Cette redondance est précisément ce que la programmation dynamique vise à éliminer en stockant et en réutilisant les résultats.

Puisque les MDP présentent à la fois une structure optimale et des sous-problèmes qui se chevauchent, ils se prêtent particulièrement bien aux solutions basées sur la programmation dynamique.

Pourquoi utiliser la programmation dynamique (DP) en apprentissage par renforcement (RL) ?

  • Garanties d'optimalité : les méthodes de programmation dynamique garantissent la convergence vers la politique optimale lorsque le modèle complet est connu ;
  • Efficacité pour des solutions générales : avec l'aide de la programmation dynamique, des solutions générales peuvent être obtenues efficacement, ce qui signifie que la politique résultante sera optimale pour chaque état ;
  • Fondement pour d'autres méthodes : les concepts issus de la programmation dynamique servent de base à d'autres méthodes d'apprentissage par renforcement, telles que Monte Carlo et l'apprentissage par différence temporelle.

Cependant, la programmation dynamique n'est pas réalisable pour des problèmes à grande échelle en raison de sa dépendance à un modèle complet et de ses exigences computationnelles, ce qui conduit aux défis abordés ci-après.

Défis et limitations de la programmation dynamique

Bien que la programmation dynamique (DP) offre un cadre élégant pour résoudre les problèmes d'apprentissage par renforcement, elle présente des défis importants qui limitent son applicabilité dans des scénarios réels :

  • Complexité computationnelle : Les méthodes DP nécessitent des calculs pour chaque état de l'environnement. À mesure que l'espace d'états s'agrandit, le nombre de calculs requis augmente considérablement, rendant la DP impraticable pour des problèmes complexes ;
  • Nécessité d'un modèle connu : La DP suppose que les probabilités de transition et les récompenses de l'environnement sont connues à l'avance. Cependant, dans de nombreuses applications réelles de RL, ces informations ne sont pas disponibles, ce qui rend les approches sans modèle plus pratiques.
Note
Approfondir

À mesure que le nombre de variables d'état augmente, l'espace d'états s'étend de façon exponentielle—un défi connu sous le nom de malédiction de la dimensionnalité. Cela rend le stockage ou le calcul de solutions optimales impraticable, limitant la scalabilité de la DP.

question mark

Laquelle des affirmations suivantes concernant la programmation dynamique (DP) est vraie ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 1
some-alt