安妮 李林 发自 凹非寺
量子位 出品 | 公众号 QbitAI

昨天AlphaGo再次震惊所有人。

刚刚,这个史上最强围棋AI的两位主要开发者,David Silver和Julian Schrittwieser,做客知名网站reddit,展开一场超级问答AMA(Ask Me Anything)。

他们是谁?

 左:Julian Schrittwieser 右:David Silver

比较关注AlphaGo的朋友对其中一位应该不会陌生,David Silver是AlphaGo团队负责人,也是上一代AlphaGo的主要作者。从首尔到乌镇,都有他的身影。关于David Silver我们在之前报道黄士杰的文章里也有提及。

名字更长的Julian Schrittwieser,是这次新一代AlphaGo的三位并列主要作者之一,而且非常年轻。2013年,Schrittwieser本科毕业于奥地利的维也纳技术大学;同年9月,Schrittwieser加入DeepMind。

此前DeepMind关于AlphaGo和星际2的研究论文中,Schrittwieser也都有参与。

OK,背景交代到这里。

干货时间开始。

以下问答经过量子位(QbitAI)编辑整理。

最强AlphaGo是怎么炼成的

提问:深度强化学习本来就是出了名的不稳、容易遗忘,请问你们是如何让Zero的训练如此稳定的?

下图显示了在自我对弈强化学习期间,AlphaGo Zero的表现。整个训练过程中,没有出现震荡或者灾难性遗忘的困扰。

 引自AlphaGo Zero论文

David Silver:AlphaGo Zero所用的算法,与策略梯度、Q-learning之类的传统(无模型)算法完全不同。通过使用AlphaGo搜索,我们大大改进了策略和自我对弈结果,然后用简单的基于梯度的更新来训练下一个策略和价值网络。

这似乎比渐进的、基于梯度的策略改进要稳定得多,梯度策略可能会忘记之前的优化。

提问:为什么这次AlphaGo Zero就训练了40天?训练3个月会怎么样?

David Silver:我想这是一个人力和资源优先级的问题。如果我们训练了3个月,我想你还会好奇训练6个月会发生什么 :)

提问:看完论文我有个疑问,输入维度那么高好像完全没必要,AlphaGo的residual block输入维度为什么是19×19×17?我不太理解为什么每个玩家要用8个二值特征plane。

David Silver:实际上,不是只有8 planes这一种选择,用其他形式的表示可能也没问题,但我们用了观察值的堆叠历史,有三个原因:

  1. 这和其他领域,比如说玩雅达利游戏时的常见输入表示一致;

  2. 我们需要一些历史记录来呈现ko;

  3. 历史可以用来记录对手最近在哪落过子,这些信息可以当作一种注意力机制来用,比如说集中在对手认为重要的位置上,第17个plane记录的是我自己在用什么颜色,因为有贴目规则,这个信息也很重要。

提问:你们发了AlphaGo论文之后,网友们说里边的算法实现起来不难,但很难达到你们那个训练量;在计算机下象棋的圈子里,开发者们也没少复制其他程序的算法。你认为算法和数据哪个更重要?

Julian Schrittwieser:我认为还是算法更重要,比较一下新AlphaGo Zero和之前论文中的版本,新版效率有多高就知道了。另外,我认为我们在数据效率方面还能有更多提升。

提问:据说和柯洁对战的AlphaGo,计算力的消耗只有对战李世乭版本的十分之一。这中间做了怎样的优化,能简单说是AlphaGo的算法比之前提高了10倍吗?

(量子位注:和柯洁对战的AlphaGo Master,用了和Zero版一样的算法和架构,不同之处在于引入了人类对局数据和特征。)

Julian Schrittwieser:主要是因为改进了价值/策略网络,训练和架构都变得更好了,不同的网络架构之间的对比如下图所示:

提问:你们为什么一开始选择用人类对局数据来训练AlphaGo,而不是通过自我对弈来从0开始?还是当时也尝试了但效果不好呢?为什么会这样?我想知道,两年前设计一个完全自学的AlphaGo瓶颈在哪?

David Silver:创造一个完全自学成才的系统,一直是强化学习中的一个开放式问题。我们一开始尝试的方法,以及在文献综述部分提到的很多其他方法,都非常不稳定。我们做了很多实验,最终发现,AlphaGo Zero的算法是最有效率的,好像攻克了这个特定的问题。

提问:为什么在刚开始训练的时候也要每局下1600步?这时候应该都是随机的噪声吧……先快速下很多盘随机局,然后在网络训练得更好的时候,再进行更深的搜索不是更好吗?

Julian Schrittwieser:一开始少下几步可能也行,但在整个试验中保持统一是一种比较简明的做法。

提问:在输入特征上,用delta featurization可行吗?

Julian Schrittwieser:神经网络实在是很擅长用不同方式来表示同样的信息,所以,是的,我认为用delta featurization应该也行。

提问:你们有没有想过用生成对抗网络(GAN)?

David Silver:在某种意义上,AlphaGo的自我对弈训练已经有了对抗:每次迭代都试图找到上一代版本的“反策略”。

 左:Julian Schrittwieser 右:David Silver

为何成功者不是Facebook

提问:我听说在AlphaGo开发初期,你们在训练中人为向特定方向引导,来解决它在棋局中表现出来的弱点。现在它的能力已经超越人类认知了,会不会还需要人工调整,避免它落入局部最大化?你们有这个打算吗?

David Silver:实际上,我们从来没有为特定的弱点而人为引导过AlphaGo,而是一直专注于原则化的机器学习算法,让算法自己学会纠正自己的错误。

想找到围棋的最优解当然是不现实的,所以,弱点总是存在。在实践中,用正确的探索方法来保证训练没有卡在局部最优解中非常重要,但我们没有用上人为的引导。

提问:AlphaGo的研究中,最困难的是什么?

David Silver:我们遇到的第一个大挑战,是在跟李世乭比赛的时候。当时我们意识到,AlphaGo偶尔会产生“妄想”,也就是会系统地误判盘面情况,并且持续数手。我们尝试了很多想法来解决这个弱点。而引入更多围棋知识,或者人类元知识一直是种诱惑。

但最终我们取得了巨大的成功,彻底解决了AlphaGo的问题。我们用的方法是,更多的依赖强化学习的力量,让它自己找到更好的解决方案。

提问:AlphaGo在行棋时间安排上是怎么考虑的?

David Silver:我们实际上用了一个相当直接的时间控制策略,基于自我博弈中胜率的简单优化。当然可以应用更复杂的策略,性能也应该可以再提升一点点。

提问:NIPS论文Thinking Fast and Slow with Deep Learning and Tree Search也提出了和AlphaGo Zero类似的方法。

论文地址:https://arxiv.org/abs/1705.08439

David Silver:这的确和AlphaGo的策略算法很相似,不过我们还有个价值模块。以及要澄清一下,在AlphaGo Zero论文4月7日提交给Nature的时候,那篇NIPS论文还没公开。

提问:DeepMind和Facebook研究这个问题大概是在同一时间诶,是什么让AlphaGo这么拿到了围棋最高段位?

David Silver:Facebook更专注于监督学习,这是当时最厉害的项目之一。我们选择更多地关注强化学习,是因为相信它最终会超越人类的知识。最近的研究结果显示,只用监督学习的方法的表现力惊人,但强化学习绝对是超出人类水平的关键。

AlphaGo不开源,星际2还早

提问:你们有开源AlphaGo的计划吗?

David Silver:我们过去开源了不少代码,但是开源这个过程总是很复杂。在AlphaGo这个问题上,非常不好意思,它的代码库实在是过于复杂了。

提问:乌镇时说过的围棋工具什么时候发布?

David Silver:这项工作一直在推进,敬请期待 :)

提问:AlphaGo Zero还在训练么?未来还会有突破么?

David Silver:AlphaGo已经退役了!我们的人力和硬件资源,已经动身前往其他道阻且长的AI项目上了。

提问:AlphaGo Zero是最终版本的AlphaGo么?

David Silver:我们已经不再主动研究如何让AlphaGo变得更强,但它仍然是所有DeepMind同仁的研究测试平台,用于尝试新的想法和算法。

提问:与围棋相比,《星际2》有多难?AI打星际什时候能有新进展?

David Silver:前不久我们刚发布了《星际2》的环境,现在相关研究还在相当早期的阶段。《星际2》的行为空间显然比围棋大得多,需要监控的数据量也更大。从技术上来讲,围棋是一个完美信息博弈,而战争迷雾让星际变成不完美信息博弈。

量子位插播一个延伸阅读:

AI打星际2是怎么回事?快看看这段6分钟的视频讲解

关于AI研究

提问:AlphaGo在神经网络的可解释性方面有什么进展?

David Silver:可解释性对我们所有的系统来说都是有趣的问题,而不仅仅是AlphaGo。DeepMind内部正努力研究询问系统的新方式。最近,他们的研究已经发表出来,主要是从认知心理学出发,来尝试破译神经网络内部的情况。这项研究非常棒。

量子位插播一个延伸阅读:

DeepMind新论文:用认知心理学方法打开深度学习的黑箱

提问:似乎使用或模拟强化学习智能体的长期记忆是一个很大瓶颈。展望未来,你是否相信我们即将以一种新的思维方式“解决”这个问题?

Julian Schrittwieser:你说的没错,长期记忆确实是个重要因素。例如,在星际争霸的一场比赛中可能有上万个动作,另外还得记住你侦察到的东西。

我认为目前已经有了很一颗赛艇的组件,比如神经图灵机,但在这个领域,我们还将看到一些更令人印象深刻的进步。

提问:有没有强化学习(RL)用在金融领域的案例?

David Silver:很难在公开发表的论文中找到真实世界的金融算法!但是有一些经典论文非常值得一读,例如Nevmyvaka和Kearns在2006年发布的研究、Moody和Safell在2001发布的研究。

提问:不读研也能在人工智能领域大有作为吗?

Julian Schrittwieser:当然可以,我也只有计算机科学学士学位。这个领域发展很快,所以我认为你可以从阅读论文和运行实验中学习很多东西。在已经有过机器学习经验的公司实习是对你的成长应该很有帮助。

提问:怎样进入AI行业?我觉得“读个PhD然后找工作”好像是个挺明显的途径,但是最常见的路径不见得就是最好的吧……

Julian Schrittwieser:还有一种方法效果也不错:挑一个有意思的问题,训练很多神经网络,探索它们的结构,然后你会发现一些效果很好的部分,去发表一篇论文,或者去参加会议展示你的成果。

不断地重复这个过程。

这个圈子很好,会愿意给你反馈,你也可以通过arXiv了解最近的研究。

关于围棋

提问:现在国际象棋程序能给选手评分:通过棋步的分析,来推算Elo等级分。AlphaGo能在围棋上搞这个吗?

相关论文:https://www.cse.buffalo.edu/~regan/papers/pdf/ReHa11c.pdf

Julian Schrittwieser:这个想法很酷啊,感谢分享这篇论文!

我认为在围棋上也能做这样的事情,可能会通过计算最佳下法和实际下法之间的价值差异来实现,或者计算策略网络下出实际下法的概率。等我有时间试试这个。

提问:关于对局中的第一手棋,我想问,AlphaGo会有一些你从未见过的开局吗,比如10-10或5-3,或者走很奇怪的一步?如果没有这种情况,那是出于“习惯”,还是有强烈的信念,3-3、3-4和4-4是优越的?

David Silver:在训练中,我们看到AlphaGo探索了各种不同的动作——甚至在训练开始时下出过1-1!即使在经过一段训练后,Zero也尝试过下6-4,但很快又回到了熟悉的3-4。

Julian Schrittwieser:实际上,在刚开始训练AlphaGo Zero时,它完全是随机的,例如在图5的b部分中,你可以看到它实际上是在1-1点下出第一手!逐渐适应网络后,随着它变得更强大,它开始青睐4-4、3-4和3-3。

提问:现在AlphaGo能让顶级围棋选手几子?能让柯洁两子么?

David Silver:我们还没跟人类选手下过让子棋,我们想专注在整场的围棋比赛中。然而,在让子条件下测试不同版本的AlphaGo很有用。在Zero的论文中我们提到了各个版本的棋力:AlphaGo Master > AlphaGo Lee > AlphaGo Fan,每个版本都让三子击败了它的前一代。

值得注意的是,因为这些神经网络没有专门为让子棋训练过。此外,由于AlphaGo是自我对弈训练的,特别擅长打败自身较弱的版本。因此,我认为我们不能以任何有意义的方式将这些结果推广到人类的让子棋中。

提问:AlphaGo Zero会处理征子之类的问题吗?你们是怎样解决这类问题的?

David Silver:AlphaGo Zero并没有特殊的特征来处理征子,或者任何其他围棋中的特定问题。在训练早期,Zero偶尔会因为征子下满棋盘,就算它对全局有很复杂的理解也没用。但在我们分析的棋局中,经过完全训练的Zero能正确识别所有无意义的征子。

提问:已经发布的少量AlphaGo自我对弈棋局中,白棋胜率太高。是不是贴目应该降低?

Julian Schrittwieser:从我的经验和实验来看,贴7.5目非常平衡。我们只观察到白棋的胜率略高一点(55%)。

提问:你们认为AlphaGo能解《发阳论》第120题吗?(传说中的“死活题最高杰作”)

David Silver:我们刚才去问了樊麾,他说AlphaGo能解这个问题,但更有意思的是,它会不会找到跟书里一样的答案?还是能给出一个之前谁也没想到的解法?在AlphaGo的很多对局中,我们都看到了以人类经验无法想象的下法。

提问:迈克·雷蒙(Michael Redmond,首位非东亚裔围棋九段)认为AlphaGo会下出人类棋手不会有的恶手,而且学不会围棋定式(深度程序知识)。

David Silver:我相信AlphaGo的“恶手”只有在影响全局胜利时才是问题。如果结局仍然是稳赢,真的是很差的一招么?

AlphaGo已经学会很多人类的定式,也下出了自己的定式。现在职业棋手有时就在使用AlphaGo的定式 :)

提问:1846年,桑原秀策四段对弈幻庵因硕八段,其中著名的是第127手。AlphaGo怎么看这手棋?AlphaGo会怎么下?

Julian Schrittwieser:我不是围棋专家,但是我们问了樊麾,他说:

当年比赛的时候,还没有贴目这一说。现在,AlphaGo采用的都是贴7.5目的规则。贴目让对弈过程完全改变。至于第127手,AlphaGo很有可能会选择不同的下法。

提问:还会再和职业棋手下棋吗?

Julian Schrittwieser:我们五月份说过,乌镇那场就是AlphaGo的最后一次比赛了。

加入社群

量子位AI社群10群开始招募啦,欢迎对AI感兴趣的同学,加小助手微信qbitbot3入群;

此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。

进群请加小助手微信号qbitbot3,并务必备注相应群的关键词~通过审核后我们将邀请进群。(专业群审核较严,敬请谅解)

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI

վ'ᴗ' ի 追踪AI技术和产品新动态

最强AlphaGo怎样炼成?刚刚,DeepMind团队进行了全面解读相关推荐

  1. Deepmind AMA:关于最强ALphaGo如何炼成的真心话,都在这里了!

    本文讲的是Deepmind AMA:关于最强ALphaGo如何炼成的真心话,都在这里了!, 刚刚,Deepmind在Reddit的Machine Learning板块举办了在线答疑活动AMA,Deep ...

  2. AlphaZero炼成最强通用棋类AI,DeepMind强化学习算法8小时完爆人类棋类游戏

    [新智元导读]或许"智能爆炸"不会发生,但永远不要低估人工智能的发展.推出最强围棋AI AlphaGo Zero不到50天,DeepMind又一次超越了他们自己,也刷新了世人对人工 ...

  3. 【重磅】AlphaZero炼成最强通用棋类AI,DeepMind强化学习算法8小时完爆人类棋

    原文链接:点击打开链接 摘要: 或许"智能爆炸"不会发生,但永远不要低估人工智能的发展.推出最强围棋AI AlphaGo Zero不到50天,DeepMind又一次超越了他们自己, ...

  4. 【重磅】AlphaZero炼成最强通用棋类AI,DeepMind强化学习算法8小时完爆人类棋类游戏...

    2019独角兽企业重金招聘Python工程师标准>>> 世界最强围棋AI AlphaGo Zero带给世人的震撼并没有想象中那么久--不是因为大家都去看谁(没)跟谁吃饭了,而是Dee ...

  5. 【重磅】AlphaZero炼成最强通用棋类AI,DeepMind强化学习算法8小时完爆人类棋类游戏

    世界最强围棋AI AlphaGo Zero带给世人的震撼并没有想象中那么久--不是因为大家都去看谁(没)跟谁吃饭了,而是DeepMind再次迅速超越了他们自己,超越了我们剩下所有人的想象. 12月5日 ...

  6. 田永强:优秀的JavaScript模块是怎样炼成的

    转自:http://blog.jobbole.com/26101/ 引言:如今的JavaScript已经是Web上最流行的语言,没有之一.从GitHub上的语言排行榜https://github.co ...

  7. 南大匡亚明学院计算机方向,解密!南京大学“最强理科班”这样炼成……

    从南大少年班 基础学科教学强化部 到正式更名为 南京大学匡亚明学院 被称为"最强大理科班"的匡院 培养了一批批拥有宽厚学科基础的 高素质创新人才 如此"牛院"究 ...

  8. 商业分析能力是怎样炼成的?

    感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 对商业智能BI.大数据分析挖掘.机器学习, ...

  9. CV顶会最佳论文得主分享:好论文是怎么炼成的?

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 作者:胡瀚 |  已授权转载(源:知乎)编辑:CVer https://zhuanlan.zhihu.com ...

最新文章

  1. Jmeter性能测试 入门
  2. 压缩感知(II) A Compressed Sense of Compressive Sensing (II)
  3. MongoDB学习笔记~MongoDB实体中的值对象
  4. 【LeetCode】剑指 Offer 11. 旋转数组的最小数字
  5. 元宵节正月十五|设计师正需要的图片素材看这里
  6. Android开发笔记(九十四)图片的基本加工
  7. Mysql的去重distinct
  8. linux用户间文件互传,linux之间的文件互传-scp命令
  9. Qt打包发布程序,打包安装程序和打包为单个exe可执行程序,图文教程
  10. 如何处理条码打印机打出来是空白的故障
  11. matlab实现简单图形的识别二
  12. 计算机制作幻灯片视频教程,如何在电脑上制作幻灯片?
  13. 【0514 更新中】CVPR 2019 论文汇总 按方向划分
  14. 灵魂画手教你浅拷贝与深拷贝
  15. 6.JUC-共享模型之工具
  16. html创建一个四行三列表单,HTML(三)表格table与表单form的基本使用
  17. Closed Caption 和 Subtitle 的区别
  18. 基于java+SpringBoot+HTML+Mysql学生宿舍管理系统
  19. “逐渐失效”的摩尔定律
  20. 2019秋季PAT甲级考试总结:努力+策略+运气

热门文章

  1. java中不允许一个方法在自身定义的内部调用自己_Java面向对象三大特性(基础篇)...
  2. Java宝典app下载
  3. Java定时任务原理
  4. matplotlib 中文_看了这个总结,其实 Matplotlib 可视化,也没那么难
  5. u盘插入后计算机内没有选项,U盘插到电脑,无法读取,属性里面空间全是0是怎么回事?...
  6. python编写个人信息_1、纯python编写学生信息管理系统
  7. java函数ao活动对象_JS之预编译和执行顺序(全局和函数)
  8. 生产者消费者伪码_[线程同步]生产者消费者代码实现
  9. transform 的副作用
  10. 怎么用python分析数据_如何用python进行数据分析?