概率人脸嵌入(二)

论文:“Data Uncertainty Learning in Face Recognition

代码参考:https://github.com/Ontheway361/dul-pytorch

文中使用分类和回归两种方法学习不确定性:

共同点是 在最后的卷积层后接两个嵌入(维度相同),一是均值mu,一是方差sigma(训练时使用方差的对数),即假设人脸特征是满足(mu、sigma)的高斯分布。

不同点在于:

1、基于分类的方法(DUL_CLS):

使用(mu + xi * sigma)作为最后的特征表达(xi是服从标准正态分布,和特征同维的随机向量),后接分类的全连接层。损失是am-softmax等分类损失 + lambda * KL 损失(为了使特征的分布接近标准正态分布,lambda是一个很小的系数)。

概率人脸嵌入(二)_第1张图片

    

两个高斯分布的KL散度推导

 

2、基于回归的方法(DUL_REG):

2a、先训练一遍嵌入只有一个的确定性模型,保存其中用于分类的全连接层,由C个D维权重向量(即类中心)组成(D是嵌入维度,C是类别数)。

2b、修改嵌入为两个,固定backbone参数,finetune,输入样本,得到mu和sigma,计算样本所在类的权重向量属于(mu,sigma)分布的对数似然,最大化batch中所有样本的对数似然乘积,取其反即为损失。

概率人脸嵌入(二)_第2张图片

概率人脸嵌入(二)_第3张图片

你可能感兴趣的:(模式识别,概率人脸,低质人脸,人脸识别,DUL_CLS,DUL_REG)