当前位置:网站首页>Self-supervised Heterogeneous Graph Neural Network with Co-contrastive Learning 论文阅读
Self-supervised Heterogeneous Graph Neural Network with Co-contrastive Learning 论文阅读
2022-07-06 10:26:00 【kc7w91】
Self-supervised Heterogeneous Graph Neural Network with Co-contrastive Learning 论文阅读
一、重难点
异质图 : 异质图基本思想速通
双视角: network schema view & meta-path structure view,最后将两个视角得出的节点表征通过对比学习(contrastive learning)进行融合
自监督: 不需要标签信息,直接利用数据本身作为监督信息,可分为对比学习和生成学习两大类。本文即是对比学习,核心思想是讲正样本和负样本在特征空间对比,学习样本的特征表示
二、两种视角

network schema 如图1(b),表示不同类别的节点之间的关系
meta-path 如图1(c),可定义多种元路径作者-文章-作者/文章-主题-文章/…
三、模型定义

1.预处理
将不同类别的节点特征x投影到同一空间,特征长度对齐后记为h

2.network schema
对于一个文章类节点而言,在network schema 视角下将从作者、主题两个类别的节点中学习embedding,不同类别对当前节点的影响程度不同,这一程度值通过类似GAT的方式(引入注意力机制)由模型自主学习得到。每个类别下包含多个节点,不同节点的重要程度各不相同,类内各点重要程度也通过类似GAT的方式学习得到。
类内重要程度alpha(node-level attention):
其中fai_m表示所属节点类别,共m种;a为待学习的参数
通过node-level attention聚合邻居信息:
注:不是聚合所有邻居,有采样操作
将不同类别得到的embedding进行融合
类别重要程度beta(type-level attention):
其中W、b为待学习参数
通过type-level attention聚合不同类别embedding:
3. meta-path
通过元路径得到的是同构图,对每个同构图利用GCN得到各节点的初步表征h:
将不同元路径下得到的节点表征融合(还是类似GAT, semantic-level attention):
其中W、b为待学习参数,beta_fai_n为不同元路径下得到的图的重要程度
根据不同的重要程度,得到meta-path视角下的节点embedding
4. mask
network schema中节点不聚合本身的信息(masked),meta-path中不聚合中转节点的信息,这样将与当前文章相连的节点按类别区分开来,不重复计算。
5.contrastive learning
融合从两个视角得出的节点embedding进而进行判断,首先利用MLP进行映射:
接下来引入contrastive learning
对比学习:某事物的微小变种之间应有较高相似度(positive samples),本质不同的事物之间相似度低(negative samples)。本文正负样本定义如下:
positive:被多条meta-path相连的节点对(强调边的重要性)
negative: others
以i节点的network schema视角下的loss函数为例,将节点对按照meta-path相连条数降序排列,自行设置阈值划分正负样本。划分后有在network schema view下的contrastive loss(meta-path view同理):
其中sim为cos函数,表示两向量之间的相似程度。因为是network schema视角下的loss函数,所以目标embedding(gt)是network schema中的embedding;正负样本的embedding来自meta-path view。正样本对应值尽可能大,负样本对应值尽可能小,loss才能变小。
两视角loss均衡:
6. model extension
难以区分的负样本对提高对比学习模型的性能很有帮助,因此引入新的负样本生成策略:GAN & Mixup
边栏推荐
- Redis的五种数据结构
- HMS core machine learning service creates a new "sound" state of simultaneous interpreting translation, and AI makes international exchanges smoother
- 2022 Summer Project Training (I)
- 2022 Summer Project Training (III)
- 小程序在产业互联网中的作用
- STM32按键状态机2——状态简化与增加长按功能
- Jerry's setting currently uses the dial. Switch the dial through this function [chapter]
- Grafana 9.0 is officially released! It's the strongest!
- 《ASP.NET Core 6框架揭秘》样章发布[200页/5章]
- C language exchanges two numbers through pointers
猜你喜欢

Ms-tct: INRIA & SBU proposed a multi-scale time transformer for motion detection. The effect is SOTA! Open source! (CVPR2022)...

30 分钟看懂 PCA 主成分分析

1700C - Helping the Nature

C语言通过指针交换两个数

Scratch epidemic isolation and nucleic acid detection Analog Electronics Society graphical programming scratch grade examination level 3 true questions and answers analysis June 2022

RB157-ASEMI整流桥RB157

win10系统下插入U盘有声音提示却不显示盘符

第三季百度网盘AI大赛盛夏来袭,寻找热爱AI的你!

Virtual machine VirtualBox and vagrant installation

带你穿越古罗马,元宇宙巴士来啦 #Invisible Cities
随机推荐
Implementation of queue
Markdown grammar - better blogging
STM32+ESP8266+MQTT协议连接OneNet物联网平台
微信小程序中给event对象传递数据
Cocos2d Lua 越来越小样本 内存游戏
bonecp使用数据源
關於這次通信故障,我想多說幾句…
阿里云国际版ECS云服务器无法登录宝塔面板控制台
Four processes of program operation
win10系统下插入U盘有声音提示却不显示盘符
[Android] kotlin code writing standardization document
Introduction to the usage of model view delegate principal-agent mechanism in QT
epoll()无论涉及wait队列分析
小程序在产业互联网中的作用
Today in history: the mother of Google was born; Two Turing Award pioneers born on the same day
2022 Summer Project Training (I)
【Android】Kotlin代码编写规范化文档
《ASP.NET Core 6框架揭秘》样章发布[200页/5章]
队列的实现
30 minutes to understand PCA principal component analysis