文献阅读——Revisiting Semi-Supervised Learning with Graph Embeddings

1 Introduction

半监督学习的目标是利用未标记的数据来改善模型的效果。大量半监督的学习算法共同优化利用已标记数据的监督学习损失和利用已标记数据和未标记数据的半监督学习的两个训练的目标函数。基于图的半监督学习定义了一个对于已标记数据和一个图的拉普拉斯正则化项的损失函数。其中图的拉普拉斯正则化项是一个基于周围节点假设:其假设图中相邻的节点之间拥有相同的标签结构。因为其通过图结构约束了标签的一致性,所以这种拉普拉斯约束是有效的。

最近被提出的半监督学习方法是通过学习预测分布情况的编码。例如:一个词的编码可以通过其周围的上下文进行预测。图中一个节点的编码可以通过其周围的节点进行预测。通过上下文分布来训练编码可以被用来提高相关任务的表现。例如:通过语言模型训练的词编码可以被应用到词性标注,分块和实体识别中去。

在本文中,我们考虑的不是词编码而是图的编码表示。结果显示图编码对于一个图的节点分类是有效的,例如在一个社交网络中的用户行为的预测。然而,图编码经常通过具体的监督学习任务分别的进行学习。因此,在某些意义下图编码对于不能够产生有效的特征,并且可能无法充分的利用到图结构中有效的编码信息的图的拉普拉斯正则化是互补的。

我们的工作的重点包括在于将图编码技术整合到基于图的半监督学习的环境中去。我们提出了一个新的,图的半监督学习的框架:Planetoid。一个样本被同时训练于预测该样本的类别标签和图中的上下文。然后,我们原始分类器的编码层和隐藏层进行拼接,并且将其输入到softmax中来进行预测。

因为这些编码是基于图结构进行学习的。以上的方法被称为转导推理。这种方式意味着我们仅仅能够预测在训练时在图中已经发现的样本。在很多的条件下,预测的样本点可以是在训练时没有在图中发现的节点,我们将这种预测称为归纳推理。为了描述这个问题,我们将提出我们的框架关于归纳推理的一个变体。我们定义这些编码定义为一个以特征作为输入的参数化函数。例如这些编码可以看做是神经网络的一个隐层。

为了演示我们提出的方法的有效性,我们使用五个数据集来完成3个任务。包括文本分类,远距离监督的实体抽取和实体分类任务。我们的归纳推理的方法的效果相比于第二名提升了18.7%,在准确度上平均提高了7.8%个点。

2 相关工作

2.1 半监督学习

这里使用L和U表示已经标记和没有标记的样本的数量。使用X1:LX_{1:L}X1:LXL+1:L+UX_{L+1:L+U}XL+1:L+U表示的已经标记的样本的向量和没有标记的样本的向量表示。这里已标记的样本点的标签y1;Ly_{1;L}y1;L已经给出。基于已标记和未标记的样本,半监督学习的问题被定义成学习一个分类器f:x−>yf:x->yf:x>y,这里有两种范式,转导推理和归纳推理。转导推理的目标是将分类器应用在在训练时已经发现的未标记的数据,这个分类器不会囊括没有发现的数据。例如,转导支持向量机(TSVM),基于低密度分离的方式,假设一个好的超平面依赖于特征空间的稀疏区域。来最大化未标记数据的距离。另一个方面,归纳推理的目标是生成一个参数化的分类器fff来囊括没有发现的样本。

2.2 基于图的半监督学习

除了已标记和未标记的数据,一个通过一个(L+U) * (L+U)的矩阵A进行表示的图可以给出很多基于图的半监督学习算法。每一项aija_{ij}aij表示的是样本i和样本j之间的相似情况。矩阵A的生成可以通过样本的之间的距离来派生出来,也可以明确地通过额外的信息派生出来。例如一个知识图谱或者一个文献之间的引用网络。在本文中,我们重点关注的是一个图可以被明确的给出,并且其特征向量中不包含其他的额外信息。例如,图中的边反应的是两个文献之间的超链接,而非采用词袋表示之后的文献之间的距离。

基于图的半监督学习的假设是相邻的节点之间具有相同的标签。一般的,基于图的半监督学习的损失函数如下所定义:
∑i=1Ll(yi,f(xi)))+λ∑i,jaij∣∣f(xi)−f(xj)∣∣2=∑i=1Ll(yi,f(xi)))+λfT△f∑_{i=1}^Ll(y_i,f(x_i)))+λ∑_{i,j}a_{ij}||f(x_i)-f(x_j)||^2=∑_{i=1}^Ll(y_i,f(x_i)))+λf^T△fi=1Ll(yi,f(xi)))+λi,jaijf(xi)f(xj)2=i=1Ll(yi,f(xi)))+λfTf

在上面的等式中,第一项是常规的监督学习的损失,其中lll可以是对数损失,平方损失或者铰链损失。第二项表示的图的拉普拉斯惩罚项,其揭示了相似节点被预测成不同标签f(xi)≠f(xj)f(x_i)≠f(x_j)f(xi)=f(xj)的惩罚项。图的拉普拉斯矩阵被定义为△=A−D△=A-D=AD,其中D是一个对角矩阵,每一个项被定义为dii=∑jaijd_{ii}=∑_{j}a_{ij}dii=jaij,λ是一个常数的权重项。为了简单起见,我们没有给出参数的正则化项。

大量的基于图的半监督学习的算法定义的损失函数都是上述等式的变体。标签传播强制fff和标记的实例y1:Ly_{1:L}y1:L一致,f是一个对于图中未标记实例的查找表,并且可以获得一个相似的解决方案。局部或者全局一致性学习算法定义lll是一个平方损失,定义f是一个查找表,其不强制f必须和已标记的样本一致。MAD算法是标签传播的一个变体,其允许在已标记的数据上进行预测,以此来变化和合并不确定的点。Mainfold 正则通过将l定义为平方损失或者铰链损失 在复制内核希尔伯特空间参数化fff。因为f是一个参数化的分类器,其自然的可以取处理未发现的数据。

半监督编码算法扩展了在上述等式中的正则化项∑i,jaij∣∣g(xi)−g(xj)∣∣2∑_{i,j}a_{ij}||g(x_i)-g(x_j)||^2i,jaijg(xi)g(xj)2,其中g表示的是样本的编码,其可以是输出标签,隐藏层,或者是一个神经网络的辅助编码,通过将正则化项f扩展成g,这种方法加强了对于神经网络的约束。迭代分类算法使用一个以邻居节点的标签作为输入,并且使用一个在估计局部分类器和分配新标签之间的迭代过程的局部分类器。

2.3 编码学习

在编码学习领域,存在了广泛的研究方法。一个概率生成模型被用来学习节点表示,然后在图中生成边。一个聚类算法被用来在社交网络中学习隐藏的社交状态,最后预测社交标签。

最近,大量的编码学习的方法基于Skipgram模型,其是softmax的一个变形。给定一个实例和其上下文,给定一个实例和其上下文,Skipgram的目标是最小化一个对数损失来使用一个输入实例的编码预测上下文。常规的,令{(i,c)}是一个实例和上下文的集合。损失函数可以被定义为:
−∑i,clogp(c∣i)=−∑i,c(wcTei−log∑c′∈Cexp(wc′Tei))-∑_{i,c}logp(c|i)=-∑_{i,c}(w_c^Te_i-log∑_{c'∈C}exp(w_{c'}^Te_i))i,clogp(ci)=i,c(wcTeilogcCexp(wcTei))
其中C表示的是所有可能的上下文集合。w’是Skipgram模型的参数,eie_iei是样本i的编码表示。

Skipgram第一次被介绍是为了学习词的表示,在Word2Vector中,对于每一个训练对(i,c),i表示的是当前的样本,c表示语句中固定窗口的上下文信息。上下文的空间C是语料库的词表。后来,Skipgram被用于图编码的学习,Deepwalk算法用图中的一个节点的表示来预测上下文。上下文以随机游走的方式来生成。更具体的,对于每一个训练对(i,c),样本i是图中待计算编码的节点。c表示的是在一个固定窗口内部通过随即游走的方式生成的序列。上下文的空间C是图中的所有的节点。LINE通过一阶和二阶邻居,以更多的上下文空间来扩展了模型。

尽管对于图而言,类似于Skipgram的模型在最近受到了很多的关注。很多其他的模型也是存在的,TRANSE模型在一个知识图中加入了实体的关系来学习实体的表示。 自编码器通过在图中的聚类来学习图的编码表示。

2.4 比较

我们在半监督学习和编学习方面比较了本文的模型和其他方法的效果。如下表所示:

不像我们的模型,基于其他方法的常规的图拉普拉斯在标签上加入了正则化,但是没有学习到编码表示。半监督编码方法使用神经网络学习到了编码表示,但是我们的方法在在强加正则化上和这个方法是不同的。我们使用编码表示来预测在图中的上下文。图编码的方法将图结构编码成编码表示,然而和我们的方法不同的是,这些方法是纯粹的无监督的并且没有没在在具体的任务中利用到标签信息。更多的,这些方法都是转导的,不能够直接的在训练的时候囊括未标记的样本。

3 通过图编码的半监督学习

通过上一节的说明的符号,我们的模型输入包括样本X1:L,y1:L,XL+1:L+UX_{1:L},y_{1:L},X_{L+1:L+U}X1:L,y1:L,XL+1:L+U和一个表示图的矩阵AAA,每一个样本i有一个编码表示为eie_iei
下面,我们来利用前馈网络定义我们的模型,给定输入特征向量XXX,神经网络的第k个隐层被表示为hkh^khk,其通过前一层和一个非线性的激活函数生成:
hk(X)=ReLU(Wkhk−1(X)+bk)h^k(X)= ReLU(W^kh^{k-1}(X) + b^k)hk(X)=ReLU(Wkhk1(X)+bk)
其中,Wk,bkW^k,b^kWk,bk都是第k层的参数,并且h0(X)=Xh^0(X)=Xh0(X)=X,我们采用的是ReLU(x)=max(0,x)作为非线性的激活函数。

在我们的框架中,使用的损失函数可以被表示为:
Ls+λLuL_s+λL_uLs+λLu
其中LsL_sLs是监督学习中对于标签预测的损失,LuL_uLu是无监督学习中预测图上下文的损失。我们首先介绍如何从图中进行上下文采样来形成LuL_uLu,然后从半监督学习框架中形成LsL_sLs

3.1 上下文采样

我们通过下面的等式来生成无监督损失LuL_uLu
−∑i,clogp(c∣i)=−∑i,c(wcTei−log∑c′∈Cexp(wc′Tei))-∑_{i,c}logp(c|i)=-∑_{i,c}(w_c^Te_i-log∑_{c'∈C}exp(w_{c'}^Te_i))i,clogp(ci)=i,c(wcTeilogcCexp(wcTei))
给定一个图A,我们的方法的一个基本思路是对于样本i和上下文环境c进行采样,然后通过对数损失−logp(c∣i)-logp(c|i)logp(ci)来形成损失LuL_uLu。我们首先通过介绍负采样的方式来LuL_uLu的形式。然后描述如何对于样本和上下文进行采样。

一般来讲,由于整个上下文空间C的归一化,直接使用上面的等式是不方便的。而负采样就是被用来解决这个问题,负采样通过负样本的采样来近似归一化项。对于我们而言,我们从一个分布中采样(i,c,γ)(i,c,γ)(i,c,γ),其中i和c表示样本和其上下文空间,γ=+1意味着(i,c)是一个正例样本,γ=-1表示是负例。给定(i,c,γ)(i,c,γ)(i,c,γ),我们最小化分类(i,c)到正负类的交叉熵损失。
−Ⅱ(γ=1)logσ(wcTei)−Ⅱ(γ=−1)logσ(−wcTei)-Ⅱ(γ=1)logσ(w_c^Te_i)-Ⅱ(γ=-1)logσ(-w_c^Te_i)(γ=1)logσ(wcTei)(γ=1)logσ(wcTei)
其中σ表示的是sigmoid函数:
σ(x)=1(1+e−x)σ(x)=\frac{1}{(1+e^{-x})}σ(x)=(1+ex)1
并且Ⅱ()是一个指示函数,为真的时候输出为1,否则为0。因此,在负采样的无监督损失为:
Lu=−Ei,c,γlogσ(γwcTei)L_u=-E_{i,c,γ}logσ(γw_c^Te_i)Lu=Ei,c,γlogσ(γwcTei)
其中分布p(i,c,γ)p(i,c,γ)p(i,c,γ)是在标签y1:Ly_{1:L}y1:L和图A上是条件分布。由于它们是我们算法的输入并保持固定,因此我们将条件放在符号中。

我们现在来使用采样过程定义p(i,c,γ)p(i,c,γ)p(i,c,γ)分布,其可以通过下面的算法进行描述:

在算法中,有两种上下文样本被采样。第一种上下文基于图矩阵A,其编码了结构信息。第二种类型的上下文基于标签。我们将标签信息注入到编码中。这里我们使用r1∈(0,1)r_1∈(0,1)r1(0,1)来控制正负样本的比例,使用r2∈(0,1)r_2∈(0,1)r2(0,1)来控制两种上下文的比例。

通过概率p2p_2p2,我们基于图A来采样上下文。我们首先均匀采样一个随机游走序列S。更具体的,我们从第一个集合1:L+U中采样序列S1S_1S1。给定之前的样例Sk−1=iS_{k-1}=iSk1=i,下一个实例Sk=jS_k=jSk=jaij∑j′=1L+Uaij′\frac{a_{ij}}{∑_{j'=1}^{L+U}a_{ij'}}j=1L+Uaijaij的概率进行采样。通过概率r1r_1r1,我们采样从集合{(Sj,Sk):∣j−k∣<d(S_j,S_k):|j-k|<d(Sj,Sk):jk<d}一个正例对(i,c)(i,c)(i,c),d是另外一个决定窗口大小的参数。通过概率(1−r1)(1-r_1)(1r1),随机破坏上下文环境c来进行负样本采样。

通过概率(1−r21-r_21r2),我们基于类别标签来采样上下文信息。正例对采样相同的标签,负例采样不同的标签。仅仅标记的样本的标签被采样。

我们基于采样方法的随机游走是建立在Deepwalk算法上的。与他们的方法相反,我们的方法处理的是真实的A,囊括了负采样,和以概率(1−r21-r_21r2)从标签中明确采样来注入监督信息。

下面给出一个γ=1的采样实例:

3.2 转导推理形式

在这一节中,我们提出一个不通过未发现的样本来推断未标记样本yL+1:L+Uy_{L+1:L+U}yL+1:L+U的方法。因为,转导推理可以利用到未标记的测试数据,所以转导推理学习一般会比归纳推理的效果更好。

我们在输入特征向量X上应用K层神经网络来获取hk(x)h^k(x)hk(x),并且l层的神经网络可以获得编码e的输出hl(e)h^l(e)hl(e)。这里我们使用下面的算法进行描述:


两个隐藏层被拼接,并且送入到softmax层来预测样本的类别标签。更具体的,预测为标签y的概率为:
p(y∣x,e)=exp[hk(X)T,hl(e)T]wy∑y′exp[hk(x)T,hl(e)T]wy′p(y|x,e)=\frac{exp{[h^k(X)^T,h^l(e)^T]w_y}}{∑_{y'}exp[h^k(x)^T,h^l(e)^T]w_{y'}}p(yx,e)=yexp[hk(x)T,hl(e)T]wyexp[hk(X)T,hl(e)T]wy
其中[;]表示两个行向量的拼接。hTh^ThT表示hhh的转置。w表示模型的参数。

最后,结合负采样的无监督损失,我们定义转导推理的损失函数:
−1L∑i=1Lp(yi∣xi,ei)−λEi,c,γlogσ(γwcTei)-\frac{1}{L}∑_{i=1}^Lp(y_i|x_i,e_i)-λE_{i,c,γ}logσ(γw_c^Te_i)L1i=1Lp(yixi,ei)λEi,c,γlogσ(γwcTei)
在损失函数中,第一项定义的是我们上面提到的概率,第二项定义的是上下文预测的损失函数。标签y的预测依赖于在训练时仅仅能够在图A可以发现的样本的编码e。

3.3 归纳推理形式

我们考虑上面描述的转导推理的形式。在许多情况下,需要学习一个能够包括未标记样本的分类器,尤其是大型的任务上。例如,机器阅读系统经常在Web上遇到新的实体。然而,因为学习的图编码本质上是转导推理的。其不能直接用于归纳推理的设置。Perozzi等人通过逐渐的再训练编码来解决这个问题。这种方法和耗时,并且本质上不是归纳推理。

为了实现归纳推理的方法,标签y的预测应该仅仅依赖于输入特征向量x。因此,我们定义了编码e作为一个关于特征x参数化的函数。如下图所示:


与转导推理类似,我们使用K层的神经网络在输入向量x上来得到hk(x)h^k(x)hk(x)。然而,这里不是使用一个“免费”的编码。我们应用l1l_1l1层网络在输入向量X上,并且定义其编码e=hl1(x)e=h^{l1}(x)e=hl1(x)。然后另外l2l_2l2层并应用在hl2(e)=hl2(hl1(x))h^{l2}(e)=h^{l2}(h^{l1}(x))hl2(e)=hl2(hl1(x))。标记hl(x)h^l(x)hl(x),其中l=l1+l2l=l_1+l_2l=l1+l2。在这种形式中,编码e被视为一个关于特征X的参数函数形成的隐层。

通过上面的描述,标签y仅仅依赖于特征x,更具体的:
p(y∣x)=exp[hk(x)T,hl(x)Twy]∑y′exp[hk(x)T,hl(x)T]wy′p(y|x)=\frac{exp[h^k(x)^T,h^l(x)^Tw_y]}{∑_{y'}exp[h^k(x)^T,h^l(x)^T]w_{y'}}p(yx)=yexp[hk(x)T,hl(x)T]wyexp[hk(x)T,hl(x)Twy]

与转导推理相比,这里使用hl(x)Th^l(x)^Thl(x)T替代了hl(e)Th^l(e)^Thl(e)T,最后,定义损失函数为:
−1L∑i=1Lp(yi∣xi)−λEi,c,γlogσ(γwcTxi)-\frac{1}{L}∑_{i=1}^Lp(y_i|x_i)-λE_{i,c,γ}logσ(γw_c^Tx_i)L1i=1Lp(yixi)λEi,c,γlogσ(γwcTxi)

3.4 训练

在训练的时候,采用的是随机梯度下降来在小批量样本上训练我们的模型。我们第一步对于已标记的样本采样一批。然后使用一个梯度步来分类预测优化损失函数。我们然后采样一批上下文(i,c,γ)(i,c,γ)(i,c,γ),并且作为另外一个梯度步来优化上下文预测的损失。我们为上述的T1,T2T_1,T_2T1,T2来进行迭代获取近似的权重参数λ。算法2描述了基于SGD训练转导推理的形式。相似的是,我们可以通过替换p(yi∣xi,ei)p(y_i|x_i,e_i)p(yixi,ei)p(yi∣xi)p(y_i|x_i)p(yixi)LsL_sLs中,来获取归纳推理的训练算法,这里令θ表示模型所有的参数。我们使用编码和参数θ来进行转导推理。并且在归纳推理中更新参数θ。我们应用了许多训练迭代来优化无监督损失LuL_uLu。单独使用并使用学习到的编码e作为联合训练的初始化

4 参考

  1. Revisiting Semi-Supervised Learning with Graph Embeddings

文献阅读——Revisiting Semi-Supervised Learning with Graph Embeddings相关推荐

  1. 文献阅读:SNCSE: Contrastive Learning for Unsupervised Sentence Embedding with Soft Negative Samples

    文献阅读:SNCSE: Contrastive Learning for Unsupervised Sentence Embedding with Soft Negative Samples 1. 内 ...

  2. 2018-12 文献阅读:Boosting for Transfer Learning(2007)--迁移学习

    2018-12 文献阅读:Boosting for Transfer Learning(2007) 2018-12 文章的作者Wenyuan Dai&Qiang yang&Gui_Ro ...

  3. 【文献阅读】Augmenting Supervised Neural Networks with Unsupervised Objectives-ICML-2016

    一.Abstract 从近期对unsupervised learning 的研究得到启发,在large-scale setting 上,本文把unsupervised learning 与superv ...

  4. 文献阅读(24)KDD2020-GCC:Graph Contrastive Coding for Graph Neural Network Pre-Training

    本文是对<Graph Contrastive Coding for Graph Neural Network Pre-Training>一文的浅显翻译与理解,如有侵权即刻删除. 朋友们,我 ...

  5. 【论文阅读】Weakly Supervised Learning of Instance Segmentation with Inter-pixel Relations

    一篇经典的弱监督分割论文,发表在CVPR2019上面 论文标题: Weakly Supervised Learning of Instance Segmentation with Inter-pixe ...

  6. 图构造总结-Graph‑based semi‑supervised learning via improving the quality of the graph dynamically

    前言 本博文主要对论文中提到的图构造方法进行梳理,论文自己提出的模型并未介绍,感兴趣的可以阅读原文 摘要 基于图的半监督学习GSSL主要包含两个过程:图的构建和标签推测.传统的GSSL中这两个过程是完 ...

  7. 【文献阅读】ResNet-Deep Residual Learning for Image Recognition--CVPR--2016

    最近准备用Resnet来解决问题,于是重读Resnet的paper <Deep Residual Learning for Image Recognition>, 这是何恺明在2016-C ...

  8. [文献阅读] Sparsity in Deep Learning: Pruning and growth for efficient inference and training in NN

    文章目录 1. 前言 2. Overview of Sparsity in Deep Learning 2.1 Generalization 2.2 performance and model sto ...

  9. 【文献阅读】Model-based Reinforcement Learning for Predictions and Control for Limit Order Books

    0 Abstract 作者使用强化学习构建了一个 agent,可以在股票市场下达买卖订单.仅使用历史观察数据构建环境模型,RL agent 通过与环境模型而不是与真实市场交互来学习交易策略,以最小化风 ...

  10. 文献阅读总结(3)Neural Graph Collaborative Filtering

    1.Introduction 左图u1,右图从左图的u1开始展开 图反应的信息: 1.从路径u1->i2->u2,可以反映出u1和u2的相似性: 2.u1和i4之间有两条路径,而u1和i5 ...

最新文章

  1. ireport如何给static text加边框_html amp;amp; css 解决li浮动边框为2的问题
  2. 机器学习week9 ex8 review
  3. mysql中当前时间九点_MySQL 获得当前日期时间(以及时间的转换)
  4. tensorflow一元二次函数拟合
  5. 32位PLSQL Developer无法登录Oracle 11g 64位
  6. LGP4173残缺的字符串
  7. ISA频繁断线的原因和解决方法
  8. php时间戳转换日期24,php时间戳怎么转换回日期
  9. android 自定义view之雷达扫描,基于Android自定义控件实现雷达效果
  10. 网络虚拟化叠加的八个用例
  11. IPv6 gre隧道、路由协议综合实验(华为设备)
  12. 开发一个简单实用的android紧急求助软件
  13. Scrapy ImportError: No module named items
  14. 淘淘商城第17讲——引用Dubbo服务
  15. lammps教程:Ovito分析并绘制单原子应变方法
  16. 【介绍了Sentaurus TCAD结构编辑器中可用的网格掺杂操作】
  17. linux技术--MySQL分区
  18. usim卡如何换nano卡_一分钟看懂紫光国微5G超级SIM卡使用详解
  19. win7或者win10碰到需要administrator权限才能删除的解决办法
  20. 跨浏览器的事件处理程序

热门文章

  1. 【硬刚大数据】从零到大数据专家之Apache Doris篇
  2. vscode 格式化文件配置说明
  3. 计算机Word更改表格中,教你修改Word文本表格
  4. 初次软件开发(总结篇 之一)
  5. Python用户画像词云图生成并集成到django网站
  6. 吉他基本功练习原理及方法
  7. word压缩图片怎么弄_Word文档怎么压缩图片?Word图片压缩的方法介绍
  8. linux源码解析-dup_task_struct函数
  9. android usb采集卡,手机USB视频采集卡, 支持IOS、安卓系统
  10. Error: ‘list‘ object cannot be coerced to type ‘double‘