Alpha Go 的原理浅析(深度学习与强化学习的融合)

xcwill · · 13686 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

前言

这两天网络上被Alpha Go和李世石的围棋对决刷屏,目前Alpha Go已经2-0领先。从前年开始关注研发这套系统的DeepMind公司,一直在追终他们最新的论文。深度学习这个词随着这一事件又火了一把,可是我想说的是虽然阿尔法狗确实得益于深层神经网络的发展,但是其能超过以往的围棋AI的原因是他将深度学习和强化学习结合在一起使用,再融合传统围棋AI主要使用的蒙特卡洛树搜索方法。要知道只用深度学习的方法去解决围棋问题在几年前已经有很多人在尝试,其效果却往往还不及当前最好的围棋AI(例如:Zen,Pachi等)

去年这家公司做的最引爆世界的事情是在Arcade Learning Environment中战胜了人类专家并且在nature上也发。这个环境是为了评估各种强化学习(Reinforcement Learning)算法而建立的,其中有超过500个视频游戏,都是类似小时候在小霸王上玩的飞机坦克打砖块这些游戏。类比人来说的话,他们利用深度学习作为人的视觉系统,接收游戏画面转换为大脑需要的信息,强化学习作为大脑接收传来的信息进行决策,输出当前最优策略。

由于我自己研究的方向是强化学习方面,也利用深度学习做过简单应用,个人感觉深度学习和强化学习作为机器学习的最吸引人的两个方向,结合在一起之后很有可能找到人工智能最后的圣杯。下面根据

Mastering the game of Go with deep neural networks and tree search

1.简介

在棋类游戏中,当棋手走得最完美的时候,都有一个最优的值函数(optimal value function)通过棋盘上每个棋子的位置(也可以说是当前棋盘的状态),来计算这盘游戏的收益(outcome)。这些游戏可以在搜索树中递归地计算最优的值函数来解决,搜索树包含几乎有 bd 个可能的走法,其中b 是游戏的宽度即每个位置可能的走法,d 是游戏的深度即游戏进行的长度。那么可以知道国际象棋(chess)要计算 3580种可能,围棋(Go)要计算250150 种可能,几乎不可能穷尽地搜索。
当前最强的围棋程序都是基于蒙特卡洛树搜索(Monte Carlo tree search),再通过一些能够预测人类专家走法的策略来增强程序。但是这些策略都是很浅显,并且值函数只是基于输入特征的线性组合。
我们使用CNN( convolutional neural networks)从1919 的棋盘图像得到当前棋盘上所有棋子位置的表征,用值函数网络(value network)来评估当前棋局,用策略网络来采样下棋的动作。
总的来说一共有三种deep networks:

  • 监督学习的策略网络( Supervised learning of policy networks,SL,pσ
    采用监督学习的方法,用人类专家的下棋走法进行训练。这种方式提供了一个快速高效的学习更新过程。
    同时再训练一个快速的策略网络 pπ ,这个网络用于在刚开始时进行动作的快速采样。相当于SL的一个补充。
  • 强化学习的策略网络( Reinforcement learning of policy networks,RL, pρ
    RL策略网络能够通过优化自我对弈时的最终收益(outcome)来改进SL策略网络。
  • 强化学习的值网络(Reinforcement learning of value networks,vθ
    他是用来预测RL策略网络与自己对弈时的胜者。

2.三个主要网络以及网络训练的流程

piplines

1. 监督学习的策略网络

在训练过程的第一阶段,需要做一个前期工作用来预测人类专家怎么走下一步棋,也就是用监督学习的方法用KGS Go Server上的3千万个棋局,训练建立一个13层的策略网络。其实主要做的是分类工作,最终给训练好的网络一个棋局图片,能够输出下一步棋子所有可能的走法(或者说动作a)以及其概率(也就是 softmax layer的作用,能够输出在状态s时动作a的概率分布)。
SL策略网络是用随机的状态-动作(s,a)对进行训练,用随机梯度上升法来逼近人类在状态s选择动作a的可能性,参数σ更新公式:

Δσlogpσ(a|s)σ

其精度达到了57.0%,如果只使用未处理的棋局和行棋的历史记录作为输入,也能达到55.7%的精度,超过当前44.4%的最好水平。一般来说大规模的网络能实现更好的精度,但是在搜索时的评估速度变慢,所以需要训练一个结构更简单、运行更快速但精度低一些的策略网络(Rollout Policy)pπ(a|s),精度为24.2%,选择一个动作的时间只要2μs

2.强化学习的策略网络

未完待续


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:xcwill

查看原文:Alpha Go 的原理浅析(深度学习与强化学习的融合)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

13686 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传