笔记整理 | 方尹,浙江大学在读博士,研究方向:图表示学习。
论文地址:https://arxiv.org/abs/2012.12533
动机与贡献
现有的对比学习框架中可能存在以下几个弊端:
1.把节点看成一种视图,在节点和图之间进行对比学习,这样可能会限制模型捕获整体信息的能力;
2.把子图看成一种视图,挑选子图的方法比如随机游走或着k-hop邻居很大概率会得到完全没有意义的子图。而依赖于子图结构计数的motif mining方法又不适用于大规模数据集。
作者提出了MICRO-Graph框架:
1.自动化找出motif,再找出这个motif下的子图
2.一种子图到图的对比学习框架
模型与算法
整体框架分为三部分:1.找出重要的子图;2.cluster抽出来的子图,并定义主题;3.子图到图的对比学习。
图通过GNN encoder得到节点的表示,再通过segmenter模块抽取子图,子图通过encoder获得子图表示,子图的表示通过motif learner模块学习子图属于哪些主题,更新的参数又会影响segmenter抽取子图的方式和节点表示。把最终生成的子图和整个图进行对比学习。
Motif learner
input graph通过segmenter抽取出N个子图,每个子图通过encoder学习到子图的表示。这里要用到的两个矩阵:S衡量了主题和子图的相似度,Q衡量了子图被分配到某个主题的概率。
E-step的目标就是求解Q,使得子图和它被分配到的主题的相似度最大。
目标函数:最大化 分配矩阵Q和相似度矩阵S乘积的迹 其实就是最大化子图和它被分配到的主题的相似度。因为在进行表示学习时representation会发生变化,可能会导致退化的问题,比如所有的表示都聚到一个cluster。所以这里引入了一个约束H(Q).
M-step的目标是在已知最优Q的情况下,寻找似然函数最大化时对应的参数,更新encoder的参数和motif embedding table。相当于一个label为Q,预测得分为S的K-分类问题。利用负对数似然做损失函数,这里的S做了softmax normalization.
motif learner的作用就是在给定的子图上学习他们的主题。
Motif-guided subgraph segmenter
包含n个节点的graph通过encoder得到每个节点的embedding, 计算了节点两两之间的相似度。通过A,进行谱聚类:将聚类后,组成成分多于3个节点的子结构作为subgraph, 聚合子结构包含的所有节点embedding作为subgraph embedding.
它的训练基于一种直觉:如果子图和主题很相似,那么子图的节点embedding随着update也会相似。Loss:如果子图和任意主题相似度高于某个阈值,就让子图中节点的affinity values更高,这些节点和不在子图中的其他节点的affinity values越低。
经过训练,在下一个sampling回合中,产生出来的motif-like的子图的节点更有可能被分割在一起,这样的子图才会更有意义。
Contrastive learning between graph and subgraphs
图和从这张图中sample出的子图作为positive pairs;这张图和从其他图中sample出的子图作为negative pairs. W是图和子图的相似度矩阵。
Joint training
训练时同时考虑三个模块的损失。
实验与结果
1.两种evaluation protocol:
2.五个最频繁出现的主题,用与他们最相近的subgraph表示:
3.Ablation study
欢迎有兴趣的同学阅读原文。
OpenKG
开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。
点击阅读原文,进入 OpenKG 网站。