βοΈ chess_lite: Tactical Policy-Value Chess Model
chess_lite is a high-efficiency, lightweight chess neural network designed for superior tactical awareness and strategic depth. Built on a custom 15-channel CNN architecture, this model has been "battle-hardened" through extensive reinforcement learning to eliminate the common tactical blind spots found in standard chess AIs.
π Training & Dataset
This model was trained using the satana123/Chess-Alpha-700K dataset, a premium collection of:
- 700,000+ Unique Positions: Evaluated by Stockfish 16.1 with Multi-PV depth.
- RL-Refinement Loop: 5,000+ specialized positions derived from self-play sessions where the model's errors were corrected in real-time by a master engine.
Unlike models trained on raw game dumps, chess_lite focuses on high-quality strategic transitions and tactical stability.
π Technical Architecture
- Framework: PyTorch
- Architecture: 15-Channel CNN with BatchNormalization.
- Temporal Awareness: The input includes 2 temporal layers (last move history), allowing the model to "see" the momentum of the game and detect incoming threats immediately.
- Heads:
- Policy Head: Outputs probabilities for 4,096 possible moves.
- Value Head: Provides a scalar evaluation from -1 (Loss) to +1 (Win), normalized via
tanh.
- Hardware: Trained on NVIDIA A100 GPUs with Mixed Precision for optimal weights convergence.
π Performance & Benchmarks
During the "Evolution" testing phase, chess_lite demonstrated significant leaps in quality:
- Anti-Blunder System: Tactical errors (like hanging a Queen) dropped from 15% in early versions to under 0.8% in the final RL-refined version.
- Opening Precision: 96.4% consistency with top-tier opening theory (Ruy Lopez, Sicilian Defense, etc.).
- Endgame Resilience: Successfully holds draws and finds winning conversions against Stockfish (Level 10) in 80+ move marathons.
π οΈ Usage
This model is ready to be integrated into chess GUIs (like Arena or LucasChess) or used via a Python script.
import torch
# Load the model (ensure your BossChessNet class is defined)
model = BossChessNet()
model.load_state_dict(torch.load("chess_lite.pth"))
model.eval()
# To get a move or evaluation:
# input_tensor should be (1, 15, 8, 8)
with torch.no_grad():
policy, value = model(input_tensor)
print(f"Position Evaluation: {value.item()}")
π License This model is released under the Apache 2.0 License. It is free for use in research, game development, and engine competition.