Deformer、TEXTFOOLER、强化学习做文本分类 三篇库存论文分享

Deformer:Decomposing Pre-trained Transformers for Faster Question Answering

在这里插入图片描述
虽然这种片段拼接的输入方式可以让自注意力机制对全部的token进行交互,得到的文档表示是问题相关的(反之亦然),但相关文档往往很长,token数量一般可达问题文本的10~20倍,这样就造成了大量的计算。

在实际场景下,考虑到设备的运算速度和内存大小,往往会对模型进行压缩,比如通过蒸馏(distillation)小模型、剪枝(pruning)、量化(quantization)和低轶近似/权重共享等方法。

但模型压缩还是会带来一定的精度损失。因此我们思考,是不是可以参考双流模型的结构,提前进行一些计算,从而提升模型的推理速度?
在这里插入图片描述
在这里插入图片描述

Is BERT Really Robust? A Strong Baseline for Natural Language Attack on Text Classification and Entailment (AAAI 2020 Oral)

方法总览

给定一个黑盒子
输入:句子、对应标签、模型、相似度计算函数Sim、 ε 、词表和词嵌入
输出:对抗样例 X a d v X_{adv} Xadv

背景

机器学习算法通常容易受到广告类的例子的攻击,这些例子与原始训练模型的数据之间是有联系的。

那么怎么去解决这个被攻击问题呢?我们可以自己去生成类似的这些广告类例子,从而用来评估甚至提高模型的鲁棒性

作者提出 TEXTFOOLER
并在文本分类和textual entailment 上进行实验
攻击了三种模型,Bert、卷积、循环神经网络。

图像领域这种对抗的使用变的愈发广泛,而对于自然语言,却仍然是个大的挑战。

对于图像模型,输入一个图像(进行肉眼不可分的改变),模型就会判别错。所以有了新的研究方向,生成更多的样例,在训练阶段就看到这些对抗样例,提高鲁棒性。

延伸到自然语言处理领域,换一些词,如文本分类模型,可能就会让模型判别错标签等

方法细节

输入:句子、对应标签、模型、相似度计算函数Sim、 ε 、词表和词嵌入

我们用输入的句子X,来初始化 X a d v X_{adv} Xadv
对句子X中的每个词进行重要性计算,并将其排序全部放入W集合中,并过滤掉W集合内的停用词。

找出所选单词 w i w_i wi(W中的每个单词)的所有可能候选词。
找的策略:根据 w i w_i wi与词汇表中其他每个单词之间的余弦相似度,以N个最接近的同义词作为候选词集合。(这里就用到了余弦相似度和词表和词嵌入)(这里还没用到Sim函数

选的词嵌入是专门用来计算相似度的,N的设置也是有讲究的,文中N=50,余弦相似度的下限为0.7
最后得到 w i w_i wi的候选词集合candidate(也进行了词性过滤,只保留和原来词词性相同的词)

注意这里是一个词一个词的处理的

对candidate集合中的每个候选词都与其对应的 w i w_i wi进行替换得到X’,然后计算X’与原来的 X a d v X_{adv} XadvSim函数相似度
如果大于阈值ε,且用该X’生成的结果和 X a d v X_{adv} Xadv生成的结果不一样,则放入最终候选集合中。最终选择该集合中与 X a d v X_{adv} Xadv语义相似度最高的词进行替换 X a d v X_{adv} Xadv

如果生成结果一样,则选择置信度得分最低的单词作为 w i w_i wi的最佳替换单词,然后重复之前的步骤进行转换下一个选中的单词。

实验

在这里插入图片描述
在这里插入图片描述

ICML 2020 | Description Based Text Classification with Reinforcement Learning

背景

总体思想:
-显式地引入 分类标签的描述信息,从而提升效果。

三种方法来引入描述信息:
1 给各个标签一个静态的描述信息
2 文本 - 标签,用文本信息来当做标签的描述信息
3 动态地根据输入的文本,为每个标签都生成一段描述信息

经典的文本分类方法把标签看做0、1、2、3即简单的下标,但这是对标签本身描述信息的浪费,我们希望能够利用到标签本身的描述信息。

方法一

利用词典,输出标签的定义(描述),从而作为该标签的描述信息,如positive,“full of hope and confidence, or giving cause for hope and confidence”

该文的方法就是描述与原始文本拼接送入模型中,然后模型进行预测。

但这种定义(描述)往往不准确。

方法二和三

在这里插入图片描述
方法二 - 从Text X中抽取一段文本作为描述。
方法三 - 利用语言模型生成一段描述。

使用强化学习来学习标签描述(抽取)

在这里插入图片描述
在这里插入图片描述
静态描述的方法不作多阐述,文章是用词典的方法得到的。
抽取描述的方法由于使用了强化学习,这里不对强化学习做过多描述,只描述其核心的思想。

抽取方法中,每一个输入,同一个class的描述都是不同的,每一个class的描述都是输入的substring。
当前class如果的确和输入x匹配,那么可以找到对应描述;如果不匹配,则很难找到对应描述,所以论文在输入x中加入了很多的伪token,如果找到的描述指向了伪token,则使用静态描述。

强化学习算法三个核心点:action a,policy π,reward R
1 对于每一个标签,action就是从输入x中选择合适的描述,这个描述是通过上下标来选择的,如上图。
2 Policy则为上下标选择出来的正确的描述的概率值,即P_span。
3 输入x和描述,然后输出正确标签的概率,这个概率将用于更新分类模型以及抽取方法。

最大化reward,loss则最小化-reward,最后用来更新参数的loss,就如上图所示。

强化学习是一个框架,任何一个任务定义好 action policy reward 即可。

生成的方法

在这里插入图片描述
在这里插入图片描述

实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xu_Wave

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值