RDTChess
- Chess
- PyTorch
- Policy Network
- Value Network
- ResNet
- Recurrent Depth
- Behavioral Cloning
- From-Scratch
Réseau résiduel de 11,05M de paramètres (128 canaux × 8 blocs, récurrence ×2, mémoire à porte, Squeeze-and-Excitation) qui joue aux échecs en une seule passe avant — sans recherche, sans MCTS, sans livre d'ouvertures. C'est RDTChess2, le modèle actuellement en ligne sur le bot Lichess. Entraîné from-scratch sur un seul GTX 1080 Ti par clonage de comportement sur ≈10,99M de parties Lichess (≥1800 Elo des deux côtés), soit 801 295 726 positions vues. 61,5% de précision sur le premier coup de 23 845 puzzles Lichess, mais le réseau exécute toujours les tactiques plutôt qu'il ne les initie : le coup d'entrée discret reste le point faible, à 33,3% en position difficile contre ~90% sur la dernière étape d'une combinaison forcée.
Chiffres clés
- 11,05M
- Paramètres
- ~11M
- Parties d'entraînement
- 801,3M
- Positions vues
- 61,5%
- Puzzles (1er coup)
Comment ça marche
Encodage canonique : toujours « Blancs, qui avancent »
Quand c'est aux Noirs de jouer, chaque case est reflétée (case ^ 56) et les couleurs des pièces inversées. Résultat : la tête de valeur répond toujours à une question bien posée — « à quel point est-ce bon pour le joueur au trait » — et une position et son miroir couleur-inversé partagent une seule représentation, donc chaque partie entraîne les deux couleurs à la fois.
Une seule passe avant, zéro recherche
Pas de MCTS, pas de livre d'ouvertures, pas de table de finale. La tête de politique émet des logits bruts (pas un softmax), pour pouvoir masquer les coups illégaux avant de normaliser — softmaxer sur les 4096 actions puis en annuler ~99% gaspillerait la capacité d'un réseau de cette taille.
Récurrence ×2, porte apprise, et vision globale du plateau
La tour résiduelle 128×8 est appliquée deux fois par coup, avec les mêmes poids de convolution (profondeur effective ×2, sans coût de paramètres supplémentaire). Une porte apprise décide combien de l'état précédent conserver contre écraser (~88% conservé par défaut). Le Squeeze-and-Excitation ajoute, dans chaque bloc, une échelle et un biais par canal calculés sur le plateau entier — une interaction longue distance (a1–h8) sans creuser la profondeur convolutive.
Quatre instruments, trois convergent, un reste bruité
Comparé à la même architecture sans récurrence ni porte ni SE, mêmes données, même graine : en tête sur les puzzles (8/8 tranches), sur Maia-1100/1500/1900 (23/24), et sur le tournoi toutes-paires (7/7, 27 300 parties) — jamais inversé sur ces trois instruments. Face à un minimax profondeur 2, qui cherche plutôt que d'imiter : 4/8, sans direction stable. Aucun Elo absolu n'est revendiqué.
Il exécute les tactiques, il ne les initie pas
Sur les mêmes 23 845 puzzles : 61,5% de précision sur le premier coup, 42,5% sur la ligne entière. La précision sur le dernier coup d'une combinaison avoisine toujours 90%, mais le coup d'entrée discret (non forcé) tombe à 33,3% en position difficile (2400+), contre 59,9% pour une capture — un écart quasi identique à l'architecture sans les ajouts (32,8%). Récurrence, porte et SE améliorent la précision partout ; ils ne changent pas quel type de coup reste dur à initier.
Une seule graine, un seul run
Chaque chiffre vient d'une seule graine (123), étendue séquentiellement sur 8 tranches de données via --resume. Le point de départ à 1,38M de parties a été confirmé sur trois graines indépendantes avant cette extension — l'extension elle-même ne l'a pas été. Le modèle n'a jamais affronté de pool coté, donc aucun Elo absolu n'est revendiqué.