2023.1.1 第13次周报

摘要

This week, I learnt the basic concept of GRU and its structure, which has the advantage of being easier to compute compared to LSTM; in addition, I read a paper on generic adversarial triggers for attacking and analysing NLP, which proposes a gradient-guided labeled search that finds short sequences of triggers that successfully trigger target predictions.
本周,我学习了GRU的基本概念及其结构,与LSTM相比,其优点在于更易计算;另外,我阅读了一篇用于攻击和分析NLP的通用对抗性触发器的论文,文章提出了一个梯度引导的标记搜索,它可以找到成功触发目标预测的短触发器序列。

深度学习

GRU概述

GRU(Gate Recurrent Unit)是循环神经网络(Recurrent Neural Network, RNN)的一种,和LSTM(Long-Short Term Memory)一样,也是为了解决长期记忆和反向传播中的梯度等问题而提出来的。GRU和LSTM在很多情况下实际表现上相差无几,那么为什么要使用GRU(2014年提出)而不是LSTM(1997提出)呢?实际上,选择GRU是因为它与LSTM相比,结果相似,但是更易于计算。

GRU的输入输出结构

在这里插入图片描述

GRU的内部结构

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

# 测试集变array并reshape为符合RNN输入要求:[送入样本数, 循环核时间展开步数, 每个时间步输入特征个数]
x_test, y_test = np.array(x_test), np.array(y_test)
x_test = np.reshape(x_test, (x_test.shape[0], 60, 1))
 
model = tf.keras.Sequential([
    GRU(80, return_sequences=True),
    Dropout(0.2),
    GRU(100),
    Dropout(0.2),
    Dense(1)
])

小结

GRU输入输出的结构与普通的RNN相似,其中的内部思想与LSTM相似。与LSTM相比,GRU内部少了一个”门控“,参数比LSTM少,但是却也能够达到与LSTM相当的功能。考虑到硬件的计算能力和时间成本,因而很多时候我们也就会选择更加“实用”的GRU。

文献阅读

论文:Universal Adversarial Triggers for Attacking and Analyzing NLP

1、主要内容

将输入与一段提示拼接,即可引导模型输出想要的结果,且提示是与输入无关的,任意输入拼接上相同的提示,都大概率会产生特定的结果。
在这里插入图片描述
如上图所示,对于情感分析任务,拼接trigger(即提示)会导致模型将正确的预测翻转为否定。对于阅读理解任务,拼接trigger会导致模型将其预测从正确答案(带下划线)更改为trigger内的token。对于生成任务,拼接trigger会导致GPT-2生成带有种族歧视色彩的输出。

2、核心算法

假设模型f,文本输入t,以及一个目标标签y’。对抗攻击的=目的是将触发标记tadv连接到t的前面或结尾,假设前面则用f(tadv;t)=y’表示。

在通用目标攻击中,对tadv进行优化,以使数据集中所有输入的目标类y’的损失最小化。这转化为以下目标
在这里插入图片描述
首先选择触发器的长度:较长的触发器更有效,而较短的触发器更隐蔽。然后通过重复单词“the”、子单词“a”或字符“a”来初始化触发器序列,并将触发器连接到所有输入的前端/后端。

然后,迭代地替换触发器中的token,以最小化一批样本中目标预测的损失。为了确定如何替换当前的token,利用HotFlip(Ebrahimi et al.,2018b)用梯度近似替换效果的方法。为了应用这种方法,触发器tadv用独热向量表示,嵌入到eadv中。

标签替代策略HotFlip
更新每个触发token的嵌入层向量eadv,在模型词向量字典中选一个替换token,使得当前token嵌入层损失的一阶泰勒近似最下
在这里插入图片描述
对于我们所考虑的所有模型来说,这种蛮力处理是简单并行的,而且比运行前向通道开销小。最后,在找到每个eadvi之后,将嵌入向量转换回token。下图提供了搜索算法的图示
在这里插入图片描述
我们还提出用beam search 搜索替换。对于触发器中的每个token位置,考虑等式2中的前k个token候选。从左到右搜索各个位置,并使用当前批次的损失对每个beam进行评分。由于计算限制(附录A),我们使用较小的beam size,这个策略可能会改进我们的结果。

3、对抗攻击举例(情感分析)

为了避免负面例子的“惊人”等退化触发因素,我们使用一个词汇将情绪词列入黑名单。5我们从一个tar-geted攻击开始,使用三个前置触发词将正面预测翻转为负面预测。我们的at-tack算法返回“分区攻丝fiennes”——在正样本中,预先设置这个触发器会导致模型的准确率从86.2%下降到29.1%。我们进行了一次类似的攻击,将消极预测转变为积极预测,从而获得“喜剧布鲁塔斯基”——这导致模型的准确率从86.6%下降到23.6%。附录B中的图5显示了减少/增加触发器长度的效果。例如,从正面到负面的攻击,使用一个词的准确率降低到46%,使用十个词的准确率降低到13%。

4、未来的工作和结论

通用的对抗性触发器为NLP暴露了新的漏洞–它们可以在实例和模型之间转移。以前关于对抗性攻击的工作暴露了特定于输入的模型偏差;而触发器则突出了与输入无关的偏差,即模型和数据集中的全球模式。触发器开辟了许多新的探索途径。某些触发器序列是可以解释的,例如,"因为 "出现在 "为什么 "问题上。然而,GPT-2的触发器是无意义的。为了提高可解释性,以及攻击的隐蔽性,未来的研究可以找到在输入的任何地方发挥作用的语法触发器。此外,我们攻击的是在同一数据集上训练的模型;未来的工作可以寻找与数据集甚至任务无关的触发器,也就是说,它们会对看似不相关的模型造成错误。最后,触发器提出了关于责任的问题:当模型在看似良性的输入下产生恶劣的输出时,谁应该负责?在未来的工作中,我们的目标是对对抗性触发器造成的错误进行归因和防御。

总结

本周学习了GRU的基本概念及其结构,了解了其与LSTM的区别,与LSTM相比,其优点在于更易计算,后期,我会继续深入学习GRU以及其他RNN变型结构。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值