复杂网络动力学机器学习自动建模


复杂网络动力学机器学习自动建模文章插图
导语对复杂网络动力学的学习是网络科学的重要命题 , 至今尚未完全解决 , 各种新方法层出不穷 。
本文总结了康奈尔大学博士后臧承熙在集智-凯风研读营上的分享 , 介绍其一作论文《复杂网络上的神经微分方程》 。 该文被 KDD2020 接收 。 这项工作将图神经网络与微分方程结合 , 提出神经微分方程(NDCN)模型 , 将离散时间预测变为连续时间预测 , 在时间预测和分类任务中都有良好表现 , 并且大量节省参数 。 这为复杂网络的动力学学习、自动建模提供了新的思路 。
背 景
复杂网络无处不在 。 受益于网络科学的发展 , 我们对网络的认识也在逐步深入 。 网络科学带给我们一种新的看待世界的视角:很多系统都可以被解释为网络结构上的相互作用 。 从人类的大脑网络 , 到社会的交通流网络 , 还有自然界的生物网等等 。 那么这些个体在网络上是如何相互作用的?它们的相互影响是否遵循着某种规则?答案是确定的 , 大多数网络上的个体都遵循着一定的相互作用法则 , 我们称之为网络上的动力学 , 学习网络上的动力学一直以来都是科学界十分关注的问题之一 。
问 题本文要介绍的论文《Neural Dynamics on Complex Networks》 , 由康奈尔大学臧承熙博士完成 。 论文的关注点便是网络上的动力学学习问题 。 这篇文章对动力学的学习方式也十分有趣:研究者借鉴了微分方程在系统动力学建模中的优势 , 引入微分方程 , 以数据驱动的方式 , 对网络上的动力学进行建模 。
论文题目: Neural Dynamics on Complex Networks 论文地址:
具体来说 , 我们可以这样定义这篇文章想要解决的问题:在一个网络上 , 节点之间以遵循着某种动力学法则的方式相互影响 , 这使得节点上的信息会随着时间产生连续变化 。 我们可以对动力学进行这样的描述:
复杂网络动力学机器学习自动建模文章插图
其中X(t)表示t时刻的节点信息 , G表示网络 , θ则表示管理动力学的参数 。
而本文要做的事情 , 则是在已知某些观测时刻的网络上的节点状态的情况下 , 去建模网络上的动力学方程 , 为了证明建模的精确性 , 文章将会对未来任意时刻的节点状态做出预测 。
这里尤其需要注意的一点是 , 对已有的数据而言 , 观测时间并不是等间隔的 。 而对预测任务而言 , 也并不是预测t+1时刻或t+2时刻 , 而是预测“任意时刻” , 比如t+1.5时刻的系统状态 。 例如 , 在一个热扩散过程中 , 热量沿着网络扩散到不同的节点 , 我们可以观测到某些时刻节点的热量 , 但这些观测时刻并不等间隔 。 现在让我们去预测未来某一时刻节点的热度值 。
为什么网络上的动力学学习如此有意义 , 但直到今天人们还未完全的解决这一问题呢?从某种程度上来说 , 这要归因于问题的难度 。 这个问题“难” , 难在两方面:首先 , 在现实生活中 , 网络的结构可以非常复杂 , 我们知道“小世界” , “无标度”网络模型普遍存在 , 不同的网络模型是节点互动 , 相互传递信息的舞台 , 不同的网络模型将会在底层机制上影响节点之间的相互作用 。 其次 , 我们常见的动力学也都是非线性的 , 非线性动力学所呈现的复杂程度也远超线性动力学 , 我们用一组动图来展示:
复杂网络动力学机器学习自动建模文章插图
不同网络结构与动力学下的节点状态变化情况
如果我们可以完成模型的学习 , 自然地 , 我们会意识到曾经复杂网络建模中的两个问题也可以作为子问题被解决 。
【复杂网络动力学机器学习自动建模】其一遍是结构化的序列预测问题 , 在这一问题中 , 我们拥有对系统在一段时间内节点状态的等间隔观测 , 而我们的任务则是通过机器学习 , 去预测未来的k时刻的系统状态 , 我们要求这里的k必然是一个整数 , 例如在一个交通网络上 , 我们有每个小时 , 每个路口的车流量状态 , 我们的任务是预测下一小时哪些路口会堵车 。
另一个有趣的子问题则是半监督分类问题 , 这也是催化图网络研究兴起的一类经典问题 。 在半监督分类问题中 , 我们已知网络结构和节点特征 , 我们也知道一部分节点的标签 , 但我们并不知道全部节点的标签 。 在这种情况下 , 我们如何去预测未知节点的标签?这一问题的应用场景也很广泛 , 例如在数字电商的背景下 , 我们需要了解用户的画像:已知某些人喜欢购买运动产品 , 那么他们哪些朋友也有类似的喜好?针对半监督分类问题 , 科学家们研究了许多算法 , 例如经典的图卷积网络(GCN)便可用于处理这类问题 , 而我们将在后面的实验中看到 , 本文提出的算法可以通过对动力学进行精细控制 , 来达到这个任务下的最优效果 。