Ring loss

版权声明: https://blog.csdn.net/u013841196/article/details/89886414

引言:
本文提出了Ring loss,一种简单的深层网络特征归一化方法,用于增强诸如Softmax之类的标准损失函数。我们认为,深度特征归一化是有监督分类问题的一个重要方面,我们需要模型在多类问题中平等地表示每个类。通过硬归一化(hard normalization)操作进行特征归一化的直接方法会导致非凸形式。相反,Ring loss应用软归一化,其中它逐渐学会将范数约束到缩放的单位圆,同时保持凸性,从而获得更鲁棒的特征。将Ring loss应用于大规模人脸识别问题,达到了最好的效果。

Ring loss将特征限制到缩放后的单位圆上,同时能保持凸性,来得到更稳健的特征。
该损失函数作为辅助的损失,结合Softmax或者A-softmax等损失函数,来学习到特征的模,因而唯一的超参数就是ring loss的权重。论文中在权重为0.01时效果最好。
论文中指出,arcface,cosface等在训练时,损失函数之前将特征进行了归一化,但网络实际上并未学习到归一化的特征。如下图所示,a为训练样本的特征分布,b为测试样本的特征分布,训练样本特征均集中在一定的夹角范围内。但是对于测试样本中模比较小的,其变化范围比较大。
在这里插入图片描述
令F为深度模型,x为输入图像,则F(x)为特征。可优化下面的损失函数:
在这里插入图片描述
R为归一化后特征的模。由于模的等式限制,导致实际上该损失函数是非凸的

因而Ring loss定义如下:
在这里插入图片描述
相应的梯度计算如下:
在这里插入图片描述
上式中R为特征模的长度,类似于cosface及arcface中使用到的s,只不过s是提前设定的(将特征的模归一化,并放大到该值),如30,而此处的R是通过训练学到的。m为batchsize, 为Ring loss的权重。实际使用时,可以结合softmax loss/A-softmax loss。Softmax/A-softmax loss为主损失函数,Ring loss为辅助损失函数。论文中 为0.01时,训练效果最好。

下图是一个简单的例子,其中绿色点为初始化的点,蓝色的为目标类别,红色的为经过20次训练后,特征的分布。a为使用softmax的结果;b为使用ring loss,权重为1;c为使用ring loss,权重为10。可见,使用softmax后,特征收敛到比较大的范围。由于使用ring loss时,设置的特征模长R为1,因而b能收敛到比较合理的位置(特征较集中)。当权重太大时,softmax起的作用很小,导致特征收敛到单位圆上,如c所示。因而需要合理的权重来平衡辅助损失函数ring loss和主损失函数
在这里插入图片描述
MNIST特征事例:
在这里插入图片描述
在这里插入图片描述
Ring loss将所有特征向量都拉向半径为R的超球上,需要联合Softmax或SphereFace一起使用。

总结:
本文以特征归一化作为动机,引入了Ring loss来提高人脸识别的准确率。


注:博众家之所长,集群英之荟萃。

猜你喜欢

转载自blog.csdn.net/u013841196/article/details/89886414