brunch

You can make anything
by writing

C.S.Lewis

by 서진호 Jun 03. 2020

SimCLR을 이용한 향상된 자기주도 및 반주도 학습

2020년 4월 8일(수) 구글 AI 리서치 블로그

최근 BERTT5와 같은 자연 언어 처리 모델은 큰 레이블이 없는 데이터셋을  먼저 훈련시킨 다음 작은 레이블이 있는 데이터셋에서 미세 조정(fine-tuning)하여 몇 가지 클래스 레이블로 좋은 결과를 얻을 수 있음을 보여 주었습니다. 마찬가지로 대규모 비표시 이미지 데이터셋에 대한 사전 훈련은 Exemplar-CNN, Instance Distrimination, CPC, AMDIM, CMC, MoCo 및 기타에서 입증된 것처럼 컴퓨터 비전 작업에서 성능을 향상시킬 수 있는 잠재력을 가지고 있습니다. 이러한 방법은 비주도 학습 문제를 비표시 이미지 데이터셋에서 대용 레이블을 생성하여 주도된 문제로 전환하는 기술의 계열인 자기주도 학습의 우산에 속합니다. 그러나 현재 이미지 데이터에 대한 자기주도 기술은 복잡하여 아키텍처 또는 훈련 절차에 상당한 수정이 필요하며 널리 채택되지 않았습니다.


이 논문은 "시각표현의 대조적 학습을 위한 단순한 프레임워크(A Simple Framework for Contrastive Learning of Visual Representations)" 논문에서 이미지에 대한 자기주도적 표현 학습에 대한 이전의 접근 방식을 간소화할 뿐 아니라 개선하는 방법에 대한 윤곽을 드러내고 있습니다. 이 논문에서 제안한 SimCLR 프레임워크는 자기주도(self-supervised)과 반주도(semi-supervised) 학습에 대한 기술의 상태를 크게 발전시키고, 제한된 양의 클래스 라벨링 데이터(ImageNet 데이터셋에 표시된 이미지의 1%를 사용하여 85.8%의 top-5 정확도)로 이미지 분류에 대한 새로운 기록을 달성합니다. 우리의 접근 방식의 단순성은 기존의 주도 학습관에 쉽게 통합될 수 있다는 것을 의미합니다. 다음은 SimCLR 프레임워크를 소개한 다음 SimCLR을 개발하면서 발견한 세 가지에 대해 논의합니다.


SimCLR 프레임워크

SimCLR은 먼저 비 지정된 레이블의 데이터셋에서 이미지의 일반적인 표현을 학습한 다음 소량의 레이블이 있는 이미지로 미세 조정하여 주어진 분류 작업에 대해 우수한 성능을 달성할 수 있습니다. 일반적인 표현은 대조 학습이라는 방법에 따라 동일한 이미지의 다르게 변환된 뷰 간의 일치를 최대화하고 다른 이미지의 변환된 뷰 간의 일치를 최소화함으로써 학습됩니다. 이 대조적인 목표를 사용하여 신경망의 파라미터를 업데이트하면, 대응하는 뷰의 표현은 서로 "attract"하는 반면, 해당하지 않는 뷰의 표현은 "repel"합니다.


시작에 앞써, SimCLR은 원본 데이터셋에서 예제를 무작위로 추출하여 간단한 확대 (임의 자르기, 임의의 색상 왜곡 및 가우시안 블러)의 조합을 사용하여 각 예제를 두 번 변환하여 두 세트의 해당 보기를 만듭니다. 개별 이미지의 이러한 간단한 변환의 근거는 (1) 변환 시 동일한 이미지의 "일관된"표현을 장려하려는 것입니다. (2) 사전 훈련 데이터에 레이블이 없기 때문에 어떤 이미지에 어떤 객체가 포함되어 있는지를 사전에(a priori) 알 수 없습니다. (3) 우리는 이러한 간단한 변환이 신경망이 좋은 표현을 배우기에 충분하다는 것을 알았지만 더 복잡한 변환 정책(sophisticated transformation policy)도 통합될 수 있습니다.


그런 다음 SimCLR은 ResNet 아키텍처 기반 합성곱(convolutional) 신경망 변형(variant)을 사용하여 이미지 표현을 계산합니다. 그 후 SimCLR은 완전히 연결된(fully-connected) 네트워크(예: MLP, MultiLayer Perceptron)를 사용하여 이미지 표현의 비선형 투영을 계산합니다. 이 기능은 변하지 않는 기능을 증폭시키고 동일한 이미지의 다른 변환을 식별하는 네트워크의 기능을 최대화합니다. 우리는 대비 목표의 손실 함수를 최소화하기 위해 확률적 경사하강법(stochastic gradient descent)을 사용하여 CNN과 MLP를 모두 업데이트합니다. 레이블이 없는 이미지를 사전 학습한 후에는 CNN의 출력을 이미지 표현으로 직접 사용하거나 레이블이 있는 이미지로 미세 조정하여 다운스트림(downstream) 작업에서 우수한 성능을 얻을 수 있습니다.

[그림 1] 

[그림 1 - 설명] 제안한 SimCLR 프레임워크를 보여줍니다. CNN 및 MLP 레이어는 동일한 이미지의 증강 버전에 대해 유사한 투영을 생성하도록 동시에 훈련되며, 해당 이미지가 동일한 클래스의 객체인 경우에도 다른 이미지에 대해서는 유사하지 않습니다. 훈련된 모델은 동일한 이미지의 다른 변형을 식별하는 데 도움이 될 뿐만 아니라 유사한 개념 (예: chairs 대 dogs)의 표현을 학습하며, 나중에 미세 조정을 통해 레이블과 연관될 수 있습니다.


성능

SimCLR은 단순함에도 불구하고 ImageNet에 대한 자기 주도 및 반주도 학습에서 최첨단 기술을 크게 발전시킵니다. SimCLR이 학습한 자기 주도 표현에 대해 학습된 선형 분류기(linear classifier)는 이전 최고(CPC v2)의 71.5%/90.1 % 와 비교하여 76.5%/93.2%의 최고 1/5 정확도를 달성하여 주도자의 성능과 일치합니다. 다음 그림과 같이 작은 모델인 ResNet-50에서 학습합니다.

[그림 2]

[그림 2 - 설명] (ImageNet에서 선행 학습된) 다양한 자기 주도 방법으로 학습된 표현에 대해 훈련된 선형 분류기의 ImageNet 최고 정확도. 회색 십자선(gray cross)은 주도된 ResNet-50을 나타냅니다. 


레이블의 1%에서만 미세 조정하면 SimCLR은 이전 최고 (CPC v2)의 52.7%/77.9%에 비해 63.0 %/85.8 % 의 최고 1/ 최고 5 정확도를 달성합니다. 어쩌면 놀랍게도, 라벨의 100 % 에서 미세 조정될 때 사전 훈련된 SimCLR 모델은 처음부터 훈련된 주도 기준선을 훨씬 능가할 수 있습니다. 처음부터 훈련하는 동안 90 epoch에서 78.4 %를 얻습니다.


표현의 모순 학습 이해

SimCLR이 이전 방법에 비해 개선된 것은 단일 설계 선택이 아니라 조합에 의한 것입니다. 몇 가지 중요한 결과가 아래에 요약되어 있습니다.


결과 1: 해당 보기를 생성하는 데 사용되는 이미지 변환 조합이 중요합니다.


SimCLR은 동일한 이미지의 서로 다른 뷰의 동의를 최대화하여 표현을 학습하므로 색상 히스토그램의 동의와 같은 사소한 형태의 동의를 방지하기 위해 이미지 변환을 작성하는 것이 중요합니다. 이를 보다 잘 이해하기 위해 아래 그림과 같이 다양한 유형의 변환을 살펴보았습니다.

[그림 3] 원본 이미지에 적용된 변형의 임의의 예.

(우리가 연구한) 단일 변환은 최고의 표현을 제공하는 예측 작업을 정의하는 데 충분하지 않지만, 임의 자르기(random cropping)임의의 색상 왜곡(random color distortion)이라는 두 가지 변환이 두드러집니다. 자르기나 색상 왜곡이 자체적으로 고성능을 이끌어 내지는 않지만 이 두 가지 변형을 구성하면 최신 결과를 얻을 수 있습니다.


무작위 자르기와 무작위 색상 왜곡을 결합하는 것이 중요한 이유를 이해하려면 동일한 이미지의 두 작물 사이의 일치를 최대화하는 프로세스를 고려하십시오. 여기에는 자연스럽게 효과적인 표현 학습을 가능하게 하는 두 가지 유형의 예측 작업이 포함됩니다. (예 : Crop C와 Crop D 사이).

[그림 4]

[그림 4 - 설명] 서로 다른 작물 간의 합의를 극대화하면 두 가지 예측 작업이 발생합니다. 왼쪽: 전체보기와 로컬 뷰. 오른쪽: 인접한 뷰.


그러나 동일한 이미지의 다른 자르기는 일반적으로 색 공간에서 매우 유사하게 보입니다. 색상이 그대로 유지되면 모델은 색상 히스토그램을 일치시켜 크롭 간 일치를 최대화할 수 있습니다. 이 경우 모델은 색상에만 초점을 맞추고 보다 일반화 가능한 다른 기능은 무시할 수 있습니다. 각 크롭의 색상을 독립적으로 왜곡함으로써 이러한 얕은 단서를 제거할 수 있으며, 모델은 유용하고 일반화 가능한 표현을 학습함으로써만 일치를 달성할 수 있습니다.


결과 2: 비선형 투영이 중요합니다.


SimCLR에서는 대조 학습 목표에 대한 손실 함수가 계산되기 전에 MLP 기반 비선형 투영이 적용되어 각 입력 이미지의 변하지 않는 특징을 식별하고 동일한 이미지의 다른 변환을 식별하는 네트워크의 능력을 최대화합니다. 우리가 했던 실험에서, 우리는 이러한 비선형 투영법을 사용하면 표현 품질을 향상하고 SimCLR-learned 표현에 대해 훈련된 선형 분류기의 성능을 10% 이상 향상하는 데 도움이 된다는 것을 발견했습니다. 


흥미롭게도, MLP 투영 모듈에 대한 입력으로서 사용된 표현과 투영으로부터의 출력 사이의 비교는 선형 분류기에 의해 측정될 때 초기 단계 표현이 더 잘 수행됨을 나타냅니다. 대조 목적을 위한 손실 함수(the loss function of contrastive objective)는 투영의 출력을 기반으로 하기 때문에 투영 전의 표현이 더 우수하다는 것은 다소 놀라운 일입니다. 우리의 목표는 네트워크의 최종 계층이 다운스트림 작업에 유용할 수 있는 색상과 같은 기능에 변하지 않게 한다고 추측합니다. 여분의 비선형 투영 머리 부분(nonlinear projection head)을 사용하면 투영 머리 부분 앞의 표현 레이어가 이미지에 대한 보다 유용한 정보를 유지할 수 있습니다.


결과 3: 확장하면 성능이 크게 향상됩니다.


우리는 (1) 동일한 배치에서 더 많은 예제를 처리하고 (2) 더 큰 네트워크를 사용하며 (3) 모두를 위한 훈련을 통해 상당한 개선을 이룰 수 있음을 발견했습니다. 이것들은 다소 명백한 관찰처럼 보일 수 있지만 이러한 개선 사항은 SimCLR의 경우 주도 학습보다 더 크게 보입니다. 예를 들어 주도형 ResNet의 성능은 ImageNet에서 90 ~ 300 개의 훈련 후 에포크(epoch)에서 정점에 도달했지만 SimCLR은 800 에포크의 훈련 후에도 계속 향상될 수 있습니다. 또한 네트워크의 깊이 나 폭을 늘릴 때도 마찬가지입니다. SimCLR의 이득은 계속되고 주도 학습을 위해 포화되기 시작합니다. 훈련 규모 확대의 수익을 최적화하기 위해 실험에서 Cloud TPU를 광범위하게 사용했습니다.


코드 및 사전 훈련된 모델

자기주도 및 반지도 학습에 대한 연구를 가속화하기 위해 SimCLR의 코드 및 사전 훈련된 모델을 더 큰 학업 커뮤니티와 공유하게 되어 기쁩니다. GitHub 리포지토리에서 찾을 수 있습니다.


감사의 말

이것은 Simon Kornblith와 Mohammad Norouzi와의 공동 작업입니다. SimCLR 프레임워크를 시각화해 주신 Tom Small에게 감사드립니다. 또한 토론토 및 기타 지역의 Google Research 팀의 일반적인 지원에 감사드립니다.


원본 제목: SimCLR을 이용한 더 발전된 자기주도 및 반주도 학습(Advancing Self-Supervised and Semi-Supervised Learning with SimCLR)
작성자: Ting Chen, Research Scientist 및 Geoffrey Hinton, VP & Engineering Fellow, Google Research
원본 링크: https://ai.googleblog.com/2020/04/advancing-self-supervised-and-semi.html
SimCLR 오픈소스: https://github.com/google-research/simclr
Open Sourcing BERT: State-of-the-Art Pre-training for Natural Language Processing블로그: https://ai.googleblog.com/2018/11/open-sourcing-bert-state-of-art-pre.html
블로그(한글): https://brunch.co.kr/@synabreu/49
Discriminative Unsupervised Feature Learning with Exemplar Convolutional Neural Networks 논문: https://arxiv.org/abs/1406.6909
Unsupervised Feature Learning via Non-Parametric Instance-level Discrimination 본문: https://arxiv.org/abs/1805.01978
Representation Learning with Contrastive Predictive Coding 논문: https://arxiv.org/abs/1807.03748
Learning Representations by Maximizing Mutual Information Across Views 논문: https://arxiv.org/abs/1906.00910
Contrastive Multiview Coding 논문: https://arxiv.org/abs/1906.05849
Momentum Contrast for Unsupervised Visual Representation Learning 논문: https://arxiv.org/abs/1911.05722
A Simple Framework for Contrastive Learning of Visual Representations 논문: https://arxiv.org/abs/2002.05709
Improving Deep Learning Performance with AutoAugment 논문 : https://ai.googleblog.com/2018/06/improving-deep-learning-performance.html
Deep Residual Learning for Image Recognition 논문: https://arxiv.org/abs/1512.03385
Data-Efficient Image Recognition with Contrastive Predictive Coding 논문: https://arxiv.org/abs/1905.09272v2
이 블로그는 2020년 4월 8일(수), Google AI 리서치 블로그 기사를 영한 번역한 것입니다. 또한 이 번역 글은 정보 공유 목적으로만 작성했으므로 어떠한 상업용으로 사용할 수 없으며, 원본 저작물 모두 구글에게 저작권이 있음을 알려 드립니다. (First Draft Version)
매거진의 이전글 약물 치료 오류로부터 환자를 보호하기 위한 절차

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari