Data Augmentation for Graph Neural Networks

https://arxiv.org/pdf/2006.06830

https://github.com/zhao-tong/GAug

Data Augmentation for Graph Neural Networks ,2021,AAAI

总结:和CV、NLP中的数据增强不同,通过Edge Manipulation进行图数据增强,提出了GAUG框架。具体来说删去图中可能是噪声的边,增加图中可能丢失的边(对模型有益),其实可以看做是一个降噪和补全的过程(不知道其他图数据增强技术是不是有其他增强方法)。另外GAUG的动机和本质是:增加同类别节点之间的边,去掉不同类别节点之间的边,这在异构图中是不成立的,因此无法用于异构图学习。不过可以考虑是否可以将数据增强方法用于小样本图学习中。

阅读更多...

A Universal Representation Transformer Layer for Few-Shot Image Classification

https://arxiv.org/pdf/2006.11702

https://github.com/liulu112601/URT

A Universal Representation Transformer Layer for Few-Shot Image Classification,2021,ICLR

总结:文章提出的URT方法基于SUR方法改进而来,用于multi-domain下的小样本学习。现有的小样本学习方法基本都是从单个dataset/domain(样本充足)中采样元任务,但是这在实际应用中是不现实的。本文作者提出的URT方法,作者将Transformer中的自注意力机制整合到小样本学习中,从多个预训练好的backbone中自动选取合适的backbone学习样本表示。和SUR方法相比通用性更高,并且在大多数数据集上都取得了更好的分类性能。文章中图画的挺好看,实验比较丰富,可以借鉴到其他领域论文中。

阅读更多...

常用CSS居中方法集锦

总结

对于行内元素,可以使用center/margin:auto/text-align:center等实现水平居中。块级元素常用的居中方法有absolute,flex,padding,tabel-ceil,伪元素等技术实现。下文中各个方法实现效果为:

水平居中 垂直居中
行内元素 1,2,3,4 2,3,4
块级元素 1,2,3,5,6,7,8,9,10 2,3,5,6,7,8,9,10
阅读更多...

浅谈CSS中的定位

说在最前面

一切皆为框。div、h1或p元素被称为块级元素,这些元素显示为一块内容,即为“块框”。span和strong等元素称为行内元素,他们的内容显示在同一行中,即为“行内框”。

在没设置任何style的情况下,这些框,按照正常的顺序在文档流中排列:即块框独占一行,行内框显示在同一行。

注意:width属性、垂直内边距、外边距都无法作用于行内框;行内框宽度发生溢出会自动换行

阅读更多...

深度学习小知识

1. 池化层

池化层是卷积神经网络的常用组件之一,最早见于LeNet一文中,现在也被扩展到很多其他神经网络中。池化层模仿人的视觉系统对数据进行降维,用更高层次的特征表示图像。

池化层的目的有:

  • 对数据降维,降低信息冗余
  • 提升模型的不变性,包括平移不变性、旋转不变性、尺度不变性等等
  • 防止过拟合

常见的池化技术有:最大池化、平均池化、重叠池化、随机池化、组合池化等等。

阅读更多...

WL和GNN

1. Weisfeiler-Leman算法

  • 图同构: 通俗点就是两个图的特征及结构信息完全相同。具体来说就是:如果图G和图H同构,那么在G和H的顶点集间存在一个“edge-preserving"的双射函数ff,使得“如果节点u和v在图G中相连,那么f(u)f(u)f(v)f(v)在图H中也相连”。下图展示了两个同构图G和H:

  • Jaccard相似度: Jaccard index,又称为Jaccard相似系数或者叫雅可比相似度系数,用来比较有限样本集之间的相似性与差异性。Jaccard系数值越大,样本相似度越高。狭义的Jaccard系数计算公式如下:

    J(A,B)=ABAB=ABA+BABJ(A,B)=\frac{|A\cap B|}{|A\cup B|}=\frac{|A\cap B|}{|A|+|B|-|A\cap B|}

    当A和B都为空集时,J(A,B)=1J(A,B)=1;当A=BA=B时,J(A,B)=1J(A,B)=1

Weisfeiler-Leman(WL,威斯费勒-莱曼)是用来测试图同构的一种经典算法,可以在准多项式复杂度内判别两个图是否同构。所谓的图同构就是两个图中对应节点的特征信息结构信息都相同,则称两个图同构。因此就需要一种高效地计算方法能将特征信息及结构位置信息映射成一个数值,我们称其为这个节点的ID。最后,两个图的相似度问题就可以转化成两个图节点集合ID的Jaccard相似度问题。

  • 思路: 计算节点ID需要用到节点的特征信息和结构信息。特征信息即节点自带的Embedding,而结构信息可以通过节点的邻居来刻画,比如,如果两个节点的Embedding相同,并且他们连接了Embedding完全相同的邻居,此时我们是无法区分这两个节点的,因此这两个节点的ID相同。我们可以通过对节点ID的Hash来高效判断两个节点ID是否一致。
  • Input: 一对图G=(V,E,X)G=(V,E,X)H=(U,F,Y)H=(U,F,Y)
  • Output: 是否存在双射函数f:VUf:V\rightarrow U,使得Xv=Yf(v) vVX_v=Y_{f(v)}\ \forall v\in V,并且当且仅当{f(u),f(v)F}\{f(u),f(v)\in F\}时,{u,v}E\{u,v\}\in E
阅读更多...

COMBINING LABEL PROPAGATION AND SIMPLE MODELS OUT-PERFORMS GRAPH NEURAL NETWORKS

https://arxiv.org/pdf/2010.13993v2.pdf

https://github.com/CUAI/CorrectAndSmooth

COMBINING LABEL PROPAGATION AND SIMPLE MODELS OUT-PERFORMS GRAPH NEURAL NETWORKS,ICLR,2021

总结:GNN作为图学习方面的主要技术,但是其模型越来越复杂,模型收益的可解释性很差。作者发现通过结合几个简单的方法(C&S后处理步骤),在多个数据集上能超过或者媲美当前最优GNN的性能。具体来说先用简单的模型比如MLP或者线性模块预测节点类型分布,然后通过两个标签传播对预测结果进行修正(Correct)和平滑(Smooth)处理。文章的发现或者带给我们的启发有一下几点:(1)图学习模型不一定要很复杂,一些简单模型的组合往往也能取得很好地效果;(2)之间将标签用于模型中,在直推式节点分类中有很好地效果(这也是作者认为该模型的收益来源)。

阅读更多...

Inductive Representation Learning on Large Graphs

https://arxiv.org/pdf/1706.02216

https://github.com/williamleif/GraphSAGE

Inductive Representation Learning on Large Graphs,2017,NIPS

总结:现有的图表示学习方法都是transductive的,即测试用的节点在训练时是seen的。本文作者提出了一种inductive图表示学习方法GraphSAGE。inductive的具体实现方法就是学习一个聚合器,每一层采样固定大小的邻居,然后聚合这些邻居的信息用于生成当前层目标节点的嵌入向量,而不是为每一个节点学习一个嵌入向量。

阅读更多...
  • Copyrights © 2021-2022 Yin Peng
  • 引擎: Hexo   |  主题:修改自 Ayer
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信