Advertisement

论文阅读笔记: 2019 ICCV 《Improving Adversarial Robustness via Guided Complement Entropy》

阅读量:

2019 ICCV 《Improving Adversarial Robustness via Guided Complement Entropy》

  • Introduction
    • Guided Complement Entropy
      • Synthetic Data Analysis

Introduction

该研究者指出以往两种防御方案均存在缺陷:一种是需要引入额外的数据处理流程或建立辅助模型以增强目标模型的鲁棒性;另一种则是必须付出性能下降的成本方能实现一定程度上的强化保护效果。然而这种改进是以性能指标下降为代价。
随后该研究者引入了一种新型的目标函数框架 Guided Complement Entropy GCE 旨在通过无需增加任何额外训练步骤的方式显著提高对抗鲁棒性。

Guided Complement Entropy

基于引导的互补熵是基于现有方法Complement Entropy的基础上构建的,并且其表达式如下:

在这里插入图片描述

符号如下:

在这里插入图片描述

可以理解为该模型计算了在非真实类别中的预测概率分布的熵,并且当所有预测概率相同时,损失达到最小值。

作者提出的新损失函数为:

在这里插入图片描述

相较于公式(1),本研究引入了一个新的指导因子\hat{y}^a_{ig}。具体来说,在模型尚未在ground-truth class上实现较高准确率的情况下,过早地更新GCE对模型的实际性能提升并无显著价值。具体而言,在交叉熵损失函数下训练会使模型尽可能准确地预测正确的类别;而通过引导补熵损失函数,则可使模型对于错误类别中的预测分数趋于一致。从整体研究目标出发,在优先级排序方面作者采取了一种合理且具科学性的方法。

Synthetic Data Analysis

随后,作者探究了三个问题:

  1. 对比之下,GCE 和 CE 在核心机制上存在显著差异。
  2. 参数 α 主要通过调节 GCE 的损失面形态来实现对其性能的影响。
  3. 通过改变参数 α 的取值范围和分布特性等手段,在一定程度上会影响模型收敛的速度和效果。

作者用图2解释了以上几个问题。为方便展示,作者选择了3分类问题,并假定ground-truth 为class 0。横纵坐标分别表示 class 1 和 class 2 的预测概率,因为三者概率相加为1,所以当他俩的概率确定,class 0 的概率也确定了。阴影部分为模型能够预测正确的情况。作者在文中提到 Complement Entropy Having a long “valley” in the loss landscape,这只会导致训练收敛至这个valley中,而不是最优点 (即 坐标轴中的(0,0)坐标 )。而GCE的优势在于,这个valley的坡度会往最优点倾斜。当\alpha越小,损失值会下降得越快,从而导致在最优点附近有更大的“basin”。

图2看上去是这篇文章的重点,对于这张图暂时有几点疑问:

作者指出Complement Entropy存在低谷, 从而导致网络收敛出现问题。事实上, 网络的训练过程由两个损失函数共同监督:根据我的理解, 交叉熵损失会使坐标位置趋向于(0,0)方向, 而GCE损失则会引导坐标位置靠近 Y=X 这条直线。换句话说, 这两个损失函数各自承担不同的职责, 由于交叉熵的存在, 低谷不会阻碍 网络收敛至最佳状态
另一方面, 在子图(a)与其它图的对比中, 作者试图表达的意思是在GCE损失的约束下, 网络会从高损失区域向低损失区域进行调整。乍一看似乎是如此, 但仔细考察公式(2)以及图2 (b)的情况时发现:当网络在 y = - x + 1 这条直线附近的损失较大(趋近于零)时, 这是因为此时类0的预测分数较低, 导致指导因子 \hat{y}^a_{ig}非常小甚至为零, 因此GCE损失的权重下降至零水平。当预测值位于 y = - x + 1 直线时, GCE损失的权重完全消失且梯度也为零;此时网络仅依赖交叉熵进行梯度更新而不受GCE影响. 随着预测值靠近这条直线,GCE的影响逐渐减弱直至停止. 尽管从表面看GCE的损失很大似乎对其梯度更新有负面影响, 实际上却显示出它对优化过程的影响微乎其微. 更具体地说,在预测值位于红色区域时,GCE并没有给予足够的动力引导网络向蓝色区域进行调整。
在图2的注释部分中提到,(a) 和(d)中的深蓝色区域未完全覆盖阴影区这一现象并不理想. 如果按照我对公式的理解方式来分析这一现象似乎有些矛盾:因为图中所示的Loss Value大小与实际用于梯度更新的真实值之间还是存在一定差异.

在这里插入图片描述

不知道是否是我的理解有问题,先记录一下,方便以后查看。

全部评论 (0)

还没有任何评论哟~