본문 바로가기

연구실 공부

[논문] Big Transfer (BiT): General Visual Representation Learning

728x90

https://arxiv.org/abs/1912.11370

 

Big Transfer (BiT): General Visual Representation Learning

Transfer of pre-trained representations improves sample efficiency and simplifies hyperparameter tuning when training deep neural networks for vision. We revisit the paradigm of pre-training on large supervised datasets and fine-tuning the model on a targe

arxiv.org

해당 논문을 보고 작성했습니다.

 

 Abstract

pre-trained representation의 transfer는 sample 효율성을 향상시키고, vision에 맞춰 deep neural network을 학습시킬 때 hyperparameter tuning을 단순화할 수 있습니다. 저자들은 large supervised dataset을 가지고 pre-train 하고 target task에 맞춰 model을 fine-tuning 하는 paradigm을 다룹니다. 저자들은 pre-training의 scale을 키웠으며, Big Transfer (BiT)라 불리는 간단한 방법을 제안합니다. 선택된 몇 개의 구성 요소들을 결합하고 transfer 하여 20개 dataset에서 좋은 performance를 기록했습니다. BiT는 ILSVRC-2012에서 87.5%의 top-1 정확도, CIFAR-10에서 99.4%, 19가지 다른 task Visual Task Adaptation Benchmark (VTAB)에서 76.3% 정확도를 기록했습니다. 소규모 dataset에선, ILSVRC-2012의 각 class마다 10개 sample인 경우 BiT는 76.8% 정확도를 보였으며, 각 class마다 10개 sample이 있는 CIFAR-10의 경우에는 97.0% 정확도를 보였습니다.

 

Introduction

deep learning을 사용한 좋은 성능들은 보통 task에 특화된 많은 양의 data를 사용하고 연산량도 많이 사용합니다. 이러한 각 task마다 많은 양의 data와 연산이 필요한 것은 새로운 task가 지나치게 비싸게 만들 수 있습니다. transfer learning은 종종 해결책이 됩니다. task-specific data와 연산을 pre-training으로 대체하는 방법입니다. network는 일반적인 대규모 dataset으로 학습되고, 그 다음 weight를 다음 task를 초기화하는데 사용하여 적은 양의 data point와 적은 연산량으로 문제를 해결할 수 있게 됩니다.

저자들은 많은 양의 supervised source dataset으로 pretrain한 다음 target task에 맞춰 weight를 fine-tuning 하는 간단한 paradigm에 대해 다시 생각해 봅니다. 최근엔 deep network의 학습에 대한 수많은 연구가 이뤄졌습니다. 저자들은 새로운 구성 요소나 복잡성을 추가하지 않고 많은 task에서 좋은 성능을 보일 수 있는 최소한의 trick을 사용하는 방법을 제안합니다. 저자들은 이 방법을 Big Transfer (BiT)라 부릅니다.

저자들은 3가지 다른 양의 dataset으로 network를 학습합니다. 가장 큰 BiT-L은 JFT-300M dataset으로 학습되며,이 dataset은 300M 개 noisily labeleed image로 구성됩니다. BiT를 다양한 task로 transfer 했습니다. training set은 각 class마다 1개 sample에서 1M sample까지 다양합니다. 이러한 task들은 ImageNet's ILSVRC-2012, CIFAR-10/100, Oxford-IIIT Pet, Oxford Flowers-102 (including few-shot variants)와 19가지 다양한 dataset으로 구성된 1000-sample VTAB-1k benchmark를 포함합니다. BiT-L은 다양한 task에서 가장 좋은 성능을 달성하며, 아래 그림과 같이 매우 작은 양의 downstream data로도 효율적인 성능을 보여줍니다. 

 

또한 저자들은 BiT-M을 공개된 ImageNet-21k dataset으로 학습했고, ILSVRC-2012 pre-training보다 눈에 띄게 성능을 향상시켰습니다.

중요한 점은 BiT는 한 번만 pre-train 되면 되고, downstream task에 맞춰 cost가 적게 fine-tuning을 수행하면 됩니다. 다른 최신 method들은 주어진 task에 맞춘 training data로 광범위한 학습을 필요로 합니다. BiT는 각 새로운 task마다 짧은 fine-tuninig protocol을 사용할 뿐만 아니라, BiT는 새로운 task에 광범위한 hyperparmaeter tuning을 필요로 하지도 않습니다. 대신, 저자들은 다양한 evaluation에 잘 동작하는 hyerparameter setting을 위한 heuristic을 제안합니다.

 

Big Transfer

저자들은 효율적으로 transfer를 수행하는 network를 build 하기 위해 필수적인 요소들을 찾는 연구를 진행했습니다. Upstream component는 pre-train 할 때 사용되며, downstream은 새로운 task로의 fine-tuning시 사용됩니다.

 

Upstream Pre-Training

첫 component는 scale입니다. deep learning에서 잘 알려진 것과 같이, 더 큰 network는 관련 task에서 더 나은 성능을 보여줍니다. 그리고 큰 dataset일수록 큰 architecture를 사용해야 benefit을 얻을 수 있고, 반대의 경우도 마찬가지입니다. 저자들은 transfer learning의 맥락에서, 특히 매우 적은 data point를 가진 task로의 transfer에 대한 scale의 효과를 연구했습니다. 저자들은 computational budget (학습할 때), architecture size, dataset size 간의 상호작용을 조사했습니다. 저자들은 3가지 BiT model을 3가지 대규모 dataset (1.3M image를 포함한 ILSVRC-2012 (BiT-S), 14M image를 포함한 ImageNet-21k (BiT-M), 300M image를 포함한 JFT (BiT-L))으로 학습했습니다.

두 번째 component는 Group Normalization (GN)과 Weight Standardization (WS)입니다. Batch Normalization (BN)은 학습 안정성을 위해 대부분의 최신 vision model에 사용되었습니다. 하지만 저자들은 BN이 Big Transfer에 좋지 않다는 2가지 이유를 찾아냈습니다. 먼저, 큰 model을 작은 device batch로 나눠 학습할 때, BN은 성능이 저하되기도 하며 batch 간의 synchronization cost를 발생시킵니다. 두 번째로, running statistic을 update 해야하기 때문에, BN은 transfer에 좋지 않습니다. GN을 WS와 결합하여 사용하는 것은 ImageNet과 COCO dataset을 가지고 small-batch로 학습할 때 성능을 향상시킵니다. 저자들은 GN과 WS의 조합이 larget batch size로 학습하는 경우에도 유용하고, transfer learning에 큰 영향을 미친다는 것을 보입니다.

 

Transfer to Downstream Tasks

저자들은 다양한 downstream task를 수행할 수 있는 간단한 fine-tuninig protocol을 제안합니다. 여기서 중요한 점은, 저자들은 새로운 task와 dataset size마다 cost가 높은 hyperparameter를 search 하는 것을 피했습니다. 저자들은 각 task마다 1가지 hyperparameter만 사용합니다. 저자들은 BGiT-HyperRule이라 불리는 heuristic rule를 사용했으며, 이는 task의 고유 image resolution과 datapoint 수를 사용하는 간단한 함수이며 가장 중요한 hyperparameter를 선택합니다. 저자들은 각 task마다 training schedule length, resolution, MixUp regularization을 사용할지 말지 정하는 hyperparameter가 중요하다는 것을 알아냈습니다. 저자들은 20가지 task에 맞춰 BiT-HyperRule을 사용했으며, training set은 각 class마다 1개 sample에서 1M sample 이상으로 설정했습니다.

fine-tuning 할 때, 저자들은 standard data pre-processing을 수행했습니다. 학습할 때 image를 정사각형으로 resize 하고 random 하게 더 작은 정사각형으로 crop하고 random하게 image를 수평으로 뒤집는 pre-processing을 수행했습니다. test 할 땐, 고정된 size를 만들기 위해 resize만 수행했습니다. 몇몇 task에서 수평으로 flip 하거나 crop하는 것은 label의 의미를 없애고, 해당 task를 수행할 수 없게 됩니다. 예를 들어, label이 object orientation을 예측하거나 pixel space의 좌표를 예측해야하는 경우가 있는데, flip하거나 crop 하면 해당 label을 사용할 수 없게 됩니다. 그래서 저자들은 상황에 맞춰 flip 또는 crop을 생략했습니다.

최근 연구들은 기존 augmentation method가 CNN의 train 및 test resolution 사이의 불일치를 가져온다는 것을 보였습니다. 그러므로 test 할 때 resolution을 소폭 scale up 하는 것이 일반적입니다. 대안으로, trained model을 test resolution으로 fine-tuning 하는 것입니다. 이 방법은 transfer learning에 적합하며, 저자들은 fine-tuning step에서 resolution change을 포함했습니다.

저자들은 MixUp이 pre-training BiT에 적합하지 않다는 것을 알아냈습니다. 저자들은 그에 대한 이유로 data가 풍부하기 때문이라고 합니다. 하지만 transfer 할 때는 때때로 유용합니다. 흥미롭게도 mid-sized dataset에서 가장 유용하며, few-shot transfer에서는 유용하지 않은 모습을 보였습니다.

저자들은 downstream tuning 할 때 weight decay, dropout과 같은 regularization을 사용하지 않았습니다. network가 매우 크더라도(BiT는 928 million parameter를 사용), 심지어 매우 작은 수의 dataset으로 transfer 할 때도 성능이 좋습니다. 적절한 schedule length를 설정하는 것이, 즉 더 큰 dataset의 경우 더 오래 학습하는 것이 충분히 regularization을 제공한다는 것을 알아냈습니다.

 

Experiments

저자들은 3가지 다른 scale의 dataset으로 학습한 3가지 upstream model BiT-S, BiT-M, BiT-L을 학습했습니다. 저자들은 이러한 model들은 다양한 downstream task로 평가했으며, data의 scale이 어떻든 매우 좋은 성능을 보였습니다.

 

Data for Upstream Training

BiT-S는 ILSVRC-2012를 가지고 학습했습니다. 각 image는 single label을 갖습니다. BiT-M은 full ImageNet-21k dataset으로 학습했습니다. image는 multiple label을 갖습니다. BiT-L은 JFT-300M dataset으로 학습했습니다. 각 image마다 평균적으로 1.26개 label을 갖습니다. 저자들은 BiT를 여러 architecture size로 학습했으며, default largest)는 ResNet152x4를 사용했습니다.

 

Downstream Tasks

저자들은 오랫동안 사용되었던 ILSVRC-2012와 CIFAR 10/100, Oxford-IIIT Pet, Oxford Flowers-102를 가지고 BiT를 평가했습니다. 이러한 dataset들은 image 수가 다르고, input resolution과 category가 다릅니다. 저자들은 BiT를 fine-tune 하여 평가를 진행했습니다.

BiT를 통해 학습된 representation의 일반성을 평가하기 위해, 저자들은 Visual Task Adaptation Benchmark (VTAB)를 사용했습니다. VTAB는 19가지 다양한 visual task로 구성되며, 각각은 1000개 training sample을 가지고 있습니다. task는 3가지 group (natural, specialized, structured)로 나눠집니다. VTAB-1k score는 이 19가지 task에 대한 평균 top-1 recognition performance를 의미합니다. task의 natural group은 standard camera를 사용하여 capture 된 natural image를 포함하는 classical dataset입니다. specialized group도 real world에서 capture된 image지만, 위성이나 의료 image와 같은 전문적 장비를 통해 측정된 dataset입니다. 마지막으로 structured task는 scene의 구조에 대한 이해를 평가하며 synthetic environment로 생성됩니다. object counting이나 3D depth estimation과 같은 task가 structured task에 속합니다.

 

Standard Computer Vision Benchmark

BiT-L을 standard benchmark로 평가하고 현재 존재하는 최신 result와 비교를 수행했습니다. 결과는 다음과 같습니다.

 

저자들은 task-independent pre-training (general representation)에 대한 성능과 task-dependent auxiliary training (specialist reprsentation)에 대한 성능 평가를 수행했습니다. 

BiT-L은 이전 generalist SOTA model보다 더 좋은 성능을 보였습니다. JFT-300M으로 학습된 BiT-L의 좋은 성능에서 영감을 받아 저자들은 ImageNet-21k dataset으로도 학습을 수행했습니다. 실험 결과는 다음과 같습니다.

 

ImageNet-21k로 학습된 BiT-M이 ILSVRC-2012 (BiT-S)로 학습된 model과 비교했을 때 상당히 향상된 visual representation을 보였습니다.

 

Tasks with Few Datapoints

 각 downstream dataset의 subset을 사용하여 BiT-L을 transfer 했습니다. 각 class마다 1개 sample이 존재합니다. 그리고 VTAB-1k task로도 평가를 수행했습니다.

 

실험 결과는 위와 같습니다. 왼쪽은 BiT-L에 few-shot을 사용하여 transfer 한 ILSVRC-2012, CIFAR-10, CIFAR-100 결과입니다. 각 class마다 매우 적은 수의 sample이 존재하지만, BiT-L은 좋은 성능을 보여주고 빠르게 full-data의 성능에 근접합니다. 

이 외에도 다양한 실험을 진행했습니다.

 

Discussion

저자들은 대규모 pre-trained generalist model을 downstream task로 fine-tuning 하는 classical transfer learning에 대한 연구를 진행했습니다. 저자들은 각 task에서 좋은 성능을 보이기 위해 large scale pre-training를 이용하는 간단한 방법을 제안합니다. BiT는 clean training and fine-tuning setup을 사용하고, 복잡성과 성능의 balance를 맞추기 위해 잘 선택된 적은 수의 component만 사용합니다.

 

728x90