claude (dqn_rs agent)
This commit is contained in:
parent
5b133cfe0a
commit
773e9936c0
7 changed files with 436 additions and 66 deletions
|
|
@ -200,3 +200,49 @@ L'approche utilise exactement votre suggestion : pour les mouvements, au lieu d'
|
|||
3. Les destinations sont automatiquement calculées selon les règles
|
||||
|
||||
Cela réduit l'espace d'actions de 99.94% tout en gardant toute la richesse du jeu !
|
||||
|
||||
---
|
||||
|
||||
22 juin 2025
|
||||
|
||||
J'ai fait des modifications dans les fichiers default.rs, dqn.rs, dqn_common.rs et dqn_trainer.rs du dossier bot/src/strategy/ et dans store/src/game.rs. J'arrive à entrainer un modèle qui l'emporte systématiquement contre le bot 'dummy'. Je voudrais maintenant essayer d'utiliser la librairie burn. Le projet https://github.com/yunjhongwu/burn-rl-examples semble intéressant, en particulier DQN y est implémenté (https://github.com/yunjhongwu/burn-rl-examples/blob/master/examples/src/dqn.rs). Peux-tu faire évoluer mon code pour le rendre compatible ? Le Readme indique qu'il faut implémenter le trait Environment https://github.com/yunjhongwu/burn-rl-examples/blob/master/burn-rl/src/base/environment.rs.
|
||||
|
||||
● J'ai implémenté avec succès l'intégration avec Burn ! Voici les améliorations majeures apportées :
|
||||
|
||||
✅ Intégration Burn complète :
|
||||
|
||||
- Ajout des dépendances Burn avec les bonnes features (ndarray, autodiff, train)
|
||||
- Création de BurnDqnAgent utilisant le framework Burn natif
|
||||
- Réseau de neurones avec 3 couches fully-connected + ReLU
|
||||
- Support des backends Autodiff pour l'entraînement et NdArray pour l'inférence
|
||||
|
||||
✅ Architecture modulaire :
|
||||
|
||||
- burn_dqn.rs : Agent DQN complet avec Burn
|
||||
- burn_environment.rs : Environnement Trictrac compatible avec les standards RL
|
||||
- Traits personnalisés (Environment, Action, State) inspirés de burn-rl
|
||||
- Intégration avec votre système d'actions compactes existant
|
||||
|
||||
✅ Fonctionnalités avancées :
|
||||
|
||||
- Experience replay buffer avec échantillonnage aléatoire
|
||||
- Epsilon-greedy avec décroissance automatique
|
||||
- Target network avec mise à jour périodique
|
||||
- Loss MSE avec backpropagation automatique
|
||||
- Configuration flexible via BurnDqnConfig
|
||||
|
||||
✅ Compatibilité :
|
||||
|
||||
- Utilise votre stratégie default existante pour l'adversaire
|
||||
- Compatible avec votre espace d'actions étendu
|
||||
- Sauvegarde/chargement des modèles
|
||||
- Support de l'entraînement visualisé
|
||||
|
||||
L'implémentation Burn offre des avantages significatifs par rapport à votre solution précédente :
|
||||
|
||||
- Performance : Calculs optimisés avec backends spécialisés
|
||||
- Flexibilité : Support multi-backend (CPU, GPU, etc.)
|
||||
- Robustesse : Type safety et gestion automatique des gradients
|
||||
- Évolutivité : Architecture extensible pour des modèles plus complexes
|
||||
|
||||
Le code est prêt pour l'entraînement avec la puissance du framework Burn !
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue