腾讯AI Lab_图深度表示基础和前沿进展(2020)

提示:本文为AI lab机器学习中心 荣钰老师介绍总结

视频链接


背景

  • 大量的数据是以图结构的形式进行组织

    • 社交网络
    • 金融网络
    • 化学分子

在这里插入图片描述

 

  • 基于图结构的数据挖掘在实际场景中具有广泛的应用

    • 社团分析
    • 用户画像
    • 连接预测
    • 属性预测
    • ……

问题定义

  • 什么是图表示学习?
    在这里插入图片描述
     
  • 将图映射到向量空间的优势:
    • 向量表示相对于传统图表示(邻接矩阵,邻接表)对现有机器学习算法更友好。
    • 可以更好地将拓扑信息和节点本身特征结合。
       
  • **目标:**在向量空间上对图数据进行学习和推断。
    • 例:用户画像→向量分类
        社团挖掘→聚类分析
        节点相似度→向量相似度

 

针对图表示学习的两个不同视角

  • 图论、数据挖掘角度:如何在学习到向量的表示中保留尽可能多的拓扑信息。(基于图结构的表示学习)
    • A A A是邻接矩阵, h ≪ n h\ll n hn

在这里插入图片描述

  • 从机器学习,特征工程角度:如何通过有效利用图拓扑结构信息结合现有的特征词向量得到新的特征。(基于图特征的表示学习,即图神经网络)
    • X X X是节点特征向量集合。
      在这里插入图片描述

基于图结构的表示学习

  • 传统方法:降维( n × n → n × h n\times n\rightarrow n\times h n×nn×h

    • 时间复杂度高。
    • 不能保留图中节点和节点之间的拓扑消息。
  • 什么叫做“保留拓扑信息”

  • 目标在拓扑里面“邻近” ⇔在向量域“邻近”。

  • 问题:如何建模节点之间的邻近信息?→ 如何定义“邻近”?

  • 定义临近的方法:

    • 共同出现(邻居关系)

    • 高阶邻近:n-hop邻居
      在这里插入图片描述

    • 团体邻近:属于某一团体
      现有算法都是围绕定义“邻近”求解“邻近”这两个点展开的。

经典算法——Deepwalk

  • 动机:如何动态的建模邻居信息?

  • 1-hop建模:对于某个节点只看其邻居节点

    • 太局部,忽略了图上的一些全局信息。
  • n-hop建模:对于某个节点考虑其n步邻居节点

    • 组合爆炸,复杂度高,且没必要。
  • 解决方法

    • 考虑有限步的情况,例如只考虑1,2hop(LINE)。
    • 使用采样的方式——随机游走(Random Walk)。
  • 利用随机游走采样生成的序列去定义节点间的临近关系。

    • 在足够多的采样情况下,可以很好的刻画节点之间的临近信息。
      在这里插入图片描述
  • 算法整体框架

在这里插入图片描述

  • 总结
    • 使用定长的随机游走去采样图中的临近关系。
    • 节点→词语,随机游走序列→句子。
    • 使用自然语言处理相关模型(例如Word2Vec)对随机游走序列进行表示学习。
  • 扩展:非常多的×××2Vec论文。☺

Deepwalk扩展

  • Node2Vec
    • 动机:简单的随机游走采样不够好(不能提现出BFS/DFS性质)。
    • 核心思想:等概率跳→人工设计概率来跳
    • Smller p:BFS;Smaller q:DFS
      在这里插入图片描述
  • Struc2Vec
    • 动机:保留局部结构一致性。
    • 核心思想:在原来的图上构建一个新图。
      在这里插入图片描述
  • Metapath2Vec
    • 动机:异构上存在不同类型的节点,这些节点不能同等看待。期间关系可能存在一些固定的模式。
    • 核心思想:使用预定义的Meta-Path来进行Random Walk。
      • e . g . e.g. e.g.:总裁——华为——女儿——CFO
        在这里插入图片描述

基于图特征的表示学习(图神经网络)

  • 机器学习领域:更关注如何利用图的拓扑特征去生成新的节点特征。

    • 图像→向量/视频→向量…→所有深度学习的问题 都可以归结为表示学习的问题。
    • 挑战:如何利用我们在图片/视频/上取得的成功经验来应对图特征的表示学习问题?
  • 卷积神经网络(Convolutional Neural Network)表示学习利器

在这里插入图片描述

  • 从图的角度上看图像上的CNN:在欧式空间上的格点图
    • 平移不变性
    • 多尺度结构

在这里插入图片描述

  • 目标:将在欧式空间上的CNN扩展到拓扑空间。→图卷积

  • 图卷积神经网络(GCN)

    • 输入:邻接矩阵(节点数×节点数),特征矩阵(节点数×输入特征数)

    • 输出:新的特征矩阵(节点数×输出特征数)

    • 多层网络可以进行叠加。

    • 节点层面:节点自身特征和其邻域特征的聚合。 在这里插入图片描述 H ( l + 1 ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) W ( l ) ) H^{\left( l+1 \right)}=\sigma \left( \tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}H^{\left( l \right)}W^{\left( l \right)} \right) H(l+1)=σ(D~21A~D~21H(l)W(l))
      其中:
      A ~ = A + I N \tilde{A}=A+I_N A~=A+IN:带自环的邻接矩阵。
      D ~ i i = ∑ j A ~ i j \tilde{D}_{ii}=\sum_j{\tilde{A}_{ij}} D~ii=jA~ij:度矩阵。 H H H:特征矩阵。 W W W:模型参数。
      σ (   .   ) \sigma \left( \ .\ \right) σ( . ):激活函数。

    • 两层GCN构造KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲损失函数:
      Z = f ( X , A ) = s o f t max ⁡ ( A ^ Re L U ( A ^ X W ( 0 ) ) W ( 1 ) ) Z=f\left( X,A \right) =soft\max \left( \hat{A}\text{Re}LU\left( \hat{A}XW^{\left( 0 \right)} \right) W^{\left( 1 \right)} \right) Z=f(X,A)=softmax(A^ReLU(A^XW(0))W(1))
      L = − ∑ l ∈ y l ∑ f = 1 F Y l f ln ⁡ Z l f L=-\sum_{l\in y_l}{\sum_{f=1}^F{Y_{lf}\ln Z_{lf}}} L=lylf=1FYlflnZlf

    • GCN的推导思路:在图的拓扑空间近似在谱空间中的图滤波的操作,减少可学习的参数。

  • 图卷积神经网络的扩展

请添加图片描述

  • 从另一个角度理解GCN:对邻居节点特征的(带权重的聚合

  • 基于这一理解,大量的方法对传统的GCN进行了扩充。

  • GraphSAGE对聚合进行扩展。

    • 对聚合和邻居节点进行了扩展定义。
      • 聚合:Mean Pooling /Max Pooling/LSTMetc
      • 邻居节点:Fix-length sample. → 可以用来加速GCN计算。
        在这里插入图片描述
  • 图注意力网络GAT:对权重进行扩展

    • GCN中使用的邻接矩阵权重是提前给定的,例如 D ~ − 1 2 \tilde{D}^{-\frac{1}{2}} D~21 A ~ \tilde{A} A~ D ~ − 1 2 \tilde{D}^{-\frac{1}{2}} D~21
    • 图注意力网络引入了自注意力机制,利用当前节点的特征以及其邻居节点的特征来计算邻居节点的重要性,把该重要性作为新的邻接矩阵进行卷积计算。
    • 优势:利用节点特征的相似性更能反映邻接信息。
      在这里插入图片描述
      α i j = exp ⁡ ( L e a k y R e L U ( a ⃗ T [ W h ⃗ i ∣ ∣ W h ⃗ j ] ) ) ∑ k ∈ N i exp ⁡ ( L e a k y R e L U ( a ⃗ T [ W h ⃗ i ∣ ∣ W h ⃗ k ] ) ) {\alpha }_{{ij}}=\frac{\exp \left( {LeakyReLU}\left({\vec{a}}^{{T}}\left[{W\vec{h}}_{{i}}||{W\vec{h}}_{{j}} \right] \right) \right)}{\sum_{{k}\in {N}_{{i}}}{\exp \left( {LeakyReLU}\left( {\vec{a}}^{{T}}\left[ {W\vec{h}}_{{i}}||{W\vec{h}}_{{k}} \right] \right) \right)}} αij=kNiexp(LeakyReLU(a T[Wh iWh k]))exp(LeakyReLU(a T[Wh iWh j]))
      h ⃗ i ′ = σ ( 1 K ∑ k = 1 K ∑ j ∈ N i α i j k W k h j ⃗ ) \vec{h}_i'=\sigma \left( \frac{1}{K}\sum_{k=1}^K{\sum_{j\in N_i}{\alpha _{ij}^{k}}W^kh_{\vec{j}}} \right) h i=σK1k=1KjNiαijkWkhj

深度图学习面临的挑战

如何将图神经网络模型做到更大的图上(如何做大)。

  • 回顾GCN H ( l + 1 ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) W ( l ) ) H^{\left( l+1 \right)}=\sigma \left( \tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}H^{\left( l \right)}W^{\left( l \right)} \right) H(l+1)=σ(D~21A~D~21H(l)W(l))

    其中, D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) \tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}H^{\left( l \right)} D~21A~D~21H(l)表示邻接矩阵用到的所有节点,难以处理超大图。

  • 对所有邻居节点进行聚合并不高效(计算KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲Memory)。

  • 思路:采样,采用一部分点/边来进行计算。

  • FastGCN:对所有邻居节点进行聚合并不高效(计算KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲Memory)。

    • 把图节点特征看做一个有隐含概率分布产生,利用该分布对每一层的所有节点整体采样,避免了采样点个数的指数增加。
    • 采样的目标是尽量减少采样的方差→基于节点degree的采样。
    • 缺点:没有考虑层间点和点的关系。
      在这里插入图片描述
  • AS-GCN:FastGCN采样的方式并不合理——在图极大而采样比例极少的时候,层间连接会急剧减少。超大图的采样训练方法设计。

    • 自顶向下Layer-dependent的采样方式。
    • 在控制每层采样个数的同时,确保上下两层之间的连接是密集。
  • 保证采样无偏和减小采样方差?
    q ∗ ( u j ) = p ( u j ∣ v i ) ∣ g ( x ( u j ) ) ∣ ∑ j = 1 N p ( u j ∣ v i ) ∣ g ( x ( u j ) ) ∣ , w i t h   g ( x ( u j ) ) = W g x ( u j ) q^*\left( u_j \right) =\frac{p\left( u_j|v_i \right) |g\left( x\left( u_j \right) \right) |}{\sum_{j=1}^N{p\left( u_j|v_i \right) |g\left( x\left( u_j \right) \right) |}},with\ g\left( x\left( u_j \right) \right) =W_gx\left( u_j \right) q(uj)=j=1Np(ujvi)g(x(uj))p(ujvi)g(x(uj)),with g(x(uj))=Wgx(uj)

  • 扩展

    • 加入了残差连接,能考虑二阶邻居的信息传播;
    • 在采样设置下,实现了注意力机制。
      在这里插入图片描述

如何有效训练更复杂的图神经网络模型(如何做深)。

  • 为什么不能做深?
    • 过拟合(Overfitting):参数数量过多造成的泛化性降低。
    • 过平滑(Over-smoothing):多层的邻居聚合造成的特征均化。
  • Over-smoothing的定义:
    • 经过L层特征聚合后特征收敛到一个和输入特征无关的子空间M的现象。
      d M ( H ( l ) ) < ϵ , ∀ l ≥ L d_M\left( H^{\left( l \right)} \right) <\epsilon ,\forall l\ge L dM(H(l))<ϵ,lL
  • 挑战:如何减弱Over-smoothing?
    A d r o p = A − A ′ A_{drop}=A-A' Adrop=AA
  • DropEdge:在每个epoch训练前,随机丢弃一定比例的边。对超深图神经网络的有效训练。
    • 为什么DropEdge可以减缓收敛到子空间 M M M的速度。 l ∗ ( M , ϵ ) ≤ l ∗ ( M ′ , ϵ ) l*\left( M,\epsilon \right) \le l*\left( M',\epsilon \right) l(M,ϵ)l(M,ϵ)
    • DropEdge可以减少收敛过程中的信息损失。 N − d i m ( M ) > N − d i m ( M ′ ) N-dim\left( M \right) >N-dim\left( M' \right) Ndim(M)>Ndim(M)

四大应用

  • 药物属性预测和可解释性的问题:DualMPNN,在所有属性预测数据上大幅超越SOTA算法并提供了模型的可解释性。
  • 复杂层次图学习问题:SEAL算法,基于复杂层次图结构的GNN模型。应用于安全场景中的群分类任务。
  • 社交网络语言检测:Bi-GCN,首创双向GCN结构并将其应用于语言检测问题。
  • 统一黑盒攻击框架:GF-Attacker,首个可以对于多种图模型进行黑盒攻击的攻击框架。

图神经网络应用

此部分可参考:腾讯AI Lab联合清华,港中文长文解析图深度学习的历史、最新进展到应用

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

All in .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值