【KD】实习day13

GCN+Gaussian+GAT

GCN+Gaussian的优点:permutation-invariance
GAT的优点:local structure sensitivity

原始CondGEN整体架构

  • Encoding:GCN
    输入为邻接矩阵(N×N)
    输出为嵌入表征(N×D)
  • 中间部分:判别器不做任何处理。生成器得到全图的嵌入表征(原文为1×D),并随机采样得到N个结点的特征,得到新的N个结点的嵌入(N×D)。
  • Decoding:FNN
    输入为嵌入表征(N×D)
    – 判别器:
    用两层Linear+activation和节点嵌入求和得到一个0到1的输出值。
    – 生成器:
    经过两层Linear+activation和节点嵌入相乘得到生成边的打分
    输出为生成边的打分(N×N)
    对生成的概率里的前2E个值设为1,其余设为0,即生成E条边。

判别器

输入为adj(N×N),输出为0到1的打分

  1. encoding阶段1:spectral embedding得到初步嵌入(N×D)
  2. encoding阶段2:GCN得到permutation-invariant嵌入(N×D’)
  3. decoding阶段1:两层FNN得到降维嵌入(N×8)
  4. decoding阶段2:直接对N个结点嵌入求和得到全图表示(1×8),并用Linear+Sigmoid求得图的最终打分

生成器

输入为adj(N×N),输出为打分矩阵(N×N)

  1. encoding阶段1:同判别器的encoding阶段1和2一致
  2. encoding阶段2:dropout之后(shape 依旧为N×D’,只不过大约有一半的值为0),通过两层Linear得到mean和logvar(shape均为N×6)
  3. 采样阶段:均值+随机误差来高斯采样得到生成的N个结点的嵌入表征(N×6)
  4. decoding阶段1:两层FNN得到降维嵌入(N×8)
  5. decoding阶段2:X×X.T得到每一个结点的生成打分矩阵(N×N),生成打分最高的前E条边。

原始CondGEN的错误

  1. 高斯分布的标准差计算有误
  2. 在生成后的结点已经失去了结点序列的情况下,依旧按照序列来补上attr_vec

改进后CondGEN整体运算

  • Encoder: GCN
    输入为邻接矩阵(N×N)
    输出为嵌入表征(N×D’)
  • 中间部分:判别器不做任何处理。生成器得到全图的嵌入表征(原文为1×D,这里为K×D,K为高斯分布的个数),并随机采样得到N个结点的特征,得到新的N个结点的嵌入(N×D)。
  • Decoder
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值