KDD2022论文:Streaming Graph Neural Networks with Generative Replay【概读】

增量训练图神经网络(gnn)是一个特别紧迫的问题,因为现实世界的图数据通常以流方式到达,模型更新效率低下会导致过时的嵌入,从而降低其在下游任务中的性能。传统的增量式学习方法在学习新模式的同时会逐渐忘记旧知识,这是灾难性的遗忘问题。尽管保存和重访历史图形数据缓解了这个问题,但现实应用中的存储限制减少了保存的数据量,导致GNN忘记了其他知识。在本文中,我们提出了一种基于生成重播的流GNN,它可以在不访问历史数据的情况下,在保持现有知识的同时,增量地学习新的模式。具体来说,我们的模型由主模型(GNN)和辅助生成模型组成。基于重新开始随机行走的生成模型可以学习并生成假的历史样本(即节点及其邻域),可以用真实数据进行训练,避免遗忘问题。此外,我们还设计了生成模型的增量更新算法来保持图的分布,并为GNN捕获当前模式设计了增量更新算法。我们的模型在不同的流数据集上进行了评估。节点分类结果表明,该模型能够有效地更新模型,达到与模型再训练相当的性能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码是一个Python函数,名为`guanli()`,它包含一个删除记录的功能。下面是一些对这段代码的解释: 1. `root6`:这是一个窗口的名称或者一个窗口对象的引用,通常是通过Tkinter库创建的。 2. `shanchu()`:这是一个内部函数,它被`guanli()`函数调用。它用于删除选中的记录。 3. `v.get()`:这是一个获取Tkinter变量值的方法,`v`是一个Tkinter变量对象。 4. `lb`和`lb2`:这是一个列表,它包含了所有的记录。`lb`包含了第一列的记录(用户名),`lb2`包含了第二列的记录(快递单号)。 5. `NONE`:这是一个常量,它表示空值。 6. `for x,y in lb:`和`for x,y in lb2:`:这两个循环用于遍历列表`lb`和`lb2`中的所有记录。 7. `if a==y:`:这个条件语句用于判断选中的记录是否等于当前循环的记录。 8. `yhm=''`:这是一个空字符串变量,用来存储用户名。 9. `for i in x:`:这个循环用于遍历当前记录中的所有字符。 10. `if i!= ' ':`:这个条件语句用于判断当前字符是否为空格。 11. `yhm+=i`:如果当前字符不是空格,那么将它添加到`yhm`字符串变量中。 12. `else:`:如果当前字符是空格,那么跳出循环。 13. `yhm=yhm[4:]`:将`yhm`字符串变量的前4个字符删除。 14. `sql="DELETE FROM 用户表 WHERE 用户名 = '%s'"%(yhm)`:这是一个SQL删除语句,用于删除用户表中的一个记录。 15. `Sql.sql2(sql)`:这是一个方法,用于将SQL语句发送到数据库执行。 16. `root6.destroy()`:这是一个方法,用于销毁`root6`窗口。 17. `guanli()`:这是一个递归调用,用于重新加载管理界面并更新记录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值