论文:《Complement Objective Training》
论文原文链接: version 2
会议:ICLR 2019
Code:Github

观前提示:Paper笔记系列内容可能掺杂笔者的理解以及想法,如表述有误或希望进一步探讨,欢迎评论、私信或通过简介所附的邮箱联系

名词解释

Cross Entropy – 交叉熵
Complement Entropy – 论文提出的补充熵
COT – 论文模型Complement Objective Training的缩写,包含Cross Entropy和Complement Entropy
ground-truth class – 真实类别
complement class / incorrect class – 与真实类别相对,补充/错误类别
softmax – 一种激活函数
对抗性攻击 / 对抗性防御 / 对抗性训练 / 鲁棒性 – 对抗机器学习内容

公式符号解释:

前言

这篇Paper(简称COT)建议与同作者文献 《Improving Adversarial Robustness via Guided Complement Entropy》 (ICCV 2019,简称GCE)配合食用,思路基本一脉相承,侧重点有所不同。

对于本篇,侧重点在于如何在传统 Cross Entropy 的基础上,即最大化 ground-truth 类别的似然性(传统Cross Entropy)的同时,中和 complement 类别的概率。

对于GCE,侧重于在COT的基础上,通过指数项 “guided" term 平衡 Cross Entropy 和提出的 Complement Entropy,以权衡对抗性防御中的 performance & robustness。论文尝试在不引入额外的计算成本(无对抗性训练)也不引入额外的训练程序的前提下,提升模型鲁棒性的同时不降低模型性能。

基本思想

统计学习算法通过优化训练目标来工作,对于训练的主要原则是优化似然性。深度神经网络的热门使用也促进了 cross entropy 这个训练目标的使用。最小化 cross entropy 的本质为最大化不相交 (disjoint) 类的似然性。

  • cross entropy:
    H(y,y^)=−1N∑i=1NyiT⋅log(y^i)H(y,\hat{y}) = -\frac{1}{N}\sum_{i=1}^{N}y_{i}^{T} \cdot log(\hat{y}_{i})H(y,y^)=N1i=1NyiTlog(y^i)
    其中,yi∈{0,1}Ky_{i}\in\{0,1\}^{K}yi{0,1}K表示第 iii 个样本的one-hot encoded表示,y^i∈[0,1]K\hat{y}_{i}\in[0,1]^{K}y^i[0,1]K表示预测概率,NNN表示样本总数

将 cross entropy 作为目标函数训练的目的在于,找到合适的网络参数来最小化 cross entropy 函数( 数学上表示为: θ^=argminθH(y,y^)\hat{\theta} = argmin_{\theta}H(y,\hat{y})θ^=argminθH(y,y^) ) ,使得预测值 y^\hat{y}y^ 与真实标签 yyy 的结果接近。

使用 cross entropy 作为主要目标函数已经比较成功了,但是论文表示使用 cross entropy 仍然有一定局限:cross entropy 主要利用 ground-truth 类别的信息来最大化似然性,而忽略了来自complement(incorrect)类别的信息。也就是说,对于 complement 类别,并没有明确、直接地优化,而是利用 complement 类别与 ground-truth 类别概率和为1,使当 ground-truth 类别预测概率最大化时,间接最小化 complement 类别的预测概率。

解释1: cross entropy 每次只计算了 ground-truth 类对应的标签,而除了 ground-truth 类,complement 类(其他类别)概率由于点积计算都被清零;所以论文认为 cross entropy 忽略了来自 complement 类别的信息

故论文提出猜想,认为利用 complement 类别信息或许可以促进模型性能。论文认为,一种利用来自 complement 类别信息的方法是:最大化 ground-truth 类别的似然性的同时,中和(neutralize)complement 类别的预测概率。故论文提出COT,使得训练过程中的参数 θ\thetaθ 平均地抑制 complement 类别,而不妥协主要的目标:最大化 ground-truth 类别的预测概率。

那么,中和 complement 类别的预测概率是什么意思呢?
图(a)(b)分别表示经过 cross entropy 和COT训练的预测概率。左边虽然能预测出正确类别为 horse,但其他类别的干扰比较大,比如 airplane 的概率是0.243,automobile 的概率为0.213。这意味着图(a)对泛化问题更敏感,且更可能受到对抗性攻击。右边相比左边,可以看到其他 complement 类别的概率都显著变低且近似相等,使得 ground-truth 类别的预测概率显著提高。这就是“中和 complement 类别的预测概率”的直观表示。

需要注意的是:COT 表示 cross entropy 和 complement entropy 同时训练(不是相加,根据论文是分开训练

可视化理解:
Embedding:在 softmax 操作之前的向量表示。图(a)使用 cross entropy 训练的结果相比,图(b)使用COT训练。相比于图(a),图(b)的每类的类内距离更紧,类间距离更大,边界更为清晰、分离。这样能得到精确、鲁棒性更高的分类结果。

结论贡献

① 从计算机视觉(CV)到自然语言理解(NLU)的广泛实验结果表明:相比于只用 cross entropy,加上 complement objective 对所有任务的最新模型均能进一步提升性能
② 对于 single-step对抗性攻击的鲁棒性更强(关于对抗性防御 / 鲁棒性的内容,可以进一步参考论文GCE)

算法原理

COT在 cross entroy 最大化 ground-truth 类别预测概率 y^g\hat{y}_gy^g 的基础上,同时也最大化 complement objective,以此中和 complement 类别的预测概率。 论文提出 complement entropy 作为 complement objective。

  • complement entropy:
    C(y^cˉ)=−1N∑i=1N∑j=1,j≠gK(y^ij1−y^ig)log(y^ij1−y^ig)C(\hat{y}_{\bar{c}}) = -\frac{1}{N}\sum_{i=1}^{N}\sum_{j=1,j\neq g}^{K}(\frac{\hat{y}_{ij}}{1-\hat{y}_{ig}})log(\frac{\hat{y}_{ij}}{1-\hat{y}_{ig}})C(y^cˉ)=N1i=1Nj=1,j=gK(1y^igy^ij)log(1y^igy^ij)
    其中,y^ij/(1−y^ig)\hat{y}_{ij}/(1-\hat{y}_{ig})y^ij/(1y^ig)可以理解为:当 ground-truth 类别 ggg 未发生时,将第 iii 个样本预测为类别 jjj 的预测概率。NNN 表示样本总数,KKK 表述预测类别总数。

数学上,事件概率等概时熵最大(公式结构参考信息熵),所以对 complement entropy 优化,会驱使 y^ij\hat{y}_{ij}y^ij(1−y^ig)/(K−1)(1-\hat{y}_{ig})/(K-1)(1y^ig)/(K1)变化。随着类别总数K的增大,它实质上中和了 complement 类别的预测概率。换言之,最大化 complement entropy “拉平”(flatten)了 complement 类别 y^j≠g\hat{y}_{j\neq g}y^j=g 的预测概率。论文认为,当 complement 类别被中和时,神经网络 hθh_{\theta}hθ 将更好,因为 ground-truth 类别概率更高,导致网络预测结果更不可能为错误类别。

解释2: complement 类别代表除 ground-truth 类别之外的所有类别,所以 complement 类别总的预测概率为 1−y^ig1-\hat{y}_{ig}1y^ig。当对 complement entropy 优化,使其最小。即在训练时,为 complement entropy 前面加个负号实现(这部分论文没明说,但通过后文的 Algorithm 1 可以看出,它在 complement entropy 前面加了个负号)。不考虑负号时,反之需要使 complement entropy 最大。又因为等概信息熵最大,所以希望让 complement 类别的每个类等概,即概率为 (1−y^ig)/(K−1)(1-\hat{y}_{ig})/(K-1)(1y^ig)/(K1)

解释3: “拉平”(flatten)这个概念,体现在上图中,相当于 complement 所有类别的预测值趋同且明显变小。

  • 用 Complement Entropy 训练
    Complement Objective 带来的额外前向和后向传播需要一定的迭代时间。它使总的训练时长实验上看约为原来的1.6倍。

实验

实验部分内容较多,有兴趣可详见上述论文原文链接或Github链接。

思考

论文利用 complement 类别信息的思路感觉可行;如果是顺着中和 complement 类别预测概率的思路,那么是否可以探究将 Cross Entropy 和 Complement Entropy 整合的思路,以此实现 Cross Entropy 的性能进一步提升呢?
GCE那篇中通过 guide term 整合,但也可能有别的思路?

【Paper笔记】Complement Objective Training相关推荐

  1. 【matcovnet学习笔记】objective,top1error,top5error详解

    [matcovnet学习笔记]objective,top1error,top5error详解 排名前1和前5的错误率是衡量某些解决方案成功与否的重要单位 ,要理解这三个概念,关键是要看懂下面这个多类误 ...

  2. 【paper笔记】Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding

    科研生活开始了! 精读的第一篇paper 好久没有这么仔细地读一篇paper,以前读都只是知道大概意思就好了,很多细节选择忽略,因为很多时候论文只是需要知道这篇论文在干什么就好了(比如水报告的时候(ˉ ...

  3. Paper笔记: 《LaVAN: Localized and Visible Adversarial Noise》

    论文: http://proceedings.mlr.press/v80/karmon18a/karmon18a.pdf (该论文代码未开源) Motivation   这篇paper聚焦于基于pat ...

  4. FCOS目标检测 paper笔记

    FCOS:Fully Convolutional One-Stage Object Detection是一个anchor free的detector, paper链接 github链接 anchor ...

  5. impala paper笔记

    不生产博客,只是汉化别人的成果 目录 摘要 介绍 用户角度的impala 物理schema设计 sql 支持 架构 state distribution catalog service FRONTEN ...

  6. IOS学习笔记6—Objective C—Foundation框架

    2019独角兽企业重金招聘Python工程师标准>>> 原文:http://blog.csdn.net/tangren03/article/details/7747281 转载于:h ...

  7. 论文笔记《End-to-End Training of Hybrid CNN-CRF Models for Stereo》用于立体评估的端到端训练的混合CNN-CRF模型

    论文作者提供的源码 https://github.com/VLOGroup 摘要: 1. 介绍 2. 相关工作 3. CNN-CRF 模型 3.1 Unary CNN 3.2 Correlation ...

  8. 【paper笔记】ESAM: Discriminative Domain Adaptation with Non-Displayed Items to Improve Long-Tail

    ESAM: Discriminative Domain Adaptation with Non-Displayed Items to Improve Long-Tail Performance 阿里解 ...

  9. paper笔记 | 城市计算概述(郑宇)

    1 城市计算的概念和框架 1.1 城市计算的定义 城市计算是一个通过不断获取.整合和分析城市中多种异构大数据来解决城市所面临的挑战(如环境恶化.交通拥堵.能耗增加.规划落后等)的过程. 1.2 城市计 ...

  10. Paper笔记: 《Towards Evaluating the Robustness of Neural Networks》(CW攻击)

    论文: https://arxiv.org/pdf/1608.04644.pdf?source=post_page 代码:https://github.com/Harry24k/CW-pytorch ...

最新文章

  1. 115 存至网盘 也有限制?
  2. Flesch Reading Ease(模拟)
  3. python竖排文本_Calibre 5.0:高亮、Python 3、竖排文字
  4. 1.Linux下libevent和memcached安装
  5. usb3.0 ssd 测试软件,当USB3.0遇上SSD,TB败得移动硬盘盒测试
  6. 从上千篇论文脱颖而出,支付宝论文凭什么获得WWW2020评委认可?
  7. 液位系统c语言程序,超声波自动测量物体液位系统的设计
  8. 头文件定义全局变量_5.2 C++局部变量与全局变量 | 输出局部全局变量
  9. JAVA Reflection(反射机制)续
  10. android软件自动启动软件下载,Android编程实现应用程序开机自启动的方法
  11. java 日志时间格式_java.util.logging.Logger 使用中关于时间格式的问题
  12. SpriteBuilder切换解决方案以及CCB的修改与保存
  13. Elasticsearch版本控制理解
  14. oracle优化distinct,oracle中使用group by优化distinct
  15. python条形堆积图_Matplotlib堆积条形图
  16. 管理欲望:领导者的自我觉察与突破
  17. 在CentOS下运行exe的方法
  18. 谷歌中国推出10款有趣的小工具
  19. android通过adb设置以太网共享
  20. 如火如荼的「云原生」,你了解多少?

热门文章

  1. 怎样修复win10计算机系统,几种常见修复win10系统情况及修复方法介绍
  2. elasticserach(一)
  3. 世界上著名的三大检索工具
  4. mini2440 LED设备驱动开发源代码(宋宝华框架)
  5. iOS 清理缓存简介
  6. ros节点,服务,消息,话题的关系
  7. Ucinet三天写论文!自同构对等分析实战
  8. 守望先锋地图英文和英雄英文
  9. 凸优化理论基础3——凸集和凸锥重要例子
  10. Java容器Treeset的两种排序方法