处理动态图的图神经网络

article/2025/6/20 11:30:32

汤吉良老师团队发表于2020年的SIGIR

《Streaming Graph Neural Networks》论文阅读笔记

  1. 背景:
    图能够很好的表示实际数据(如社交网络,传输网络)。利用神经网络建模图结构数据,学习特征表示,改善图相关任务(如边预测,节点分类)的性能。
  2. 已有方法:
    图神经网络(扩展传统的神经网络)用来处理图结构相关的任务。
  3. 存在问题:
    已有的图神经网络都是为静态图设计的,不能利用动态图(比如社交网络中新用户加入或者有新的关系时)中的信息(已被证明能够促进各种图分析任务,如社区发现、边预测等,提高推荐的性能)。因此为动态图设计图神经网络是必要的。
  4. 挑战:
    (1) 获得图神经网络的进化结构;
    (2) 只要有新的连接就更新节点信息。建立新的连接时需要考虑节点属性(新的交互代表着用户最近的喜好),也会影响节点的属性。
    (3) 交互间考虑时间间隔(会影响节点的更新策略,交互信息的传播策略;不仅影响与交互相关的两个节点,还有相近的节点)。
  5. 本文:
    提出DGNN,建模图演化过程中的动态信息。通过获得边(即交互)的序列信息,边之间的时间间隔和信息传播更新节点信息。
  6. 具体:
    6.1 更新
    相似的用户在社交网络中更有可能连接,因此要更新交互节点的交互信息。
    近期的交互能更好的反映用户的喜好,因此将同一节点产生的交互视为序列,但只存储节点最近期的信息。基于LSTM建模更新部分。
    (1) 交互单元
    从节点信息生成交互信息,作为更新单元的输入。
    在这里插入图片描述
    (2) 更新单元
    S更新单元只更新源节点的信息 + G更新单元只更新目标节点的信息。
    较早的交互更应该被遗忘,近期的交互更应该受到重视。因此在更新时考虑时间间隔。
    (3) 聚合单元
    组合节点的源和目标隐藏状态生成特征。
    对于源节点:
    在这里插入图片描述
    对于目标节点:
    在这里插入图片描述
    在这里插入图片描述
    6.2 传播
    更新两个交互节点。选择当前交互节点的邻居作为受影响的节点。(新连接的影响是局部的;一旦受影响的节点与其他节点交互,信息将进一步传播;跳数越多,性能反而会下降)
    (1) 交互单元
    (2) 传播单元
    与之前不同。
    4种传播:从源节点到源节点邻居(以该节点为源,和目标的邻居集合) + 从源节点到目标节点邻居 + 从目标节点到源节点邻居 + 从目标节点到目标节点邻居。
    在这里插入图片描述
    g是递减函数,时间间隔越大,短期记忆保存得越少。
    h用来过滤较早的邻居:
    在这里插入图片描述
    如果时间间隔太大,信息将停止传播给他的邻居,使传播更有效。
    f是注意函数,获得节点间的连接强度。
    (3) 聚合单元
    在这里插入图片描述
    6.3 参数学习
    首先将两个交互节点的特征映射到交互中相应的角色,然后使用一个基于图的损失函数,批量(保持时间顺序的交互序列)梯度下降算法进行优化,半监督式训练(包括标签和未标签的数据)。

《Dynamic Heterogeneous Graph Embedding Using Hierarchical Attentions》论文阅读笔记

阿里,2020,ECIR.:动态网络特征学习

当前图嵌入的热门方向:不仅学习当前图的结构信息,还能学到图随时间的变化。
阿里提出了基于层次化注意机制的动态图特征算法,在异构变化的图中学习节点特征,是推荐底层算法模型上的突破。
背景:
大多数嵌入方法,如node2vec、GCN、GraphSAGE 和 GAT ,都是针对静态图(假设图不会发生改变),实际中,关系图是会随着时间改变的,如社交网络,电子商务网络。若将这些关系表示在一张图上,不能显式建模用户随时间的兴趣变化。
具体:
在这里插入图片描述

构建图:
使用用户的历史行为日志。节点:用户和商品;边:点击,查询,下单。
模型:
主要为三层注意机制,节点层级,边层级,时序层级上的聚合。

(1) 节点层级聚合:
根据边的类型划分成子图,加权聚合子图每个节点及其邻居的信息:
在这里插入图片描述
最终得到节点(在某时间针对某种边类型)的特征:
在这里插入图片描述

(2) 边层级聚合:
假设一种类型的边只能反映一种语义类型的信息,采用注意层自动学习不同边的重要程度:
在这里插入图片描述
加权聚合边类型向量(不同的边类型向量对于节点的贡献不同),最终得到节点的特征:
在这里插入图片描述
(3) 时序层级聚合:
按照重要性聚合一系列时间步的节点特征。
在这里插入图片描述
其中, 在这里插入图片描述在这里插入图片描述在这里插入图片描述


http://chatgpt.dhexx.cn/article/gNFWTdm8.shtml

相关文章

ImageView加载网络图片

使用第三方的库Glide加载网络图片 首先去下载一个glide的包 下载地址:https://github.com/bumptech/glide/releases/download/v4.7.0/glide-full-4.7.0.jar 我这里用的是glide-full-4.7.0 下载好之后直接复制到app\libs下面,然后点同步,可…

图神经网络的池化操作

图神经网络有两个层面的任务:一个是图层面(graph-level),一个是节点(node-level)层面,图层面任务就是对整个图进行分类或者回归(比如分子分类),节点层面就是对…

网络图的绘制方法详细讲解

网络拓扑图形如网络结构,并且由箭头线条、节点、路线三个因素组成。网络工程师在绘制网络图时,为了展示网络传输方式和途径,通常将网络节点设备和通信介质进行物理布局。网络拓扑图的结构类型有:星型、环型、树型、总线型、网状、分布式结构、等等。 网络图一般用处 在计算…

网络拓扑图怎么画 详细教程

大数据时代,如何更好地去运营、呈现数据,并从其中发掘出更多信息成为了人们探索的方向。网络拓扑图就是一种非常有用的信息化图表,这种网状关系呈现出来的利器可以使我们把想要传递的信息更加清晰、有逻辑的呈现在别人的眼前。 1. 什么是网络…

图神经网络及其应用

Graph Neural Networks and its applications 摘要 以图形形式构建的数据存在于生物化学、图像处理、推荐系统和社会网络分析等多个领域。利用预处理技术在图结构数据上训练机器学习模型有几种方法,但它们缺乏完全适应数据集和手头任务的灵活性。图神经网络允许创…

[概念]神经网络的种类(前馈神经网络,反馈神经网络,图网络)

随着神经网络的不断发展,越来越多的人工神经网络模型也被创造出来了,其中,具有代表性的就是前馈型神经网络模型、反馈型神经网络模型以及图网络. 1.前馈型神经网络模型 前馈神经网络(Feedforward Neural Network ,FNN&#xff09…

java实现下载网络图片到本地

文章目录 前言一、示例二、代码 1.代码示例2.运行结果总结 前言 当我们在网络上看到自己想要保存的照片,有的网站设置了权限,不能保存情况下,我们可以借助Java的文件流读取网络上的图片,并保存到本地。 一、示例 比如豆瓣话题第…

用python实现数字图片识别神经网络--启动网络的自我训练流程,展示网络数字图片识别效果

上一节,我们完成了网络训练代码的实现,还有一些问题需要做进一步的确认。网络的最终目标是,输入一张手写数字图片后,网络输出该图片对应的数字。由于网络需要从0到9一共十个数字中挑选出一个,于是我们的网络最终输出层…

android中的ImageView,ImageView加载网络图片

android中的ImageView&#xff0c;ImageView加载网路图片 在布局文件中加入标签&#x1f3f7;️ <ImageViewandroid:layout_width"300dp"android:layout_height"200dp"android:background"#111111"android:id"id/imageView_pic1"a…

css用网络图片做背景图片,网络编程css为图片设置背景图片

网络编程css为图片设置背景图片 广告 CSS的功能是非常强大的&#xff0c;对于元素的表现以及页面的布局&#xff0c;都提供了非常强大的功能&#xff0c;这主要在于我们灵活的运行&#xff0c;在这方面提供了丰富且富含价值的各种教程与信息。对于图片的使用&#xff0c;其实更…

硬核!一文梳理经典图网络模型

作者 | Chilia 哥伦比亚大学 nlp搜索推荐 整理 | NewBeeNLP 图神经网络已经在NLP、CV、搜索推荐广告等领域广泛应用&#xff0c;今天我们就来整体梳理一些经典常用的图网络模型&#xff1a;DeepWalk、GCN、Graphsage、GAT&#xff01; 1. DeepWalk [2014] DeepWalk是…

图网络入门

目录 图网络基础知识 Graph Embedding 基础图网络模型 GCN GraphSAGE GAT 其他图网络模型 图网络基础知识 图网络的应用场景有很多&#xff0c;目前在工业界的主要应用是在推荐和风控领域&#xff0c;其他包括社交网络、交通网络、化学分子、3D点云等也都有一些应用。 …

图网络(Graph Network, GN)

目录 什么是图网络&#xff1f; 图网络框架 图网络内容 图的定义 GN块的内部结构 图网络中的关系归纳偏置 什么是图网络&#xff1f; 图网络是2018年由DeepMind、谷歌大脑、MIT和爱丁堡大学等公司和机构的27位科学家共同发表的论文《Relational inductive biases, deep …

图网络分类以及一些通用框架

图网络大体分类 递归图神经网络&#xff08;Recurrent Graph Neural Networks&#xff09;图卷积神经网络&#xff08;Graph Convolution Networks&#xff09;图注意力网络&#xff08;Graph Attention Networks&#xff09;图自编码器&#xff08;Graph Auto-encoder&#x…

泛型的使用和作用

概述 泛型的使用 多态与泛型 两者要一致&#xff0c;Animal 和cat要一致 泛型的作用 提高 Java 程序的类型安全 通过前面的学习我们知道&#xff0c; 在集合中可以添加 Object 类型的对象&#xff0c; 如果在不使用泛型的情况下定义了一个 ArrayList 对象&#xff0c; 那 么各…

java泛型(java泛型的作用)

java泛型的基本使用是什么&#xff1f; add("test1"); String test1 (String)strList。get(0); System。out。println("Test 1 : " test1); } public void testGeneric() { List strList new ArrayList(); strList。 Java泛型的规则和限制有哪些呢&…

java泛型的作用及实现原理

一、泛型的介绍 泛型是Java 1.5的新特性&#xff0c;泛型的本质是参数化类型&#xff0c;也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中&#xff0c;分别称为泛型类、泛型接口、泛型方法。 Java泛型被引入的好处是安全简单。在Java …

泛型(一)--泛型的作用和定义

一、泛型的作用 泛型是.net中十分常见的一种特性。它是在.net 2.0的时候加入。那为什么要在.net 2.0的时候加入泛型这个特性呢&#xff1f;我们首先来看一段代码。 using System;namespace 泛型{class Program{static void Main(string[] args){int iParameter 1;string sPar…

什么叫泛型?有什么作用?

作者&#xff1a;Java3y 链接&#xff1a;https://www.zhihu.com/question/272185241/answer/366129174 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 一、什么是泛型&#xff1f; Java泛型设计原则&#xff1a;…

Java泛型的作用及优点有哪些

Java泛型是J2 SE1.5中引入的一个新特性,其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 作用 第一是泛化。可以用T代表任意类型Java语言中引入泛型是一个较大的功能增强不…