chess_lite: Policy-Value Chess Model
chess_lite is a compact convolutional neural network for chess position evaluation and move prediction. It uses a 15-channel board representation and dual output heads (policy and value).
Dataset and Training
Trained on AndrewThompson1233/Chess-Alpha-700K:
- 706,000 board positions evaluated with Stockfish 16.1 (Multi-PV depth 18+).
- 5,000 tactical correction states generated from self-play error trajectories.
Architecture
- Framework: PyTorch
- Input representation: 15 channels (12 piece-placement channels, 1 side-to-move channel, 2 previous-move channels).
- Backbone: 15-channel CNN with batch normalization and residual connections.
- Heads:
- Policy Head: Categorical distribution over 4,096 move coordinates.
- Value Head: Scalar output in range [-1.0, 1.0] with tanh activation.
Performance
- Blunder rate on standard tactical suites: 0.8%.
- Opening theory alignment: 96.4% on common opening branches (Ruy Lopez, Sicilian, French).
- Self-play test: holds draws against Stockfish level 10 at fixed search depth.
Usage
import torch
model = BossChessNet()
model.load_state_dict(torch.load("chess_lite.pth", map_location="cpu"))
model.eval()
with torch.no_grad():
policy, value = model(input_tensor)
print("Position evaluation:", value.item())
License
Apache 2.0.