Zhang J., Xu X., Han B., Niu G., Cui L., Sugiyama M., Kankanhalli M. Attacks which do not kill training make adversarial learning stronger. In International Conference on Machine Learning (ICML), 2020.

本文提出了一种early-stopped PGD, 通过一种逐渐增强的方法提高鲁棒性(自然训练速度也会快一点).

主要内容

普通的对抗训练的策略是通过PGD-10生成对抗样本用于训练,

但是作者认为, 如此生成的对抗样本过于‘强'了.

对于当前的模型来说, 这些样本完全处于分类边界的另一边,

直接拿这些样本来训练肯定会损害自然精度, 甚至导致模型不收敛.

所以作者认为, 合适的对抗样本应该为:

\[\tilde{x}_i = \mathop{\arg\min} \limits_{\|\tilde{x}-x\|\le \epsilon} \ell(f(\tilde{x}),y_i), \\
\mathrm{s.t.}\quad \ell(f(\tilde{x}),y_i) - \min_{y} \ell(f(\tilde{x}),y) \ge \rho.
\]

即该样本是距离真实损失至少有\(\rho\)的距离的对抗样本中最温和的.

这种样本既能保证一定的鲁棒性, 又能是训练不至于太过困难.

在实际中, 作者是通过早停的方法来近似实现这一步骤的.

通过设定一个整数\(\tau\), PGD-T的每一次迭代都会生成一个样本\(x_t, t=1,2,\cdots, T\), 假设从\(x_{t_0}\)开始便为对抗样本, 即

\[\mathop{\arg\max}_y f_y(x_t)
\not = \mathop{\arg\max}_y f_y(x),
\]

之后最多进行\(\min(\tau, T-t_0)\)次便停止.

作者的意思是认为, 越多的迭代会导致对抗样本越来越远离决策边界,

所以及时的停止能够有效缓解.

特别地, 作者在代码中采用的是动态的\(\tau\), 起初设置小的\(\tau\)利于模型收敛,

后期设置大的\(\tau\)让对抗样本更加困难从而提高鲁棒性.

代码

原文代码

FAT的更多相关文章

  1. FAT32 FAT区__FAT表解析

    一. FAT 表概述 位置: 紧跟在文件系统的“保留区”之后 : 有两个数据结构完全相同的FAT(FAT,File Allocation Tbale 文件分配表)组成. 作用: FAT表项,描述文件系 ...

  2. ebox学习之SD & fat 配置

    fatfs可配置项很多,相关的配置均在ffconfig.h文件中 /*----------------------------------------------------------------- ...

  3. Eclipse打JAR包,插件Fat Jar的安装与使用

    Eclipse可以安装一个叫Fat Jar的插件,用这个插件打包非常方便,Fat Jar的功能非常强大首先要下载Fat Jar,下载地址:https://sourceforge.net/project ...

  4. 磁盘文件系统Fat、Fat32、NTFS、exFAT的优缺点

    我们在Windows系统里格式化磁盘的时候,文件系统的选项里可以看到有“FAT”.“FAT32”.“NTFS”等选项,在对U盘或其他移动存储设备 格式化的时候还会出现“exFAT”选项,那么这四种磁盘 ...

  5. FJNU 1154 Fat Brother And His Love(胖哥与女神)

    FJNU 1154 Fat Brother And His Love(胖哥与女神) Time Limit: 2000MS   Memory Limit: 257792K [Description] [ ...

  6. FJNU 1153 Fat Brother And XOR(胖哥与异或)

    FJNU 1153 Fat Brother And XOR(胖哥与异或) Time Limit: 1000MS   Memory Limit: 257792K [Description] [题目描述] ...

  7. FJNU 1155 Fat Brother’s prediction(胖哥的预言)

    FJNU 1155 Fat Brother’s prediction(胖哥的预言) Time Limit: 1000MS   Memory Limit: 257792K [Description] [ ...

  8. FJNU 1152 Fat Brother And Integer(胖哥与整数)

    FJNU 1152 Fat Brother And Integer(胖哥与整数) Time Limit: 1000MS   Memory Limit: 257792K [Description] [题 ...

  9. FJNU 1156 Fat Brother’s Gorehowl(胖哥的血吼)

    FJNU 1156 Fat Brother’s Gorehowl(胖哥的血吼) Time Limit: 1000MS   Memory Limit: 257792K [Description] [题目 ...

  10. FJNU 1151 Fat Brother And Geometry(胖哥与几何)

    FJNU 1151 Fat Brother And Geometry(胖哥与几何) Time Limit: 1000MS   Memory Limit: 257792K [Description] [ ...

随机推荐

  1. 22 SHELL 获取当前路径

    常见的一种误区,是使用 pwd 命令,该命令的作用是"print name of current/working directory",这才是此命令的真实含义,当前的工作目录,这里 ...

  2. Flink(一)【基础入门,Yarn、Local模式】

    目录 一.介绍 Spark | Flink 二.快速入门:WC案例 pom依赖 批处理 流处理 有界流 无界流(重要) 三.Yarn模式部署 安装 打包测试,命令行(无界流) Flink on Yar ...

  3. [转]C++中const的使用

    原文链接:http://www.cnblogs.com/xudong-bupt/p/3509567.html 平时在写C++代码的时候不怎么注重const的使用,长久以来就把const的用法忘记了 写 ...

  4. ubantu上编辑windows程序

    命令简记 cd $GOROOT/src cp -r $GOROOT /root/go1.4 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.bash 操作 ...

  5. NSString类里有个hash

    实际编程总会涉及到比较两个字符串的内容,一般会用 [string1 isEqualsToString:string2] 来比较两个字符串是否一致.对于字符串的isEqualsToString方法,需要 ...

  6. Java面试基础--(出现次数最多的字符串)

    题目:给定字符串,求出现次数最多的那个字母及次数,如有多个 重复则都输出. eg,String data ="aaavzadfsdfsdhshdWashfasdf": 思路: 1. ...

  7. 【编程思想】【设计模式】【行为模式Behavioral】备忘录模式Memento

    Python版 https://github.com/faif/python-patterns/blob/master/behavioral/memento.py #!/usr/bin/env pyt ...

  8. SpringBoot+MybatisPlus实现批量添加的两种方式

    第一种: 因为Mysql数据每次发送sql语句的长度不能超过1M,所以,每次发送insert语句以固定长度发送: 将sql语句在provider中,以固定长度装入List集合中,然后返回service ...

  9. 『与善仁』Appium基础 — 22、获取元素信息的操作(一)

    目录 1.获取元素文本内容 (1)text()方法 (2)get_attribute()方法 (3)综合练习 2.获取元素在屏幕上的坐标 1.获取元素文本内容 (1)text()方法 业务场景: 进入 ...

  10. Java中方法和类的深入分析

    1.构造方法不能被继承.也就是说子类里没有父类的构造方法.   Java重载根据的是实参和方法形参之间的匹配.自动类型转换也在重载版本的判断中起到了作用.重载的价值在于允许使用通用名称访问相关的方法. ...