集智科学家张江解析:为什么复杂性需要深度学习?

雷锋网(公众号:雷锋网)按:本文来自北京集智俱乐部。作者张江,北京师范大学系统科学学院副教授,集智俱乐部创始人、现任主席、集智科学家,腾讯公司腾云智库成员。

尽管复杂性科学一直在追求一大类终极问题的答案,如生命的起源、复杂性的起源等。但其实它的发展完全是研究方法驱动的。例如在计算机出现之前,人们是用哲学思辨和数学方程来研究复杂系统;到了90年代,圣塔菲学派兴起,多主体仿真、复杂自适应系统方法席卷了各个研究领域;2000年以后,复杂网络崛起,小世界和无标度以及各式各样的网络分析渗透到了复杂性研究的各个角落;到了2010年以后,基于大数据的复杂性研究和计算社会科学(computational social science)开始兴起。那么,站在2016年的末端展望未来,下一波的热潮将会是什么呢?有没有可能是引领工业界革命的深度学习技术呢?

实际上,将深度学习技术引入复杂性科学研究已经有了大量的研究案例。例如,最近Science上发表了一篇“用遥感和卫星数据结合来预测贫困”的研究就是一个很好的典范1。来自斯坦福大学的一个团队利用深度学习技术成功预测了非洲地区的贫困,这一研究不仅解决了困扰了社会学家们数十年的大问题,而且也打开了深度学习方法渗透进社会复杂性研究的一个新窗口。

用深度学习预测贫困

用深度学习和遥感数据预测非洲贫困的Science文章(左),以及同期刊登的评述文章

问题的背景是这样的:非洲的贫困问题长期得不到解决,这并不是因为缺乏来自发达地区的资助,而是因为没有精确的贫困数据。这就使得对非洲的大量投资没有达到需要救助的地区,而全部落入了富人和贪官的腰包里,从而导致了更大规模的贫富差距。于是,人们想到了利用卫星拍摄到的夜光数据来预测地区的贫困,因为越富有的地区,通常夜间灯光的亮度也越高。

但是,这个结论反过来却不成立,并不是说越贫穷的地区灯光越暗。事实上,研究人员从一片黑色区域中完全区分不出无人居住的沙漠,还是贫困得连灯都用不起的村庄。怎么办呢?

图1 复杂的训练管道,上面的流程为输入一块区域的卫星遥感数据,来预测同一区域的夜光明亮度,从而训练一个卷积神经网络以获得遥感数据中的特征。下图所示为:将卷积神经网络进行迁移,再配合上少量的贫困调查数据作为标签,训练一个普通的神经网络。最终卷积神经网络+普通网络就可以根据输入图片来预测地区贫困。摘自:文献2

斯坦福的这个研究团队巧妙地将另一种高精度、高质量的卫星遥感图像数据训练一个深度卷积神经网络(Convoluational Neural Network, CNN),以预测同区域的夜光数值大小。但这样做的目标并不真的为了预测夜光,而是为了提取遥感图像数据中的特征(例如街道、屋顶等)。然后,再利用这些特征作为输入,以及少数采样点的贫困调查数据作为标签,一起来训练一个普通的神经网络。最终,喂给这个网络一张街景地图,它就可以高精度地预测该地区的贫困程度。就这样,这个组使用了非常先进的迁移学习技术,以及复杂的机器学习训练管道(pipeline),对局部贫困程度进行了较高精度的预估(如图1)。

深度学习与多主体建模

多主体建模是复杂系统一种非常普遍而有效的研究方式。我们将系统理解为大量个体遵循简单的相互作用规则而形成的整体。例如,当我们分析人群的集体行为时,可以对每一个个体人建立模型,并假设它们都遵循极其简单的相互作用规则(如社会力模型3)。然后,我们在计算机中再造这群人的计算机仿真程序,从而模拟出人群的运动轨迹。

社会力模型的模拟程序

尽管这种思路的确可以逼真地模拟复杂系统,但是所有的模型规则和参数几乎全部是模型构建者拍脑袋决定的。这就使得模型的准确性和可信赖程度大打折扣。

我们知道,实际上,现在的城市公共空间装满了各种各样的摄像头。大量的人群运动轨迹被记录在了视频里。那么,我们能不能自动地将视频中的个体人的运动轨迹提取出来,训练我们的主体模型,从而得到极其逼真的人群运动模拟呢?

来自清华大学自然语言处理和深度学习的一个团队就做了这样的尝试。他们为人群运动视频中的每一个人构建了一个LSTM模型(long short time memory,一种特殊的循环神经网络RNN模型,被人们大量地用于自然语言处理和机器翻译),通过自动提取视频中每一个人的运动轨迹作为训练数据,构建了能够准群预测人群运动状态的深度学习模型4。

每一个Agent的LSTM模型,该图引自:参考文献4

该模型不仅可以预测每个人的运动轨迹,同时,它还可以自动为人群的集体运动状态进行分类和识别,以便预警人群的恐慌状态,防止踩踏的发生。也可以用来快速识别突发事件。

类似的,来自英国Sheffield大学和美国哈佛大学的一个团队尝试用对抗式机器学习的方法,让机器通过模仿自动建立多主体模型5。他们将自制的小机器人分成了三组,一组是被模仿对象,它们会按照事先指定的规则进行复杂的运动;一组是模仿者,它们会混到第一组机器人之中模仿它们的运动行为,从而尽可能地骗过辨别者的法眼;第三组是辨别者,它的任务就是区分这些机器人谁是模仿者,谁是被模仿对象。最终的效果是,随着辨别者识别准确度的提高,模仿者的模仿行为也会越来越逼近被模仿者。于是,我们便可以利用训练好的模仿者搭建一个逼真的多主体模型,来对被模仿者群体进行模拟。

尽管这些研究仍处于实验室阶段,但是我们不难想象,未来的人工智能将可能通过深度学习自动提取主体的运行规则,从而构造大规模的模拟程序。那个时候,我们将有可能更加逼真地模拟多个体的复杂系统,并在其上进行规划或政策仿真。

复杂网络中的深度学习

为什么深度学习如此厉害?不同的人会给出不同的答案。

因为它有很深的神经网络层次——一个初学者大概会如是说;

因为它可以学习超大规模数据——一个了解深度学习的行业从业人员大概会这么说;

因为深度学习技术可以自动从数据中提取特征——一个深入理解深度学习的科研人员大概会这么回答。

没错,深度学习的本质并不在层次有多深,数据规模有多大,而在于它自动提取特征的能力。

什么是特征?长度、宽度、颜色、质料、形状,等等都是特征。然而,它们全部是人为定义的。假设一种生活在频率世界之中的生物体,它大概很难看到一个物体的长度和体积。所以面对超大规模的数据,我们凭借肉眼已经很难提炼特征了,必须把这种能力赋予机器,这才是深度学习的本质。

在现代的复杂系统研究中,复杂网络已经成为了一种标准的通用描述语言。那么我们怎样用深度学习的方式自动提取大规模网络数据特征呢?

我们知道,复杂网络无非就是由点和连边构成的整体。节点或连边的特征自然就是由它所在的网络环境(上下文)所决定的。只要我们将每一个点赋予一个n维向量,就得到了整个网络的嵌入(n维空间中的一团点云)。

我们可以把语言中出现在同一句话的单词彼此相连构成一个所谓的“共现网络”,这样,每一个词就是一个节点,连边就表示同时出现。对于这种网络,2013年,Google的Miklov开创性地提出了一种用向量表示英语单词的做法,叫做Word2Vec6。通过扫描大量的文本数据,Word2Vec可以快速、高效地为每一个单词构造一个向量,即n维空间中的一个点。

相似的单词,例如红与粉在空间中会彼此靠近。更有趣的是,同一种意思的单词在不同语言的空间嵌入中具有相似的位置。例如,如果我们分别用英语和法语进行训练,那么1,2,3……等数字会在两套向量表示下具有相似的位置。如图所示:

分别用纯英文(左)和纯法文(右)的语料训练Word2Vec得到的向量表示。我们会看到,英语的one,two,three……的位置以及对应的法语单词的位置非常相似。与此类似,哺乳类动物在两种语言的嵌入中也具有相似的位置(下面两幅图)。

Word2Vec中涌现的向量差关系:,其中蓝色的向量(深蓝和浅蓝)都表示用Word2Vec学习得到的单词向量。它们彼此之间的差向量(红色箭头),表达了最高权力关系也近似相等

更让人震惊的是,单词之间的关系也可以自动地被Word2Vec学到,如上图这个著名的公式:v(男人)-v(女人)=v(国王)-v(王后),其中v(x)表示x这个单词的词向量。也就是说,机器会自己学习到男人相对于国王相当于女人相对于王后。所以,除了将每个单词进行向量表示以外,Word2Vec还可以隐式地学习到“最高权力”这种抽象关系。

与此类似,很多概念之间会存在着上下位的层级关系。例如,“动物”就是“昆虫”的上位词,而“昆虫”又是“蜻蜓”的上位词。我们用这些单词的向量表示分别做减法,就可以用差向量来表示这种抽象的关系9。如图:

Word2Vec学习得到的词语之间的层级关系:首先让Word2Vec学习大量的中文语料,这样每个单词会对应一个表示(蓝色的点)。其次,我们寻找所有的上下位词层级关系,比如工人与木匠,或者运动员与足球运动员,并将它们的向量表示分别相减得到了上下位词的差向量。我们发现,这些差向量如果是同一种类别的话,比如工人-木匠,以及工人-园丁,则非常相似。所以,Word2Vec学习得到的向量表示蕴含了一种关系表示。该图摘自:参考文献9

然而,这种蕴含的关系表示并不十分明确,存在着很大的误差。于是,人们想出了各种方法来改进,其中一种比较彻底的方式是,将所有的名词实体和各种关系(包括上下位、同义词等)分别嵌入到不同的空间(即实体空间和关系空间),这样可以更全面、更准确地来表达它们10。

与此类似,我们还可以用这种方法处理其它的不同网络。

利用与Word2Vect类似的DeepWalk算法10得到的“跆拳道俱乐部”(左侧)网络的嵌入(右侧)。其中节点是人,连边是好友关系。在这个俱乐部中,存在着4个相对独立的社团,分别被标注了不同的颜色。摘自参考文献7

得到这些向量表示又有什么用呢?它的用途有很多,例如,通过向量表示可以发现节点之间的聚类,我们只要将表示空间中彼此靠近的节点划分为一类就可以,如下图:

该图是将带参数的网络嵌入Node2Vec算法在两种不同参数条件下用于同一个网络(上、下),并根据向量表示做聚类分析后得到的可视化效果。其中同一种颜色对应同一种聚类。上图得到的聚类是网络的社团划分。下图的聚类得到的却是生态位(叶子节点、桥接节点以及中心节点)的划分。摘自文献8

 更重要的是,这些花样繁多的向量表示解决了每个节点的特征描述问题以作为节点分类和预测问题的基础。一般情况下,节点的向量表示就是机器自发学习出来的节点特征,该特征反应的是每一个节点所在整个网络之中的生态地位。

于是,根据机器学习得到的特征,运用神经网络技术,我们便可以进行节点的分类与预测了。我们可以通过社交网络识别哪一个节点更可能是恐怖分子。我们也可以根据一篇文章在引文网中的地位预测它是否可以获得诺贝尔奖提名,等等。

图卷积神经网络

我们知道,现在的深度学习技术最主要的突破其实都是在图像识别领域和自然语言领域。从技术上讲,图像属于一种静态的二维数组,而自然语言实际上可以看做一种时间上的符号序列。它们都有非常标准的数据结构。

但是,网络或者图,却是一种介于二维数组和一维序列之间的不规则数据类型。我们不能把网络看做图像,因为网络的节点之间没有图像的像素之间那样规整的邻域关系。我们同样不能把网络看做是一维的节点和连边序列,因为我们任意颠倒节点之间的顺序,却对应的是同一张网络。

于是,问题来了。既然深度学习可以在图像识别以及自然语言处理中大展身手,那么是否也能在复杂网络的相关任务中崭露头脚呢?

具体的,让我们考虑这样一种所谓的图分类问题(Graph classification problem)。如果我给你一张网络,没有任何其它辅助信息,你能不能告诉我它属于哪一类?是社交网络还是生物网络?是无标度网还是小世界网?这个问题有什么实际背景呢?我们知道,复杂网络可以看做是复杂系统的骨架(backbone),那么当我们处理不同的复杂系统时,我们便可以通过它们的骨架来进行识别、分类和预测。比如,我们可以将一个社群的社交网络看做社群的骨架,那么我们就能否根据它预测网络的运行状况;再比如,如果将一个国家的投入产出网看做是国家经济系统的骨架,那么我们就能给国家的产业结构进行“诊脉”。

这些问题的背后需要一种新的突破,它在5年前刚刚开始萌芽,这就是图卷积神经网络技术(Graph convolutional neural network,GNN)11。该套技术通过扩展基于图像的卷积神经网络(Convolutional neural network,CNN),来处理大量的网络数据。并有可能达到和CNN同等的精确程度。

GNN模型的架构,类似于图像处理中的CNN,GNN可以对一个网络进行卷积操作,并做粗粒化,从而实现多层信号处理,摘自文献12

在很多文献中,人们不仅用CNN来识别图像,更多的是用它来提取图片中物体的特征。例如在前面讲述的用卫星遥感图像预测贫困的工作中,研究者用CNN的最主要目的是提取出图像中屋顶、道路等特征。有了这些机器自动学习得到的特征之后,我们便可以将学好的网络用于各种领域。例如,我们可以将CNN和LSTM结合,从而实现 “看图说话”;将CNN配上强大的强化学习,就能实现让计算机和人类一样看着视频打游戏;将CNN配上强大的蒙特卡洛搜索,就能实现战胜人类大师的AlphaGo。

与此类似,一旦GNN技术实现突破,那么我们就真的可以通过网络来对宏观复杂系统进行诊脉。城市的规划很糟糕吗?让我们利用GNN扫描一下城市的道路网络,就能给城市规划打分;美国和中国的金融市场哪一个更容易崩盘?让GNN扫描一下它们各自的股票相关网络就能给出答案;今天Facebook的心情如何?让GNN扫描一下社交网络就能给出类似这样的描述:“今天的Facebook心情很糟,因为微信又挖走了五千万用户……囧”。

展望

复杂系统需要深度学习吗?我的回答当然是需要。这是因为深度学习可以自动化提取对象中的隐藏特征,这将结束几十年来复杂性科学家手工发明特征指标的历史。人类的智慧虽然闪烁着灵光,但面对庞大的数据,人工智能还是更胜一筹。一旦GNN、网络嵌入等技术获得突破,所有的特征发现就全部变成了自动化流水线,我们便可以站在一个更高的层次来理解复杂系统。

深度学习在图像领域中的大量突破告诉我们,一旦机器可以学会自动提取特征,我们就可以以一种人类难以想象的精准度来进行预测和识别。例如,现在深度学习在人脸识别的准确率已经高达99%了,而人类的准确率也仅仅只有97%。所以,在未来,精确地认识、调控复杂系统并非完全不可能。

而更有意思的是,当我们把深度学习和传统技术,包括多主体模拟、系统动力学相结合,就可能实现对复杂系统的自动建模。我们可以设想这样一种机器,你只要不断地喂给它大量的数据,它就有可能自动吐出来一个多主体模型,并告诉你精确调控系统的方案。如果能实现这一步的话,人工智能就真的可以管理社会了。

然而,反对论者批评深度学习是一个黑箱模型:尽管它可以很好地工作,但我们人类仍然无法理解。这就好像中医看病,完全凭借老医师的个人经验和感悟,无法给你一套符合西医科学标准的解释。但是,也许复杂系统就需要这种中医式的思维方式。因为就像小蚂蚁无法理解蚁群的行为一样,超级复杂的相互作用关系也许压根就不是我们人脑智慧可以处理得了的。我们只能借助更加强大的机器来应付超大规模的复杂性。

反过来讲,复杂性科学也可以帮助我们更好地理解深度学习模型。例如,最近的一批物理学家就在尝试用变分重整化群(Variational renormalization group)的方法来理解深度学习网络13,每增加一层神经元节点就是在对原问题进行更高层次的粗粒化。所以,层次的加深有助于我们从更高的尺度去把握数据中的规律。

总而言之,长期以来复杂性科学就是一个非常具有包容性的学科。它是各种数理方法、工程技术的大熔炉。所以,将深度学习融入复杂系统是一个必然趋势。

参考文献

1.Jean N, Burke M, Xie M, et al. Combining satellite imagery and machine learning to predict poverty.[J]. Science, 2016, 353(6301):790-794.

2.Blumenstock J E. Fighting poverty with data[J]. Science, 2016, 353(6301):753-754.

3.Helbing D, Moln T. Social Force Model for Pedestrian Dynamics[J]. Physical Review E Statistical Physics Plasmas Fluids & Related Interdisciplinary Topics, 1995, 51(5):4282-4286.

4.Hang Su, Yinpeng Dong, Jun Zhu, Haibin Ling, and Bo Zhang, Crowd Scene Understanding with Coherent Recurrent Neural Networks, Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence (IJCAI-16), 2016

5.Wei Li , Melvin Gauci and Roderich Gro: Turing learning: a metric-free approach to inferring behavior and its application to swarms, https://arxiv.org/pdf/1603.04904v2.pdf

6.T. Miklov: Efficient Estimation of Word Representations in Vector Space, 2013

7.Perozzi B, Al-Rfou R, Skiena S. DeepWalk: Online Learning of Social Representations[J]. arXiv preprint arXiv:1403.6652, 2014.

8.Aditya Grover, Jure Leskovec. node2vec: Scalable Feature Learning for Networks. KDD 2016.

9.R Fu et al: Learning Semantic Hierarchies via Word Embeddings, Meeting of the Association for Computational Linguistics, 2014

10.Lin Y, Liu Z, Sun M, et al. Learning entity and relation embeddings for knowledge graph completion[J]. 2015.

11.Defferrard M, Bresson X, Vandergheynst P. Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering[J]. 2016.

12.Niepert M, Ahmed M, Kutzkov K. Learning Convolutional Neural Networks for Graphs[J]. 2016.

13.Mehta P, Schwab D J. An exact mapping between the Variational Renormalization Group and Deep Learning[J]. Computer Science, 2014.

本文作者:集智

本文转自雷锋网禁止二次转载,原文链接

时间: 2024-09-19 01:16:55

集智科学家张江解析:为什么复杂性需要深度学习?的相关文章

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

雷锋网AI科技评论按:6月24日下午,钛媒体和杉数科技主办的2017 AI 大师论坛在京举行,论坛邀请了五位算法优化.机器学习领域的顶尖教授.学者出席并发表学术演讲,雷锋网(公众号:雷锋网)记者也对论坛进行了跟踪报道.本篇内容根据机器学习领域专家李建的论坛分享实录整理而成. 李建,清华大学交叉信息研究院助理教授.杉数科技科学家,美国马里兰大学博士.国内机器学习领域最顶尖的前沿科学家之一,国际学术会议VLDB 2009和ESA 2010最佳论文奖获得者,清华211基础研究青年人才支持计划以及教育部

Google首席科学家韩国大学演讲:大规模深度学习

2016年3月7日,谷歌首席科学家,MapReduce.BigTable等系统的创造者,Jeff Dean受邀韩国大学,演讲主题<大规模深度学习>,这里部分来自highscalability的文字和笔者Youtube上的听录.刚好演讲在AlphaGo和李世石比赛之前,观众也问了他的预测,他只是说训练了5个月的机器跟顶尖高手的差距不好说:还有人问道他喜欢的编程语言(C++爱恨交织,喜欢Go的简洁,Sawzall才是真爱):在Google作为首席一天是怎么过的(要吃好早饭,到处闲逛闲聊,找到那些每

数据科学家必须知道的 10 个深度学习架构

近年来,深度学习的发展势头迅猛,要跟上深度学习的进步速度变得越来越困难了.几乎每一天都有关于深度学习的创新,而大部分的深度学习创新都隐藏在那些发表于ArXiv和Spinger等研究论文中. 本文介绍了部分近期深度学习的进展和创新,以及Keras库中的执行代码,本文还提供了原论文的链接. 简洁起见,本文中只介绍了计算机视觉领域内比较成功的深度学习架构. 另外,文章基于已经掌握了神经网络的知识,并且对Keras已经相当熟悉了的基础.如果你对这些话题还不太了解,强烈建议先阅读以下文章: <Fundam

基于Hadoop集群的大规模分布式深度学习

前言 在过去的十年里,Yahoo一直持续投资建设和扩展Apache Hadoop集群,到目前为止共有超过4万台服务器和600PB数据分布在19个集群上.正如在2015 Hadoop 峰会上介绍的,我们在自己的服务器上开发了可扩展的机器学习算法,用于分类.排序和计算词向量.目前,Hadoop集群已成为Yahoo大规模机器学习的首选平台. 深度学习(Deep Learning, DL)是雅虎很多产品的核心技术需求.在2015 RE.WORK深度学习峰会上,Yahoo Flickr团队(Simon O

Facebook资深科学家加盟百度深度学习研究院

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 新浪科技讯 5月10日上午消息,前Facebook资深科学家徐伟近日加盟百度深度学习研究院(Institute of Deep Learning,IDL),出任"杰出科学家".IDL是百度成立的前瞻性研究机构,致力于"让计算机像人脑一样智能"的科学研究. 加盟百度前,徐伟作为Facebook资深科学家,

请问java高手,spring如何解析oracle返回的数据包,当记录集嵌套记录集时,如何解析呢

问题描述 请问java高手,spring如何解析oracle返回的数据包,当记录集嵌套记录集时,如何解析呢 以下存储过程,返回的记录集的字段又包含记录集,resultlist的属性Property是个记录集,在这种情况下如何解析所有信息呢?type PropertyList is table of Property index by binary_integer;---PropertyList对象,表Property的记录FUNCTION FUNC_Wechat_ClaimSearchList(

用深度学习来解析梦境中出现的物体

这篇文章主要的工作算是机器学习和神经科学的结合工作,需要读者在这两个方向有一定的基础. 另有科普版本,结构更加清晰,不过删减了很多内容.科普版本如下: 用深度学习来解析梦境中出现的物体 - 行为与认知神经科学 (https://zhuanlan.zhihu.com/p/27948255) 机器学习简介:机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法.最近大火的深度学习则是机器学习的一个分支,主要用基于人工神经网络的各种方法来实现目的,现在有很多变种,本文中使用的神

【智驾深谈】深度学习驱动的自动驾驶新主流框架盘点(附3篇论文)

大背景 基于深度学习架构的人工智能如今已被广泛应用于计算机视觉.自然语言处理.传感器融合.目标识别.自动驾驶等汽车行业的各个领域,从自动驾驶初创企业.互联网公司到各大OEM厂商,都正在积极探索通过利用GPU构建神经网络实现最终的自动驾驶.   高阶ADAS系统的开发以至自动驾驶系统的开发都有赖于一套能够完整支持开发.模拟测试.原型制作和量产的开放式解决方案.本文将介绍基于深度学习架构的自动驾驶平台,这一架构将成为未来实现自动驾驶的集成平台中的重要一环.   深度学习是什么   深度学习是目前人工

【重磅】Bengio 出山建立深度学习孵化器,寄语中国人工智能产业(附新智元独家专访视频)

Bengio 创建深度学习孵化器,试图打造 AI 生态圈 Yoshua Bengio,这位深度学习崛起背后的领军人物,成立了一个专注人工智能的硅谷式创业孵化器. 这个创业孵化器名为 Element AI,将帮助蒙特利尔大学(Bengio 是该大学的教授)和附近的 McGill 大学 AI 研究团队成立公司.Bengio 说,这只是他在蒙特利尔建立"AI生态圈"计划的一部分.Bengio 表示,蒙特利尔对深度学习的学术研究有着"全世界最多的关注",在这里孕育的 AI