导语近期,由北京师范大学张江团队发表的文章《A general deep learning framework for network reconstruction and dynamics learning》在期刊Applied Network Science上刊登,这篇文章提出了一种基于深度学习的数据驱动模型,可以从节点的时间演化数据中重构出网络结构,并且学习到系统的动力学。本文是第一作者张章对该文章内容的解读。
A general deep learning framework for network reconstruction and dynamics learninghttps://appliednetsci.springeropen.com/articles/10.1007/s41109-019-0194-4
复杂性科学的一个迷人之处就在于从复杂的显现背后抽取出简单的规则出来,以复现我们观察到的复杂性。例如,下面介绍的生动模型就用数十行代码活生生地模拟出了一群苍蝇的飞舞行为。
上图展示了对人工生命建模的经典模型:Floy模型,这个模型初始设定非常简单:1.首先找到和自己最近的几只(邻居数)的Floy作为自己的邻居,2.对于每个邻居如果它是自己的同类那么然后分别计算与这些邻居之间的距离,如果太近就朝向远离这个邻居的方向加速,否则就朝着靠近这个邻居的方向加速。在这两条基本规则的驱动下,整个系统呈现出美妙的现象,就如同一群鸟一样,它们聚合,分散,轨迹优美,甚至可以绕过障碍。从某种程度上,我们可以说,Floy模型通过三条简单的规则,很好地对真实的鸟群生命“进行了建模”。事实上,诸如此类的例子还有很多。例如,经典的Boid模型就是利用靠近、对齐、分离这三条简单规则复现出了类似真实鸟群飞行的行为;蚁群算法则可以利用蚂蚁与信息素相互作用的简单规则复现蚂蚁群体的觅食行为,甚至还能和真实蚂蚁一样找到最短觅食路径;张江团队之前发表在Nature Communications上的工作则同样利用极其简单的规则复现出了真实城市的宏观生长现象和人口、道路、经济交互等微观要素的空间分布。无论是躁动的股票市场还是瞬息万变的气象世界,甚或是横跨全球的生态系统,它们都可以被一些基于简单规则的模拟系统来仿真、理解。
然而,面对一个真实的复杂系统,我们应该如何建立这样的简单模型呢?这些把握住系统本质的简单规则从何而来?对于Floy模型而言,这些规则来源于模型作者的观察和精确假设。然而对于更复杂的系统,例如基因调控系统,社会经济系统,我们面对庞杂的数据和复杂的系统状态,我们要如何做出假设?有没有可能设计出一个自动化的系统,能够通过观察数据,而自动对各式复杂系统建模?可以说,数十年来,人们都没有很好地解答这个问题。近期我们发表的文章则尝试解答这个问题。我们提出了一种通用的,基于深度学习的网络结构和动力学重构方法。这种方法可以在未知节点之间的连接关系的情况下,通过对节点演化数据的观察推测出网络的连接结构,并且可以使用神经网络建模节点之间互动的动力学法则,进一步对节点未来的状态进行准确的预测。最关键的,是它可以针对完全不同的系统(连续的、离散的)来自动构建模型,将该模型表达为一个静态网络和一个用神经网络表示的动力学演化规则。让我来用一个简单的例子来说明我们关注的问题,并且解释我们解决这个问题的方法框架。假设在一个二维光滑平面内有几个小球,有一些小球之间连接着弹簧。赋予每一个小球一个任意的初速度,整个弹簧小球系统就会运动起来,如图:
现在,我们的问题是,如果我们并不知道小球之间的弹簧是怎样连接的,也不知道是什么物理规则在推动小球运动。我们能观测到的,只有这个系统中的每个小球在不同时刻的位置和速度。在每一时刻,小球的位置和速度都可以构成一个四维向量([X,Y,Vx,Vy])。如果系统由N个小球组成,我们持续观察T个时间步,我们就获得了一个维度为N*T*4的张量。我们的任务,就是通过这个张量去推测所有的弹簧是如何连接的,并且还需要作出关于未来时刻每一个小球的位置和速度的预测。通过对系统的观测来重构系统各部分之间的连接关系被称为网络重构问题,而建模系统各个节点之间的作用规则并且预测未来节点状态的问题被称为动力学预测问题。我们解决这两个问题的基本思路是,在一个复杂系统中,无论动力学方程如何,每个节点都会通过某种函数汇聚邻居信息,这些信息决定了这个节点的下一时刻状态,因此我们将通过可微分的方式生成节点之间的连接方式的表示(即邻接矩阵),并且使用图网络建模节点之间的动力学。总体上,有了网络结构和动力学,我们即可使用图网络的方式模拟系统正向运转的过程,并通过深度学习中常用的反向传播和梯度下降方法来调整这个过程中的参数。随着训练的进行,我们逐渐获得了一个可以生成准确的邻接矩阵的网络结构生成器,也得到了可以建模节点间互动动力学法则的动力学预测器。弹簧小球模型是一个便于理解的模型,我们所要解决的问题与前文举例的弹簧小球模型虽然十分类似,但却更为复杂。例如,在复杂系统中广泛存在着同步现象:并排挂在墙上的两个钟摆无论从怎样的初始状态开始摆动,最终都会趋于同步。此外,还有闪烁的萤火虫,鼓掌的人群等等,人们发明了一种高度非线性的动力学方程:Kuramoto模型来建模这种同步现象,这便是我们要重构的目标之一。除Kuramoto模型之外,我们还重构了在物理学中被广泛用于研究时空混沌系统的耦合晶格(Coupled Map Lattice)模型和在生物网络和社会网络中被广泛应用的布尔网络模型。值得一提的是,我们重构的动力学模型不但全部是非线性模型,而且也都能通过调整不同的控制参数展现混沌和非混沌的状态。无论我们要重构的动力系统有多复杂,我们都将用同一种方法,甚至是同一套超参数,以端到端的方式将其重构出来。我们通过如下示意图展示网络的结构和动力学重构效果:可以看到,在开始时,网络生成器还不能准确的生成网络结构,随着训练的进行,我们已经可以准确的生成网络结构,并且能够让预测轨迹和真实轨迹基本重合。除了能重构弹簧小球网络之外,我们的方法还具有一定的通用性。所谓通用性,是指用方法本身对动力学特性和节点的状态类别均不敏感:我们可以使用同一种方法,同一套超参数重构各种各样的网络,无论是节点状态呈离散变化还是连续变化,甚至为布尔状态(节点的状态可能取值为1或0),也无论节点之间的动力学规则是线性、非线性、甚至是布尔动力学的规则表。我们之所以能够对多种动力学进行建模的,是因为我们使用图神经网络(Graph Neural Network)来建模节点之间相互作用,其图神经网络作为一种神经网络,具有强大的函数拟合能力,所以我们的方法也可以作用于多种动力学的数据下的网络重构。下图展示了节点状态为连续变化时,我们所使用方法的重构结果,可以看到其无论在网络结构重构还是动力学学习方面,效果都远优于其他方法。不过,能够得出以上的结果,离不开较多的数据量的加持,在上述实验中,我们使用了5000次采样的数据,每次采样长度为20个时间步。
图网络是一个将网络科学于深度学习相结合的领域,近年来,这个领域正蓬勃发展。大量优秀的使用图网络技术对复杂系统进行建模的工作也层出不穷,例如图卷机网络[1],图注意力网络[2],应用于大规模数据的GraphSAGE算法[3]等等。不过,这些代表性的工作所关注的均是复杂网络中的正向问题,即在已知网络结构的情况下完成节点分类,图分类等任务。相比于上述任务而言,网络重构则更像是一个“逆问题”,即通过对系统的观察来推测出系统内部的网络结构并学习到系统的动力学规则。神经关系推断(NRI)算法[4]率先在这个领域进行了一些探索,该方法使用变分自编码器(VAE)的架构,从时间序列数据中推测出节点之间的连接结构,并且将该结构用于预测后续的节点状态。于NRI方法相类似,我们也将首先采样出网络的连接结构,再将该结构用于后续的状态预测。但与之不同的是,我们并不采用VAE架构,而是通过Gumbel-Softmax[5]技术,直接从参数矩阵中采样出网络的连接结构,这就使得我们的方法具有相对而言更快的运算速度。我们这个工作仅仅是一个小小的尝试,更多未探索领域还等待着我们去研究,包括动态连边,大网络重构,小数据量下的重构,加入真实网络约束,结合已有的模型等。我们也欢迎对网络重构工作感兴趣的老师同学们加入我们的项目,我们的科研组采取开放的方式,欢迎各界感兴趣的朋友们加入,远程工作,弹性工作都不是问题,详情请见文末海报。综上,我们提出了一种基于深度学习的网络结构重构和动力学学习的方法,这种方法是无模型的,并且具有很强的通用性,可以对多种动力学进行学习。不需要任何对系统的先验知识,在数据的驱动下,就可以完成对网络结构和节点间动力学的高精度学习,从而完成对系统的自动建模。更多关于这项工作的细节,欢迎大家阅读我们的文章。当然,我们的方法还有许多不足与提升空间。例如,现在的方法只能重构静态网络,而在现实世界中,许多网络是动态变化的,这限制了方法的应用范围。再例如,目前我们可以重构的网络节点数量不够多(≤100个节点),这也使得模型的应用范围受到一定的限制。不过,我们正在着手解决这些问题,希望我们可以后续就这些问题与大家进行更多的分享和交流。我们关于此工作的所有代码都已开源,您在这里能找到可以直接运行的源代码:
https://github.com/bnusss/GGN
参考文献及注解:
1. Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks[J]. arXiv preprint arXiv:1609.02907, 2016.
2. Veličković P, Cucurull G, Casanova A, et al. Graph attention networks[J]. arXiv preprint arXiv:1710.10903, 2017
3. Oh J, Cho K, Bruna J. Advancing GraphSAGE with A Data-Driven Node Sampling[J]. arXiv prep(myth)rint arXiv:1904.12935, 2019.
4. Kipf T, Fetaya E, Wang K C, et al. Neural relational inference for interacting systems[J]. arXiv preprint arXiv:1802.04687, 2018.
5. Jang, E, Gu S, Poole B (2016) Categorical reparameterization with gumbel-softmax. arXiv preprint arXiv:1611.01144.
元胞自动机揭示交通瘫痪成因:车多路窄惹的祸
Paper 已经过时——计算机时代科学传播方式的变革
圣塔菲研究所创始人盖尔曼的简单性与复杂性
圣塔菲最新群体智能文集——液态大脑与固态大脑
加入集智,一起复杂!
集智俱乐部QQ群|877391004
商务合作及投稿转载|swarma@swarma.org
◆ ◆ ◆
搜索公众号:集智俱乐部
加入“没有围墙的研究所”
让苹果砸得更猛烈些吧!