최근 self-supervised learning기술이 발전하면서 supervised/unsupervised learning간의 성능 차이는 좁혀지고 있다. 본 연구에서는 여러 large-scale 데이터셋에 대해 대조적 self-supervised-learning을 실험을 진행하였습니다. (데이터셋은 추후 설명)
저자는 여러 데이터셋을 기반으로 여러 조건을 정의하고 실험을 진행하였습니다. (data quantity, data domain, data quality, task granularity)
Supervised learning의 경우 labeling하는데 큰 비용이 든다. 이러한 문제를 해결하기 위해 self-supervised learning을 제안하였다. 그러나 self-supervised learning방법을 기반으로 한 여러 접근법은 imagenet과 같은 표준 데이터셋에 초점을 두고 성능을 측정한다. 저자는 imagenet이 아닌 다른 데이터셋에 적용했을때, 방법들이 얼마나 잘 작동하는지 이해하지 못한다고 주장한다. 이러한 이유로 여러 데이터셋에 적용해보고 실험 및 검증하였다.
본 연구에서는 여러 조건을 두고 좋은 visual representation을 학습하는 self-supervised learning을 찾는 데 초점을 두었다. 조건은 아래와 같다.
4가지의 제약을 두고 실험을 진행하였고, dataset size, domain, quality, task granularity로 명시하였다.
예를 들어 self-supervised기반으로 학습된 Domain A의 representation으로 Domain B/C/D/E를 평가하고자 할때 일반화가 잘되는지 실험하였다.
corrupted된 image로 pretraining한후, downstream task에 대해 실험하였다.
coarse-grained/fine-grained downstream tasks
self-supervised-learning이 세분화된 task(fine-grained downstream task)에서도 효과적인지 알아보기 위해 분류해야할 class를 점점 세분화 해가며 실험하였다.
실험에 사용된 datasets은 아래와 같다. (imagenet, iNat21, Place365, GLC20)
4개의 size로 subsampling을 진행하였다. (1M, 500k, 250k, 125k, 50k)
이때 size는 고정되어 있으며, 이미지는 무작위로 선택된다.
또한 subset형태를 띤다. 예를 들어 ImageNet(500k)안에 ImageNet(250k)의 모든 이미지가 포함된다.
다음은 실험 관련하여 설명하도록 하겠습니다. 본 연구에서는 크게 4가지 조건을 두고 실험을 진행하였다. (data quantity, data domain, data quality, task granularity)
좋은 representation을 만들고자 데이터의 양을 조절해가며 실험을 하였다.
이때 두 가지의 조건을 고려하였는데, 조건은 아래와 같다.
성능이 이 두 가지에 의해 어떻게 좌우되는지 실험하고자 저자는 unlabel image를 사용하여 SimCLR를 사전학습 후, 사전 훈련된 representation을 통해 label image를 사용하여 평가하였다.
위의 그래프를 보면 pretraining image갯수에 따른 top-1 accuracy차이가 미비하다는 사실을 알 수 있다. (500k, 1M) 즉, 500k개의 이미지를 가진 데이터셋의 경우, 1M 데이터셋을 pretraining 시간과 비교했을 때 50%정도 단축시킬 수 있다는 결론을 도출했다. 그러나 pretraining image갯수가 50k, 250k간의 성능 차이는 크다는 사실을 알 수 있다. 결론적으로 pretraining image갯수는 500k개 정도가 적합하다고 주장한다.
(b)를 보시면 10k, 50k개의 이미지를 사용해서 fine-tuning하는 경우, 처음부터 학습시키는 것보다 초반에 좋은 성능을 보임을 알 수 있다. 또한 labeled image가 많아질수록, self-supervised-learning과 supervised간의 성능 차가 미비하다는 사실을 도출 할 수 있다.
linear evaluation, fine-tuning의 경우 모두에서 학습할 때 사용할 수 있는 label이 100k가 훨씬 넘는 경우가 아니라면, SimCLR(1M images)과 supervised learning의 성능차가 크다는 사실을 도출 할 수 있다. 또한 iNat21의 경우, Supervised와 SimCLR(1M images)의 성능차가 큰데 향후 self-supervised-learning 연구에 유용한 벤치마크가 될 수 있다고 주장한다.
이번 section에서는 pretraing할때 어떤 이미지를 사용해야 할까? 에 대해 실험을 진행하였다. (일반적으로 pretraining할때 Imagenet을 사용하지만, 좀 더 폭넓게 보고자 함)
저자는 서로 다른 도메인에서 도출된 4개의 dataset을 사용하여 SimCLR의 특성을 연구해보고자 하였다. 그래서 dataset을 각각 pretraining하고 in-domain/cross-domain에 대해 evaluation을 진행하였다. 실험에 사용한 데이터셋은 아래와 같다.
위의 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할 데이터를 의미다. 테이블을 보고 아래와 같은 결론을 도출할 수 있습니다.
이번 section에서는 corrupted된 image를 pretraining할때 사용하면 어떠한 결과를 가져올까? 에 대해 실험을 진행하였다. 실험에 사용된 corrupting 방식은 아래와 같다.
저자는 image resolution이 중요하다고 주장했다. 위에 table을 보시면 downsampling을 적용했을 때, 다른 손상 방식보다 성능이 크게 저하되는 것을 확인 할 수 있습니다. 이렇게 큰 성능 저하가 나타나는 이유는 SimCLR에 의해 학습된 feature의 결함 때문이고 해상도를 낮출수록 성능이 크게 저하된다고 한다.
JPEG compression, salt and pepper 는 high-frequency noise를 발생시키는 반면, down sampling은 high-frequency 정보를 지운다고 주장한다. SimCLR의 경우 down sampling을 하게 되면 중요한 texture 정보를 파괴한다고 주장한다.
이번 section에서는 self supervised representation이 어떤 downstream에 적합한지 실험을 진행해보았습니다. 본 연구에서는 분류해야 할 label을 점점 세분화해가며 실험하였다.
(coarse-grained to fine-grained)
위 그래프는 iNat21, ImageNet, Places365에 대하여 label Hierarchy depth에 따른 linear evaluation결과를 보여준다. label은 왼쪽에서 오른쪽으로 갈수록 점점 세분화 됩니다.
그래프 맨 왼쪽의 iNat21의 경우, supervised와 SimCLR을 통해 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같은 방법들은 해를 끼칠 것이다.
저자는 여러 실험을 하면서 대조적인 시각적 representation이 언제 효과가 있는지 탐색하였다.