机巧围棋
文章平均质量分 92
本系列讲解利用Python+Pygame+PaddlePaddle基于AlphaGo Zero算法打造的一款点击按钮就能可视化训练的9路围棋人工智能程序机巧围棋(CleverGo)的技术原理
RuizhiHe
毕业于南方科技大学,现任中兴通讯无线研究院算法工程师。
展开
-
训练策略网络和价值网络
阿尔法狗2016版本使用人类高手棋谱数据初步训练策略网络,并使用深度强化学习中的REINFORCE算法进一步训练策略网络。策略网络训练好之后,使用策略网络辅助训练价值网络。零狗(AlphaGo Zero)使用MCTS控制两个玩家对弈,用自对弈生成的棋谱数据和胜负关系同时训练策略网络和价值网络。在机巧围棋中,训练策略网络和价值网络的方法原理与零狗基本相同。本文将详细阿尔法狗2016版本和零狗中两个神经网络的训练方法。原创 2022-02-07 15:01:12 · 4567 阅读 · 0 评论 -
蒙特卡洛树搜索(MCTS)
阿尔法狗下棋的时候,做决策的不是策略网络和价值网络,而是蒙特卡洛树搜索(Monte Carlo Tree Search, MCTS)。本文讲解阿尔法狗2016版本和零狗中的MCTS。原创 2021-12-08 23:05:06 · 18617 阅读 · 10 评论 -
阿尔法狗与机巧围棋的网络结构
阿尔法狗使用策略网络和价值网络辅助蒙特卡洛树搜索,以降低搜索的深度和宽度。机巧围棋落子策略完全基于零狗算法,本文将用强化学习的语言描述围棋游戏的状态和动作,并介绍阿尔法狗和机巧围棋中构造的策略网络和价值网络。原创 2021-12-02 22:59:12 · 2564 阅读 · 0 评论 -
深度强化学习(DRL)基础
深度强化学习(Deep Reinforcement Learning)是值得深入学习研究且非常有意思的领域,但是其数学原理复杂,远胜于深度学习,且脉络复杂,概念繁杂。强化学习是一个序贯决策过程,它通过智能体(Agent)与环境进行交互收集信息,并试图找到一系列决策规则(即策略)使得系统获得最大的累积奖励,即获得最大价值。环境(Environment)是与智能体交互的对象,可以抽象地理解为交互过程中的规则或机理,在围棋游戏中,游戏规则就是环境。强化学习的数学基础和建模工具是马尔可夫决策过程(Markov De原创 2021-11-28 23:30:45 · 7948 阅读 · 0 评论 -
深度学习框架(PaddlePaddle)使用教程
机巧围棋使用飞桨(PaddlePaddle) 框架构建并训练阿尔法狗落子策略中的深度神经网络——策略网络和价值网络。本文讲解飞桨框架的基本使用方法:第1部分介绍神经网络的构建;第2部分讲解神经网络训练过程;第3部分介绍模型权重的保存和加载。...原创 2021-11-22 22:03:18 · 7296 阅读 · 0 评论 -
游戏开发引擎(Pygame)核心方法
Pygame是Python最经典的2D游戏开发第三方库,机巧围棋基于Pygame游戏开发引擎实现围棋游戏运行和交互逻辑,并搭建围棋游戏可视化界面。本文不是Pygame的API文档或教程,但是本文将介绍在机巧围棋中所涉及的Pygame游戏开发引擎相关知识和方法,并详细讲解机巧围棋中基于Pygame实现的按钮控件、信息滚动显示器、音乐播放器等。1. Pygame基本知识1.1 Pygame游戏开发框架Pygame游戏开发框架共包含4个部分:第一部分:引入pygame和sys;第二部分:初始化pyg原创 2021-11-17 21:40:55 · 6668 阅读 · 0 评论 -
围棋程序逻辑
机巧围棋(CleverGo)在围棋程序内核上采用了aigagror作者开源的GymGo项目,在该项目的基础上进一步封装了一个训练围棋AI的围棋模拟器。本文讲解以GymGo项目中相关方法为背景,讲解围棋程序核心方法及实现逻辑。第1部分讲解棋盘状态表示方法;第2部分讲解围棋终局判定方法;第3部分讲解围棋核心规则方法;第4部分综合第3部分的围棋核心规则方法,讲解下一个棋盘状态的计算方法。1. 棋盘状态表示方法围棋棋盘由纵横各19条线段组成共361个交叉点,每一个交叉点有存在黑子、存在白子或不存在任何棋子共3原创 2021-11-13 23:45:20 · 4045 阅读 · 0 评论 -
围棋基本知识
围棋使用格状棋盘及黑白二色圆形棋子进行对弈,棋盘上有纵横各19条线段将棋盘分成361个交叉点。在野狐、奕城等各大围棋平台,除19路围棋外,还存在9路和13路围棋用于练习和娱乐。9路围棋即棋盘由纵横各9条线段分成81个交叉点,13路围棋即棋盘由纵横各13条线段分成169个交叉点。围棋以围地多者为胜,被认为是世界上最复杂的棋盘游戏。由于13路和19路围棋复杂度较高,训练相应的围棋AI所需计算资源非常多,所需训练时间非常长,因此机巧围棋主要提供9路围棋一键式训练功能。本文介绍围棋规则及基本行棋知识。1. 围原创 2021-11-09 21:10:38 · 7801 阅读 · 3 评论 -
机巧围棋(CleverGo)项目总览及介绍
1. 项目简介2016年3月,阿尔法狗以4:1战胜围棋世界冠军李世石。自此开始,深度强化学习受到空前的关注并成为AI领域的研究热点,彻底引爆了以深度学习为核心技术的第三次人工智能热潮。机巧围棋利用Python+Pygame+PaddlePaddle基于AlphaGo Zero算法打造了一款点击按钮就能可视化的训练9路围棋人工智能的程序,并搭建了一整套简单易用的围棋AI学习、开发、训练及效果可视化验证框架。机巧围棋项目源码及技术原理文档全部免费开源,真诚期望您能够在GitHub上点个Star支持机巧围棋原创 2021-11-09 20:52:18 · 2386 阅读 · 0 评论