在讲方法之前,作者提出了一个概念:给定一个样本,这个样本的标签是确定的,即,但是有的样本本身表达的情绪就很模糊,标签其实是不太确定的,就跟下面这张图里的两个样本一样。所以作者提出了一种标签潜在分布,这个代表的是该样本被分成其他类别的概率分布。且
该网络结构包含以下几个部分:(1)C个挖掘潜在分布的辅助分枝,一个具有相同结构的目标分枝。(2)两两非确定性估计,其中不确定性估计模型由两个FC层组成。每个辅助分枝都充当C-1类的分类器去寻找样本x的潜在分布。
和联合指导目标分枝,此外,还对这些分支进行正则化,通过它们的相似矩阵来预测图像的一致性关系。需要特别注意的是,所有辅助分支和不确定性估计模块最后都将被删除,只留下目标分支用于推理。因此,整个框架是端到端的,可以灵活地集成到现有的网络架构中,而无需额外的推理成本。
潜在标签挖掘
举个例子,假设表情被分成1,2,3,4,5,6,7,8这8类,那么就需要8个分类器去预测每个样本的潜在分布。考虑到计算效率,作者采用了多分支的结构,共享低层特征。注意:所有的分支都有相同的结构,并且共享低层特征(比如Resnet的前三个阶段)。图中的Classifier 1、Classifier 2、... 、Classifier C都是C-1类分类器,只有Classifier 0是C类分类器。
训练时,使用除第 j 类的图像以外的其他 C-1 类图像来训练第 j 个辅助分支。辅助分枝的损失为:
得到潜在分布后,作者还进行了一个如下图所示的sharpen操作,这可以轻微调整,让更加平滑:
然后作者计算了一个L2损失,这个损失用来最小化目标分支的预测值与sharpen后的之间的偏差,代表潜在分布,代表目标分枝的预测值,下图中的最后一句话很重要:我们不会通过计算来反向传播梯度。
相似性保持
原文翻译:受[35]的启发,我们发现当给定一对图像时,对所有分支进行正则化以预测一致性关系是有益的。这是因为CE损耗仅利用标签空间中的单个样本。然而,样本之间的关系是另一种知识范式。例如,给定一对微笑图像,除了告诉网络它俩的标签是happy之外,不同分支提取的语义特征的相似性应该是一致的。因此,我们将[35]概括为多分支体系结构的上下文,即多分支相似性保持(MSP),定义为:
两两不确定性估计
为了处理模糊样本,文章引入了潜在分布挖掘。但是目标分枝也应该从干净的样本中获益。
由于存在模棱两可的样本,直接使用CEloss可能会导致性能下降。因此,我们在标准CE损失中加入一个调节项,以在样本空间中权衡潜在分布和样本标签这两者。具体来说,我们根据样本之间关系的统计数据来估计样本的置信度。更模糊的样本将会有更低的置信度,进一步降低交叉熵。这样,潜在分布将提供更多的指导。
为了更好地理解这部分,举个栗子。
如上图所示,定义某个样本a的语义特征和one-hot标签向量分别为和,同一分类批次的其他样本i的语义特征和one-hot标签向量分别为和。指的是目标分枝在进行分类之前的特征。计算和每个(被标注成第j类,j = 1, 2, ..., C)之间的平均余弦相似度(是一个数,有多少类,就有多少个,比如代表样本a和同一分类批次中的所有第1类样本的平均余弦相似度。),C个可以组成向量,然后将与拼接起来,形成。
可以描述一个样本的模糊程度:比如说样本a属于第1类,如果这个样本的标签是正确的话,那么应该会比其他C-1个更大,同样的, = 1, = 0,元素之间位置和大小一一对应;如果样本的标签是错误的,那么和中元素的大小顺序排列就会不一样。的计算方式如下,注意,对每一个样本来说都有一个。
进一步地,某个分类批次(batch)的模糊信息特征就是:,其中batch_size = N,不确定性估计模块将SV作为输入,通过两层全连接层计算得到每个样本的置信度,置信度越大,代表这个样本的标签越正确。SV的计算方式如下:
有了置信度以后,就可以利用置信度对目标分枝进行加权训练。如下图所示:
整体损失
(1)在训练开始时,辅助分支挖掘的潜在分布不够稳定。因此,我们专注于辅助分支结构的训练。
(2) 当辅助分支训练有素时,我们就会把注意力转移到训练目标分支上。