此页面由 Cloud Translation API 翻译。
Switch to English

神经结构学习框架

神经结构化学习(NSL)致力于通过利用结构化信号(如果有)以及特征输入来训练深度神经网络。如Bui等人所述。 (WSDM'18) ,这些结构化信号用于规范化神经网络的训练,从而迫使模型学习准确的预测(通过最小化监督损失),同时保持输入结构的相似性(通过最小化邻居损失) ,请参见下图)。该技术是通用的,可以应用于任意的神经体系结构(例如前馈NN,卷积NN和递归NN)。

NSL概念

注意,广义邻居损失方程是灵活的,并且除了上面说明的形式以外,还可以具有其他形式。例如,我们也可以选择

$$ \ sum_ {x_j \ in \ mathcal {N}(x_i)} \ mathcal {E}(y_i,g_ \ theta(x_j))$$

是邻居损失,它计算地面真相之间的距离

$$ y_i $$

和邻居的预测

$$ g_ \ theta(x_j)$$

。这通常在对抗学习中使用(Goodfellow等,ICLR'15) 。因此,如果邻居由图显式表示,则NSL概括为神经图学习;如果邻居由对抗性摄动隐式诱发,则NSL概括为对抗性学习

神经结构学习的整体工作流程如下所示。黑色箭头代表常规培训工作流程,红色箭头代表NSL为利用结构化信号引入的新工作流程。首先,训练样本被增强以包括结构化信号。如果没有明确提供结构化信号,则可以构造或引入结构化信号(后者适用于对抗性学习)。接下来,将增强的训练样本(包括原始样本和它们的相应邻居)馈送到神经网络以计算其嵌入。计算样本的嵌入与其邻居的嵌入之间的距离,并将其用作邻居损失,将其视为正则化项并添加到最终损失中。对于基于邻居的显式正则化,我们通常将邻居损失计算为样本嵌入与邻居嵌入之间的距离。但是,神经网络的任何一层都可以用来计算邻居损失。另一方面,对于基于诱导邻居的正则化(对抗),我们将邻居损失计算为诱导对抗邻居的输出预测与地面真相标签之间的距离。

NSL工作流程

为什么要使用NSL?

NSL具有以下优点:

  • 更高的精度 :样本之间的结构化信号可以提供并非总是在特征输入中可用的信息;因此,联合培养的方法(与两个结构化的信号和特征)已经显示出优于对多种任务,诸如文档分类和语义意图分类(的许多现有方法(即依赖于训练只有功能) 裴等人(WSDM'18Kipf等,ICLR'17 )。
  • 鲁棒性 :用对抗性示例训练的模型已被证明具有对抗设计为误导模型的预测或分类的对抗性鲁棒性( Goodfellow等人,ICLR'15Miyato等人,ICLR'16 )。当训练样本的数量较少时,使用对抗性示例进行训练也有助于提高模型的准确性( Tsipras等人,ICLR'19 )。
  • 所需的标签数据更少 :NSL使神经网络能够利用标签数据和未标签数据,从而将学习范式扩展到半监督学习 。具体而言,NSL允许网络像在受监管的设置中一样使用标记的数据进行训练,同时驱动网络为可能带有或不带有标签的“相邻样本”学习相似的隐藏表示。当标记的数据量相对较小时,此技术已显示出提高模型准确性的巨大希望( Bui等人,WSDM'18Miyato等人,ICLR'16 )。

分步教程

为了获得神经结构化学习的动手经验,我们提供了三个教程,涵盖了可以显式给出,诱导或构造结构化信号的各种场景: