来源:新智元
本文约2400字,建议阅读10+分钟
AlphaZero下棋和人类下棋究竟有什么区别?是否掌握了一些人类未曾了解过的知识?


[ 导读 ] AlphaZero下棋和人类下棋究竟有什么区别?是否掌握了一些人类未曾了解过的知识?DeepMind最近携手国际象棋世界冠军发69页论文,深度解剖AlphaZero后发现,神经网络学到的知识和人类基本相似!

机器学习系统通常被认为是不透明的、不可预测的,和人类所接受的训练几乎没有任何共通之处。

难道,黑盒模型和可解释性的学习注定是两条路?

但最近有研究表明,至少在某些情况下,神经网络能够学习到一些人类可理解的表征!

例如分类器中的单个神经元可以表示一些语义信息,语言模型中也包含语法信息,在视觉和文本数据的对齐数据中也能发现一些复杂的概念表示,这些神经网络学到的概念都和人类接受的概念训练相关。

但还有一个问题,这些学习到的概念是通用的吗?我们是否也希望其他深度学习的系统具有类似的有意义的表示?

如果这些问题的答案都是没有的话,那么一些关于反映模型计算过程可解释性的研究将受到种种限制,并且很难找到其他合理的方法来解释。

虽然上面提到的几个例子能一定程度上能展现机器学习模型能够理解人类的语义,但本质上是因为它们只能接触到人类生成的数据,并且在分类任务中是将人类的类别概念强加给模型才导致它们能捕捉到类别语义。

或者说,这些任务也相对简单,解释起来也更加容易。

为了进一步测试机器学习模型是否真正获取到了人类可理解概念(human-understandable concepts),需要找到一个在没有使用人类标签数据的情况下,表现出超越人类表现的模型。

这不巧了吗?AlphaZero就同时满足这两个要求。

首先,AlphaZero是通过self-play的方式训练的,所以从未接触过人类数据,并且它在国际象棋,围棋和将棋(Shogi)这三项竞技游戏上借助蒙特卡洛树搜索成功战胜人类。

所以AlphaZero就成了研究机器学习模型和人类理解之间关系的一座重要桥梁,如果AlphaZero中能找到人类可理解的概念,那其他模型应该也会有!

说干就干!

DeepMind、Google Brain的研究人员携手国际象棋世界冠军共同打造了一篇长达69页的论文,主要研究了像AlphaZero这样的超越人类的神经网络模型正在学习什么,这是一个既科学又实用的问题。

在论文中研究人员证明了人类获取知识和AlphaZero在国际象棋中获得的知识都是相似的。并通过对大量人类关于国际象棋的概念的探索,还可以观察到其中一些概念在AlphaZero网络是如何表示的。

论文链接:

https://www.zhuanzhi.ai/paper/f1b1a4f49ac4efba8e1d5ab8c8b06517

论文中邀请到的国际象棋大师是弗拉基米尔·克拉姆尼克(Vladimir Kramnik),俄罗斯著名国际象棋手,1992年获特级大师头衔。2000年至2007年,是国际象棋世界冠军。他的等级积分为2801分,世界排名第四(活跃选手排名第三)。

研究方法主要分为三个方面:

一、概念的探测(Probe of Concepts)

研究人员的首要任务是研究AlphaZero的内部表征,即其神经网络内神经元的激活(activation)情况是否与人类关于国际象棋的概念相关。

如果从网络的内部表示可以很容易地预测人类概念,那么通过深入研究来揭示更多的信息也是有可能的。如果学习到的表征与人类概念没有关系,那么AlphaZero的内部计算在进一步研究后可能仍然不透明。

基于概念的方法就是在一个大的输入数据集上从网络激活中检测人类概念。因为国际象棋经过多年的发展,已经是高度理论化了,所以已经有大量现成的人类定义过的概念可以使用,并且这些概念也足够复杂。而所有这些概念结合在一起就能够得到一次完整的位置评估(position evaluation)。

此外,整个探索过程是自动化的,因此研究人员可以在self-play训练中探索每个概念、每个区块和多个检查点,从而能够建立一个学习内容的蓝图。

当然,基于概念的方法远远不是理解神经网络计算的唯一方法,

二、研究行为变化(Study behavioural changes)

在研究了内部表征如何随着时间的推移而变化之后,自然要研究这些变化的表征是如何导致行为变化的。

在训练过程中,有些动作(move)优先于处于相同位置的其他动作,这种偏好会随着训练进程而发展。

当AlphaZero在没有蒙特卡罗树搜索(MCTS)的情况下运行时,行为变化仅限于其先前动作选择概率的变化。通过测量一组棋局某一手的动作概率变化能够发现模型行为的变化,并将self-play训练中的游戏演变与高级人类游戏中运动选择的演变进行比较。

三、直接研究激活(Investigate activations directly)

在确定了许多人类概念可以从AlphaZero的训练后激活中预测出来后,就可以开始研究这些网络神经元的激活究竟是什么情况了。

研究人员使用非负矩阵因子分解(NMF)技术将AlphZero的表征分解为多个因子。这种方法提供了与现有人类概念无关的信息,也提供了AlphaZero网络计算内容的补充视图。

直接测量单神经元激活和输入之间的协方差也是一种方案,这种方法能够提供输入特征的组合,找到哪些特征的存在与给定神经元的激活最相关。

最后研究结果发现:

许多人类的概念都可以在AlphaZero网络中找到。

研究人员证明了AlphaZero网络的国际象棋内部学习表征可以用来可靠地重建许多人的象棋概念。采用概念激活向量(CAV)的方法,通过训练稀疏线性探针来处理更广泛的概念。这也表明相关信息是由AlphaZero网络计算的。

结果还表明,虽然AlphaZero的象棋知识似乎与人类的概念探针密切相关,但它们之间确实存在差异,因为重建往往是不完整的。

通过使用概念探针方法论(concept probing methodology),可以衡量训练过程中以及网络中每个层相关信息的出现情况,这也能够绘制出一副模型何时何地发现什么概念的一副画面。

研究人员还发现,许多概念在训练的早期就出现惊人的一致性,AlphaZero的动作选择也会迅速发生变化。

概念的使用和相对概念值(Use of Concept and Relative concept value)侧重于描述 AlphaZero值函数随时间的演变。

研究人员再次使用了一种基于概念的方法试图预测一组人类概念的价值函数的输出。通过研究训练过程中概念权重的演变,可以看到AlphaZero的行为如何与高水平的人体象棋概念相关,这也是其下棋风格(style)的一种展现。

可以发现,早期的AlphaZero训练主要集中在材料(material)中更复杂和微妙的概念。如King Safety和Mobility,作为价值函数的重要预测因素,在训练过程较晚中才会出现。

分析表明,人类下棋的发展过程和AlphaZero既有相似之处,也有差异。AlphaZero并没有回顾人类下棋的发展历程,而是从一些招式直接开始训练。但在self-play策略上,人类和AlphaZero基本是相似的。

也许,神经网络的发展终于到了要揭开黑盒的时候了,看一看到底是不是和生物学神经相同!

参考资料:

https://www.zhuanzhi.ai/paper/f1b1a4f49ac4efba8e1d5ab8c8b06517

编辑:黄继彦

校对:龚力

DeepMind发69页长文掀开AlphaZero的黑盒:神经网络学到的知识和人类基本相似!相关推荐

  1. 华人博士发127页长文:自然语言处理中图神经网络从入门到精通

    图不但包含数据,也包含数据之间的依赖关系,因而图神经网络(GNN)在自然语言处理(NLP)方面的表现有着非常大的潜力.近期,一位华人博士团队便针对这些研究发表了一篇非常详尽的综述. 图是一种可用来描述 ...

  2. 【论文速递】9位院士Science88页长文:人工智能的进展、挑战与未来

    [论文速递]9位院士Science88页长文:人工智能的进展.挑战与未来 [论文原文]:Intelligent Computing: The Latest Advances, Challenges a ...

  3. 深度卷积神经网络演化历史及结构改进脉络-40页长文全面解读

    导言 从1989年LeCun提出第一个真正意义上的卷积神经网络到今天为止,它已经走过了29个年头.自2012年AlexNet网络出现之后,最近6年以来,卷积神经网络得到了急速发展,在很多问题上取得了当 ...

  4. 第69页的gtk+编程例子——工具提示

    以下gtk+编程例子是来自书籍<实用技术:开发Linux应用--用GTK+和GDK开发Linux图形用户界面应用>第69页的内容--工具提示,当鼠标停留在某个构件上几秒就会出现文字提示,书 ...

  5. 谷歌40人发表59页长文:为何真实场景中ML模型表现不好?

    文 | 白鹡鸰 编 | 夕小瑶 ~前不久,在卖萌屋NLP群里默默潜水的白鹡鸰被群友提到的一篇Google几天前放出的59页超长论文炸得飞了起来. 来,大家来感受一下气势浩大的论文首页 文章名字是Und ...

  6. 编写完10万行代码,我发了篇长文吐槽Rust

    机器之心编译 机器之心编辑部 存在一种完美的编程语言吗? Rust 语言因其并发安全性而深受众多开发者的喜爱,曾在多个榜单上获评最受欢迎编程语言.然而,现在有人花费大量时间编写 10 万行 Rust ...

  7. DeepMind 发了篇论文,把我看笑了

    文 | severus 近日,曾开发出举世瞩目的 AlphaGo 的 DeepMind,在 ArXiv 上发表了一篇文章,名为: Meaning without reference in large ...

  8. 深度报告(69页附下载)| 蜂窝车联网(C-V2X)技术与产业发展态势前沿报告2020-中国通信学会

    建议PC端阅读,下载完整PDF全文, 请关注本公众号后台回复" 201207 " 下载 免责声明 本订阅号发布的内容并非投资决策服务,在任何情形下都不构成对接收本订阅号内容受众的任 ...

  9. SQL发HTML页脚怎么写,SQL Server中发送HTML格式邮件的方法

    sql server 发送html格式的邮件,参考代码如下: DECLARE @tableHTML NVARCHAR(MAX) ; -- 获取当前系统时间,和数据统计的时间 set @d_nowdat ...

最新文章

  1. [JSOI2007]建筑抢修
  2. 在Tomcat上挂载预下载文件的方法
  3. 二进制包方式安装部署三节点k8s
  4. 一篇文章教你学会使用SpringBatch 监听器Listener
  5. Nacos配置管理-Nacos实现配置管理
  6. leetcode 155. 最小栈(常数时间获取最小值,需要维护两个栈)
  7. 07-对图像进行膨胀操作
  8. Cocos2d-x学习笔记(17)(TestCpp源代码分析-1)
  9. Base64转BufferedImage
  10. clousx6机器人怎么导入词库_clousx6
  11. marlab中主成分得分怎么求_考试后,学生怎么做试卷分析?
  12. python done()什么意思_turtle.done()的作用是什么
  13. python计算ln与log,python计算以e为底的对数
  14. html传参,css接受?What 弄啥嘞?
  15. Java面向对象05:创建对象的内存分析成员变量和局部变量的内存分析
  16. php linux unoconv,Linux-CentOS 安装 Unoconv
  17. 碧蓝航线内部表情包(有爱自取)
  18. 沟通的艺术:看入人里,看出人外
  19. 查查自己五行属什么命
  20. 【Cocos2dx】飘字特效与碰撞检测

热门文章

  1. c语言自动转化,C语言编程之自动类型转化
  2. Oracle 用Drapper进行like模糊传参查询需要在参数值前后带%符合
  3. 如何给变量取个简短且无歧义的名字
  4. 关于微信的jsapi_ticket的获取方法;
  5. CSS Float(浮动)
  6. HBase解决Region Server Compact过程占用大量网络出口带宽的问题
  7. BW标准数据源初始化设置
  8. [翻译完成] Pi+Raspbian+CGMiner+TightVNC+WIFI五合一矿机超级教程
  9. IronRuby - 如何在VS2010下调试IronRuby代码
  10. .NET技术 ASP.NET中常用的文件上传下载方法(多文件上传)