Deepmind 最近发布了最新的论文公布了 AlphaGo 在算法方面的进展,以及扩展到其他领域的近用性。网络上对此讨论热度极高!这次 AlphaGo 负责人同时也是 Deepmind 深度学习组负责人 David Silver ,来到了美国一场在线问答活动回答网友们关于 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 上收集问题,回答者统一解答。
TO 编按:Reddit 其实讲白话一点,就是美国版的 PTT 啦!

本次 Deepmind AMA 的回答人是:

David Silver:Deepmind 强化学习组负责人,AlphaGo 首席研究员。David Silver 1997 年毕业于剑桥大学,获得艾迪生威斯利奖。David 于 2004 年在阿尔伯塔大学 (University of Alberta) 获得计算器博士学位,2013 年××× DeepMind,是 AlphaGo 项目的主要技术负责人。Julian Schrittwieser: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 问题中,我们还有很长的路要走啊。

关于论文的两个问题:

Q1:您能解释为什么 AlphaGo 的残差块输入尺寸为 19x19x17 吗?我不知道为什么每个对局者需要用 8 个堆栈的二进制特征层来描述?我觉得 1、2 个层就够了啊。虽然我不是 100% 理解围棋的规则,但 8 个层看起来也多了点吧?

Q2:由于整个通道使用自我对局与最近的/最好的模型进行比较,你们觉得这对于采用参数空间的特定 SGD 驱动轨迹对否会有过拟合的风险?

David Silver:说起来使用表征可能比现在用的 8 层堆栈的做法更好! 但我们使用堆栈的方式观察历史数据有三个原因:1)它与其他领域的常见输入一致;2)我们需要一些历史状态来表示被 KO;3)如果有一些历史数据,我们可以更好地猜测对手最近下的位置,这可以作为一种关注机制 (雷锋网注:在围棋中,这叫「敌之要点即我之要点」),而第 17 层用于标注我们现在究竟是执黑子还是白子,因为要考虑贴目的关系。

Q:有了强大的棋类引擎,我们可以给玩家一个评级——例如 Elo 围棋等级分就是通过棋手对局的分析逐步得出的,那么 AlphaGo 是否可以对过去有等级分前的棋手的实力进行分析?这可能为研究人类的认知提供一个平台。
Julian Schrittwieser:感谢分享,这个主意很棒!
我认为在围棋中这完全可以做到,或许可以用最佳应对和实际应对的价值差异或者政策网络给每一手位置评估得到的概率来进行?我有空的时候试一下。

Q: 既然 AlphaGo 已经退役了,是否有将其开源的计划?这将对围棋小区和机器学习研究产生巨大的影响。还有,Hassabis 在中国乌镇围棋峰会宣称的围棋工具将会什么时候发布?
David Silver:现在这个工具正在准备中。不久后你就能看到新的消息。

Q:AlphaGo 开发过程中,在系统架构上遇到的最大障碍是什么?
David Silver:我们遇到的一个重大挑战是在和李世石比赛的时候,当时我们意识到 AlphaGo 偶尔会受到我们所谓的「妄想」的影响,也就是说,程序可能会错误理解当前盘面局势,并在错误的方向上持续许多步。我们尝试了许多方案,包括引入更多的围棋知识或人类元知识来解决这个问题。但最终我们取得了成功,从 AlphaGo 本身解决了这个问题,更多地依靠强化学习的力量来获得更高质量的解决方案。

围棋爱好者的问题
Q:1846 年,在十四世本因坊迹目秀策与十一世井上幻庵因硕的 一盘对局 中,秀策下的第 127 手让幻庵因硕一时惊急两耳发赤,该手成为扭转败局的「耳赤一手」。如果是 AlphaGo,是否也会下出相同的一首棋?

Julian Schrittwieser:我问了樊麾(中国出生的法国职业二段 围棋 棋士),他的回答是这样的:当时的围棋不贴目,而 AlphaGo 的对局中,黑棋需贴 7.5 目。贴目情况不同造成了古今棋局的差异,如果让 AlphaGo 穿越到当年下那一手,很有可能下的是不同的另一个地方。

Q:从已发布的 AlphaGo 相互对局看,执白子的时间更为充裕,因而不少人猜测,7.5 目的贴目太高了(雷锋网注:现代围棋的贴目数也在不断变化,如在 30 年前,当时通行的是黑子贴白子 5.5 目)。
如果分析更大的数据集,是否可以对围棋的规则得出一些有趣的结论?(例如,执黑或者执白谁更有优势,贴目应该更高还是更低)Julian Schrittwieser:从我的经验和运行的结果看,7.5 目的贴目对双方来说是均势的,黑子的胜率略高一些(55% 左右)。

Q:你能给我们讲一下第一手的选择吗?ALphaGo 是否会下出我们前所未见的开局方式?比如说,第一手下在天元或者目外,甚至更奇怪的地方?如果不是,这是否是一种「习惯」,或者说 AlphaGo 有强烈的「信念」认为星位、小目、三三是更好的选择?
David Silver:在训练中我们看到 ALphaGo 尝试过不同方式的开局——甚至刚开始训练的时候有过第一手下在一一!即便在训练后期,我们仍然能看到四、六位超高目的开局,但很快就恢复到小目等正常的开局了。

Q:作为 AlphaGo 的超级粉丝,有一个问题一直在我心中:AlphaGo 可以让职业棋手多少子?从论文中我们知道 AlphaGo 可以下让子棋,我也知道 AlphaGo 恐怕让不了柯洁两子,但我想你们一定很好奇,你们是否有做内部测试?
David Silver:我们没有和人类棋手下让子棋。当然,我们在测试不同版本的时候下过让子棋,在 AlphaGo Master > AlphaGo Lee > ALphaGo Fan 这三个版本中,后 一个版本均可让三子击败前一个版本。但是,因为 AlphaGo 是自我训练的 ,所以尤其擅长打败自己的较弱的前一版本,因此我们不认为这些训练方式可以推广到和人类选手的让子棋中。

Q:你们有没有想过使用生成对抗网络(GAN)?
David Sliver:从某种意义来讲,自我对弈就是对抗的过程。每一次结果的迭代都是在试图找到之前版本的「反向策略」。

传言终结者
Q:我听说 AlphaGo 在开发初期被引导在某一个具体的方向训练以解决对弈中展现出的弱点。现在它的能力已经超过了人类,是否需要另外的机制来进一步突破?你们有做了什么样的工作?
David Silver:实际上,我们从未引导过 AlphaGo 来解决具体的弱点。我们始终专注于基础的机器学习算法,让 AlphaGo 可以学习修复自己的弱点。当然你不可能达到 100% 的完美,所以缺点总会存在。在实践中,我们需要透过正确的方法来确保训练不会落入局部最优的陷阱,但是我们从未使用过人为的推动。

关于 DeepMind 公司
Q:我这里有几个问题:在 DeepMind 工作是什么感受?AlphaGo 团队成员都有谁?你能介绍一下 AlphaGo 团队工作分配的情况吗?下一个重大挑战是什么?
David Silver:在 DeepMind 工作感觉好极了:)——这不是一个招聘广告,但我感觉每天可以在这里做我喜欢的事实在是太幸运了。有很多(多到忙不过来!哈哈)很酷的项目去参与。我们很幸运有许多厉害的人在 AlphaGo 工作。

Q: 你觉得本科生是否可以在人工智能领域取得成功?
Julian Schrittwiese:当然。我本人就只有计算器科学学士学位,这一领域变化迅速,我认为您可以从阅读最新的论文和试验中来进行自学。另外,去那些做过机器学习项目的公司实习也是很有帮助的。

关于算法的扩展和其他项目
Q:Hassabis 今年三月份在剑桥的一个演讲中表示,AlphaGo 项目未来目标之一是对神经网络进行解释。我的问题是:ALphaGo 在神经网络结构上取得了什么样的进展,或者说,对 AlphaGo,神经网络仍然是神秘的黑盒子?
David Silver:不仅仅是 ALphaGo,可解释性是我们所有项目的一个非常有意思的课题。Deepmind 内部有多个团队从不同方式来探索我们的系统,最近有团队发表了基于认知心理学技术去尝试破译匹配网络内部发生了什么,效果非常不错!

Q: 很高兴看到 AlphaGo Zero 的好成绩。我们的一篇 NIPS 论文中也提到了对于深度学习和 搜索树 之间效率的相似问题,因此我对于在更长的训练过程中的行为尤其感兴趣。
AlphaGo 的训练过程中,创建学习目标的蒙特卡洛树搜索的贪心算法、策略网络的贪心算法、以及在训练过程中价值功能变化的贪心算法之间的相对表现如何?这种自我对局学习的方法是否可以应用在最近的星际争霸 II API 中?
David Silver:感谢介绍您的论文!真不敢相信这篇论文在我们 4 月 7 日投稿的时候已经发布了。事实上,它与我们的学习算法的策略组件非常相似(尽管我们也有一个值组件),您可以参考我们的 方法和强化学习 中的讨论,也很高兴看到在其他游戏中使用类似方法。

Q:为什么早期版本的 AlphaGo 没有尝试自我对弈?或者说,AlphaGo 之前也尝试过自我对弈但效果不好?我对这个领域的发展和进步程度感到好奇。相比起今天,在两年前在设计一个自主训练的 AlphaGo 的瓶颈在哪里?今天我们见到的「机器学习直觉」又是经历了什么样的系统迭代过程?
David Silver:创建一个可以完全从自我学习的系统一直是加强学习(Deeplearning)的一个开放性问题。 我们最初的尝试包括你能查到的许多类似的算法,是相当不稳定的。我们做了很多尝试, 最终 AlphaGo Zero 算法是最有效的,而且似乎已经破解了这个特定的问题。

Q:你认为机器人甚么时候能够有效解决现实世界关于高度、尺寸方面的问题(例如,自己学习如何抓取任何形状、尺寸、位置垃圾的设备)?策略梯度方法是否是实现这一目标的关键点?
Julian Schrittwieser:这主要是由于价值/政策网络上的双重改进,包括更好的训练和更好的架构。体参见 TO 报导图 1 对不同网络架构的比较。

Q:据说击败柯洁的 ALphaGo Master 的功耗只是击败李世石的 AlphaGo Lee 的 1/10。你们做了什么样的优化呢?
Julian Schrittwieser:这主要是由于价值/政策网络上的双重改进,包括更好的训练和更好的架构。具体参见 TO 报导图 1 对不同网络架构的比较。(雷锋网按:你确认不是 copy 上一个问题的答案吗)

Q:看起来在增强学习中使用或仿真 Agent 的长期记忆是一个很大的障碍。展望未来,您觉得我们是否能以一种新的思维方式解决这一点?还是说需要等待我们技术可以实现一个超级网络?
Julian Schrittwieser:是的,长期记忆可能是一个重要的因子,例如在「星际争霸」游戏中,你可能已经做出了上千个动作,但你还要记住你派出的侦察兵。我认为现在已经有了令人振奋的组件(神经图灵机!),但是我认为我们在这方面仍有很大的改进空间。

Q:David,我看过你的演讲影片,你提到增强学习可以用于金融交易, 你有没有真实世界的例子?你会如何处理黑天鹅事件(过去没有遇到过的情况)?
David Silver:已经发表增强学习用于现实世界的财务算法的论文非常少见,但有一些经典论文值得一看,例如 Nevmyvaka、Kearns 在 2006 写的那篇和 Moody、Safell 在 2001 年写的那篇。

Q:你们和 Facebook 几乎同时研究围棋问题,你们能更快获得大师级表现的优势是什么?对于那些无法获得像 AlphaGo 如此多的训练数据的领域如何开展机器学习或者增强学习?
David_Silver:Facebook 更侧重于监督学习,我们选择更多地关注强化学习,因为我们认为 AlphaGo 最终将超越人类的知识。我们最近的结果实际上表明,监督学习方法可以让人大吃一惊,但强化学习绝对是远远超出人类水平的关键之处。