当前位置: 代码迷 >> 综合 >> Directional Adversarial Training for Recommender Systems
  详细解决方案

Directional Adversarial Training for Recommender Systems

热度:25   发布时间:2024-02-09 07:12:48.0

Directional Adversarial Training for Recommender Systems

论文理解与翻译:

1.摘要:

(话题方向切人,他人最近的有关成果,再次基础上他人成果的不足。提出我们的做法,结果以及引出我们的

对抗性训练的引入以及现阶段存在的缺点:

对抗性训练是通过在模型训练过程中在输入空间中进行随机扰(perturbations)来提高深度学习模型泛化能力的有效方法。 最近的一次 奥迪已经成功地将对抗性训练应用于推荐系统,通过极小极大的游戏干扰用户和项目的嵌入。 然而,这种方法忽略了协同信号 在推荐系统中,未能捕获数据分布中的平滑性。 我们认为,揭示用户和项目之间行为相似性的协作信号是至关重要的建模推荐系统。 在本工作中,我们通过显式地将协作信号注入扰动过程来开发定向对抗性训练(DAT)策略。 即b 用户和项目对嵌入空间中的相似邻居感到不安(perturbed),并受到适当的限制。 为了验证其有效性,我们演示了DAT在广义矩阵事实上的使用 定向(GMF)是最具代表性的协同过滤方法之一。 我们在三个公共数据集上的实验结果表明,我们的方法(称为DAGMF)达到了显著的精度I对GMF的改进,同时,它比GMF更不容易过度拟合。
对抗性训练是[12]提出的一种新的方法,以解决深度学习模型很容易被对抗性例子[26]愚弄的问题,这些例子是通过施加小的代价来构造的 输入示例上的涡轮。 最近,一些研究[12,22,23]指出,对抗性训练可以作为一种正则化方法来提高泛化性能 以及防止深度学习模型过度拟合

?? 主要内容:

对抗性训练忽略了协同信号未能捕获数据分布中的平滑性,但是作者认为用户和项目之间的行为相似性的写作信号很重要,于是,将写作信号注入到扰动过程并开发定向的对抗训练,斌能够取得了不错的效果。同时学者发现,对抗性训练可以作为正则化提高泛化性能。

? 尽管性能很好,但我们认为图形神经网络容易受到输入特征[13]、[14]的小而有意的扰动,这甚至可能比不建模图形结构的标准神经网络更为严重。 原因有两个:1)图神经网络也优化了标记数据上的监督损失,因此它将面临相同的损失 作为标准神经网络[15]的生物问题 2)附加的平滑约束将加剧扰动的影响,因为跨越连接节点的平滑将聚合来自连接到ta的节点的扰动的影响rget节点(即我们应用扰动以改变其预测的节点)。 图1用图w的直观例子说明了扰动对节点特征的影响有4个节点。 图神经网络模型分别预测具有应用扰动的清洁输入特征和特征的节点标签(总共3个。 在这里,扰动是故意施加的节点1、2、4的特征。 因此,图神经网络模型被愚弄,对节点1和2作出错误的预测,就像标准神经网络一样。 此外,通过传播节点 嵌入,该模型将扰动的影响聚集到节点3,其预测也受到影响。 在实际应用中,小扰动就像节点特性的更新 可能经常发生,但不应太多地改变预测。 因此,我们认为在训练过程中迫切需要稳定图形神经网络模型。

对抗性训练(AT)是一种动态正则化技术,它主动模拟训练阶段[15]的扰动。 经验表明它能够稳定神经 在标准分类任务[16]-[21]中增强它们对扰动的鲁棒性。 因此,在图神经网络模型上采用与AT相似的方法也有助于模型的鲁棒性。 然而,直接在图神经网络上使用AT是不够的,因为它将示例视为相互独立的,不考虑来自相关示例的影响。 因此,我们提出了一种新的对抗性训练方法,称为**图形对抗性训练(**Gra 它学习通过考虑图形结构来构造和抵抗扰动。

??这两段的主要内容:

图神经网络也能收到小的扰动的影响,因此也需要在训练过程中迫切需要稳定图形神经网络模型。

方法是借用对抗性训练的方法,但是又是远远不够的。

image-20200720110723267

图 1:一个直观的例子来说明将扰动应用于输入节点特征对图神经网络预测的影响。 在这里,模型实现了图平滑度c通过在图上传播节点嵌入进行约束。 在右边,模型在目标节点3的连接节点上传播应用的扰动,导致错误的预测。 而且,在节点1和2上的扰动直接导致错误的相关预测,如在标准神经网络中。

GraphAT的关键思想是,当在目标示例 target example上产生扰动时,它使目标示例的预测与其连接示例(connected examples)之间的分歧最大化。 也就是说,a对抗性扰动应该尽可能地攻击图形平滑约束。 然后,GraphAT通过额外最小化图对抗性正则化(graph adversarial regularizer)来更新模型参数,减少 扰动目标实例与其连通实例之间的预测发散。 通过这种方法,GraphAT可以抵抗基于图形学习的最坏情况扰动,并增强模型半身像。 为了有效地计算对抗性扰动,我们进一步设计了一种基于反向传播的线性逼近方法

为了演示GraphAT, 我们将其应用于一个建立良好的图形神经网络模型-图形卷积网络(GCN)[7],该模型通过执行嵌入传播(performing embedding propagation)来实现平滑约束。 我们研究美索 节点分类的性能,这是基于图的学习中最受欢迎的任务之一。 我们研究了该方法在节点分类上的性能,这是基于图的学习中最流行的任务之一。 在三个公共基准(两个引文图和一个知识)上进行广泛的实验图)验证了Graph AT的优势-与GCN的正常训练相比,GraphAT的精度提高了4.51。 此外,对不太受欢迎的节点(有很小的程度)的改进是MOR 重要的,强调了用所考虑的图结构执行AT的必要性。

? target and connected example是什么意思:

目标节点,以及与目标节点相连接的结点吗?

本文的主要贡献总结为:

我们提出了图形对抗性训练,这是一种新的图形神经网络优化方法,可以提高模型的鲁棒性节点输入特性的扰动。

我们设计了一个图对抗性正则化器,动态地鼓励模型对扰动目标示例及其连接生成类似的预测举例说明,并开发了一种有效的算法来构造扰动。

我们证明了Graph ATON的有效性 在三个数据集上进行了GCN实验,表明我们的方法在节点分类方面达到了最先进的性能.

在本文的其余部分中,我们首先在第二节中讨论相关工作,然后在第三节中讨论问题的制定和准备。 在第4节和第5节中,我们详细阐述了方法和经验 结果,分别。 我们在第六节中总结了这篇论文,并展望了未来的方向。

2. 相关工作

在这一部分中,我们讨论了现有的基于图的学习和对抗性学习的研究,这些研究与这项工作密切相关。

图是关系数据的一种自然表示,其中节点和边缘表示实体及其关系,广泛应用于社交网络、交易记录、生物分析中交互、相互关联文档的集合、网页和多媒体内容等。在这样的图表上,最受欢迎的任务之一是节点分类,以预测标签图中的节点通过考虑节点特征和图结构。 现有的节点分类工作主要分为两大类: 图拉普拉斯正则化和基于图嵌入的方法(graph Laplacian regularization andgraph embedding-based methods)。前一类的方法显式地将图结构编码为正则化项,以平滑图上的预测,i.s.,当用不同的标签预测相似的节点(例如紧密连接)时,正则化会受到很大的惩罚

最近,基于图嵌入的方法,学习编码图数据的节点嵌入,已经成为很有前途的解决方案。 大多数基于嵌入的方法分为两大类:: skip-gram based methods and convolution based methods,取决于图形数据是如何建模的。 skip-gram通过使用节点的嵌入来预测节点conte来学习节点嵌入 通过在图上执行随机游走生成的结点的上下文,以便嵌入“连接”节点 相互关联的[2]、[5]、[6]、[12]。 受计算机视觉中卷积思想的启发,卷积在局部窗口中聚集上下文信号,基于卷积的方法迭代 聚合邻居节点的表示,以学习节点嵌入[3]、[4]、[7]、[11]、[25]-[30]。

在这两个类别中,利用深度Neural的高级表示能力的方法 网络(基于神经图的学习方法)在解决节点分类任务方面表现出显著的有效性。 然而,基于神经图的学习模型容易受到意图的影响 设计的扰动表明了泛化[13]、[31]和很少注意的不稳定性,以增强这些方法的鲁棒性,这是本工作的重点。

2.2 Adversarial Training 对抗性训练

2.2.1 Adversarial Training 对抗性训练

为了解决深层神经网络对有意扰动的脆弱性,研究人员提出了对抗性训练,这是一种替代的极小极大过程[32]。 对抗训练 方法通过从具有扰动的干净例子中动态生成对抗性例子来增强训练过程,最大限度地攻击训练目标,然后学习这些通过最小化一个额外的正则化项[15]、[17]、[33]-[38]来证明这些例子。 对抗性训练方法主要分为监督和半监督两种 培训目标。 在有监督的学习任务中,如视觉识别[15]、监督损失[15]、[33]、[34]及其代理[36]-以对抗性例子为目标最大化和最小化。 对于半监督学习,其中部分示例被标记,对每个示例周围的输入的预测作为目标。 一般来说对抗性训练方法的哲学是以动态的方式平滑围绕单个输入的预测。 我们的工作受到了这些对抗性训练方法的启发。 此外 对于单个示例的局部平滑性,我们的方法进一步考虑了极小极大过程目标中的示例(即图结构)之间的关系,以便学习鲁棒分类器在图形结构上平滑地预测。 据我们所知,这是第一次尝试将图形结构纳入对抗性训练。 另一个新兴的研究课题rela 泰德对我们的工作是产生对抗性扰动攻击基于神经图的学习模型,其中[31]和[13]是唯一发表的工作。 然而,[31]和[13]中的方法是不合适的用于构建图对抗性训练中的对抗性示例。 这是因为这些方法生成一个新的图作为每个节点的对抗性示例,即它们将生成 当节点数为N时,N图导致无法负担的内存开销。 在本工作中,我们设计了一种有效的方法来生成用于图形对抗性训练的对抗性示例。

2.2.2 GAN

3 PRELIMINARIES

3.1 Graph Representation图的表示

G = ( A , D , X ) . G = (A, D, X).

A 表示邻接矩阵矩阵。

D 表示对角矩阵

X表示输入矩阵,

3.2 Node Classifification

学习预测函数(分类器) y i = f ( x i G Θ ) y_{i}=f(xi,G|Θ) ,预测节点的标签,其中Θ包括要学习的模型参数。

其中 y i y_i 表示结点的标签

3.3 基于图的学习

? 这一部分就是讲的GCN是吧?
Γ = Ω + λ Φ \Gamma=\Omega+\lambda \Phi
Φ鼓励在图结构上预测的平滑性,这是基于这样的假设,即紧密连接的节点往往相似的预测

该公式具体表示为:(引用了原始GCN文章中的代价函数)

Φ \Phi 表示的是拉普拉斯矩阵正则化,主要作用是降维以及提取特征

参考:
https://zhuanlan.zhihu.com/p/100002630

L = L 0 + λ L r e g ,  with  L r e g = i , j A i j f ( X i ) ? f ( X j ) 2 = f ( X ) ? Δ f ( X ) \mathcal{L}=\mathcal{L}_{0}+\lambda \mathcal{L}_{\mathrm{reg}}, \quad \text { with } \quad \mathcal{L}_{\mathrm{reg}}=\sum_{i, j} A_{i j}\left\|f\left(X_{i}\right)-f\left(X_{j}\right)\right\|^{2}=f(X)^{\top} \Delta f(X)

4.方法:

在这一部分中,我们首先介绍了图对抗性训练的公式,然后介绍了 Graph-VAT,这是GraphAT的扩展,它进一步结合了虚拟对立我的正则化[35]。 然后,我们提出了两种节点分类任务的解决方案,即GraphAT和Graph-VAT,它们分别使用GraphAT和Graph-VAT来训练GCN[7]。 最后,我们分析 这两种解决方案的时间复杂性,并给出了重要的实现细节。

4.1 GAT (Graph Adversarial Training

对抗性训练的最新进展已经成功地学习了基于深度神经网络的分类器,使它们对广泛的标准分类tas的扰动具有鲁棒性 视觉识别[15]、[16]、[35]和文本分类[17]等。 一般情况下,应用AT可以调节模型参数来平滑输出分布[35]。 具体来说,每个clean example在数据集中的精益示例中,AT鼓励模型将类似的输出分配给从干净示例的人工输入(即对抗性示例。 受sta哲学的启发 在NDARDAT中,我们开发了图形对抗性训练,它以生成对抗性示例和优化ADVE上的附加正则化项的方式训练图形神经网络模块疟疾例子,以防止扰动的不利影响。 这里的重点是防止通过节点连接传播的扰动(如图1所示),或者对抗性训练中的图形结构。

image-20200721095707729

Fig 2:GraphAT的训练过程:1)构造图对抗性实例;2)通过最小化损耗值和图对抗性正则化来更新模型参数。

? 这个图是怎么体现这个过程的?

GraphAT 的公式:

min ? : Γ G A T = Γ + β i = 1 j N i d ( f ( x i + r i g , G Θ ) , f ( x j , G Θ ) ) ) max ? : r i g = arg ? max ? r i , r i ? j N i d ( f ( x i + r i , G Θ ^ ) , f ( x j , G Θ ^ ) ) \begin{array}{l} \left.\min : \Gamma_{G A T}=\Gamma+\beta \sum_{i=1} \sum_{j \in \mathcal{N}_{i}} d\left(f\left(\boldsymbol{x}_{i}+\boldsymbol{r}_{i}^{g}, G \mid \boldsymbol{\Theta}\right), f\left(\boldsymbol{x}_{j}, G \mid \Theta\right)\right)\right) \\ \max : \boldsymbol{r}_{i}^{g}=\arg \max _{\boldsymbol{r}_{i},\left\|\boldsymbol{r}_{i}\right\| \leq \epsilon} \sum_{j \in \mathcal{N}_{i}} d\left(f\left(\boldsymbol{x}_{i}+\boldsymbol{r}_{i}, G \mid \hat{\Theta}\right), f\left(\boldsymbol{x}_{j}, G \mid \hat{\Theta}\right)\right) \end{array}

Γ G A T \Gamma_{G A T} 训练目标函数有两个术语:基于原点的图形学习模型的标准目标函数(例如,方程(1))和图形对抗性正则化。

注:

Γ \Gamma 就是前面基于图3.3 的公式

② Ω是一种分类损失(例如对数损失、铰链损失和交叉熵损失),它测量prediction and ground-truth of labeled nodes.

③ 第二项max公式鼓励将图对抗性示例类似地归类为连接示例,其中Θ表示要学习的参数,

④ d() 是度量的非负函数 两个预测之间的差异(例如Kullback-Leibler散度[45]。

d()简单的说就是 kl散度

⑤ $ \boldsymbol{r}_{i}^{g}$表示图对抗性扰动,它被用于clean exapmle i,来构造输入特征 一个图形对抗性的例子。

⑥ MAX公式: Graph AT从clean 的示例中生成图形对抗性扰动,最大限度地破坏了连接节点之间的平滑性。 然后通过将扰动添加到相关的干净示例的输入中来构造图形对抗性示例。

? 破坏链接节点之间的平滑性的原因是?

⑦ Minimization: Graph AT通过鼓励对抗性预测之间的平滑性,在图对抗性示例上增加一个正则化器,使图神经网络的目标函数最小化 示例和连接示例。 因此,该模型对通过图传播的扰动变得鲁棒。

理解:

在模型参数的当前值下,通过最大化图对抗性正则化来计算图对抗性扰动。 也就是说,图的对抗性扰动是输入特征上的变化方向,它可以最大限度地攻击图形对抗性正则化,即从邻居节点传播的扰动的最坏情况。 是一个超参数控制 令扰动的大小,这通常被设置为小值,以便对抗性示例的特征分布接近干净示例。

图2说明了 GraphAT 的过程。 而传统的基于图的正则化(例如,图Laplacian术语)也鼓励了图结构上预测的平滑性,Graph AT被认为是一个更先进的规则,原因有两个:1)Graph AT执行的正则化是动态的 由于对抗性示例是根据模型的当前参数和预测自适应生成的,而基于标准图形的正则化是静态的;2)图A Tto 在一定程度上增加了训练数据,因为在训练数据中没有出现生成的对抗性例子,这有利于模型的泛化。

上面形式的$ \boldsymbol{r}_{i}^{g}$ 不好求,作何收到标准对抗性训练的线性逼近方法启发下**(快速梯度法)**,设计了一个线性应用程序 计算Graph-AT中图对抗性扰动的近似方法,其公式为:

r i g ? g g ,  where  g = ? x i j N i D ( f ( x i , G Θ ^ ) , f ( x j , G Θ ^ ) ) \boldsymbol{r}_{i}^{g} \approx \epsilon \frac{\boldsymbol{g}}{\|\boldsymbol{g}\|}, \text { where } \boldsymbol{g}=\nabla_{\boldsymbol{x}_{i}} \sum_{j \in \mathcal{N}_{i}} D\left(f\left(\boldsymbol{x}_{i}, G \mid \hat{\boldsymbol{\Theta}}\right), f\left(\boldsymbol{x}_{j}, G \mid \hat{\boldsymbol{\Theta}}\right)\right)

需要搞清楚:

$ \boldsymbol{r}_{i}^{g}$:是一个扰动

快速梯度法见下面的FGSM

这个公式的来源:

FGSM和FGM方法是Goodfellow等人分别在[1]和[2]中提出的。思想很简单,就是让扰动 δ \delta 的方向是沿着梯度提升的方向的,沿着梯度提升也就意味着让损失增大的最大。FGSM(Fast Gradient Sign Method)和FGM(Fast Gradient Method)的区别在于采用的归一化的方法不同,FGSM是通过Sign函数对梯度采取max归一化,FGM则采用的是 L2归一化。归一化更严格的保留了梯度的方向,但是max归一化则不一定和原始梯度的方向相同。

FGSM: δ = ? ? sign ? ( g ) \delta=\epsilon \cdot \operatorname{sign}(g)

FGM: δ = ? ? ( g / g 2 ) \delta=\epsilon \cdot\left(g /\|g\|_{2}\right)

其中, g = ? X ( L ( f θ ( X ) , y ) ) g=\nabla_{X}\left(L\left(f_{\theta}(X), y\right)\right) ,也就是损失函数L关于输入X的梯度,这个梯度在我们做神经网络优化的时候是很容易求出来的。

当然两种方法都有个假设,就是损失函数是线性的或者至少是局部线性的。如果不是(局部)线性的,那梯度提升的方向就不一定是最优方向了。

https://zhuanlan.zhihu.com/p/104040055

4.2 Virtual Graph Adversarial Training

暂且不看

考虑到节点分类本质上是半监督学习的一项任务,我们进一步设计了一个扩展版本的GraphAT,名为GraphVAT,它进一步平滑了Pr的分布 围绕每个干净的例子,进一步增强模型的鲁棒性。 受虚拟对抗训练[35]思想的启发,我们进一步在traini中添加了一个虚拟对抗正则化器 吴目标函数并构造虚拟对抗性例子来攻击预测的局部平滑性。 与标准AT相比,它只考虑标记的干净示例,虚拟对抗性 培训还鼓励模型围绕未标记的清洁示例进行一致的预测。 Graph-VAT的公式为:

image-20200809212855968

4.3 GCN

$f(xi , G|Θ) $ 怎么求呢?

i = 1 M cross-entropy ? ( f ( x i , G Θ ) , y i ) + λ Θ F 2 \sum_{i=1}^{M} \operatorname{cross-entropy}\left(f\left(\boldsymbol{x}_{i}, G \mid \boldsymbol{\Theta}\right), \boldsymbol{y}_{i}\right)+\lambda\|\boldsymbol{\Theta}\|_{F}^{2}

这里那个正则化与公式(1)不相同,他通过引入了对抗训练中的对抗样本对训练进行干扰,形成的对抗性正则化,目的是增加模型的鲁棒性。

为了用我们提出的图AT和图增值税来训练GCN,我们将方程2和4中的项设置为方程7中的交叉熵损失,它们被最小化以分别更新GCN的参数

总结:

? GCN 与 GAT 有什么样的关系呢?

GAT在GCN的基础上,通过添加对抗训练构造对抗样本,提高模型的鲁棒性稳定性

在一些细节上,引入 快速梯度法, 交叉熵,KL散度

  相关解决方案