DUL[2020-CVPR]

Prior-work

  • PFE-2020-CVPR[人脸Uncertainty Learning的开山之作,非常有启发意义]

Motivation

  • 理想的embeding-feature应该是最能够代表、编码identity的信息的,同时它应当不受与identity无关的信息[亮度、拍摄角度等因素]的干扰,但是实际场景中,采集到的同一个identity的不同的face-images往往不可避免地携带了与identity无关的信息!传统的FR-model【eg:sphereface、cosface、arcface、mv-face、cur-face等】都是直接学习f(x)的点估计,容易被noisy-samples所蕴含的noise带偏;而data uncertainty learning则通过将人脸嵌入特征建模为多元高斯分布,同时学习其均值和方差,通过特征的方差来刻画样本的noise大小,从而获得更加鲁棒的人脸嵌入特征!

                                                                           

  • PFE将人脸识别的研究方法从确定性的点估计拓展到了密度估计,但是存在一个显著的问题:继承sota模型的embedding-feature作为特征空间的高斯分布的均值,只通过Uncertainty Module来学习高斯分布的variance !!!
  • 针对PFE只能学习高斯分布的variance的缺点,DUL提出了Classification-based、Regression-based两种模型来同时学习高斯分布的均值、方差!!!

        

Code

Details

Classification-based

                                                        

  • 模型假设:embedding-feat服从高斯分布,分布的均值表示input-image最可能被编码的feat,方差表示feat的uncertainty;

                                                                                   

  • 潜在问题:输入图片的embedding-feat的均值、方差依赖于input-image,为了估计均值、方差,需要从上述分布中采样,但是采样操作不可微[意味着不能BP!!!,为什么 ?]。为了解决这个bug,文章采用re-parameterization trick,化腐朽为神奇;

                                                                              

                                         

        如果直接采用softmax-based方法来训练模型,将会出现方差“退化”的现象。[即各类的var非常小,如若不然模型难以收敛!]

                                                                       

  • KL-正则:KL-divergence用于度量两个分布的差异,其值越大意味着两个分布的差异越大!这里作者用KL-divergence来约束N(s|μ,σ^2)[σ ~ (0,1)]和N(ε|0,1),不难发现L_kl是关于σ^2的单调递减函数[var~[0,1]],如果仅优化KL-正则,则L_kl趋向于获得取值较大的方差,因此可以将KL-正则理解为模型方差的正则项。与此同时,L_kl也是μ^2的单调递增函数,优化KL-正则项将导致L_kl趋向于获得取值较小的均值[论文没有点出这一bug]。关于这里吐槽一下:坦白来讲,尽管从数学层面我理解它的内涵,但是还是感觉这里有点突兀,应该有其它更好的思路来处理。

                                             

  • 损失函数:需要指出的是,如果仅仅优化L_softmax,模型趋向于学习到取值较小的variance【如若不然,则意味着学习到的嵌入特征被严重污染,会使得L_softmax的取值变大】;如果仅仅优化L_kl,模型趋向于学习到取值较大的variance【由公式4(即上式)可知,L_kl是关于sigma^2的单调递减函数】。因此,将二者通过 λ 组成最终的优化函数,通过优化它,则可以学习到较为合理的variance!

                                                                                    

                                              

 

Regression-based

                                               

  • Mapping Space:首先pre-train一个classification-based的模型, 截取它的分类层weights[W ~ R^(D x C)],W的第i列可以理解为第i个identity在embedding-feat 空间中的类中心,因此{X,W}可以看作原始映射空间{X,Y}的等价映射[这个确实有道理,而且这么做的根本目的是为了同时学习分布的均值和方差!!!]。映射空间{X, W}的噪声来源于identity-input-image:

                                                                       

  • Distributional Representation:有了Mapping-space的铺垫,我们的学习目标变为:

                                                     

      进一步取负对数似然并化简可得如下的目标函数,其中 r = ln(σ^2):

                                              

     跟PFE类似,因为可以学习variance,因此L_rgs便有了attention机制。具体地:对于小方差的样本,赋予大的权重,同时惩罚也小;对于大方差的样本,赋予小的权重,同时施加大的惩罚!

  • Comment :DUL_rgs模型通过data uncertainty learning 来进一步提升现有FR-model【点估计模型】!

Experiment

  • MS-Celeb-1M | ResNet-18

     

  • Benchmark-ResNet64

                

  • Analysis  | baseline-model = {ResNet64 + AM-Softmax + MS-Celeb-1M}

             

  1. 左图:由DUL_rgs模型的结果给出,结论跟我们对这三个数据集的印象基本吻合;
  2. 右图:使用DUL_cls模型对MS-Celeb-1M数据集的样本进行分类,在easy、semi-hard样本中,DUL_cls的表现要优于baseline;在hard样本中,DUL_cls要比baseline差,差的原因是DUL_cls惩罚模型刻意去学习难样本所蕴含的噪声,从而使得模型将更多的注意力放在easy、semi-hard样本上!【这种现象在实际场景中也可能会出现,至于怎么部署模型,就得看具体的侧重点,不能一概而论】

          

  1. 进一步量化分析了DUL_rgs,模型在easy、semi-hard样本上表现得更加好【体现在样本更加紧致地靠拢在类中心】,同时把难样本推到距离类中心更远的地方[大方差!!!].
  2. 在一定程度上缓解了PFE提出的人脸识别的三类挑战: Blur | Occlusion |  Noise 
  • DUL_cls-lambda选择[baseline-model = {ResNet64 + AM-Softmax + MS-Celeb-1M}] 

                                                    

  • DUL vs Deterministic-learning | [baseline-model = {ResNet64 + AM-Softmax + MS-Celeb-1M}] 

                                                          

Reference

[1].Data Uncertainty Learning in Face Recognition[CVPR-2020]

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论
多任务学习利用不确定性来加权损失用于场景几何和...... 多任务学习是一种机器学习方法,旨在通过同时学习多个相关的任务来提高模型的性能。在场景几何和...中,我们可以利用多任务学习来同时学习场景几何和...两个任务,并利用不确定性来加权损失函数。 不确定性是指模型对于不同任务的预测结果的置信度或可靠性。通过测量模型的不确定性,我们可以了解模型对于不同任务的自信程度,并根据其不确定性来决定在损失函数中的权重。 具体来说,在训练过程中,我们可以采用如下的多任务学习框架:首先,我们定义两个任务,即场景几何和...。然后,我们构建一个网络模型,该模型有两个分支,分别用于处理场景几何和...任务。每个分支都有自己的损失函数,用于衡量模型在相应任务上的性能。 在计算总体损失时,我们可以使用不确定性来加权每个任务的损失函数。一种常见的方法是使用模型的输出结果的方差或置信度来表示不确定性。如果模型对于某个任务有较高的置信度,我们可以将该任务的损失函数的权重设为较大值;相反,如果模型对于某个任务的置信度较低,我们可以将该任务的损失函数的权重设为较小值。 通过利用不确定性加权损失函数,我们可以让模型在训练过程中更加关注自身较为确定的预测任务,从而提高模型在这些任务上的性能。这种方法可以提高多任务学习的效果,使得模型能够更好地学习场景几何和...两个任务。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReLuJie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值