论文解读( FGSM)《Adversarial training methods for semi-supervised text classification》
论文信息
论文标题:Adversarial training methods for semi-supervised text classification
论文作者:Taekyung Kim
论文来源:ICLR 2017
论文地址:download
论文代码:download
视屏讲解:click
1 背景
1.1 对抗性实例(Adversarial examples)
- 通过对输入进行小扰动创建的实例,可显著增加机器学习模型所引起的损失
- 对抗性实例的存在暴露了机器学习模型的脆弱性和局限性,也对安全敏感的应用场景带来了潜在的威胁;
1.2 对抗性训练
训练模型正确分类未修改示例和对抗性示例的过程,使分类器对扰动具有鲁棒性
目的:
- 正则化手段,提升模型的性能(分类准确率),防止过拟合
- 产生对抗样本,攻击深度学习模型,产生错误结果(错误分类)
- 让上述的对抗样本参与的训练过程中,提升对对抗样本的防御能力,具有更好的泛化能力
- 利用 GAN 来进行自然语言生成 有监督问题中通过标签将对抗性扰动设置为最大化
1.3 虚拟对抗性训练
将对抗性训练扩展到半监督/无标记情况
使模型在某实例和其对抗性扰动上产生相同的输出分布
2 方法
2.1 整体框架
基本思想:扩展对抗性训练/虚拟对抗性训练至文本分类任务和序列模型
基本思路:
- 对于文本分类任务,由于输入是离散的,且常表示为高维one-hot向量,不允许无穷小的扰动,因此将扰动施加于词嵌入中;由于受干扰的嵌入不能映射至某个单词,本文中训练策略仅作为通过稳定分类函数来正则化文本分类器的方法,不能防御恶意扰动;
- 施加扰动于规范化的词嵌入中,设置对抗性损失/虚拟对抗性损失,增强模型分类的鲁棒性;
2.2 方法介绍
将离散单词输入转化为连续向量,定义单词嵌入矩阵:
$\mathbb{R}^{(K+1) \times D}$
其中 $K$ 指代单词数量,第 $K+1$ 个单词嵌入作为序列 结束($eos$)令牌
设置对应时间步长的离散单词为 $w^{(t)}$ ,单词嵌入为 $v^{(t)}$
针对文本分类问题使用 LSTM 模型或双向 LSTM 模型 由于扰动为有界范数,模型在对抗性训练过程中可能 通过 “学习具有较大范数的嵌入使扰动变得不重要” 的病态解决方案,因此需将嵌入进行规范化:
$\overline{\boldsymbol{v}}_{k}=\frac{\boldsymbol{v}_{k}-\mathrm{E}(\boldsymbol{v})}{\sqrt{\operatorname{Var}(\boldsymbol{v})}} \text { where } \mathrm{E}(\boldsymbol{v})=\sum_{j=1}^{K} f_{j} \boldsymbol{v}_{j}, \operatorname{Var}(\boldsymbol{v})=\sum_{j=1}^{K} f_{j}\left(\boldsymbol{v}_{j}-\mathrm{E}(\boldsymbol{v})\right)^{2}$
其中 $f_{i}$ 表示第 $i$ 个单词的频率,在所有训练示例中进行计算。
2.2.1 对抗性训练
对抗性训练尝试提高分类器对小的、近似最坏情况扰动的鲁棒性——使分类器预测误差最大
代价函数:
$-\log p\left(y \mid \boldsymbol{x}+\boldsymbol{r}_{\mathrm{zd} v} ; \boldsymbol{\theta}\right) \text { where } \boldsymbol{r}_{\mathrm{ud} v}-\underset{\boldsymbol{r}, \mid \boldsymbol{r} \| \leq \epsilon}{\arg \min } \log p(y \mid \boldsymbol{x}+\boldsymbol{r} ; \hat{\boldsymbol{\theta}})$
其中 $r$ 为扰动, $\widehat{\theta}$ 为分类器当前参数的常数集,即表明构造对抗性实例的过程中不应该进行反向传播修改参数
对抗性扰动 $r$ 的生成:通过线性逼近得到
$\boldsymbol{r}_{\mathrm{adv}}=-\epsilon \boldsymbol{g} /\|\boldsymbol{g}\|_{2} \text { where } \boldsymbol{g}=\nabla_{\boldsymbol{x}} \log p(y \mid \boldsymbol{x} ; \hat{\boldsymbol{\theta}})$
2.2.2 虚拟对抗性训练
将对抗性训练应用于半监督学习——使分类器预测的输出分布差距最大
额外代价:
$\begin{array}{l}\operatorname{KL}\left[p(\cdot \mid \boldsymbol{x} ; \hat{\boldsymbol{\theta}}) \mid p\left(\cdot \mid \boldsymbol{x}+\boldsymbol{r}_{\mathrm{v} \text {-adv }} ; \boldsymbol{\theta}\right)\right] \\\text { where } \boldsymbol{r}_{\mathrm{v} \text {-adv }}=\underset{\boldsymbol{r},\|\boldsymbol{r}\| \leq \ell}{\arg \max } \mathrm{KL}[p(\cdot \mid \boldsymbol{x} ; \hat{\boldsymbol{\theta}}) \| p(\cdot \mid \boldsymbol{x}+\boldsymbol{r} ; \hat{\boldsymbol{\theta}})]\end{array}$
对抗性扰动设置:
$\boldsymbol{r}_{\mathrm{adv}}=-\epsilon \boldsymbol{g} /\|\boldsymbol{g}\|_{2} \text { where } \boldsymbol{g}=\nabla_{\boldsymbol{s}} \log p(y \mid \boldsymbol{s} ; \hat{\boldsymbol{\theta}})$
对抗性损失:
$L_{\mathrm{adv}}(\boldsymbol{\theta})=-\frac{1}{N} \sum_{n=1}^{N} \log p\left(y_{n} \mid \boldsymbol{s}_{n}+\boldsymbol{r}_{\mathrm{adv}, n} ; \boldsymbol{\theta}\right)$
其中 $N$ 为标记样本的数量
虚拟对抗性扰动设置:
$\boldsymbol{r}_{\mathrm{v} \text {-adv }}=\epsilon \boldsymbol{g} /\|\boldsymbol{g}\|_{2} \text { where } \boldsymbol{g}=\nabla_{\boldsymbol{s}+\boldsymbol{d}} \mathrm{KL}[p(\cdot \mid \boldsymbol{s} ; \hat{\boldsymbol{\theta}}) \mid p(\cdot \mid \boldsymbol{s}+\boldsymbol{d} ; \hat{\boldsymbol{\theta}})]$
其中 $d$ 为小随机向量,实际通过有限差分法和幂迭代计算虚拟对抗性扰动
虚拟对抗性训练损失:
$L_{\mathrm{V} \text {-adv }}(\boldsymbol{\theta})=\frac{1}{N^{\prime}} \sum_{n^{\prime}=1}^{N^{\prime}} \mathrm{KL}\left[p\left(\cdot \mid \boldsymbol{s}_{n^{\prime}} ; \hat{\boldsymbol{\theta}}\right) \mid p\left(\cdot \mid \boldsymbol{s}_{n^{\prime}}+\boldsymbol{r}_{\mathrm{v}-\mathrm{ndv}, n^{\prime}} ; \boldsymbol{\theta}\right)\right]$
其中 $N$ 为标记/未标记样本的数量之和
3 总结
略
4 其他
- 基于梯度的攻击: FGSM(Fast Gradient Sign Method) PGD(Project Gradient Descent) MIM(Momentum Iterative Method)
- 基于优化的攻击: CW(Carlini-Wagner Attack)
- 基于决策面的攻击: DEEPFOOL
论文解读( FGSM)《Adversarial training methods for semi-supervised text classification》的更多相关文章
- 论文解读(ARVGA)《Learning Graph Embedding with Adversarial Training Methods》
论文信息 论文标题:Learning Graph Embedding with Adversarial Training Methods论文作者:Shirui Pan, Ruiqi Hu, Sai-f ...
- 论文阅读:《Bag of Tricks for Efficient Text Classification》
论文阅读:<Bag of Tricks for Efficient Text Classification> 2018-04-25 11:22:29 卓寿杰_SoulJoy 阅读数 954 ...
- 论文解读(ClusterSCL)《ClusterSCL: Cluster-Aware Supervised Contrastive Learning on Graphs》
论文信息 论文标题:ClusterSCL: Cluster-Aware Supervised Contrastive Learning on Graphs论文作者:Yanling Wang, Jing ...
- 论文笔记 - Noisy Channel Language Model Prompting for Few-Shot Text Classification
Direct && Noise Channel 进一步把语言模型推理的模式分为了: 直推模式(Direct): 噪声通道模式(Noise channel). 直观来看: Direct ...
- 论文解读(SR-GNN)《Shift-Robust GNNs: Overcoming the Limitations of Localized Graph Training Data》
论文信息 论文标题:Shift-Robust GNNs: Overcoming the Limitations of Localized Graph Training Data论文作者:Qi Zhu, ...
- 《C-RNN-GAN: Continuous recurrent neural networks with adversarial training》论文笔记
出处:arXiv: Artificial Intelligence, 2016(一年了还没中吗?) Motivation 使用GAN+RNN来处理continuous sequential data, ...
- CVPR2020论文解读:CNN合成的图片鉴别
CVPR2020论文解读:CNN合成的图片鉴别 <CNN-generated images are surprisingly easy to spot... for now> 论文链接:h ...
- 论文解读(BYOL)《Bootstrap Your Own Latent A New Approach to Self-Supervised Learning》
论文标题:Bootstrap Your Own Latent A New Approach to Self-Supervised Learning 论文方向:图像领域 论文来源:NIPS2020 论文 ...
- 论文解读第三代GCN《 Deep Embedding for CUnsupervisedlustering Analysis》
Paper Information Titlel:<Semi-Supervised Classification with Graph Convolutional Networks>Aut ...
- itemKNN发展史----推荐系统的三篇重要的论文解读
itemKNN发展史----推荐系统的三篇重要的论文解读 本文用到的符号标识 1.Item-based CF 基本过程: 计算相似度矩阵 Cosine相似度 皮尔逊相似系数 参数聚合进行推荐 根据用户 ...
随机推荐
- WebStorm 2021.3 的永久激活教程
关注公众号回复 webstorm 即可获取激活脚本和教程 更新时间 2022年9月2日. 不定时更新 激活码可在公众号中回复[激活码]获取.
- Typora 基本功能
Typora 基本功能 typora 下载官网:https://www.typora.io/ "安装到C盘" 基本使用 1.该文件后缀 .md2.六级标题 :ctrl+ ...
- 龙中华著《Spring Boot实战派》读书笔记之入门篇
第一章 进入Spring Boot的世界 理念:默认大于配置.有很多集成好的方案,开箱即用.针对痛点:环境配置耗时. 1.1 Spring Boot 的特色: 使用简单 注解方式实现类的定义和功能开发 ...
- Error java 错误 不支持发行版本5 ( 完美解决版)
问题 在Intellij idea中新建了一个Maven项目,运行时报错如下:Error : java 不支持发行版本5 解决方案 1. 原因 是因为ideal中默认配置中有几个地方的jdk版本与实际 ...
- Nginx重启操作
1.杀掉Nginx进程 killall nginx 2.启动Nginx /usr/local/openresty/nginx/sbin/nginx -c /usr/local/openresty/ng ...
- mysql知识点二
1.mysql中的语言有哪些?分别代表什么意思1.DDL(Data Define Language) 数据定义语言2.DML(Data Manipulation Language) 数据操作语言3.D ...
- MYSQL DUAL(伪表)
#DUAL是一个伪表,不存在的表. SELECT 8*9 FROM DUAL #输出72
- 后端004-JWT工具类的编写
登录功能采用springsecurity安全框架和jwt令牌 首先需要添加依赖信息 在yml中添加JWT的配置文件 有了上述的配置之后,我们可以准备一个JWT的工具类,方便后面和JWT相关的内容去使用 ...
- 总项目的pom文件
注意修改子模块名称!!!!!!!!!!!!!!!!!!<?xml version="1.0" encoding="UTF-8"?> <proj ...
- OSPF v3与v2的区别