Contrastive Deep Supervision

이번에 소개할 논문은 ECCV2022에서 ORAL paper로 선정된 “Contrastive Deep Supervision” 입니다. 제 1저자로 소개된 Linfeng Zhang의 과거 연구들 살펴보면 Knowledge Distillation(KD)에 대한 연구들이 많은 것을 볼 수 있습니다. 본 연구에서도 마찬가지로 KD에 대한 흥미로운 결과를 제시합니다.

Contrastive Learning and Deep Supervision

본 논문의 제목과 같이 본 논문은 Contrastive Learning과 Deep Supervision에 관한 연구입니다. 본 논문에서는 각각의 연구가 독립적으로 가지는 문제를 Contrastive Deep Supervision으로 해결 하고자 합니다.

Contrastive Learning

Figure 1. Contrastive Learning in SimCLR[1]

Contrastive Learning은 Representation Learning의 일종입니다. 따라서 Contrastive Representation Learning(CRL)이라고도 종종 표현합니다.

CRL은 같은 객체(positive sample)간에는 representation feature의 similarity 가 커지도록, 서로 다른 객체(negative sample)간에는 similarity가 최소화 되도록 Representation Learning을 수행하여 Label 없이 model의 representation을 풍부하게 가져갈 수 있도록 유도합니다. 위 그림은 대표적인 CRL연구인 SimCLR입니다. 그림에서 보이는 것처럼, 각 배치의 이미지를 2가지의 서로 다른 Augmentation을 통해 데이터를 증량하고, 같은 source에서 나온 augments는 positive sample로 반대의 경우에는 negative sample로 지정하여 아래의 Loss Function을 통해 representation learning을 수행합니다. 수식과 같이 positive sample은 similarity가 maximize되도록, negative sample은 similarity가 minimize되도록 유도합니다.

Contrastive Learning Loss in SimCLR

Main Idea

Figure 2

일반적인 지도학습에서의 CNN은 위 그림의 (a)와 같이 표현이 가능합니다. Convolution Layer로 이루어진 모델의 말단에 Task Loss(supervised learning loss)가 붙은 형태가 일반적입니다. 일반적인 경우 모델의 capacity를 키우기 위해서 네트워크의 depth를 키우는 것이 일반적입니다. 다만, 이의 경우 supervised loss가 네트워크의 앞단까지 전파가 되지 못하는 문제가 발생합니다. 이러한 문제를 해결하기 위한 다양한 연구들이 등장하였고 그 중 하나가 Deep Supervision(DS)입니다. 그림 (c)와 같이 네트워크의 중간에 auxiliary head를 주어 모델의 중간에서도 supervised learning이 가능하도록 하였습니다. 이러한 구조는 꽤 성공적으로 보이고, 다양한 연구들[2, 3]에서 이에 대한 기여를 입증하였습니다.

figure 3. Feature Representation in CNN

하지만 저자들은 DS가 모델의 대부분의 Layer들이 Task-biased 된다고 지적합니다. 일반적으로 supervised leaning의 모델 앞단에서는 color, edge와 같은 Task-irrevlevant feature가 학습되고 말단으로 갈수록 이를 활용하는 high-level feature가 학습된다고 알려져왔습니다. 하지만 DS의 경우 지도학습을 수행하는 auxiliary head에 의하여 Task-biased 되는 것 입니다. 그러면서 저자들은 Task-irrelevant한 특성이 중요하다고 강조합니다.

그러면 왜 Task-irrelevant한 특성이 중요한 것일까요?

Figure 4. Example about Invariance

이는 model invariance와 관련이 깊습니다. Figure 4와 같이 synthetic image를 학습된 모델이 있다고 가정해보면, 우리는 이 모델이 real-world에서도 invariance(일관성있는)한 결과를 기대할 것 입니다. 이 예와 같이 모델이 일관성있는 결과를 생성하기 위해서는 이미지에 대한 고차원적인 이해가 필요할 것입니다. 이러한 invariance한 특성들은 high-level feature에서 나타나지만 최근 [4, 5]연구에서는 low-level 에서의 task-irrelevant feature들이 invariance한 high-level feature를 생성하기 위해 중요하다고 주장합니다.

이러한 관점에서 저자들이 지적하는 Deep Supervision의 문제가 이해가 갑니다. 그러면 Contrastive Learning은 어떨까요? CRL은 Figure 2 (b)와 같이 Representation Learning으로 인해 DS와는 반대로 대부분의 feature 들이 Task-irrevant 해집니다. 저자들은 DS와 CRL 을 활용하여 이러한 문제를 함께 해결하는 Contrastive Deep Supervision을 소개합니다.

Contrastive Deep Supervision

Figure 5. Contrastive Deep Supervision

Figure 4(d), Figure 5 와 같이 Contrastive Deep Supervision은 Deep Supervision과 Contrastive Learning을 함께 사용합니다.

Contrastive Learning Loss in Contrastive Deep Supervision
CDS Loss

이에 대한 Loss function은 위와 같습니다. 모델의 말단은 일반적인 지도학습(CE)을 통해 수행하며, 네트워크의 중간계층에서는 auxiliary projection head를 두어 Contrastive Learning을 수행합니다. 이러한 과정을 통해 네트워크 앞단은 Contrastive Learning을 통해 task-irrelevant한 특성들 (혹은 CRL로 인한 invariant features)가 학습되며, 동시에 모델 말단의 지도학습을 통해 Task-biased된 feature를 함께 학습니다.

Semi-supervised Learning with CDS

또한 저자들은 이러한 모델의 구조적 특성으로 인하여 Semi-Supervised Learning(SSL)이 가능하다고 주장합니다.

Semi-Supervised Learning Loss in this study

위 Loss Function이 설명하는 것 처럼 Label이 있는 경우 CDS Loss를 활용해 학습하고 Unlabeled input의 경우 Contrastive Learning을 수행하여 활용할 수 있습니다.

Knowledge Distillation with CDS

Figure 6. Knowledge Distillation with CDS

또한 저자들은 Contrastive Deep Supervision이 Knowledge Distillation 관점에서도 큰 이득을 볼 수 있다고 주장합니다.

General KD formula

일반적으로 KD 에서 활용되는 Feature-level의 Loss Function(L2)처럼 본 연구에서도 아래와 같은 KD Loss를 사용합니다. 다만, 다른 부분은 backbone feature가 아닌 auxiliary projection의 feature를 사용합니다.

KD Loss in CDS

최종적으로 student model이 사용하는 Loss는 아래와 같이 정의 됩니다.

Total Loss for Student Model

이에 대한 자세한 부분은 아래 Discussion 에서 다시 다룹니다.

Experimental Results

Comparison experiments with other deep supervision methods on CIFAR10/100

Comparison experiments with other deep supervision methods on CIFAR10/100
  • CDS는 Deep Supervision method 비교 실험에서 CIFAR10/100 실험에서 baseline 대비 각각 3.44%, 1.7% 성능향상을 보입니다.
  • 이는 second best인 DHM에 비해서 1.05%, 0.9% 높은 수치
  • 이미지넷 실험에서도 ResNet18, 34, 50에 대하여 각각 3.64%, 3.02%, 2.95%의 성능 향상을 보입니다
  • 본 실험에서도 second best보다 3.20%, 1.83% 높은 top-1 accuracy를 보입니다.
Comparison experiments with other deep supervision methods on ImageNet-1K

The downstream task for Object Detection in COCO2017 datasets

The downstream task for Object Detection in COCO2017 datasets.

Comparison of fine-grained classification; scratch vs. imagenet pre-train

Comparison of fine-grained classification; scratch vs. imagenet pre-train
  • 위 테이블과 같이 fine-grained classfication를 보면 Contrastive Deep Supervision이 가장 높은 성능을 보입니다.
  • 뿐만아니라 ImageNet-pretrained weight 를 사용한 성능 향상폭과 scratch 에서의 성능 향상폭이 같은 수준으로 높음을 볼 수 있습니다.

Semi-supervised learning experiment

Semi-supervised learning experiment
  • 저자들은 또한 훈련 데이터의 10%, 20%, 30%, 그리고 40%에 대해 반지도 학습(semi-supervised learning)을 실험하였으며, 각각 40%에 대해서도 실험을 진행했습니다.
  • 결과적으로, CDS는 모든 과제에서 우수한 성능을 보였습니다.
  • CIFAR 100 데이터의 10% 및 30%에서, CDS는 기준 모델보다 큰 성능 차이를 보였습니다.

Knowledge Distillation experiment

Knowledge Distillation experiment in CIFAR
Knowledge Distillation experiment in ImageNet
  • 표에 나와 있는 대로 CDS는 모든 과제에서 최고의 정확도를 달성했습니다.
  • 흥미로운 점은 정확도 차이가 2번째 방법보다 크게 나타난다는 것입니다.
  • 이는 CDS가 지식 증류(KD)와 함께 효과적임을 보여줍니다.

Discussion

Contrastive Deep Supervision as a Regularizer — Loss curve

Loss Curve
  • CDS 손실은 중간 레이어에서 정규화기(regularizer)처럼 작용할 수 있습니다.
  • 그림에 나와 있는 것처럼, 표준 방법(ResNet18) 손실(교차 엔트로피)은 훈련 기간 동안 CDS 손실보다 더 나은 성능을 보였습니다.
  • 하지만 작업 성능은 표준 방법보다 더 우수했습니다.
  • 이는 CDS (또는 CRL?)에 관한 overfitting 완화에 대한 흥미로운 포인트입니다.

Contrastive Deep Supervision as a Regularizer — Uncertainty Estimation

  • 그림에 나와 있는 것처럼, CDS는 예측에 대해 더 교정된(ECE가 기준 모델보다 더 좋았음) 결과를 보여줍니다.
  • 낮은 ECE는 신경망의 예측 확률이 실제 정확성 가능성을 더 잘 추정하는 것을 나타냅니다 [11].
  • CDS는 더 낮은 ECE를 유도하여 더 나은 불확실성 추정과 해석 가능성을 나타냅니다.
  • 아마도, 이것이 지식 증류의 효과적인 이유일 수 있습니다.

Comparison with Contrastive Learning

  • CDS는 배치 크기의 4%와 에폭의 32%만 사용하여 2번째 방법인 SupCon¹의 성능을 달성했습니다 (〖SupCon〗¹ vs. 〖Ours〗¹)).
  • 이는 CDS의 전통적인 대조 학습 방법에 대한 장점을 나타냅니다.

Ablation Study on Knowledge Distillation

  • 저자들은 전통적인 지식 증류(KD)와 CDS-KD 간의 차이를 "무엇을 지식 증류할 것인지"로 설명했습니다.
  • 전통적인 KD는 선생님의 백본(backbone) 피처를 증류했지만, CDS-KD는 contrastive deep supervision에 의해 학습된 임베딩을 증류했습니다.
  • 저자들은 해당 논문에는 관련 테이블과 실험 설정이 나와있지 않지만, 모델은 임베딩을 증류하는 것보다 정확도가 82.26%로 낮아졌다고 설명했습니다.

Sensitivity Study — Where to Apply Projection Heads

Sensitivity Study — The Number of Projection Heads

Conclusion

  • 이 논문은 contrastive deep supervision라는 새로운 훈련 방법론을 제안하였습니다. 이 방법은 대조적 학습을 통해 딥 뉴럴 네트워크의 중간 레이어를 직접 최적화합니다.
  • 이는 추가적인 계산 및 추론 시의 저장 공간 없이도 신경망이 더 나은 시각적 표현을 학습할 수 있게 해줍니다.
  • 또한 이 논문은 general image classification, fine-grained image classification, object detection에서 이 방법의 효과를 입증하였습니다.