对比学习结合对抗攻击用于条件文本生成
参考:https://zhuanlan.zhihu.com/p/365559640

Abstract

暴露偏差(exposure bias):teacher forcing中,在每个时间步都提供ground truth,因此在训练过程中不会暴露于错误生成的token,但这不利于模型泛化,通常会导致在未被训练集直接或间接覆盖的输入上生成低质量的文本。
本文通过在目标序列的隐层表示中添加一个小扰动来生成一个反例,从而使其条件似然最小化(如图1-(c)中的红圈所示),这将产生一个负样本,其在空间中非常接近原始目标序列,但在很大程度上是不同的语义。另一方面,通过在目标序列的隐层表示中加入尽可能大的扰动来构造一个正例(图1-(c)中的绿色圆圈),使扰动样本在嵌入空间中远离源样本,通过最小化原条件分布与扰动条件分布之间的KL散度使两者具有较高的条件似然性,这将生成一个正样本,在空间中远离原始输入序列的表示,但被约束具有相似的语义。
截屏2021-07-22 下午9.42.54.png

METHOD

BACKGROUND: CONDITIONAL TEXT GENERATION

条件文本生成,在给定原序列x的前提下,最大化与目标序列y的似然值。f和g分别表示编码器和解码器。M表示隐层表示的链接。
截屏2021-07-22 下午9.51.01.png

CONTRASTIVE LEARNING WITH ADVERSARIAL PERTURBATIONS FOR SEQ2SEQ(CLAPS)

截屏2021-07-22 下午9.47.34.png
图3:产生的 imposters 和 distant-targets (a) 我们对在zy的ht加上小扰动δt,使其条件似然最小化,从而生成一个无效句子 (b) 我们通过最大化与源句表示zx的距离,在zˆy的ht中加入大的扰动ζt,但强制其保持原始语义的高似然性。

在最原始的对比学习设定下,对于任一原始序列xi,将对应的目标序列yi设为其正样本,在空间中令其靠近;将同一batch中其他的目标序列yj(j != i)设为其负样本,在空间中令其互斥。起到优化表示学习的作用,如图3(a)中的蓝圈与黄圈image.png
句子表示由token表示仿射变换后平均池化得到。
基于intro中提到的传统对比学习在该任务上的劣势,作者使用对抗攻击进行正、负数据的增强,其中负样本被称为IMPOSTERS,正样本被称为DISTANT-TARGETS。

GENERATION OF IMPOSTERS

如图3(b),通过在原目标序列的隐层表示上添加一个小幅扰动,以得到能使其条件似然最小化的表示
截屏2021-07-22 下午9.58.22.png

GENERATION OF DISTANT-TARGETS

如图3(c)所示,通过给原目标序列一个大幅的扰动生成正样本,这样会使得原样本与生成样本间的cosine相似度尽可能减小,到迫使两者仍然保持较高的条件似然。本文采取两阶段来获取该值的估计值。
首先通过最大化原始对比学习损失生成扰动,在该损失中,原输入序列的正样本仅为原目标序列,因此最大化该损失等价于使两者在隐空间中距离增大。接着,以原目标序列表示的输出分布与扰动表示的输出分布的KL散度作为损失,约束其接近。也即生成的正样本在隐空间中尽可能远离原样本,但在语义上应接近于原样本。
截屏2021-07-22 下午9.55.57.png
截屏2021-07-22 下午9.59.06.png
总体的损失函数:
截屏2021-07-22 下午9.59.32.png