微信号:MSRAsia

介绍:专注科研18年,盛产黑科技

讲堂 | 邵斌:用符号学习生成精确、可解释模型

2018-04-27 17:10 邵斌



编者按:深度学习的运用常常能为我们解决很多难题,但深度学习的使用需要依托大数据的支持,所得出的模型一般也是不可解释的。在本月初的“微软AI讲堂”西安交通大学站上,微软亚洲研究院主管研究员邵斌向同学们介绍了符号学习的概念并比较了它和深度学习之间的区别,指出符号学习的优点在于它能够尝试从小数据集中找到数据的可解释规律。本文是此次演讲的文字精简版。


大数据时代,深度学习是一个非常神奇的“黑盒子”。在给它很多数据之后,它解决问题的能力有时甚至会超出人类预期,比如说在ImageNet计算机视觉挑战赛中,微软亚洲研究院的识别错误率在2015年已经低至3.57%,超过了人类的平均视觉水平。


当有了很多数据之后,我们往往会在第一时间想到使用深度学习,期望深度学习可以很好地把某个问题解决。实际上,能很好地被深度学习解决的问题都基于一个通用的学习范式——首先定义一个损失函数,然后尝试在收集到的数据上去最小化这个损失函数。粗略看,深度学习在做的事情如下:当收集到了与某个问题相关的数据后,我们用深度学习这个黑盒子对训练样本的输入和输出做一个映射,然后基于独立同分布的假设,我们期望这种映射在测试集上同样有效。



深度学习和符号学习的区别 


让我们从另一个角度来看数据建模这个问题。受限于各种各样的约束,我们能采集到的数据总是问题相关的所有数据中的一个子集。在不同时刻、不同场合采集到的数据肯定是不同的,而对于不同的数据,深度学习也会产生不同的模型。换言之,深度学习会对观察到的不同数据子集建立不同的模型,而不是尝试去寻找产生数据的系统背后的规律。


这就是我们今天要讨论问题的起点——我们能否设计一种自动化的方法去发现一个系统背后的规律,找寻一个现象背后更加本质的东西?我们把这个工作叫做符号学习(Symbolic Learning)。什么是符号学习?它的基本定义如下:符号学习是一种尝试发现数据样本间固有约束并建立可解释性模型的自动化计算方法。


对于深度学习,我们很多时候会想建立一个强大的模型。虽然一个很深的网络(比如152层的ResNet)会非常强大,但与此同时我们很难理解和解释它背后的道理。而符号学习有点像牛顿当年观察研究世界的方法。在收集到很多关于现实世界的数据后,牛顿得到了一套定律、方程和公式用来简洁、明了地刻画我们生活的这个物理世界。我们希望符号学习可以自动化地完成这个发现定律、生成方程和公式的过程。



深度学习强大、灵活。深度学习一个非常好的特点是其可训练性,它的问题适用性因此特别好。面对一个新问题,我们总是可以尝试几个常用的模型,用收集到的数据训练一下,然后检查它们是否工作。


深度学习在很多问题上都很成功,但是也有一些固有缺点。比如,它很难从非常少的数据里学习出一个好模型;另一个广为人知的缺点是深度学习建立的模型通常很难解释。


符号学习如何工作? 


为了弥补深度学习的不足,我们来尝试利用符号学习的方法,像物理学家一样从数据样本中挑选有用的数据并建立准确、可解释的模型。


我们把这里面用到的技术称之为主动式符号回归(Proactive Symbolic Regression)。利用该技术,我们希望能为观察到的数据找到一个紧凑而准确的数学模型。这个想法很简单,我们希望计算机能像一个物理学家一样处理我们采集到的数据!唯一不同的是物理学家靠人去处理数据,而我们希望这是一个自动化的、算法化的过程。我们拿中学物理课本上一个非常简单的力学建模问题举例:假设在一个牛顿力学系统里,有一个小车在运动。该系统有4个变量:初始速度v0、受力F、质量m和时间t。对于这些变量对应的每一组数值,我们都会采集到一个相对于初始位置的位移。在采集到多组数据之后,我们想得到一个力学公式或方程来准确描述我们观察到的物体运动。


理想情况下,一个智能的计算机程序可以像牛顿一样经过数据分析直接得到如下的数学公式:



一个可以用来求解该类问题的传统计算机技术是符号回归(Symbolic Regression)。对于一个给定的数据集,符号回归尝试寻找一个紧凑而准确的数学模型(通常为数学公式或方程)。符号回归的好处非常明显,它找到的模型通常准确、紧凑,同时人可以方便解读。但它面临的挑战也很明显,数学表达式空间是无穷无尽的。在这个无穷无尽的空间里,准确定位我们想要的数学表达式是一个非常难的问题。对于刚才的物理问题,采用目前最先进的符号回归软件(比如Eureqa)来做,经过大概十万次迭代之后,我们找到了一组从测试错误(测试错误已经在0附近)的角度来讲已经非常好的数学公式。但是,这些公式仍然不是那个完美的牛顿力学公式。我们可以让这个迭代寻找过程继续往下运行,在运行了几亿甚至几十亿次之后,它在很大概率上仍然无法找到上面所列的牛顿力学公式。符号回归就像大海捞针,它可以找到一个非常接近的表达式,但是想找到最准确的公式是非常困难的


问题来了,我们究竟能不能得到最终准确的公式?显然,物理学家是有办法做这件事情的。我们有没有办法从物理学家解决问题的过程中得到一些启发,让计算机自动来做这件事情呢?我们的理念不是先设立好一个模型,然后去做模型拟合,而是主动地选择数据去一点一点地构建想要的模型。



对于刚才这个例子来说,按照上面的指导思想,我们可以用如下的方式一点一点地构建公式:首先,我们尝试寻找只有一个变量变化的数据样本。比如,如果能够找到只有时间t变化的那些样本,这个问题就简化了很多。这个时候我们再拿传统的符号回归方法去做,很快就能找到准确的对应该变量的公式。注意,此时我们找到的公式只对应于我们主动选择出的一个数据子集。选择多个这样的数据子集,执行上述过程多次,我们就可以得到一个关于变量t的表达式模板:



其中,X0X1是两个未知的数值参数。类似的,对于v0F和m,我们也可以得到对应的三个表达式模板。这个时候,我们就有了如下图所示的4个表达式模板。然后,利用表达式树对齐和模式匹配,我们就可以把这4个不同的表达式模板合并成如图中红色表达式所示的表达式模板。现在,我们有一个表达式模板和两个未知的数值参数Y0Y1,同时有很多数据可以用来求解这两个未知参数。我们这时可以非常容易地计算得到我们想要的牛顿力学公式。



当然,不是在所有问题上符号学习都可以得到一个完美的公式。如果数据背后根本没有规律,我们就很难找到一个完美对应的数学表达式。大家也许看出来了,在我们可以主动选择数据的条件下,主动式符号回归需要的数据不多,也许只需要几个独立的样本点。当我们可以主动地跟环境做交互或者可以主动地做实验获得所需数据的条件下,符号学习的方法可以取得非常好的效果

这里,我并不是想说符号学习比深度学习更好。当我们面对一些很高维的数据,比如图片或文本时,符号学习的方法至少在目前阶段肯定不如我们神奇的黑盒子——深度学习。另一方面,对于某一些建模问题,符号学习能得到让人类更容易理解的模型。符号学习和机器学习是一种互补的关系:深度学习擅长构建模糊的、高维的隐式数据模型;而符号学习擅长构建精确的、可解释的显式数据模型



最后,我想告诉大家在可解释和不可解释之间并不存在一条泾渭分明的分割线。



上图的左边是一个深度神经网络模型,非常简单;右边是一个真实存在的物理公式。我们很难说右边的公式比左边的神经网络模型更容易理解和解释。对于一个神经网络来说,当它的模型简单到只有几个节点的时候,其实就是一个简洁的数学公式,人们甚至可以搞清楚每一维度所代表的含义。而右边这样一个数学表达式,对于我们普通人来说,是非常难理解和解释的。


谢谢大家!


作者介绍


邵斌博士,微软亚洲研究院机器学习组主管研究员。主要研究领域包括机器学习、并行图处理、分布式系统和内存数据库等。邵斌博士于2010年加入微软亚洲研究院,负责微软图数据处理引擎项目(Microsoft Graph Engine)。研究结果发表在SIGMOD、VLDB、ICDE、TPDS等相关领域顶级会议和期刊上。


你也许还想


 讲堂| 刘铁岩:人工智能的挑战与机遇

 讲堂|CMU计算机学院院长:未来24个月,机器学习领域将可能有哪些重大突破

 研究|对偶学习:一种新的机器学习范式



感谢你关注“微软研究院AI头条”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。



 
微软研究院AI头条 更多文章 微软亚洲研究院携手东方海外航运,以人工智能推动数字化转型 书单 | 深入了解以太坊,就从这本书开始 不只是高大上,AI也想让传统农业焕发生机 没有AI芯片,你的手机也能实现离线神经网络机器翻译 人工智能为听障学生打造全新课堂
猜您喜欢 浅谈异常处理机制 IOS入门丨初学怎么入门 “倾心育桃李 感恩教师节”致最可爱的千锋讲师们 通用Web&Native交互协议设计方案 技术人也能开心工作快乐赚钱 | 专访+活动