AlphaZero_Gomoku
AlphaZero_Gomoku 是一个基于 AlphaZero 算法的五子棋(Gobang)AI 开源项目。它通过纯粹的自我对弈进行强化学习训练,无需任何人类棋谱知识,即可从零开始掌握五子棋策略。该项目主要解决了在资源有限的环境下,如何高效复现和验证顶级博弈算法的难题。由于五子棋规则比围棋或国际象棋更简单,用户仅需一台普通个人电脑,花费数小时至两天时间,就能训练出具备相当水平的 AI 模型,极大地降低了研究门槛。
这款工具非常适合人工智能开发者、强化学习研究人员以及高校学生使用。对于希望深入理解蒙特卡洛树搜索(MCTS)与深度神经网络结合机制的学习者来说,它是一个极佳的实践平台。其独特的技术亮点在于高度的框架灵活性:除了最初支持的 Theano/Lasagne 外,后续更新还完美兼容 PyTorch 和 TensorFlow。用户只需修改少量代码即可切换深度学习后端,甚至自定义网络结构。此外,项目提供了完整的训练脚本与人机对战示例,支持从简单的 6x6 棋盘快速上手,逐步过渡到标准规则,帮助使用者直观观察 AI 从“新手”成长为“高手”的全过程。
使用场景
某高校人工智能实验室的研究员需要在普通 PC 上快速验证 AlphaZero 强化学习算法的核心机制,并构建一个高水平的五子棋对战演示系统。
没有 AlphaZero_Gomoku 时
- 开发门槛极高:研究员需从零复现复杂的蒙特卡洛树搜索(MCTS)与神经网络结合架构,极易在策略价值网络(Policy Value Net)的代码实现上出错。
- 训练资源受限:传统方案通常依赖昂贵的 GPU 集群或云端算力,在单机环境下训练收敛极慢,难以在数小时内获得可用模型。
- 框架适配困难:若团队熟悉 PyTorch 或 TensorFlow 而非 Theano,需耗费大量时间重写底层网络接口,无法直接利用现有成果。
- 缺乏直观验证:缺少内置的人机对战脚本和可视化示例,难以向非技术背景的访客直观展示算法的博弈能力。
使用 AlphaZero_Gomoku 后
- 开箱即用:直接运行
train.py即可启动纯自我对弈训练,无需手动编写复杂的强化学习循环,大幅降低试错成本。 - 单机高效训练:针对五子棋规则优化后,仅需单台 PC 运行约 2 小时(6x6 棋盘)至 2 天(8x8 棋盘),即可通过 500-3000 局自弈生成高水平模型。
- 灵活框架支持:只需简单修改
train.py中的导入语句,即可无缝切换 PyTorch、TensorFlow 或 Theano 后端,完美适配团队技术栈。 - 即时交互演示:通过
human_play.py脚本加载预训练模型,研究员可立即与 AI 进行高质量对弈,生动展示算法决策过程。
AlphaZero_Gomoku 将原本需要数周搭建的强化学习实验环境压缩至几小时,让研究者能在单机上专注于算法原理验证而非工程基建。
运行环境要求
- 非必需
- 若使用 PyTorch 进行 GPU 训练,需在代码中设置 use_gpu=True(具体显卡型号、显存及 CUDA 版本未说明)
未说明

快速开始
AlphaZero-Gomoku
这是AlphaZero算法的一个实现,用于通过纯自我对弈训练来下简单的棋类游戏五子棋(也称为Gobang或Five in a Row)。五子棋比围棋或国际象棋简单得多,因此我们可以专注于AlphaZero的训练方案,并在几小时内用一台普通PC就得到一个相当不错的AI模型。
参考文献:
- AlphaZero:通过通用强化学习算法的自我对弈掌握国际象棋和将棋
- AlphaGo Zero:无需人类知识即可掌握围棋
更新 2018年2月24日:支持使用TensorFlow进行训练!
更新 2018年1月17日:支持使用PyTorch进行训练!
训练好的模型之间的对局示例
- 每步走法进行400次MCTS模拟:

环境要求
要与训练好的AI模型对弈,只需:
- Python >= 2.7
- Numpy >= 1.11
若要从零开始训练AI模型,则还需要以下任一环境:
- Theano >= 0.7 和 Lasagne >= 0.1 或
- PyTorch >= 0.2.0 或
- TensorFlow
注:如果你的Theano版本高于0.7,请按照此issue安装Lasagne;否则,请强制使用pip将Theano降级到0.7版本:pip install --upgrade theano==0.7.0
如果你想使用其他深度学习框架来训练模型,只需重写policy_value_net.py文件即可。
快速入门
要使用提供的模型进行对弈,请在目录下运行以下脚本:
python human_play.py
你可以修改human_play.py以尝试不同的预训练模型或纯MCTS算法。
要使用Theano和Lasagne从零开始训练AI模型,直接运行:
python train.py
如果使用PyTorch或TensorFlow,首先需要修改train.py文件,即注释掉以下行:
from policy_value_net import PolicyValueNet # Theano and Lasagne
并取消注释以下行之一:
# from policy_value_net_pytorch import PolicyValueNet # Pytorch
或
# from policy_value_net_tensorflow import PolicyValueNet # Tensorflow
然后执行:python train.py。 (若要在PyTorch中使用GPU,请设置use_gpu=True,并且如果你的PyTorch版本高于0.5,在policy_value_net_pytorch.py中的train_step函数中使用return loss.item(), entropy.item())
模型(best_policy.model和current_policy.model)会在每隔几次更新后保存(默认每50次)。
注意:提供的4个模型是使用Theano/Lasagne训练的,若要用PyTorch加载它们,请参阅issue 5。
训练提示:
- 建议从6×6棋盘、4子连珠开始。在这种情况下,大约2小时内完成500~1000局自我对弈,就能得到一个相当不错的模型。
- 对于8×8棋盘、5子连珠的情况,可能需要2000~3000局自我对弈才能得到较好的模型,这在单台PC上大约需要2天时间。
更多阅读
我的一篇中文文章详细介绍了该实现的一些细节:https://zhuanlan.zhihu.com/p/32089487
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备