Le problème de la représentation des états dans l'apprentissage par renforcement (RL) est similaire aux problèmes de représentation des entités, de sélection des entités et d'ingénierie des entités dans l'apprentissage supervisé ou non supervisé.
La littérature qui enseigne les bases de RL a tendance à utiliser des environnements très simples pour que tous les états puissent être énumérés. Cela simplifie les estimations de valeur en moyennes glissantes de base dans un tableau, qui sont plus faciles à comprendre et à mettre en œuvre. Les algorithmes d'apprentissage tabulaire ont également des garanties théoriques raisonnables de convergence, ce qui signifie que si vous pouvez simplifier votre problème pour qu'il ait, par exemple, moins de quelques millions d'états, cela vaut la peine d'essayer.
Les problèmes de contrôle les plus intéressants ne rentreront pas dans ce nombre d'états, même si vous les discrétisez. Cela est dû à la « malédiction de la dimensionnalité ». Pour ces problèmes, vous représenterez généralement votre état comme un vecteur de différentes fonctionnalités - par exemple pour un robot, différentes positions, angles, vitesses des pièces mécaniques. Comme pour l'apprentissage supervisé, vous voudrez peut-être les traiter pour une utilisation avec un processus d'apprentissage spécifique. Par exemple, vous souhaiterez généralement qu'ils soient tous numériques, et si vous souhaitez utiliser un réseau de neurones, vous devez également les normaliser à une plage standard (par exemple, -1 à 1).
En plus des préoccupations ci-dessus qui s'appliquent à d'autres machine learning, pour RL, vous devez également vous préoccuper de la propriété Markov - que l'état fournit suffisamment d'informations, afin que vous puissiez prédire avec précision les prochaines récompenses attendues et les prochains états donnés une action, sans avoir besoin d'informations supplémentaires. Cela n'a pas besoin d'être parfait, de petites différences dues, par exemple, à des variations de densité ou de température de l'air pour un robot à roues n'auront généralement pas un impact important sur sa navigation et peuvent être ignorées. Tout facteur qui est essentiellement aléatoire peut également être ignoré tout en s'en tenant à la théorie RL - cela peut rendre l'agent moins optimal dans l'ensemble, mais la théorie fonctionnera toujours.
S'il existe des facteurs inconnus cohérents qui influencent le résultat et pourraient logiquement être déduits - peut-être de l'historique de l'état ou des actions - mais que vous les avez exclus de la représentation de l'État, vous pouvez avoir un problème plus grave et l'agent peut ne pas apprendre .
Il convient de noter ici la différence entre l' observation et l' état . Une observation est quelques données que vous pouvez collecter. Par exemple, vous pouvez avoir des capteurs sur votre robot qui réinjectent les positions de ses articulations. Étant donné que l'État doit posséder la propriété Markov, une seule observation brute peut ne pas être suffisante pour créer un état approprié. Si tel est le cas, vous pouvez soit appliquer vos connaissances de domaine afin de construire un meilleur état à partir des données disponibles, soit essayer d'utiliser des techniques conçues pour les MDP partiellement observables (POMDP) - celles-ci tentent efficacement de créer des parties manquantes des données d'état statistiquement. Vous pouvez utiliser un RNN ou un modèle de Markov caché (également appelé "état de croyance") pour cela, et d'une certaine manière, cela utilise un "des algorithmes d'apprentissage ou de classification pour "apprendre" ces états "comme vous l'avez demandé.
Enfin, vous devez considérer le type de modèle d'approximation que vous souhaitez utiliser. Une approche similaire s'applique ici comme pour l'apprentissage supervisé:
Une simple régression linéaire avec des fonctionnalités conçues sur la base des connaissances du domaine peut très bien fonctionner. Vous devrez peut-être travailler dur pour essayer différentes représentations d'état afin que l'approximation linéaire fonctionne. L'avantage est que cette approche plus simple est plus robuste contre les problèmes de stabilité que l'approximation non linéaire
Un approximateur de fonction non linéaire plus complexe, tel qu'un réseau neuronal multicouche. Vous pouvez alimenter un vecteur d'état plus "brut" et espérer que les couches cachées trouveront une structure ou une représentation qui conduira à de bonnes estimations. À certains égards, il s'agit également " d'algorithmes d'apprentissage ou de classification pour" apprendre "ces états ", mais d'une manière différente d'un RNN ou d'un HMM. Cela pourrait être une approche sensée si votre état était exprimé naturellement comme une image d'écran - déterminer à la main l'ingénierie des fonctionnalités pour les données d'image est très difficile.
Le travail Atari DQN par l' équipe DeepMind a utilisé une combinaison d'ingénierie des fonctionnalités et s'appuyant sur un réseau de neurones profond pour atteindre ses résultats. L'ingénierie des fonctionnalités comprenait le sous-échantillonnage de l'image, la réduction à l'échelle des gris et - ce qui est important pour la propriété Markov - l'utilisation de quatre images consécutives pour représenter un seul état, de sorte que des informations sur la vitesse des objets étaient présentes dans la représentation de l'état. Le DNN a ensuite traité les images en fonctionnalités de niveau supérieur qui pourraient être utilisées pour faire des prédictions sur les valeurs d'état.