[CVPR 2022] Use All The Labels: A Hierarchical Multi-Label Contrastive Learning Framework

Contents

  • Introduction
  • Method
  • References

Introduction

  • 目前的对比学习框架大多聚焦于单标签监督学习或自监督学习场景,因此作者针对层次多标签场景设计了新的对比学习框架,它可以充分利用 all available labels 并保持类别间的 hierarchical relationship

Method

  • 和 supervised contrastive learning 类似,作者的目标是使用所有 hierarchical labels 去学得 encoder 和 projection head. 在用到下游任务时,只需冻结 encoder 参数作为 backbone 即可

  • Contrastive Learning:最原始的对比学习是一种自监督方法,目标是让 anchor 和它的 augmented version 在 embedding space 中尽量接近,而 anchors 和 negative samples 之间尽量远离。设 { x k , y k } \{x_k,y_k\} {xk,yk} N N N 个随机采样的样本,在每个样本上做两次数据增强可以得到大小为 2 N 2N 2N 的新样本集,对比损失
    在这里插入图片描述其中, i ∈ A = { 1 , . . . , 2 N } i\in A=\{1,...,2N\} iA={1,...,2N} j ≠ i j\neq i j=i 为样本 i i i 的正样本。Supervised contrastive learning 将对比学习扩展到了监督学习场景下,由于有了标签的存在,anchor 可以有多个正样本,对比损失
    在这里插入图片描述其中, P ( i ) P(i) P(i) 为样本 i i i 所有正样本的集合
  • Hierarchical Multi-label Contrastive Loss: Supervised contrastive learning 只适用于单标签场景,在层次多标签场景下,设 l ∈ L l\in L lL 为标签层次结构中的一层,则 anchor i i i 和 level l l l 上的正样本配对的对数似然为 (Positive pairs at a level l ∈ L l ∈ L lL are formed by identifying a pair of images that have common ancestry up to level l l l and diverge thereafter.)
    在这里插入图片描述因此,hierarchical multi-label contrastive loss (HiMulCon) 可以被定义为
    在这里插入图片描述其中, λ l = F ( l ) \lambda_l=F(l) λl=F(l) F F F l l l 的增函数 (如果标签层次只有一层,HiMulCon loss 就退化成了 supervised contrastive loss)
    [CVPR 2022] Use All The Labels: A Hierarchical Multi-Label Contrastive Learning Framework_第1张图片该对比损失可以让 anchor 和更高层级上的正样本更接近 (即保持层次结构),并且当计算更高层级的对比损失时,较低层级上的正样本在较高层级上就变成了负样本,它们自动构成了 hard negative samples,可以被看作是一种 hard negative mining
    [CVPR 2022] Use All The Labels: A Hierarchical Multi-Label Contrastive Learning Framework_第2张图片
  • Hierarchical Constraint Enforcing Loss (HiConE):在层次多标签的对比学习场景下,我们希望高层级 image pairs 的损失低于低层级 image pairs 的损失。为此,可以先定义 l l l 层上的最大配对似然 L m a x p a i r ( l ) L_{max}^{pair}(l) Lmaxpair(l)
    在这里插入图片描述HiConE loss
    在这里插入图片描述疑问:这个公式感觉有点问题,按照作者的想法,当 L p a i r ( i , p l i ) < L m a x p a i r ( l − 1 ) L^{pair}(i,p_l^i)Lpair(i,pli)<Lmaxpair(l1) 时 (满足层次约束,应该优化细粒度层级上的似然 L p a i r ( i , p l i ) L^{pair}(i,p_l^i) Lpair(i,pli) 使之增大),这个损失函数却始终在优化 L m a x p a i r ( l − 1 ) L_{max}^{pair}(l-1) Lmaxpair(l1)。个人感觉正确的公式应该是 min ⁡ ( L p a i r ( i , p l i ) , L m i n p a i r ( l + 1 ) ) \min(L^{pair}(i,p_l^i),L_{min}^{pair}(l+1)) min(Lpair(i,pli),Lminpair(l+1)),这样当 L p a i r ( i , p l i ) < L m i n p a i r ( l + 1 ) ) L^{pair}(i,p_l^i)Lpair(i,pli)<Lminpair(l+1)) 时,HiConE loss 会使得 L p a i r ( i , p l i ) L^{pair}(i,p_l^i) Lpair(i,pli) 增加,而当 L p a i r ( i , p l i ) > L m i n p a i r ( l + 1 ) ) L^{pair}(i,p_l^i)>L_{min}^{pair}(l+1)) Lpair(i,pli)>Lminpair(l+1)) 时 (违反了层次约束),HiConE loss 就会使得 L m i n p a i r ( l + 1 ) ) L_{min}^{pair}(l+1)) Lminpair(l+1)) 增加。并且这样修改后也与作者在文中所说的从高层到低层逐层计算损失的说法一致 (具体作者到底是怎么做的还需要看代码核对)
  • Hierarchical Multi-label Constraint Enforcing Contrastive Loss:结合上述两种 loss 可以得到最终的损失函数
    在这里插入图片描述[CVPR 2022] Use All The Labels: A Hierarchical Multi-Label Contrastive Learning Framework_第3张图片其中, l e v e l P a i r i n g levelPairing levelPairing N × N N\times N N×N 的 pairing mask,当样本 i , j i,j i,j l l l 层标签相同时,就有 l e v e l P a i r i n g [ i , j ] = = 1 levelPairing[i,j]==1 levelPairing[i,j]==1
  • Hierarchical Batch Sampling Strategy:在层次多标签的设定下,为了提高对比学习性能,有必要使得 batch 中的每个 anchor 在各个标签层次上都有正样本。为此作者采用了如下策略:randomly sample an anchor image and get the label hierarchy. For each label in the multi-label, randomly sample an image in the sub-tree such that the anchor image and the sampled image have common ancestry up to that label. Steps are taken to ensure that each image is sampled only once in an epoch

Experiments

  • Classification Accuracy (SupCon 为 supervised contrastive loss)
    [CVPR 2022] Use All The Labels: A Hierarchical Multi-Label Contrastive Learning Framework_第4张图片
  • Image Retrieval Accuracy: retrieve images from the gallery that are the same class as the query image
    [CVPR 2022] Use All The Labels: A Hierarchical Multi-Label Contrastive Learning Framework_第5张图片[CVPR 2022] Use All The Labels: A Hierarchical Multi-Label Contrastive Learning Framework_第6张图片
  • Generalizability to Unseen Data
    • Classification: We finetuned the pretrained model on the seen dataset. To obtain results in the unseen dataset, we only train the classifier on the embeddings generated from the encoder network that was trained on the seen dataset
      [CVPR 2022] Use All The Labels: A Hierarchical Multi-Label Contrastive Learning Framework_第7张图片
    • Image Retrieval
      [CVPR 2022] Use All The Labels: A Hierarchical Multi-Label Contrastive Learning Framework_第8张图片
    • Clustering
      [CVPR 2022] Use All The Labels: A Hierarchical Multi-Label Contrastive Learning Framework_第9张图片

References

  • paper: Zhang, Shu, et al. “Use All The Labels: A Hierarchical Multi-Label Contrastive Learning Framework.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.
  • code: https://github.com/salesforce/hierarchicalContrastiveLearning

你可能感兴趣的:(papers,CVPR,2022)