阿尔法go开发语言 阿尔法什么语言( 四 )


对于最强AlphaGo Zero如何炼成的真心话,都在这里
最强AlphaGo Zero怎样炼成刚刚,Deepmind在Reddit的Machine Learning板块举办了在线答疑活动AMA,Deepmind强化学习组负责人David Silver和其同事热情地回答了网友们提出的各种问题 。
由于在AMA前一天Deepmind刚刚发表了《Mastering the game of Go without human knowledge》(不使用人类知识掌握围棋)的论文,相关的提问和讨论也异常热烈 。
什么是AMA?AMA(Ask Me Anything)是由Reddit的特色栏目,你也可以将其理解为在线的“真心话大冒险” 。
AMA一般会约定一个时间,并提前若干天在Reddit上收集问题,回答者统一解答 。
本次Deepmind AMA的回答人是:David Silver:Deepmind强化学习组负责人,AlphaGo首席研究员 。
David Silver1997年毕业于剑桥大学 , 获得艾迪生威斯利奖 。
David于2004年在阿尔伯塔大学获得计算机博士学位,2013年加盟DeepMind,是AlphaGo项目的主要技术负责人 。
Julian Schritieser:Deepmind高级软件工程师 。
此前有多位机器学习界的大牛/公司在Reddit Machine Learning版块开设AMA,包括:Google Brain Team、OpenAI Research Team 、Andrew Ng and Adam Coates、Jürgen Schmidhuber、Geoffrey Hinton、Michael Jordan 、Yann LeCun、Yoshua Bengio等 。
我们从今天Deepmind的AMA中选取了一些代表性的问题,整理如下:关于论文与技术细节Q: Deepmind Zero的训练为什么如此稳定?深层次的增强学习是不稳定和容易遗忘的,自我对局也是不稳定和容易遗忘的 , 如果没有一个好的基于模仿的初始化状态和历史检查点,二者结合在一起应该是一个灾难...但Zero从零开始 , 我没有看到论文中有这部分的内容,你们是怎么做到的呢?David Silver:在深层增强学习上,AlphaGo Zero与典型的无模式算法(如策略梯度或者Q学习)采用的是完全不同的算法 。
通过使用AlphaGo搜索,我们可以极大改进策略和自我对局的结果 , 然后我们会用简单的、基于梯度的更新来训练下一个策略及价值网络 。
比起基于简便的基于梯度的策略改进,这样的做法会更加稳定 。
Q:我注意到ELO等级分增长的数据只与到第40天,是否是因为论文截稿的原因?或者说之后AlphaGo的数据不再显著改善?David Silver:AlphaGo已经退役了!这意味着我们将人员和硬件资源转移到其他AI问题中,我们还有很长的路要走呐 。
Q:关于论文的两个问题:Q1:您能解释为什么AlphaGo的残差块输入尺寸为19x19x17吗?我不知道为什么每个对局者需要用8个堆叠的二进制特征层来描述?我觉得1、2个层就够了啊 。
虽然我不是100%理解围棋的规则,但8个层看起来也多了点吧?Q2:由于整个通道使用自我对局与最近的/最好的模型进行比较,你们觉得这对于采用参数空间的特定SGD驱动轨迹对否会有过拟合的风险?David Silver:说起来使用表征可能比现在用的8层堆叠的做法更好!但我们使用堆叠的方式观察历史数据有三个原因:1)它与其他领域的常见输入一致;2)我们需要一些历史状态来表示被KO;3)如果有一些历史数据 , 我们可以更好地猜测对手最近下的位置,这可以作为一种关注机制(注:在围棋中,这叫“敌之要点即我之要点”),而第17层用于标注我们现在究竟是执黑子还是白子,因为要考虑贴目的关系 。
Q:有了强大的棋类引擎,我们可以给玩家一个评级——例如Elo围棋等级分就是通过棋手对局的分析逐步得出的,那么AlphaGo是否可以对过去有等级分前的棋手的实力进行分析?这可能为研究人类的认知提供一个平台 。
Julian Schritieser:感谢分享,这个主意很棒!我认为在围棋中这完全可以做到,或许可以用最佳应对和实际应对的价值差异或者政策网络给每一手位置评估得到的概率来进行?我有空的时候试一下 。

推荐阅读