When Does Contrastive Visual Representation Learning Work?[.,2021]

tjdcjffff·2022년 1월 1일
0

Self-Supervised learning

목록 보기
2/2
post-thumbnail

Summary

최근 self-supervised learning기술이 발전하면서 supervised/unsupervised learning간의 성능 차이는 좁혀지고 있다. 본 연구에서는 여러 large-scale 데이터셋에 대해 대조적 self-supervised-learning을 실험을 진행하였습니다. (데이터셋은 추후 설명)
저자는 여러 데이터셋을 기반으로 여러 조건을 정의하고 실험을 진행하였습니다. (data quantity, data domain, data quality, task granularity)

Introduction

Supervised learning의 경우 labeling하는데 큰 비용이 든다. 이러한 문제를 해결하기 위해 self-supervised learning을 제안하였다. 그러나 self-supervised learning방법을 기반으로 한 여러 접근법은 imagenet과 같은 표준 데이터셋에 초점을 두고 성능을 측정한다. 저자는 imagenet이 아닌 다른 데이터셋에 적용했을때, 방법들이 얼마나 잘 작동하는지 이해하지 못한다고 주장한다. 이러한 이유로 여러 데이터셋에 적용해보고 실험 및 검증하였다.

본 연구에서는 여러 조건을 두고 좋은 visual representation을 학습하는 self-supervised learning을 찾는 데 초점을 두었다. 조건은 아래와 같다.

4가지의 제약을 두고 실험을 진행하였고, dataset size, domain, quality, task granularity로 명시하였다.

What is the impact of data quantity?

  • pretraining에 사용되는 unlabeled image수 → image increase/decrease
  • linear evaluation할때 사용되는 labeled image수 → image increase/decrease

What is the impact of the pretraining domain?

  • self-supervised기반으로 학습된 imagenet의 visual representation 일반화를 보고자함.
  • 특정 domain에 대해 학습된 representation이 다른 domain으로 잘 transfer될까?

예를 들어 self-supervised기반으로 학습된 Domain A의 representation으로 Domain B/C/D/E를 평가하고자 할때 일반화가 잘되는지 실험하였다.

What is the impact of data quality?

  • self-supervised method가 image corruption에 얼마나 robust한가? (low resolution, compression artifacts, noise)

corrupted된 image로 pretraining한후, downstream task에 대해 실험하였다.

What is the impact of task granularity?

  • coarse-grained/fine-grained downstream tasks

    self-supervised-learning이 세분화된 task(fine-grained downstream task)에서도 효과적인지 알아보기 위해 분류해야할 class를 점점 세분화 해가며 실험하였다.

Methods

실험에 사용된 datasets은 아래와 같다. (imagenet, iNat21, Place365, GLC20)

  • imagenet (1.3M images , 1k classes)
  • place365 (1.8M images, 365 classes)
  • iNat21 (2.7M images, 10k classes)
    • 2021 iNaturalist Challenge dataset으로 fine-grained species classfication dataset.
    • iNat21 category plants, insects, birds, fungi, reptiles, mammals, ray-finned fishes...
  • GLC20 (1M images, 16 classes )
    • 동물/식물의 종이 서식하는 위치를 예측하는 task
    • GLC20 example

Fixed-size subsets

4개의 size로 subsampling을 진행하였다. (1M, 500k, 250k, 125k, 50k)
이때 size는 고정되어 있으며, 이미지는 무작위로 선택된다.

또한 subset형태를 띤다. 예를 들어 ImageNet(500k)안에 ImageNet(250k)의 모든 이미지가 포함된다.

  • ImageNet : 50k125k250k500k1M50k \in 125k \in 250k \in 500k \in 1M

Experiments

다음은 실험 관련하여 설명하도록 하겠습니다. 본 연구에서는 크게 4가지 조건을 두고 실험을 진행하였다. (data quantity, data domain, data quality, task granularity)

Data quantity

좋은 representation을 만들고자 데이터의 양을 조절해가며 실험을 하였다.

이때 두 가지의 조건을 고려하였는데, 조건은 아래와 같다.

  • 사전 훈련(pretraining)에 사용되는 unlabel image
  • classifier를 학습시킬때 사용되는 label image

성능이 이 두 가지에 의해 어떻게 좌우되는지 실험하고자 저자는 unlabel image를 사용하여 SimCLR를 사전학습 후, 사전 훈련된 representation을 통해 label image를 사용하여 평가하였다.

  • 실험에 사용된 dataset : iNat21, ImageNet, Places365
  • black : supervised training

  • There is little benefit beyond 500k pretraining images.

위의 그래프를 보면 pretraining image갯수에 따른 top-1 accuracy차이가 미비하다는 사실을 알 수 있다. (500k, 1M) 즉, 500k개의 이미지를 가진 데이터셋의 경우, 1M 데이터셋을 pretraining 시간과 비교했을 때 50%정도 단축시킬 수 있다는 결론을 도출했다. 그러나 pretraining image갯수가 50k, 250k간의 성능 차이는 크다는 사실을 알 수 있다. 결론적으로 pretraining image갯수는 500k개 정도가 적합하다고 주장한다.

  • Self-supervised pretraining can be a good initializer when there is limited supervision available.

(b)를 보시면 10k, 50k개의 이미지를 사용해서 fine-tuning하는 경우, 처음부터 학습시키는 것보다 초반에 좋은 성능을 보임을 알 수 있다. 또한 labeled image가 많아질수록, self-supervised-learning과 supervised간의 성능 차가 미비하다는 사실을 도출 할 수 있다.

  • Self-supervised representations can approach fully supervised performance for some datasets, but only by using lots of labeled images.

linear evaluation, fine-tuning의 경우 모두에서 학습할 때 사용할 수 있는 label이 100k가 훨씬 넘는 경우가 아니라면, SimCLR(1M images)과 supervised learning의 성능차가 크다는 사실을 도출 할 수 있다. 또한 iNat21의 경우, Supervised와 SimCLR(1M images)의 성능차가 큰데 향후 self-supervised-learning 연구에 유용한 벤치마크가 될 수 있다고 주장한다.

Data domain

이번 section에서는 pretraing할때 어떤 이미지를 사용해야 할까? 에 대해 실험을 진행하였다. (일반적으로 pretraining할때 Imagenet을 사용하지만, 좀 더 폭넓게 보고자 함)

저자는 서로 다른 도메인에서 도출된 4개의 dataset을 사용하여 SimCLR의 특성을 연구해보고자 하였다. 그래서 dataset을 각각 pretraining하고 in-domain/cross-domain에 대해 evaluation을 진행하였다. 실험에 사용한 데이터셋은 아래와 같다.

  • ImageNet (1M)
  • iNat21 (1M)
  • GLC20 (1M)
  • Places365 (1M)

위의 table은 각 dataset에 대해 in-domain 및 cross-domain에 대한 linear evaluation결과를 나타낸다. table을 보면 일반적으로 in-domain에 대한 성능이 cross-domain에 대한 성능을 능가한다는 사실을 알 수 있다. 특히 GLC20인 경우, in-domain과 cross-domain에 대한 성능 차가 크다는 사실을 알 수 있습니다.

또한 table에서 특정 cross-domain의 성능이 높은 경우도 보이는데 Imagenet에 iNat21, Place365와 유사한 클래스 정보를 담고 있기 때문이라고 주장한다.


위의 테이블은 서로 다른 풀링된 데이터셋을 결합하여 pretraining한후 linear evaluation결과를 의미한다. 예를 들어 첫 번째 행의 경우, iNat21(250k)와 ImageNet(250k)를 결합하여 만든 pretraining할 데이터를 의미다. 테이블을 보고 아래와 같은 결론을 도출할 수 있습니다.

  • 서로 다른 풀링된 데이터셋을 결합한 경우 in-domain보다 성능이 떨어짐을 확인.
  • Pretrain할 in-domain data의 수를 늘릴수록 성능이 향상됨을 보임. 그러나 서로 다른 데이터셋을 다양하게 결합할수록 성능차가 미비하거나 떨어진다는 사실을 확인.
    • 다양한 이미지를 구분 짓기 쉽다고 주장함 (대조적인 pretext task를 만들기 더 쉬워져 representation의 품질을 해칠 수 있다고 함.)

Data quality

이번 section에서는 corrupted된 image를 pretraining할때 사용하면 어떠한 결과를 가져올까? 에 대해 실험을 진행하였다. 실험에 사용된 corrupting 방식은 아래와 같다.

  • Salt and Pepper : 1%의 확률로 각 channel 각 pixel에 독립적으로 적용되는 noise
  • JPEG : JPEG compression
  • Resize : Resize
  • Resize & Downsample(2x), Resize & Downsample(4x) : downsampling수행후, upsampling을 수행하여 크기는 일정하게 유지하되, 이미지의 해상도를 감소시킴.

  • Image resolution is critical.

저자는 image resolution이 중요하다고 주장했다. 위에 table을 보시면 downsampling을 적용했을 때, 다른 손상 방식보다 성능이 크게 저하되는 것을 확인 할 수 있습니다. 이렇게 큰 성능 저하가 나타나는 이유는 SimCLR에 의해 학습된 feature의 결함 때문이고 해상도를 낮출수록 성능이 크게 저하된다고 한다.

  • Adding high-frequency noise is much less harmful than erasing high frequency information

JPEG compression, salt and pepper 는 high-frequency noise를 발생시키는 반면, down sampling은 high-frequency 정보를 지운다고 주장한다. SimCLR의 경우 down sampling을 하게 되면 중요한 texture 정보를 파괴한다고 주장한다.

Task granularity

이번 section에서는 self supervised representation이 어떤 downstream에 적합한지 실험을 진행해보았습니다. 본 연구에서는 분류해야 할 label을 점점 세분화해가며 실험하였다.
(coarse-grained to fine-grained)

위 그래프는 iNat21, ImageNet, Places365에 대하여 label Hierarchy depth에 따른 linear evaluation결과를 보여준다. label은 왼쪽에서 오른쪽으로 갈수록 점점 세분화 됩니다.

  • The performance gap between contrastive learning and supervised learning grows as task granularity increases.

그래프 맨 왼쪽의 iNat21의 경우, supervisedSimCLR을 통해 pretrain된 model의 label hierarchy를 보시면 depth가 얕은 수준에서 비슷한 성능을 보인다는 사실을 알 수 있다. depth가 깊어질수록(label이 점점 더 세분화) 성능 차가 커짐을 확인할 수 있습니다. 그러나 place365의 경우 depth가 깊어져도 성능 차가 미비하다는 사실을 도출해 낼 수 있는데, 이는 분류해야 할 label이 365개 정도 되기 때문이라고 주장한다. 즉, label이 점점 세분화될수록 SimCLR이 supervised만큼 세밀한 의미 정보 포착하기 어렵다는 사실을 알 수 있습니다. 또한 contrastive learning기반 여러 방법론이 이러한 격차를 파악하려면 추가적인 분석이 필요하다고 주장합니다.

최신 contrastive learning 기술들은 imagenet에서 잘 작동하도록 설계되었다고 주장하면서 다른 데이터셋에 대해 augmentation이 잘 적용 되는지 의문을 가졌다. 예를 들어 색상 정보가 중요하다면 color jittering같은 방법은 iNat21같은 데이터에 적합하지 않다고 주장한다.
(label hierarchy depth가 깊어질수록 성능 격차가 커지는 요인으로 주장.)

위의 그림을 보면 식물이나 동물 이미지의 경우, 색상 정보가 중요하다는 사실을 알 수 있다. 예를 들어 꽃의 색에 따라 종이 달라질 수 있는데, 분류해야 할 label이 점점 세분화된다면 color jittering같은 방법들은 해를 끼칠 것이다.

Conclusions

저자는 여러 실험을 하면서 대조적인 시각적 representation이 언제 효과가 있는지 탐색하였다.

  1. 500k이상의 pretraining 데이터의 이점은 미미하다고 주장한다.
  2. Labeled image가 많아질수록, self-supervised-learning/supervised간의 성능 차가 미비 해진다는 사실을 도출 하였다.
  3. 다른 domain에 pretrain된 데이터를 추가하는 것은 일반적인 표현으로 이어지지 않는다고 주장한다. 즉, cross-domain에 대한 성능이 in-domain에 대한 성능을 따라잡는데 어려움이 있다고 주장한다.
  4. 이미지 손상 기법에 따라 self-supervised-learning에 미치는 영향이 크다고 주장합니다. 특히 image resolution은 representation을 만드는 데 있어서 매우 중요한 요소라고 설명한다.
  5. Contrastive learning의 경우 label이 점점 세분화될수록 supervised와의 성능 차이가 점점 커진다고 주장한다. 즉 label이 점점 세분화될수록 supervised만큼 세밀한 의미 정보를 찾는 데 한계가 있다고 주장한다.
  6. iNat21의 경우, Supervised와 SimCLR(1M images)의 성능 차가 크다는 사실을 알 수 있다. 저자는 향후 self-supervised-learning 연구에 유용한 벤치마크가 될 수 있다고 주장한다.
profile
김성철

0개의 댓글