提高复杂网络分析效率!中国科学家研发强化学习新框架

提高复杂网络分析效率!中国科学家研发强化学习新框架

近日,中国国防科技大学、美国加州大学洛杉矶分校和哈佛医学院的研究人员研发了一个深度强化学习框架FINDER。相比于现有的解决方案,FINDER能够更快速、更高效地找到复杂网络中一组最关键的节点,进而使复杂网络以较高的效率运行。

作者:董温淑来源:智东西|2020-06-30 09:54

 收藏

  分享

  提高复杂网络分析效率!中国科学家研发强化学习新框架

近日,中国国防科技大学、美国加州大学洛杉矶分校和哈佛医学院的研究人员研发了一个深度强化学习框架FINDER。相比于现有的解决方案,FINDER能够更快速、更高效地找到复杂网络中一组最关键的节点,进而使复杂网络以较高的效率运行。

这项研究发表在国际期刊《自然》旗下的《自然–机器智能》上,论文标题为《用深度强化学习找到复杂网络的关键参与者(Finding key players in complex networks through deep reinforcement learning)》。

论文链接:
https://www.nature.com/articles/s42256-020-0177-2

 

 

一、FINDER:适用场景更广泛,运行速度快出几个数量级

在物理科学、信息科学、生物科学等领域的研究中,研究人员可以通过建立网络拓扑结构来模拟实际情况、进而作出预测。

在这类复杂网络的运行过程中,节点间的配合直接决定了复杂网络运行的效率。当被用于解决NP难题(NP-hard)时,复杂网络中节点的“分工协作”尤其重要。

NP难题指的是在多项式时间内可以被验证其正确性的问题。比如,在疫情防控领域,复杂网络模型可以模拟出疫情传播情况、帮助找到疫苗药物分子等。运行这些任务时,复杂网络要推演和验证病毒是否会传染给下一个人、某种药物分子是否有效的各种情况。在这个过程中,找到最关键的节点能够提升复杂网络的运行效率。

对于这类问题,现有的解决方案通常基于大型网络进行训练、针对特定场景提出策略,但缺乏统一的框架。相比之下,中国国防科技大学、加州大学洛杉矶分校、哈佛医学院的研究人员提出的FINDER可以应用于广泛的复杂网络场景,其运行速度快了几个数量级。

二、分两阶段进行训练,分别采用不同奖励函数

FINDER框架采用纯数据驱动的方法,分两个阶段进行训练。在两个阶段中,研究人员用不同的奖励函数来训练FINDER。

第一阶段用经典模型生成的小型合成网络对FINDER进行离线训练。离线训练采用ϵ-greedy策略。

离线训练阶段分三步进行:首先,研究人员生成一批合成图形;然后,研究人员从合成图形中任意取样一个图形;接下来,FINDER框架在这一图形上进行整个寻找关键节点的流程。这一流程中,代理与图形通过一系列状态、动作、激励进行交互。

为了确定状态的正确动作,代理先在当前的图形上编码,并获取每个节点的嵌入向量。节点的嵌入向量会捕获节点的结构信息和节点特征之间的长程相互作用(long-range interaction)。接下来,代理将嵌入向量解码为标量Q值,以便所有节点能够预测部署某个动作的长程增益。

提高复杂网络分析效率!中国科学家研发强化学习新框架

▲离线训练阶段示意图

一旦离线训练结束,FINDER就进入第二个训练阶段,被应用于真实网络拓扑结构中。研究人员在浣熊接触网络(the raccoon contact network)的最大连通元件(connected component)上进行测试。最大连通元件包括14个节点和20条边。

这一阶段中,代理首先将当前网络编码为低维嵌入向量,然后利用这些向量对每个节点的Q值进行解码。

第二阶段采用“批量节点选择(batch nodes selection)”策略。该策略在每个自适应步骤中选择一个有限分数的最高Q节点,避免了对嵌入向量和Q值的逐个迭代选择和重新计算。批量节点选择策略不会影响最终的结果,但可以降低几个数量级的时间复杂度。

研究人员会重复这个过程,直到复杂网络达到用户定义的终端状态、被移除的节点构成最优的节点集合。

提高复杂网络分析效率!中国科学家研发强化学习新框架

▲用真实复杂网络进行训练示意图

三、对比3个模型性能,FINDER找出关键节点的效率最高

相比于机器人等传统的强化学习技术(状态和动作较为简单),复杂网络技术更加复杂和难以表示。研究团队高级研究员孙怡舟称,这是因为复杂网络具有离散的数据结构和处于极其高维的空间。

本项研究中,研究人员用图神经网络(GNN)来解决这个问题。图神经网络中的节点代表动作、图形代表状态。

以911恐怖袭击事件发生预测网络为例,网络中每个节点代表参与911恐袭的恐怖分子、每个边(edge)代表他们的社会交流。

研究人员在911恐怖袭击事件发生预测网络上运行FINDER框架,并运行现有的高维(HD)方法和集体影响(CI)方法做对比。

下图d显示了三种方法的ANC曲线。在框架部署动作后,剩余节点的重要性越低,代表框架性能越好。

可以看到,FINDER框架最有效地找到了复杂网络中关键节点。相比于其他两个解决方案,随着被移除节点的重要性升高,运行FINDER框架的复杂网络中剩余的节点重要性最低。

▲911恐怖袭击事件发生预测网络(蓝色点代表剩余图形中的节点,红色点代表当前时间步长中FINDER找出的关键节点,灰色点代表剩余的孤立节点)

结语:未来将可用于更多类型复杂网络

FINDER框架通过深度强化学习方法进行训练,可以找到复杂网络中的关键节点。在未来,FINDER框架或可被用于优化社交网络、电力网络、传染病蔓延网络等模型的性能。

目前,加州大学洛杉矶分校的研究团队正计划将FINDER框架用于网络科学研究。哈佛医学院的团队希望将FINDER用于生物网络,以确定蛋白质交互网络和基因调控网络中的关键参与者。

另外,研究人员称未来将从以下三方面着手,提升框架寻找关键节点的性能:设计出更好的图形表示学习架构;探索如何在跨图形甚至跨域转移知识;研究并解决复杂网络上的其他NP难题。

【编辑推荐】

  1. 前端老司机都在用的Chrome开发者工具15 个小技巧
  2. 微软开发出一套能恢复严重退化老照片的新算法
  3. 深度学习先驱Yann LeCun被骂退推特:你们都很懂,从此我不说话了
  4. 财务服务器“虚拟化”,浪潮助力鄂旅投开启“云化”之路
  5. Linus Torvalds:Linux 内核、社区多元化和开发者的未来

热门文章

暂无图片
编程学习 ·

电信云堤·抗D(电信云堤清洗高防服务器)提供超强T级DDoS处理能力

电信云堤”下辖四大产品: 电信云堤DDoS攻击防护(简称“电信云堤抗D”) 电信云堤域名安全防护(简称“电信云堤域名无忧”) 电信云堤反钓鱼网站处置(简称:“电信云堤反钓鱼”) 电信云堤网站安全专家(简称:“电信云堤网站安全专家)电信云堤抗D “电信云堤抗D”依托于中…
暂无图片
编程学习 ·

react组件返回上级时,记录上级组件状态

最近开发项目中,做管理后台,很多表格列表,有搜索条件,有分页;在跳转到详情页面,返回时,列表组件重新渲染,之前的搜索条件,分页什么的,都没有记住;还需要重新选,点击,交互体验很不好。1.这里想到2两个办法,一个是吧搜索条件存到缓存中;每次进行读写;条件太多,或…
暂无图片
编程学习 ·

Vue动态缓存页面

原理通过keep-alive标签的include属性及vuex完成 需求说明:A页面到B页面需要缓存,A页面到C页面不需要缓存 所要缓存页面的顶级出口 <keep-alive :include="kpAlive"><router-view/> </keep-alive><script> export default {computed: {/**…
暂无图片
中恒嘉业 ·

Heap Sort 讲解

Heap Sort sorts a group of unordered elements using the Heap data structure. The sorting algorithm using a Min Heap is as follows: Heapify all elements into a Min HeapRecord and delete the top elementPut to top element into an array T that stores all so
暂无图片
cgfy ·

8. 源码分析之ConsumeQueue

源码分析之ConsumeQueue 消息发送时数据在ConsumeQueue的落地 ​ 连续发送5条消息&#xff0c;消息是不定长&#xff0c;首先所有信息先放入 Commitlog中&#xff0c;每一条消息放入Commitlog的时候都需要上锁&#xff0c;确保顺序的写入。 ​ 当Commitlog写成功了之后。数据…
暂无图片
coreui ·

Heap Sort 讲解

Heap Sort sorts a group of unordered elements using the Heap data structure. The sorting algorithm using a Min Heap is as follows: Heapify all elements into a Min HeapRecord and delete the top elementPut to top element into an array T that stores all so
暂无图片
coreui ·

[react] 你觉得react上手快不快?它有哪些限制?

[react] 你觉得react上手快不快&#xff1f;它有哪些限制&#xff1f; 相对vue来说不快。 限制 需要学习JSX需要工程化的配置需要对原生JavaScript有相当的掌握react只是一个UI层面的库&#xff0c;像vue内置了动画处理、keep-alive等功能&#xff0c;react则需要去找第三方库…
暂无图片
未来博客 ·

Heap Sort 讲解

Heap Sort sorts a group of unordered elements using the Heap data structure. The sorting algorithm using a Min Heap is as follows: Heapify all elements into a Min HeapRecord and delete the top elementPut to top element into an array T that stores all so
暂无图片
未来博客 ·

[react] 你觉得react上手快不快?它有哪些限制?

[react] 你觉得react上手快不快&#xff1f;它有哪些限制&#xff1f; 相对vue来说不快。 限制 需要学习JSX需要工程化的配置需要对原生JavaScript有相当的掌握react只是一个UI层面的库&#xff0c;像vue内置了动画处理、keep-alive等功能&#xff0c;react则需要去找第三方库…
暂无图片
建站日记 ·

[react] 你觉得react上手快不快?它有哪些限制?

[react] 你觉得react上手快不快&#xff1f;它有哪些限制&#xff1f; 相对vue来说不快。 限制 需要学习JSX需要工程化的配置需要对原生JavaScript有相当的掌握react只是一个UI层面的库&#xff0c;像vue内置了动画处理、keep-alive等功能&#xff0c;react则需要去找第三方库…
暂无图片
建站日记 ·

STL Practice —— 【map (1)】

Description 给出学生姓名和分数&#xff0c;要求你输入姓名查询分数。 Input 输入包含T组测试数据。 开头是一个正整数T (0<T<10)&#xff0c;为测试数据数量。 对于每组测试数据&#xff0c;第一行是一个正整数N (0<N<100000)。 接下来有N行&#xff0c;每行包…
暂无图片
mfbz ·

AOV网是否存在回路-拓扑排序-C++

拓扑排序是对测试AOV网是否存在回路的方法&#xff01; 拓扑排序的过程中&#xff0c;由于需要查找所有以某顶点为尾的弧&#xff0c;即找到该顶点的所有出边&#xff0c;故图要采用邻接表的存储方式。但拓扑排序较邻接表的存储方式有一点不同&#xff0c;由于要查找入度为0的点…
暂无图片
mfbz ·

[react] 你觉得react上手快不快?它有哪些限制?

[react] 你觉得react上手快不快&#xff1f;它有哪些限制&#xff1f; 相对vue来说不快。 限制 需要学习JSX需要工程化的配置需要对原生JavaScript有相当的掌握react只是一个UI层面的库&#xff0c;像vue内置了动画处理、keep-alive等功能&#xff0c;react则需要去找第三方库…
暂无图片
珊珊日记 ·

AOV网是否存在回路-拓扑排序-C++

拓扑排序是对测试AOV网是否存在回路的方法&#xff01; 拓扑排序的过程中&#xff0c;由于需要查找所有以某顶点为尾的弧&#xff0c;即找到该顶点的所有出边&#xff0c;故图要采用邻接表的存储方式。但拓扑排序较邻接表的存储方式有一点不同&#xff0c;由于要查找入度为0的点…
暂无图片
珊珊日记 ·

8. 源码分析之ConsumeQueue

源码分析之ConsumeQueue 消息发送时数据在ConsumeQueue的落地 ​ 连续发送5条消息&#xff0c;消息是不定长&#xff0c;首先所有信息先放入 Commitlog中&#xff0c;每一条消息放入Commitlog的时候都需要上锁&#xff0c;确保顺序的写入。 ​ 当Commitlog写成功了之后。数据…