【Paper笔记】Complement Objective Training

论文:《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笔记】Complement Objective Training_第1张图片

前言

这篇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 ^ ) = − 1 N ∑ i = 1 N y i T ⋅ l o g ( 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)
    其中, y i ∈ { 0 , 1 } K y_{i}\in\{0,1\}^{K} yi{0,1}K表示第 i i i 个样本的one-hot encoded表示, y ^ i ∈ [ 0 , 1 ] K \hat{y}_{i}\in[0,1]^{K} y^i[0,1]K表示预测概率, N N N表示样本总数

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

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

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

可视化理解:
【Paper笔记】Complement Objective Training_第3张图片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}_g y^g 的基础上,同时也最大化 complement objective,以此中和 complement 类别的预测概率。 论文提出 complement entropy 作为 complement objective。

  • complement entropy:
    C ( y ^ c ˉ ) = − 1 N ∑ i = 1 N ∑ j = 1 , j ≠ g K ( y ^ i j 1 − y ^ i g ) l o g ( y ^ i j 1 − y ^ i g ) 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 ^ i j / ( 1 − y ^ i g ) \hat{y}_{ij}/(1-\hat{y}_{ig}) y^ij/(1y^ig)可以理解为:当 ground-truth 类别 g g g 未发生时,将第 i i i 个样本预测为类别 j j j 的预测概率。 N N N 表示样本总数, K K K 表述预测类别总数。

数学上,事件概率等概时熵最大(公式结构参考信息熵),所以对 complement entropy 优化,会驱使 y ^ i j \hat{y}_{ij} y^ij ( 1 − y ^ i g ) / ( 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 ^ i g 1-\hat{y}_{ig} 1y^ig。当对 complement entropy 优化,使其最小。即在训练时,为 complement entropy 前面加个负号实现(这部分论文没明说,但通过后文的 Algorithm 1 可以看出,它在 complement entropy 前面加了个负号)。不考虑负号时,反之需要使 complement entropy 最大。又因为等概信息熵最大,所以希望让 complement 类别的每个类等概,即概率为 ( 1 − y ^ i g ) / ( K − 1 ) (1-\hat{y}_{ig})/(K-1) (1y^ig)/(K1)

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

  • 用 Complement Entropy 训练
    【Paper笔记】Complement Objective Training_第4张图片Complement Objective 带来的额外前向和后向传播需要一定的迭代时间。它使总的训练时长实验上看约为原来的1.6倍。

实验

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

思考

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

你可能感兴趣的:(ML,Paper笔记,Machine,Learning,Complement,Objective,Training)