美文网首页
因果可解释自然语言处理工具箱 - GYC(二)

因果可解释自然语言处理工具箱 - GYC(二)

作者: processor4d | 来源:发表于2022-02-04 22:53 被阅读0次

文章名称

【AAAI-2021】【IBM Research AI】Generate Your Counterfactuals: Towards Controlled Counterfactual Generation for Text

核心要点

文章旨在通过反事实生成样本的方法,更好的解释现有NLP模型的公平性和鲁棒性。作者提出GYC框架,可以基于特定的条件,例如,命名实体标签、语义角色标签或情感等,生成合理的、多样化的、面向目标的和有效的反事实样本。生成的反事实样本可以作为测试用例,来评估模型和任何文本去偏算法。

上一节介绍了作者的研究问题的背景,思路以及具体框架。本节继续介绍具体的实现方法。

方法细节

上一节提到,作者提出一种反事实生成框架(GYC)。该框架可以应用于多种现有模型,来引导反事实文本生成。该框架包括2个大的步骤,

  1. 重建输入文本。
  2. 利用(作者设计的)微分和不可微分损失实现controllable text generation。

实现控制文本生成时,控制目标可以使文本情感类别、需要生成的实体(文章中写的NER)或者是特定的类别标签。其中,可微分损失是对根据输入句子的logits计算的,而不可微分损失通过对生成文本计算(人工设计的)reward得到。 此外,为了确保生成的反事实文本具有多样化性,作者在logits上添加了熵损失(最大化熵,提升生成结果的多样性,在很多RL的方法中常用,保证action不要过于单一)

可控制文本生成

基于Transformer的语言模型可以被抽象为利用历史文本(其实就是到当前token之前的文本)矩阵\boldsymbol{H}_t = [(K_t^{(1)}, V_t^{(1)}),\ldots,(K_t^{(l)}, V_t^{(l)})]以及历史生成token y_{t},来生成当前token \boldsymbol{y}_{t+1}。其中,(K_t^{(1)}, V_t^{(1)})表示Transformer的第i层产生的,在时刻t的键值对。**值得注意的是,作者表示历史token \boldsymbol{y}_{< t}的信息已经被\boldsymbol{H}_t反映了。因此,在生成当前token时,不需要再基于\boldsymbol{y}_{< t}。具体的生成过程可以表示为下图所示公式。

transformer based text generation

Controllable text generation的目标(或者说做法)是,在生成文本\boldsymbol{y}的时候,以某种condition为条件,用公式可以表示为p(\boldsymbol{y}|condition)(文中公式3)。condition可以是类别标签,如情感分类中的积极或消极,也可以某种主题,甚至可以是结构化数据,包括维基百科信息框,乃至知识图谱。Dathathri 等人。 (2020 年)提出了PPLM框架,用于controllable text generation。PPLM使用预训练的GPT-2生成文本,通过添加可学习的扰动\Delta H_t来扰动历史文本矩阵H_t得到扰动后历史文本矩阵(个人称之为扰动条件矩阵)\tilde{H_t},并基于上述公式2,得到如下图所示的文本生成公式。

GPT-2 controllable text generation

作者表示,可以把PPLM看做是从p(\boldsymbol{y}|condition)的分布中采样。\Delta H_t起到弥合历史文本矩阵H_t分布和p(\boldsymbol{y}|condition)分布的作用(就是通过这个扰动通过非条件分布拟合条件分布)。\Delta H_t通过最大化p(\boldsymbol{y}|condition)的对数概率来学习(有监督的参数学习)。然而,没有办法直接优化p(\boldsymbol{y}|condition)(由条件(标签,例如积极情感)到文本的概率。个人感觉,主要是因为\boldsymbol{y}的联合分布空间太大,数据太稀疏)。但是p(condition|\boldsymbol{y})是比较容易从数据估计出来的(比如文本分类模型),因此可以利用贝叶斯公式,p(\boldsymbol{y}|condition) \propto p(\boldsymbol{y})p(condition|\boldsymbol{y}),将目标转化。具体实现时可以利用如下图所示的公式,其中第一项是保证符合所需的条件(其实是软约束,只能说尽可能达到),第二项是保证生成的样本与真实分布接近,和未扰动前的分布接近)。

PPLM objective

反事实文本

下图给出了一些GYC生成的反事实文本,这些文本要么被控制来改变位置信息,要么被控制改变类别标签或主题。利用这些文本,可以在符合语法和语境(一般是符合真实输入要求)的同时,保证没有因数据采样原因导致带有某种倾向。比如,伦敦的餐馆在采样时都是好评,模型可能就overfit到伦敦就都是好评,事实上只是因为训练样本没有采样到而已。类似这种问题会导致模型不公平,利用反事实生成的数据增强可以解决这一问题。

counterfactual text samples generated by GYC

GYC方法

GYC要完成的任务是,在给定输入文本\boldsymbol{x}和条件condition的情况下,生成反事实样本\boldsymbol{y},可以表示为p(\boldsymbol{y}|\boldsymbol{x}, condition)(文中公式9)。不难看出,此时要求上述“扰动条件矩阵”\tilde{H_t}即和输入文本\boldsymbol{x},又和条件condition相关。因此,作者采用两阶段方法,

  • 保证“扰动条件矩阵”与输入文本\boldsymbol{x}相关。利用扰动参数和重建损失,训练扰动参数,得到\tilde{H_t},保证其很好的包含了\boldsymbol{x}的信息(能够成功重建)。具体的优化目标如下图所示。其中,\Delta H_t为扰动参数。目标迫使生成的文本与原始文本接近,并且还尽可能保留原始内容。因此,作者称之为proximity损失。并且作者发现采用基于课程训练的方法有更好的效果,更多可以参阅论文附录。值得注意的是,作者表示生成模型中的一个关键问题是从隐向量空间进行推断,GPT-2也有同样的问题。该步骤对作者的研究场景至关重要,因为需要隐向量空间(比如历史文本矩阵H_t)能够合理的生成输入样本后,才能对其进行扰动以生成反事实文本。所以,这一个重构步骤必不可少(不然可能都不知道是啥隐空间了)。

    proximity loss
  • 保证“扰动条件矩阵”与条件condition相关。利用扰动参数,扰动\tilde{H_t},得到\hat{H_t},保证其包含生成符合条件的反事实样本所需的信息。但是进行条件扰动有一个前提,它假设我们有一个得分函数,该函数可以判断对应文本多大程度上和条件相符。在目标函数不可微的情况下,可以用类似强化学习的reward来指导模型学习。因此,为了与条件相关,可以采用如下2类方式,

    • differentiable score。此类方法利用如下图所示的公式进行评分。输入为\boldsymbol{O}^{}_{1:T}是生成结果的logit,而score是如情感分类器之类的判别函数,作者采用在Yelp和DBpedia等数据集上训练的情感分类器。
      differentiable score
    • non-differentiable score。很多时候,score不是以logit作为输入的,而是直接以生成的文本作为输入。此时,无法通过直接对logit对参数做梯度运算。例如,NER类的评分函数。因此,作者假设score可以得到某种对生成的文本的打分,如下图所示。其中,K,k分别表示对一个样本生成的反事实文本总个数,以及当前是第几个反事实样本。r^k表示文本的得分。作者使用BERT-NER和SRL模型对 NER 和 SRL 认为进行打分。
      non-differentiable score

作者强调,\tilde{H_t},\hat{H_t}都是通过扰动得到的,只不过前者是为了重构(保证生成的反事实样本真实且接近原始输入),后者是为了可控制

得到\hat{H_t}之后,可以利用如下图所示的公式生成所需的反事实文本。

language model generative process

此外,为了保证多样性,作者引入了如下图所示的diversity loss。本质就是计算生成的K反事实文本的熵,熵最大意味着生成的文本越平均或分散。

diversity loss

最终,整体损失函数如下图示所示。

total loss

作者采用退火机制来稳定训练过程。初始阶段,重构超参数{\lambda}^{}_{p}较大,{\lambda}^{}_{r}= {\lambda}^{}_{H} = 0。后期重构基本完成后降低{\lambda}^{}_{p},甚至调节为0,提升{\lambda}^{}_{r}= {\lambda}^{}_{H} = 0。具体训练过程可参见原文附录。

心得体会

扰动矩阵

作者采用扰动矩阵实现条件控制是本文的一大亮点。一般想到condition之类的条件,会采用额外的one-hot编码或者可训练的向量(伪编码)实现。但是作者直接把扰动结合到历史条件中,也符合当前LM的场景,简单直接,效果不差。

文章引用

[1] Pearl, J.; et al. 2000. Models, reasoning and inference. Cambridge, UK: CambridgeUniversityPress.

[2] Garg, S.; Perot, V.; Limtiaco, N.; Taly, A.; Chi, E. H.; and Beutel, A. 2019. Counterfactual fairness in text classification through robustness. In Proceedings of the 2019 AAAI/ACM Conference on AI, Ethics, and Society, 219–226.

[3] Li, J.; Monroe, W.; and Jurafsky, D. 2016. Understanding neural networks through representation erasure. arXiv preprint arXiv:1612.08220 .

[4] Jia, R.; and Liang, P. 2017. Adversarial examples for evaluating reading comprehension systems. arXiv preprint arXiv:1707.07328 .

[5] Ribeiro, M. T.; Wu, T.; Guestrin, C.; and Singh, S. 2020. Beyond Accuracy: Behavioral Testing of NLP Models with CheckList. arXiv preprint arXiv:2005.04118 .

[6] Michel, P.; Li, X.; Neubig, G.; and Pino, J. M. 2019. On eval- uation of adversarial perturbations for sequence-to-sequence models. arXiv preprint arXiv:1903.06620

[7] Radford, A.; Wu, J.; Child, R.; Luan, D.; Amodei, D.; and Sutskever, I. 2019. Language models are unsupervised mul- titask learners. OpenAI Blog 1(8): 9.

[8] Keskar, N. S.; McCann, B.; Varshney, L. R.; Xiong, C.; and Socher, R. 2019. Ctrl: A conditional transformer lan- guage model for controllable generation. arXiv preprint arXiv:1909.05858 .

[9] Dathathri, S.; Madotto, A.; Lan, J.; Hung, J.; Frank, E.; Molino, P.; Yosinski, J.; and Liu, R. 2020. Plug and Play Language Models: A Simple Approach to Controlled Text Generation. In International Conference on Learn- ing Representations. URL https://openreview.net/forum?id= H1edEyBKDS.

相关文章

网友评论

      本文标题:因果可解释自然语言处理工具箱 - GYC(二)

      本文链接:https://www.haomeiwen.com/subject/rrqekrtx.html