湖人赛程表【图表⽰学习】图预训练模型GraphBERT
Graph-BERT:Only Attention is Needed for Learning Graph
Reprentations
⼀、简介
依赖于图结构的图神经⽹络(GNN)⾯临的⼀些问题,例如:suspended animation problem 和over-smoothing problem 。⽽且由于图本质上是相互连接的,阻碍了图上的并⾏运算。论⽂提出了图预训练模型Graph-BERT,该模型只基于注意⼒机制,且不依赖图的连接。⼆、符号
1. ⼩写字母表⽰标量,⼩写⿊体表⽰列向量,⼤写⿊体表⽰矩阵,⼤写⼿写字体表⽰集合或者⾼阶张量。
2. 给定矩阵,其中和表⽰⾏和列,表⽰第⾏第列的元素。
3. 和表⽰矩阵和向量的转置。
4. 表⽰向量的范数。
5. 表⽰矩阵的范数。
6. 表⽰向量对应元素相乘后的向量,即。
7. 表⽰向量拼接。
三、⽆连接⼦图采样
1.图的定义
图(graph)可以表⽰为5元组
理想万
其中,和表⽰节点集合和边集合;表⽰边到权重的映射;表⽰节点到对应特征的映射;表⽰节点到标签的映射。
2.基本符合和假定
封顶pos机a. 给定⽆权图,对于所有的边,则;否则,,则。(即两节点间存在边,则权重为1;否则,权重为0)
室内设计是什么
b. 和表⽰特征空间和标签空间,论⽂中为了简化表⽰则令和。
c. 给定⼀个节点,其特征和标签可以表⽰为和。
3.⽆连接⼦图采样
的输⼊不是完整的图,⽽是通过采样的⽆连接⼦图,这样就可以实现对图的并⾏化处理。
3.1 亲密度矩阵
论⽂提出了采样⽅式主要是基于亲密度矩阵,其每个元素表⽰节点和的亲密度分数。具体来说,论⽂使⽤来计算节点间的亲密度。
3.2 节点上下⽂
梦见被狗咬到手给定⼀个图和亲密度矩阵,则节点的上下⽂为集合,其中表⽰节点的最⼩亲密度阈值。(直观来讲,的上下⽂就是与其亲密度⾼于的所有节点)
论⽂中则令表⽰的第个分量。
(e.g.,x )(e.g.,x )(e.g.,X )(e.g.,X )X X (i ,:)X (:,j )i j X (i ,j )i j X T x T ∥x ∥=p (∣x (i )∣)∑i p p 1x L p ∥X ∥=F (∣X (i ,j )∣)∑i ,j 221Frobenius x ⊗y element-wi product x ⊔y G =(V ,E ,w ,x ,y )
V E w :E →R x :V →X y :V →Y G ∀(v ,v )∈i j E w (v ,v )=i j 1∀(v ,v )∈i j V ×V ∖E w (v ,v )=i j 0X Y X =
R d x Y =R d y v i x =i x (v )∈i R d x y =i y (v )∈i R d y Graph-BERT S ∈R ∣V ∣×∣V ∣S (i ,j )v i v j PageRank G S v i Γ(v )=i {v ∣v ∈j j V ∖{v }∧i S (i ,j )≥θ}i θi v i v i θi θi sorted(S (i ,:))k
3.3 针对节点的⽆连接⼦图采样
令表⽰节点对于的采样⽆连接⼦图,其可以表⽰为,其中节点集合为。(直观来说,中的节点由和其上下⽂组成,⽽且中并没有边)
3.4 在图上采样
给定图,针对图中的每个节点进⾏⽆连接⼦图采样得到⼀个⼦图集合。这样,图就转换为⼦图集合。如果尺度太⼤,还可以对进⾏采样,例如。
四、输⼊节点的Embedding
虽然图中的节之间并没有顺序,但是为了⽅便模型的输⼊,仍然会将⼦图中的节点转换为有序的列表。具体来说,将⽆连接⼦图中的所有节点转换为节点链表,对于任意两个节点,若,则节点会排在之前。
1. 节点原始特征Embedding
对于⼦图中的每个节点,将原始特征转换为新嵌⼊特征
2. Weisfeiler-Lehman 绝对⾓⾊Embedding
Weisfeiler-Lehman算法可以根据节点在图中的⾓⾊来标记节点。更正式来说,对于节点的编码可以表⽰为,即为每个节点分配⼀个代表⾓⾊的⾮负整数。使⽤中的Position Embedding⽅法对节点的⾓⾊进⾏嵌⼊,即
其中,。
3. 基于亲密度的相对位置Embedding古文中之的意思
基于Weisfeiler-Lehman算法得到的节点⾓⾊是全局性质的,本⽂使⽤前⾯的序列化⽅式来捕获局部信息。具体来说,将图中所有节点转换为序列,基于这个序列为每个节点分配⼀个位置。其中节点的位置为,节点的位置为,以此类推。(注:相同的节点在不同⼦图中的相对位置不同)
基于上⾯的相对位置,仍然使⽤中的进⾏相对位置的嵌⼊
4. 基于跳数的相对位置Embedding
伤感英文网名
前⾯两种位置的嵌⼊分别是全局和局部的,这个基于跳数的相对位置嵌⼊可以看做是前⾯两种位置嵌⼊的平衡。正式来说,对于⼦图中的任意节点,其与节点的相对距离为两节点在原始图中的跳数,表⽰为。将这个相对位置进⾏嵌⼊
五、Graph-Transformer 和Graph-BERT
1.v i g i v i g =i (V ,∅)i V =i {v }∪i Γ(v )i g i v i g i G G G ={g ,g ,…,g }12∣V ∣G G G G B ⊆G g ∈i B V i [v ,v ,…,v ]i i ,1i ,k ∀v ,v ∈i ,j i ,m V i S (i ,j )>S (i ,m )v i ,j v i ,m g i v ∈j V i x j e =j (x )Embed (x )∈j R d ×1
h v ∈j V i WL WL(v )∈i N Transformer WL(v )i e =j (r )Position-Embed(WL (v ))j =[sin (),cos ()]10000d h 2l WL (v )j 10000d h 2l +1WL (v )j l =0
⌊⌋
2d h e ∈j (r )
R d ×1h g ∈i B [v ,v ,…,v ]i i ,1i ,k v i P (v )=i 0v i ,1P (v )=i ,11Transformer Position-Embed e =j (p )Position-Embed(P (v ))∈j R d ×1
h g i v ∈j V i v i H (v ;v )j i e =j (d )Position-Embed(H (v ;v ))∈j i R d ×1
h Graph-Transformer
对于⼦图中的节点,其向量表⽰由上⾯4中嵌⼊向量聚合⽽成,即
本⽂中聚合函数为向量求和。整个⼦图中的节点会被组织为矩阵
定义⼀种⽤于图的,称为。其原理如下:
是基于的:
上式中,。
其中,是图残差项,其中是⼦图所有节点的原始特征。
2.是多个堆叠⽽成,具体来说:
在NLP任务中,Transformer模型的⽬标是学习所有输⼊token的表⽰。本⽂的⽬标是获得⼦图中节点的表⽰。函数的作⽤是将⼦图中所有节点的表⽰进⾏平均,是⽬标节点的最终状态。
六、Graph-BERT 上的预训练任务
基于模型Graph-BERT,提出了两个预训练任务。
1.节点属性重构(Node Raw Attribute Reconstruction)
针对⼦图中的节点,会产⽣相应的向量表⽰。节点属性重构任务就是,使⽤来恢复节点的原始特征,即⽣成原始特征。定义损失函数来缩⼩⽣成原始特征与真正原始特征的差距
2.图结构恢复(Graph Structure Recovery)
g i v j h =j (0)Aggregate(e ,e ,e ,e )
j (x )j (r )j (p )j (d )Aggregate g i H =(0)[h ,h ,…,h ]∈i (0)i ,1(0)i ,k (0)T R (k +1)×d h
Transformer G-Transformer {H (l )=G-Transformer(H )(l −1)=softmax (V +G-Res(H ,X )),
d h QK T
(l −1)i Q 、K 、V H (l −1)⎩⎪⎨⎪⎧Q =H W (l −1)
Q (l )K =H W (l −1)K (l )V =H W (l −1)V (l )W ,W ,W ∈Q (l )K (l )V (l )R d ×d h h G-Res(H ,X )(l −1)i X ∈i R (k +1)×d x g i Graph-BERT
Graph-BERT G-Transformer ⎩⎪⎨⎪⎧H =[h ,h ,…,h ](0)i (0)i ,1(0)i ,k (0)T H =G-Transformer(H ),∀l ∈{
1,2,…,D }
(l )(l −1)z =Fusion(H )i (D )Graph-BERT g i v i Fusion(⋅)g i z ∈i R d ×1h v i g i v i GRAPH-BERT z i z i v i =x ^i FC(z )i x ^i x i l =1∥x −∣V ∣1v ∈V i ∑i ∥x ^i 2
为了使模型能够捕获到图的结构信息,本⽂还设计了图结构恢复任务。对于任意两个节点和,计算其向量表⽰的余弦相似度,即。⽤这个相似度来表⽰两个节点的连接程度。计算图中所有节点间的余弦相似度,并组成相似度矩阵,其中。
定义损失函数缩⼩和亲密度矩阵之间的查询七、模型迁移与微调Graph-BERT
将应⽤在节点分类和图聚类任务中。
1. 节点分类
试用期转正自我评价
基于节点的向量表⽰,计算其分类标签。设输⼊的batch为,计算交叉熵损失函数其中,是节点的类别数量。
2.图聚类
假设存在个簇。对于簇,以计算簇中⼼变量。图聚类的⽬的就是将相似节点聚在相同的簇中,将不同的节点划分到不同簇中。图聚类的⽬标函数可以表⽰为:
v i v j =s ^i ,j ∥z ∥∥z ∥i j z z i T
j
G ∈S ^R ∣V ∣×∣V ∣(i ,j )=S ^s ^i ,j S
^S l =2∥S −∣V ∣21
∥S ^F
2Graph-BERT v i z i =y
^i softmax(FC(z ))i T l =nc −y (m )log (m )
v ∈T i ∑m =1∑d y
i y ^i d y l C ={C ,C ,…,C }12l C ∈j C u =j z ∈∑v ∈C i i i R d h ∥z −u ,…,u 1l min C min j =1∑l v ∈C i ∑i u ∥j 2