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. SQLite is 35% Faster Than The Filesystem

    比方说你要在C++/PHP里实现一个函数Image get_image(string id),不同的图片有1万张(用户头像),你可以把它们存在一个目录/文件夹里,然后fopen()再fread. 你也 ...

  2. 【排序算法】——冒泡排序、选择排序、插入排序、Shell排序等排序原理及Java实现

    排序 1.定义: 所谓排序,即是整理文件中的内容,使其按照关键字递增或递减的顺序进行排列. 输入:n个记录,n1,n2--,其对应1的关键字为k1,k2-- 输出:n(i1),n(i2)--,使得k( ...

  3. gitlab基础命令之代码回滚

    #:gitlab状态 root@ubuntu:~# gitlab-ctl status run: alertmanager: (pid 13305) 215965s; run: log: (pid 1 ...

  4. 【编程思想】【设计模式】【基础模式Fundamental】delegation_pattern

    Python版 https://github.com/faif/python-patterns/blob/master/fundamental/delegation_pattern.py #!/usr ...

  5. Mysql中replace与replace into的用法讲解

    Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...

  6. c3p0的使用步骤

    //1.导入c3p0的连个包,和mysql的驱动包//2.配置c3p0.xml的配置文件 <c3p0-config> <!-- 使用默认的配置读取连接池对象 --> <d ...

  7. MyEclipse配置Hibernate框架(基础篇)

    一.创建java project项目 二.项目右键Configure Facets -- Install Hibernate Facet 三.项目添加对应数据库的jar包 四.编写实体类 packag ...

  8. Windows10常用快捷键+cmd常见命令码

    Windows10常用快捷键+cmd常见命令码 1.Ctrl快捷键 Ctrl+C: 复制 Ctrl+V: 粘贴 Ctrl+A: 全选内容 Ctrl+S: 保存 Ctrl+X: 剪切 Ctrl+Z: 撤 ...

  9. 带你尝鲜LiteOS 组件EasyFlash

    摘要:EasyFlash是一个开源的轻量级嵌入式闪存库. 本文分享自华为云社区<LiteOS组件尝鲜-玩转EasyFlash>,作者:Lionlace . 基本介绍 EasyFlash是一 ...

  10. [BUUCTF]PWN——ciscn_2019_s_4

    ciscn_2019_s_4 附件 步骤: 例行检查,32位程序,开启了nx保护 本地试运行一下,看看大概的情况,两次输入,让人联想到栈迁移 32位ida载入,找到关键函数,只可以溢出8字节,没法构造 ...