Acte 1
L'environnement
Avant d'entraîner un modèle à comprendre un monde, il faut créer ce monde — et le convertir en images. Car une machine ne voit pas des règles : elle voit des matrices de nombres.
Le principe
Chaque état du monde est une image
Le monde simulé est une grille de 10 × 10 cases. Elle contient un agent (le personnage), une boîte à pousser, une cible, et des murs sur tout le périmètre. Rien de plus.
Mais ce qui est important, c'est comment ce monde est représenté. À chaque instant, la grille est convertie en une matrice 10 × 10 de valeurs flottantes — exactement comme une image en niveaux de gris. C'est cette matrice que le modèle recevra en entrée.
| Élément | Valeur dans la matrice | Couleur |
|---|---|---|
| Case vide | 0.0 | Blanc |
| Mur | 0.2 | Gris foncé |
| Cible | 1.0 | Vert |
| Agent | 0.5 | Bleu |
| Boîte | 0.8 | Rouge |
| Boîte sur cible | 0.9 | Orange |
| Agent sur cible | 0.6 | Violet |
C'est une convention arbitraire, mais elle a du sens : les valeurs sont ordonnées, l'encodeur CNN peut les différencier par les filtres qu'il apprend. L'essentiel, c'est que tout état possible du monde est entièrement décrit par cette image — aucune information cachée.
Démo interactive
Jouez — et regardez ce que voit le modèle
Déplacez l'agent avec les flèches ou WASD. Poussez la boîte ■ sur la cible ✕. À droite, la matrice de valeurs flottantes se met à jour en temps réel : c'est exactement ce que l'encodeur recevra lors de l'entraînement.
↑↓←→ ou WASD
Ce que voit le modèle — matrice 10×10
La physique du monde
Cinq règles que le modèle devra apprendre
Ces règles ne sont jamais expliquées au modèle. Il devra les déduire en observant des milliers de paires (image avant, image après). C'est exactement ce que fait un enfant : pas de manuel, juste de l'observation.
Les données d'entraînement
20 000 images organisées par règle
Pour entraîner le world model, on a besoin de transitions : des triplets (image_t, action, image_t+1) qui montrent comment le monde évolue. La structure de ces données est fondamentale.
Naïvement, on pourrait laisser l'agent se déplacer aléatoirement et enregistrer tout ce qui se passe. Mais l'exploration aléatoire sous-représente certaines règles : on verra rarement un agent pousser une boîte exactement contre un mur, ou une boîte verrouillée sur sa cible.
L'approche choisie ici est un dataset dirigé : on génère délibérément des milliers d'exemples de chaque règle physique. 5 catégories, 4 000 exemples chacune.
Chaque triplet est sauvegardé sous forme de tableaux NumPy :
observations.npy, actions.npy, next_obs.npy.
Ces fichiers sont la matière première que l'entraînement consommera à l'Acte 2.
L'encodeur CNN recevra ces 20 000 images comme entrée. Il ne sait pas ce qu'est un « mur » ou une « boîte » — il voit des matrices de flottants. Ce qui compte, c'est que ces matrices contiennent tous les exemples nécessaires pour que le prédicteur puisse anticiper les changements.