nnue-chess-dataset
收藏Hugging Face2026-02-15 更新2026-02-16 收录
下载链接:
https://huggingface.co/datasets/theoden8/nnue-chess-dataset
下载链接
链接失效反馈官方服务:
资源简介:
NNUE国际象棋数据集是一个用于训练NNUE(高效可更新神经网络)国际象棋引擎的数据集。该数据集包含三种不同的数据来源:1) 来自Lichess开放数据库的游戏位置及其对应的引擎评估,提供不同技能水平和开局类型的多样化位置;2) 来自Lichess谜题数据库的关键位置,包括错误前和错误后的位置,重点在于战术丰富的位置;3) 来自残局表库的采样位置,确保对残局的深入理解。所有位置均使用Stockfish 16(深度12)和5人残局表库进行评估。数据集采用压缩的FEN格式存储位置,并包含从白方视角的百分之一兵(cp)评估或将死步数评分。该数据集适用于训练国际象棋引擎的NNUE网络、监督学习位置评估、测试评估函数准确性以及国际象棋AI和位置评估研究。
创建时间:
2026-02-13
原始信息汇总
NNUE Chess Dataset 数据集概述
数据集基本信息
- 数据集名称: NNUE Chess Dataset (dummy_chess)
- 许可协议: cc0-1.0
- 任务类别: 表格回归
数据集构成
数据集包含三种不同的数据源,提供不同类型的棋局和评估背景。
1. 对局评估
- 来源: Lichess Open Database (https://database.lichess.org/)
- 方法: 从Lichess对局中提取棋局及其对应的引擎评估
- 评估: 原始分析中的第一主要变例得分
- 目的: 提供来自不同技能水平和开局类型的真实对局中的多样化棋局
2. 棋谜
- 来源: Lichess Open Database (https://database.lichess.org/)
- 方法: 从每个棋谜中提取两个关键棋局:
- 失误前棋局
- 失误后棋局
- 评估: 使用Stockfish 16(深度12)并支持5子残局表库重新分析
- 目的: 专注于战术丰富的棋局,其中准确的评估至关重要
3. 残局
- 来源: 残局表库棋局
- 方法: 从残局表库中采样棋局
- 评估: 使用Stockfish 16(深度12)并支持5子残局表库进行评分
- 目的: 确保利用理论上完美的表库知识来理解残局
技术规格
引擎配置
- Stockfish版本: 16
- 搜索深度: 12步
- 表库: Syzygy 5子残局表库 (https://github.com/syzygy1/tb)
- 表库深度: 5子棋局
数据格式
- 棋局格式: 棋局使用压缩的FEN表示法存储在
compressed_fen列中 - 解压缩: 使用dummy_chess (https://github.com/theoden8/dummy_chess) 中的
decompress_fen函数转换为标准FEN - 评估格式: 所有棋局都包含从白方视角出发的百分兵评估,或在适用时包含将杀步数评估
工具与依赖
数据集创建使用了以下工具:
- dummy_chess (https://github.com/theoden8/dummy_chess): 用于预处理、PGN解析、棋局提取和FEN压缩/解压缩
- python-chess (https://github.com/niklasf/python-chess): 用于棋局处理和走子生成的国际象棋库
- Stockfish 16 (https://stockfishchess.org/): 用于棋局评估的引擎
- Syzygy Tablebases (https://github.com/syzygy1/tb): 用于完美残局知识的残局表库
数据来源
- Lichess Open Database (https://database.lichess.org/): 对局和评估
- Lichess Puzzle Database: 战术棋局
- Syzygy Tablebases: 残局棋局
使用场景
该数据集适用于:
- 训练国际象棋引擎的NNUE网络(特别是dummy_chess (https://github.com/theoden8/dummy_chess))
- 棋局评估的监督学习
- 测试评估函数的准确性
- 国际象棋AI和棋局评估研究
引用
如果使用此数据集,请引用相关来源:
- Lichess Open Database: https://database.lichess.org/
- dummy_chess: https://github.com/theoden8/dummy_chess
致谢
此数据集是为dummy_chess (https://github.com/theoden8/dummy_chess) 项目创建的。
搜集汇总
数据集介绍

构建方式
在计算机博弈领域,高效可更新神经网络(NNUE)已成为现代象棋引擎的核心组件,其训练依赖于高质量、多样化的棋局数据。本数据集的构建精心整合了三个主要来源:首先,从Lichess开放数据库中提取真实对局的棋局及其引擎评估,捕捉了不同技能水平和开局类型的多样性;其次,基于Lichess谜题数据库,选取每个谜题中关键错误前后的两个战术性位置,并使用Stockfish 16(深度12)配合5子残局表进行重新分析,以聚焦于战术丰富的局面;最后,从残局表中采样位置,同样通过Stockfish与表库结合评估,确保模型获得理论完美的残局知识。整个流程依托dummy_chess工具进行预处理、解析和压缩,确保了数据的系统性和可重复性。
特点
该数据集在象棋人工智能研究中展现出显著特点,其数据来源的多元化构成了核心优势。真实对局评估部分覆盖了广泛的实战场景,反映了人类棋手的决策模式;谜题数据则强化了战术敏感位置的评估精度,有助于模型识别复杂变化;而残局表库的引入提供了理论最优解,弥补了传统引擎在深度残局中的局限性。技术规格上,所有位置均采用压缩FEN格式存储,便于高效处理,评估值以白方视角的厘兵分数或将死步数呈现,确保了评估的一致性。这种多源融合的设计不仅提升了数据的全面性,还为NNUE网络的训练提供了从开局到残局的连贯学习体验。
使用方法
针对象棋引擎开发与人工智能研究,本数据集的使用方法需遵循结构化流程。用户首先需通过dummy_chess库中的decompress_fen函数将压缩FEN转换为标准格式,以便于棋局解析和特征提取。在模型训练阶段,数据集适用于监督学习任务,其中棋局位置作为输入特征,而对应的引擎评估作为目标标签,特别适合训练NNUE网络以优化位置评估函数。研究人员可进一步利用不同数据子集(如谜题或残局)进行专项测试,以验证评估函数在战术或终局阶段的准确性。此外,数据集与python-chess等工具的兼容性简化了实验部署,支持在dummy_chess等项目中进行端到端的引擎开发与性能评估。
背景与挑战
背景概述
NNUE(高效可更新神经网络)架构的兴起,标志着象棋人工智能领域从传统评估函数向深度学习模型的范式转变。该数据集由dummy_chess项目构建,旨在为训练NNUE象棋引擎提供大规模、高质量的棋局位置与评估数据。其核心研究问题聚焦于如何通过监督学习,使神经网络能够精准评估任意棋盘局面的优劣,从而推动象棋引擎在保持计算效率的同时,达到接近顶级传统引擎的棋力水平。数据集整合了来自Lichess开放数据库的真实对局、战术谜题以及残局表库,为模型训练提供了覆盖开局、中局与残局的全面样本,对提升开源象棋AI的竞技实力与可访问性具有显著影响力。
当前挑战
在解决象棋局面评估这一核心领域问题时,主要挑战在于模型需准确量化局面的细微优劣,并区分战术组合与长远战略价值,同时需在极短耗时内完成评估以符合对弈实时性要求。数据构建过程中的挑战则体现为多源异构数据的融合与标准化:需从海量Lichess对局中提取代表性位置并获取可靠的引擎评分;需对战术谜题中的关键错误前后局面进行重分析以确保评估一致性;还需利用五子残局表库生成理论完美的残局样本,并统一所有位置以压缩FEN格式和固定深度(12层)的Stockfish评估进行存储,整个过程对计算资源与数据管道可靠性提出了较高要求。
常用场景
经典使用场景
在人工智能棋类博弈领域,NNUE Chess Dataset 为高效可更新神经网络(NNUE)的模型训练提供了核心数据支撑。该数据集整合了来自 Lichess 对局、战术谜题以及残局表库的多样化棋局位置,并辅以 Stockfish 引擎的深度评估,使得研究者能够针对不同复杂度与战略层次的局面进行监督学习,从而优化神经网络对棋盘局面的评估精度与泛化能力。
实际应用
在实际应用层面,该数据集直接服务于如 dummy_chess 等开源象棋引擎的开发与优化。通过利用这些高质量标注数据训练 NNUE 网络,能够显著提升引擎在实时对弈中的局面评估速度与准确性,进而增强其整体棋力。此类技术不仅可用于构建竞技级别的象棋 AI,也为游戏分析、教学工具以及人机交互界面的智能化提供了可靠基础。
衍生相关工作
围绕该数据集衍生的经典工作主要集中在 NNUE 架构的改进与棋力提升上。例如,dummy_chess 项目利用此数据集训练并验证了其神经网络评估模块的有效性。同时,该数据集也促进了将监督学习与强化学习相结合的研究,启发了后续在更复杂棋类或博弈场景中应用高效可更新神经网络的一系列探索性工作。
以上内容由遇见数据集搜集并总结生成



