Alphago原理浅析
来源:互联网 发布:王尼玛有没有开淘宝店 编辑:程序博客网 时间:2024/06/04 17:44
1、深度强化学习
强化学习是受到生物能够有适应环境的启发,以试错的机制与环境进行交互,通过最大化累积奖赏的方式来学习最优策略。而深度强化学习将深度学习的感知能力和强化学习的决策能力相结合,可以直接根据输
入的图像进行控制,是一种更接近人类思维方式的人工智能方法。
2、蒙卡罗特树
蒙特卡罗树搜索大概可以被分成四步。选择(Selection),拓展(Expansion),模拟(Simulation),反向传播(Backpropagation)。
在开始阶段,搜索树只有一个节点,也就是我们需要决策的局面。搜索树中的每一个节点包含了三个基本信息:代表的局面,被访问的次数,累计评分。
[1]选择(Selection)在选择阶段,需要从根节点,也就是要做决策的局面R出发向下选择出一个最急迫需要被拓展的节点N,局面R是是每一次迭代中第一个被检查的节点;
[2]拓展(Expansion)在选择阶段结束时候,我们查找到了一个最迫切被拓展的节点N,以及他一个尚未拓展的动作A。在搜索树中创建一个新的节点Nn作为N的一个新子节点。Nn的局面就是节点N在执行了动作A之后的局面。
[3]模拟(Simulation)为了让Nn得到一个初始的评分。我们从Nn开始,让游戏随机进行,直到得到一个游戏结局,这个结局将作为Nn的初始评分。一般使用胜利/失败来作为评分,只有1或者0。
[4]反向传播(Backpropagation)在Nn的模拟结束之后,它的父节点N以及从根节点到N的路径上的所有节点都会根据本次模拟的结果来添加自己的累计评分。如果在[1]的选择中直接发现了一个游戏结局的话,根据该结局来更新评分。每一次迭代都会拓展搜索树,随着迭代次数的增加,搜索树的规模也不断增加。当到了一定的迭代次数或者时间之后结束,选择根节点下最好的子节点作为本次决策的结果。
3、Alphago核心思想
Alphago已达到人类顶尖棋手的水准,其核心思想是通过卷积神经网络来构建价值网络和策略网络分别对搜索深度和宽度进行约减,使得搜索效率大幅度提升,胜率估计也更加精确。
4、Alphago实现原理
整体上,Alphago的实现包括线下学习和在线博弈,其中线下学习包括三个阶段:
第一阶段:核心利用大量专业棋手的棋谱训练策略网络和快速走棋网络,其中策略网络使用深度卷积神经网络来训练学习。
第二阶段:基于强化学习来提升策略网络的性能
第三阶段:通过大量的自我对弈,实现基于深度强化学习的价值网络学习
然后,在线博弈包括五个步骤:
步骤一:依据当前对弈盘面进行特征提取
步骤二:依据策略网络估计棋盘其他空地落子的概率
步骤三:依据落子概率,计算此处往下发展的权重,其中初始值为落子概率本身
步骤四:利用价值网络和快速走棋网络分别判断局势,两个局势相加得分为此处走棋获胜得分
步骤五:利用蒙卡罗特树搜索展开下一步的搜索,并更新权重
- Alphago原理浅析
- AlphaGo原理浅析
- AlphaGo Zero原理浅析
- AlphaGo原理分析
- AlphaGo原理探讨
- AlphaGo的原理
- 深度解读 AlphaGo 算法原理
- 深度解读 AlphaGo 算法原理
- AlphaGo原理、应用与意义
- AlphaGo
- 一张图解AlphaGo原理及弱点
- 一张图解AlphaGo原理及弱点
- 一张图解AlphaGo原理及弱点
- 一张图解AlphaGo原理及弱点
- 浅析搜索引擎原理
- DLL木马原理浅析
- 浅析QQ密码保护原理
- 浅析输入法原理
- LeetCode 563 Binary Tree Tilt(递归 + 中间结果保存)
- PythonTip 50道题目(部分题解)
- nefuoj1206-dp-环形子段和
- Java Integer的缓存问题
- 网址收藏
- Alphago原理浅析
- strcat,strncat函数
- Spring Cloud探路(三)REST 客户端Feign
- CSDN博客积分规则
- python基础教程---更加抽象,类,继承多态封装
- C++ 分割字符串的问题不少啊
- C语言小函数——删除字符串str1中含有的字符串str2
- 构造一个函数能将border-bottom-color用函数转成驼峰命名法,就是变成:borderBottomColor输出
- ntpdate[6043]: Can't find host –d: Name or service not known (-2)