[CVPR 2022] Crafting Better Contrastive Views for Siamese Representation Learning

안녕하세요 정의철 연구원입니다. 이번에 제가 소개할 논문은 2022년 CVPR에 게재된 ‘Crafting Better Contrastive Views for Siamese Representation Learning’이란 논문입니다. 이번 논문은 contrastive learning에서 두 view를 생성할 때 적용되는 augmentaion 중 하나인 RandomCrop의 문제에 대해 정의하고 더 나은 대조 쌍을 생성하기 위한 방법을 제안한 논문입니다. 그럼 바로 리뷰 시작하겠습니다.

1. Introduction

자기 지도 학습(Self-supervised learning, SSL)은 대량의 라벨 없는 데이터를 활용할 가능성 때문에 컴퓨터 비전에서 많은 주목을 받고 있습니다. SSL의 주된 접근 방식인 대조 학습(contrastive learning)은 객체 검출, 분할 및 자세 추정 등 여러 다운스트림 작업에서 supervised learning보다 높은 성능을 달성했습니다. 이러한 결과는 주로 SimCLR, MoCo V1 & V2, BYOL, SimSiam과 같은 비지도 방법에 공통적으로 Siamese 네트워크 구조가 적용됩니다. 일반적으로 Siamese 구조는 하나의 이미지에서 두 개의 증강된 뷰를 입력으로 받아 임베딩 공간에서 그들의 거리를 최소화합니다. 적절한 뷰가 선택되면, Siamese 네트워크는 데이터 증강을 통해 일반적인 시각적 특징을 학습합니다. 또 다른 연구는 여러 샘플을 통합하는 방식으로 비지도 방식으로 적용하여 긍정 쌍을 생성합니다. 또한, 데이터 증강과는 다르게, 변환을 feature level에 적용하여 어려운 긍정 쌍을 생성합니다. 이러한 기술들은 모두 일반적으로 RandomCrop을 사용하여 이미지의 여러 뷰를 샘플링하고, 뷰를 더 다양하게 만듭니다.

기본적인 샘플링 방법으로서, RandomCrop은 모든 개별 크롭이 동일한 확률로 선택되도록 합니다. 그러나 이는 쌍의 뷰의 segmentic 정보를 고려하지 못하는 문제를 가지고 있습니다.

Fig. 1a에서 보여지듯이, 객체의 사전 정보(예: 크기와 위치)가 주어지지 않으면 랜덤 크롭은 객체를 놓칠 가능성이 큽니다. 객체와 배경 간의 거리를 임베딩 공간에서 최적화하는 것은 표현 학습이 제대로 진행되지 않을 수 있습니다. 게다가 Fig. 1c는 랜덤 크롭이 항상 객체의 다른 모습을 담고 있지 않음을 나타냅니다. 이러한 높은 유사성을 가진 뷰는 discriminative 모델 학습에 중요하지 않습니다.

본 논문에서는 ContrastiveCrop을 제안하여 Siamese 표현 학습을 위해 더 나은 대조 쌍을 만드는 것을 목표로 합니다. 잘못된 긍정은 대조 학습을 위한 더 나은 샘플링 전략이 이미지의 내용 정보를 고려해야 한다는 것을 나타냅니다. 따라서, 저자는 semantic aware localization 방식을 제안합니다. 이 모듈은 크롭을 선택하는 가이드 역할을 하여, Fig. 1b에서 보여지듯 대부분의 잘못된 긍정을 피할 수 있습니다. 더 나아가, 저자는 큰 유사성을 가진 사소한 긍정 쌍을 해결하기 위해 center-suppressed 샘플링 전략을 제안합니다. Fig. 1d는 저자의 크롭이 객체의 다양한 부분을 더 잘 포함하는 경향이 있음을 보여줍니다. semantic aware localization과 enter-suppressed은 우아하게 결합되어 대조 학습을 위한 더 나은 크롭을 생성할 수 있습니다. 제안된 ContrastiveCrop은 대조 쌍을 만들 때 의미 정보를 고려하고 큰 변이를 유지합니다. 플러그 앤 플레이 방식으로, 이는 시암 구조에 쉽게 적용될 수 있습니다. 더 중요한 것은, 저자의 접근 방식은 대조 프레임워크에 구애받지 않으며, 음성 샘플 사용 여부와 관계없이 적용될 수 있다는 점입니다. 훈련 오버헤드는 무시할 수 있을 정도로 적으며, 저자의 전략은 SimCLR, MoCo, BYOL, SimSiam에서 CIFAR-10, CIFAR-100, Tiny ImageNet 및 STL-10 데이터셋에서 0.4%에서 2.0%의 분류 정확도를 지속적으로 향상시킵니다. 또한, ImageNet-1K로 사전 학습된 모델에서 다운스트림 검출 및 분할 작업에서도 뛰어난 결과를 달성했습니다.

이 논문의 주요 기여는 다음과 같이 요약할 수 있습니다:

  • 저자는 더 나은 뷰를 생성하도록 맞춤화된 ContrastiveCrop을 제안합니다. ContrastiveCrop에서는 semantic aware localization과 center-suppressed을 채택하여 대부분의 잘못된 긍정을 피하고, trivial 긍정 쌍을 줄입니다.
  • ContrastiveCrop은 다양한 데이터셋에 주된 대조 방법과 함께 사용되어 RandomCrop을 일관되게 능가하며, Siamese 표현 학습에 대한 효과성과 일반성을 보여줍니다.

2.Method

ContrastiveCrop for Siamese Representation Learning

이 섹션에서는 Siamese 표현 학습(Siamese representation learning)을 위한 ContrastiveCrop을 소개합니다. 먼저, 기초 지식으로 RandomCrop에 대해 간략히 설명한 후, ContrastiveCrop의 두 하위 모듈인 semantic-aware localization(semantic-aware localization)과 center-suppressed sampling(center-suppressed sampling)을 설명하겠습니다.

2.1. Preliminary

RandomCrop은 효율적인 데이터 증강 방법으로, supervised과 자가 지도 학습(SSL) 모두에서 널리 사용됩니다. 여기서는 Pytorch API를 예로 들어 설명하겠습니다. 주어진 이미지 I에서 미리 정의된 범위(예: s ∈ [0.2, 1.0] 및 r ∈ [3/4, 4/3])에서 크롭의 스케일 s와 종횡비 r을 결정합니다. 그런 다음, s와 r을 사용하여 크롭의 높이와 너비를 얻습니다. 이후, 크롭이 이미지 내에 완전히 포함되도록 이미지 평면에서 크롭의 위치를 무작위로 선택합니다. RandomCrop 절차는 다음과 같이 수식화할 수 있습니다:

여기서 R(crop)은 크롭을 나타내는 변수(x, y, h, w)를 반환하는 무작위 샘플링 함수입니다. I는 입력 이미지, (x, y)는 크롭 중심의 좌표, (h, w)는 크롭의 높이와 너비를 나타냅니다. 일반적으로, 크롭의 스케일 s와 종횡비 r은 유연하게 설정되어 다양한 크기의 크롭이 만들어질 수 있습니다. 원칙적으로, RandomCrop은 모든 개별 크롭이 동일한 확률로 선택될 수 있도록 하여 샘플의 다양한 뷰를 제공합니다. 그러나 이는 이미지의 의미 정보를 무시하여, 객체의 크기가 작을 때 잘못된 긍정(positive)을 생성하는 경향이 있습니다. 대조 학습에서 다양한 크기의 객체가 주어지면, RandomCrop은 의미 정보의 부재로 인해 잘못된 긍정을 생성하게 됩니다. 결과적으로, 잘못된 긍정을 최적화하면 좋은 표현 학습할 수 없습니다. 따라서, 크롭을 위한 의미 인식 샘플링 전략을 설계하는 것이 Siamese 표현 학습에 있어 중요합니다.

2.2. Semantic-aware Localization (semantic-aware localization)

RandomCrop의 부적절한 뷰 선택 문제를 해결하기 위해, 저자는 비지도 방식으로 잘못된 긍정을 효과적으로 줄일 수 있는 semantic-aware localization 모듈을 설계했습니다. Siamese 네트워크에서 특징 학습 과정을 더 잘 연구하기 위해, 저자는 다른 학습 단계(예: 0번째, 20번째, 40번째, 60번째, 80번째 에포크)에서 생성된 히트맵을 시각화합니다. 마지막 컨볼루션 층의 특징을 채널 차원에서 합산하고 [0, 1]로 정규화하여 히트맵을 도출합니다. 시각화에서 얻은 inspirations은 다음과 같습니다: 1) Siamese 표현 학습 프레임워크는 객체의 위치를 포착할 수 있으며, 이는 더 나은 크롭을 생성하는 데 활용될 수 있습니다; 2) 히트맵은 객체를 대략적으로 나타낼 수 있지만 초기 단계에서는 약간의 워밍업이 필요합니다.

위 분석을 바탕으로, 저자는 학습 과정에서 히트맵의 정보를 사용하여 객체를 찾도록 제안합니다. 구체적으로, 학습 초기 단계에서 RandomCrop을 적용하여 전체 이미지의 의미 정보를 수집합니다. 그런 다음, 히트맵에서 객체의 경계 상자(B)를 얻기 위해 지표 함수를 적용합니다. 이는 다음과 같이 쓸 수 있습니다:

여기서 M은 히트맵, k ∈ [0, 1]은 활성화의 임계값, 1은 지표 함수, L은 활성화된 위치의 직사각형 클로저를 계산합니다. 경계 상자(B)를 얻은 후, semantic 크롭은 다음과 같이 생성될 수 있습니다:

coarse localization의 가능성을 고려하여, 저자는 B 내의 중심만을 제한하여 작동 가능한 영역을 확대합니다. 이는 학습 및 추론 단계에서의 해상도 불일치의 잠재적 부정적 영향을 줄입니다.

학습 단계에서는 모델이 학습한 최신 특징을 활용하기 위해 경계 상자가 정기적으로 업데이트됩니다. 저자의 목표는 정확한 위치를 도출하는 것이 아니라, 관심 객체를 찾아 크롭 생성에 가이드를 제공하는 것입니다. 경계 상자의 크기는 활성화 임계값 k ∈ [0, 1]으로 제어됩니다. 일반적으로 큰 k는 작은 상자를 생성하여 가능한 크롭의 다양성을 제한할 수 있습니다. 작은 k는 관련 없는 배경 텍스처를 포함할 수 있으며, 객체를 찾는 데 충분하지 않을 수 있습니다. 저자는 실험을 통해 제안된 로컬라이제이션 모듈이 이 매개변수에 민감하지 않는 적절한 k범위를 찾아 적용시킵니다

마지막으로, Fig. 3에서 semantic-aware localization의 샘플링 효과를 보여줍니다. RandomCrop과 비교할 때, 제안된 모듈이 적용되면 잘못된 긍정 쌍이 크게 줄어듭니다. 이는 주석 없이 학습된 자가 지도 신경망이 관심 객체와 그 위치를 인식할 수 있음을 입증합니다. 이 방식으로 추가적인 영역 제안이나 실제 경계 상자는 뷰 생성에 더 이상 필요하지 않습니다.

2.3. Center-suppressed Sampling (center-suppressed sampling)

semantic-aware localization 방식은 잘못된 긍정 사례를 줄이는 데 유용한 가이드라인을 제공하지만, smaller operable 영역으로 인해 비슷한 외형 쌍의 확률을 증가시킵니다. 이 딜레마를 해결하기 위해, 저자는 center-suppressed sampling을 소개합니다. 주요 아이디어는 크롭이 중심 주변에 모이는 확률을 줄이는 것입니다. 구체적으로, 저자는 두 개의 동일한 매개변수 α를 가진 베타 분포 β(α, α)를 적용합니다. 이는 대칭 함수를 나타냅니다. 이 방식으로, 저자는 다양한 α로 분포의 모양을 쉽게 제어할 수 있습니다. 크롭의 분산을 증가시키는 것이 목표이므로, 저자는 α < 1로 설정하여 U자형 분포(즉, 중심 근처의 낮은 확률과 다른 위치에서의 높은 확률)를 얻습니다. 이 방식으로 크롭은 작동 가능한 영역의 가장자리 근처로 분산될 가능성이 높아지고, 많은 중복이 발생하는 경우를 크게 피할 수 있습니다. semantic-aware localization과 center-suppressed sampling을 결합하여, 최종적으로 저자의 ContrastiveCrop을 다음과 같이 수식화할 수 있습니다:

여기서 Ccrop은 중심 억제 분포를 적용하는 샘플링 함수이며, B는 Eq. 3과 동일한 경계 상자입니다. 베타 분포의 모양은 매개변수 α에 의해 결정되며, 이는 크롭의 분산에 영향을 미칩니다. 저자는 Sec. 4.4에서 α의 다양한 영향을 연구하며, α > 1은 역 U자형을 제공합니다.

저자의 ContrastiveCrop 효과는 Fig. 3에서 시각화됩니다. RandomCrop과 비교할 때, 저자의 방법은 semantic-aware localization 덕분에 잘못된 긍정 쌍을 크게 줄일 수 있습니다. 동시에 중심 억제 분포를 적용하여 긍정 쌍 내에서 더 큰 변이를 도입합니다. ContrastiveCrop의 파이프라인은 Algorithm 1에 설명되어 있으며, 이 모듈은 다른 변환에 구애받지 않으며 일반적인 대조 학습 프레임워크에 쉽게 통합될 수 있습니다.

3. Experiments

3.1. Datasets & Baseline Approaches

저자는 다양한 비지도 대조 방법과 다양한 데이터셋을 사용하여 저자의 방법을 평가합니다. 데이터셋에는 CIFAR-10/CIFAR-100, Tiny ImageNet, STL-10 및 ImageNet이 포함됩니다. 일반적으로 이러한 데이터셋은 객체 인식을 위해 구축되었습니다. 기본 대조 방법에는 SimCLR, MoCo V1 & V2, BYOL 및 SimSiam이 포함됩니다.

3.2. Implementation Details

저자의 ContrastiveCrop은 대조 학습을 위한 더 나은 뷰를 만들기 위한 것이며, 자기 지도 학습 프레임워크 및 관련 훈련 구성 요소(백본 네트워크, loss, optimizers등)에 구애받지 않은 것을 목표로 합니다. 따라서 비교 시 동일한 훈련 설정을 유지합니다. 더 나은 하이퍼파라미터 튜닝으로 더 큰 향상을 기대할 수 있지만, 이는 이 작업의 초점이 아니기에 적용시키지 않습니다.

작은 데이터셋(CIFAR-10/100, Tiny ImageNet 및 STL-10)에 대해 모든 실험에서 동일한 훈련 설정을 사용합니다. 사전 학습 단계에서 ResNet-18을 배치 크기 512로 500 에포크 동안 훈련하고, 코사인 감소 학습률 0.5를 사용합니다. 선형 분류기는 초기 학습률 10.0으로 100 에포크 동안 훈련하며, 60번째 및 80번째 에포크에서 0.1을 곱합니다.

ImageNet 실험에서는 ResNet-50을 기본 모델로 사용합니다. MoCo V1, MoCo V2 및 SimSiam의 사전 학습 설정은 원래 연구를 정확히 따릅니다. SimCLR은 배치 크기 512와 코사인 감소 학습률 0.05로 재현합니다. 저자의 방법에서는 활성화 임계값 k를 0.1로, 샘플링을 위해 α를 0.6으로 설정합니다. 로컬라이제이션 상자는 20% 빈도로 업데이트됩니다.(마지막 에포크를 제외하고 총 4번 업데이트). 첫 번째 업데이트 전에 RandomCrop을 적용하여 global 정보를 수집합니다. 모든 실험은 8-GPU 서버에서 수행됩니다.

3.3. Linear Classification

이 섹션에서는 일반적인 프로토콜을 따라 선형 분류로 저자의 방법을 검증합니다. 인코더의 사전 학습된 가중치를 고정하고 그 위에 supervised linear classsifier를 훈련합니다. 검증 세트에서의 Top-1 분류 정확도 결과를 리포트합니다.

CIFAR-10/100, Tiny ImageNet 및 STL-10 결과

이 데이터셋에서의 결과는 Tab. 1에 나와 있습니다. 모든 실험에서 동일한 훈련 설정을 사용하여, ContrastiveCrop은 기본 방법보다 최소 0.4% 향상됩니다. 결과는 제안된 방법이 일반적이며 많은 파라미터 튜닝을 필요로 하지 않음을 보여줍니다.

ImageNet 결과

ImageNet 결과는 두 부분으로 나뉩니다: 1) 사전 학습에 사용되는 표준 ImageNet-1K(IN-1K)와 2) ablation 실험에 사용되는 IN-1K의 200개 무작위 클래스들로 구성된 IN-200입니다. Tab. 2에 나타난 바와 같이, 저자의 방법은 IN-1K에서 SimCLR, MoCo V1, MoCo V2, SimSiam과 비교하여 각각 0.25%, 1.09%, 0.49%, 0.33% 향상됩니다. IN-200에서 더 큰 향상이 보입니다. 기본 방법들에 대한 일관된 향상은 ContrastiveCrop의 대조 방법에 대한 효과성과 일반성을 보여줍니다.

3.4 Ablation Studies

ablation 실험에서는 semantic aware localization 모듈과 center-suppressed sampling을 각각 조사합니다. 또한 ContrastiveCrop이 다양한 변환과 결합될 때의 효과를 연구합니다. 저자는 MoCo V2와 ResNet-50을 사용하여 실험을 수행하고 IN-200에서 선형 분류 결과를 보고합니다.

Semantic-aware Localization

저자 방법에서는 비지도 의미 인식 로컬라이제이션이 크롭을 생성하는 가이드 역할을 합니다. 로컬라이제이션 상자의 크기를 결정하는 k의 영향을 연구하며, k가 클수록 상자가 작아집니다. 로컬라이제이션을 사용하지 않는 RandomCrop(k = 0)과의 비교도 수행합니다. 실험 결과는 Fig. 6a에 나와 있습니다. 로컬라이제이션 상자를 사용하는 것이 k = 0.05에서 0.2 범위 내에서 RandomCrop 기본선을 능가함을 알 수 있습니다. 이는 잘못된 긍정을 크게 제거하는 효과를 보여줍니다. 그러나 k가 0.25를 초과하면 성능이 급격히 떨어지기 시작합니다. 작은 경계 상자가 뷰의 variance를 줄여 discriminative 특징 학습을 단순하게 만들기 때문으로 추정됩니다.

Tab. 3에서는 로컬라이제이션 상자의 업데이트 빈도의 효과를 연구합니다. 훈련 중간에 한 번의 업데이트(즉, 50%)가 RandomCrop 기본선을 능가함을 보여줍니다. 10%에서 30% 범위에서 더 많은 업데이트가 이루어질 때 더 큰 향상이 보입니다. 이러한 결과는 저자의 방법이 다양한 업데이트 빈도에서도 잘 작동할 수 있음을 보여줍니다.

Center-suppressed Sampling

이 task에서는 Center-suppressed Sampling을 위해 β 분포를 사용하여 다양한 α로 분산을 제어합니다. 다양한 α에 따른 분산의 영향을 연구합니다. Fig. 6b에 k = 0.1로 설정된 결과가 나와 있습니다. α < 1일 때, ContrastiveCrop은 로컬라이제이션과 함께 RandomCrop을 일관되게 능가하여 중심 억제 샘플링의 효과를 보여줍니다. α > 1(즉, α = 1보다 작은 분산)을 사용하면 정확도가 떨어지는 것을 관찰합니다. 이는 더 큰 크롭 변이가 더 나은 대조를 위해 필요함을 나타냅니다.

ContrasitveCrop with Other Transformations

ContrastiveCrop과 RandomCrop의 효과를 비교하기 위해 다른 이미지 변환과의 결합을 연구합니다. 여기서는 Flip, ColorJitter, Grayscale 및 Blur를 포함한 MoCo V2에서 사용된 변환을 선택합니다. ablation 결과는 Tab. 5에 나와 있습니다. 다른 변환이 모두 제거된 경우, ContrastiveCrop은 RandomCrop보다 0.4% 높아 우월성을 직접 증명합니다. 또한, 하나의 추가 변환만으로도 ContrastiveCrop은 RandomCrop보다 0.3%에서 0.8% 높아집니다. 모든 변환이 결합된 경우 최대 1.2%의 차이가 발생하여, 추가 색 변환으로 ContrastiveCrop의 잠재력을 더 크게 활용할 수 있음을 나타냅니다. 이러한 결과는 ContrastiveCrop이 다른 변환과 호환 가능하고 독립적임을 보여줍니다.

3.5. Downstream Tasks

이 섹션에서는 객체 검출 및 인스턴스 세분화 작업에서 저자의 방법의 전이 가능성을 측정합니다. 이전 연구를 따라 ResNet-50을 IN-1K에서 200 에포크 동안 사전 학습합니다. 다운스트림 작업에서는 PASCAL VOC 및 COCO를 벤치마크로 사용하며,

 MoCo의 detectron2 코드베이스와 동일한 설정을 채택합니다. 사전 학습된 모델의 모든 레이어는 대상 데이터셋에서 끝까지 fine-tuned됩니다.

PASCAL VOC Object Detection

저자는 R50-C4 백본을 가진 Faster R-CNN을 검출기로 사용합니다. 모델은 trainval2007+2012 세트에서 fine tune되고, VOC test2007에서 평가됩니다. 결과는 Tab. 4에 나와 있습니다. MoCo V1 기본선과 비교했을 때, 저자의 방법은 +0.2AP, +0.2AP50 및 +0.4AP75의 향상을 달성했습니다.

COCO Object Detection/Instance Segmentation

DetectionSegmentation 모두를 위한 모델은 R50-C4 백본을 가진 Mask R-CNN입니다. 모델은 train2017 세트에서 90K 반복 동안 fine tune되고, val2017에서 평가됩니다. Tab. 4에 나타난 바와 같이, 제안된 ContrastiveCrop은 모든 지표에서 우수한 성능을 보여줍니다.

Author: 정 의철

2 thoughts on “[CVPR 2022] Crafting Better Contrastive Views for Siamese Representation Learning

  1. 정의철 연구원님. 좋은 리뷰 감사합니다.
    crop 알고리즘이 어떻게 동작하는지 정확히 알고 있지 못했는데, 덕분에 더 잘 이해할 수 있었습니다.
    이전에 말씀해주신 것처럼 heatmap을 가이드로 삼아 contrastive learning에 잘 이용할 수 있도록 crop하여 view를 구성하는 방법론이네요.
    리뷰 읽다가 궁금한 점이 생겨 해당 부분 질문 남기도록 하겠습니다.
    1. Figure 3의 Contrastive Crop에서, crop된 영역이 휘어있는 듯이 표현되었는데 이것은 center suppression을 이용해 해당 부분 crop의 빈도를 낮춘 것을 표현한 것인가요?
    2. 컨볼루션 층의 측징을 채널 차원에서 합산하고 정규화하여 도출된 히트맵은, 구체적으로 어떤 것을 알려주나요? 히트맵의 0~1이 각각 무엇을 의미하는건지 정확히 알고 싶습니다.
    3. detectron2가 정확히 무엇인가요?

    감사합니다.

    1. 1. 네 맞습니다. ‘2.3. Center-suppressed Sampling’에 나와있듯이
      크롭이 중심 주변에 모이는 확률을 줄이기위해 U자형 분포를 설정하고 크롭 영역이 가장자리 근처로 분산되도록 설정한 것을 표현한 것입니다.
      2. 이미지를 통해 모델이 학습할 때 여러개의 정보를 여러 채널로 나누어 저장합니다. 채널은 각각의 다른 종류의 정보를 저장하기 때문에 이를 합산한다는 것은 여러 채널에 있는 정보를 한꺼번에 모아서 더한다는 의미입니다. 이를 히트맵으로 표현하면 모델이 이미지를 분석할 때 어느 부분에 집중했는지 알 수 있습니다.
      3. detectron2는 Facebook 연구자들이 만든 pytorch 기반 object detection와 sementic segemanation을 위한 training inferecne 플랫폼입니다

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다