본문 바로가기

Paper Review

Paper Review #15 - AutoAugment:Learning Augmentation Strategies from Data

AutoAugment:Learning Augmentation Strategies from Data (2019.04.11)
https://arxiv.org/abs/1805.09501
 

AutoAugment: Learning Augmentation Policies from Data

Data augmentation is an effective technique for improving the accuracy of modern image classifiers. However, current data augmentation implementations are manually designed. In this paper, we describe a simple procedure called AutoAugment to automatically

arxiv.org

 

 

Research direction & Motivation


Main Purpose

 

Learning and finding efficient augmentation strategies

 

 딥러닝을 통한 학습에 있어서 data augmentation은 효과적인 기법으로, 데이터의 규모와 다양성을 동시에 증가시킨다. 하지만 Vision 분야에 있어서, 좋은 model architecture를 위한 노력은 지속적으로 이루어지고 있는 것에 비해 효과적인 DA 방법에 대한 노력은 그렇지 못하다. 특히 보편성 측면에서 많은 문제를 가지는데, 일부 dataset에 대해 효과적인 기법이라도 다른 dataset으로의 전이는 일반화 능력이 떨어지는 경우가 많다. 본 논문에서는 이러한 generalization의 문제를 해결하고자했다. 하지만 모든 데이터에 적합한 augmentation 기법을 만드는 것은 불가능하기 때문에 학습을 통해 이를 해결하는 automatically learned data augmentation을 제안했다. 자동화된 프로세스를 통해 target 데이터에 적합한 policy를 탐색하며 학습된 policy를 기반으로 타 데이터로의 전이까지 가능하도록 했다.

 

 

AutoAugment


 

 AutoAugment는 크게 Serach Space와 Search Algorithm, 2가지 요소로 구성된다. Search Algorithm이 적합한 augmentation policy를 탐색하면 해당 policy를 이용해 network를 학습시킨다. 그 과정에서 validation set에 대한 accuracy의 정보가 RNN Controller로 전달되어 update된다. 이로써 RNN controller는 validation set으로 부터 얻은 보상에 따라 강화학습으로 효과적인 augmentation policy를 탐색하는 방향으로 학습한다.

 

Search space

 

 AutoAugment는 데이터에 맞는 최적의 policy를 선정하는 방법이다. 구체적으로, operation의 선정과 그 magitude를 최적화하는 것을 의미한다. Policy는 2개의 operation으로 구성된 5개의 sub-policy들의 집합으로 구성된다. 이때 operation은 shear, invert, solarize 등의 직접적인 변형방법으로 PIL에 있는 모든 function과 Cutout, SamplePairing을 추가해 총 16가지로 이루어진다. 학습시에는 변형된 이미지를 사용하기위해 mini-batch마다 sub-policy를 uniformly random하게 선택하며 선택이 되면 operation은 고정된 magnitude로 적용된다.

 

Search algorithm

 

Policy를 선정하는 algorithm은 강화학습을 사용한다. 이를 위해서는 두가지가 필요한데, 각각 RNN으로 구성된 controller와 Proximal Policy Optimization training algorithm이다. 각 step마다 controller는 softmax function을 통해 policy를 결정하며 이는 embedding의 형태로 다음 step으로 전달된다. 최종적으로 controller는 각각 2개의 operation을 가진 5개의 sub-policy를 결정하기 위해 30번의 softmax prediction을 수행하게된다.

 

The training of controller RNN

 

 Controller는 reward signal에 의해 학습한다. Random하게 선택된 sub-policy를 적용한 train set을 search process의 일부인 child model이 학습하며, validation set에서의 accuracy의 증감에따라 reward signal이 발생한다. 

 

 

Experiments


 논문에서 시행한 실험들은 꽤 내용이 길어서 카테고리와 데이터셋 별로 나누어서 정리했다.

 

AutoAugment-direct

 

 해당 실험은 AutoAugment를 dataset에 직접적으로 적용했을때 기존에 알려진 기초적인 augmentation 방법을 적용한 경우와의 성능 차이를 비교하는 task라고 할 수 있다. CIFAR-10, CIFAR-100, SVHN, ImageNet dataset을 사용했다.

 단순히 4가지 dataset을 사용한 것이 아니라 각각에서 일정 소규모 부분을 추출해 reduced dataset으로 명명하여 size에 따른 성능차이까지 비교했다.

 

 AutoAugment를 통해 child model을 학습할때 train data의 일정 부분을 사용하게된다. 이때 저자들은 data size를 늘리는 것 보다 학습하는 epochs를 증가시키는 것이 더 효과적이라는 것을 알아냈다. 따라서 model은 Wide-ResNet-40-2를 120 epochs동안 학습하여 사용했다.

 

 실험에서 AutoAugment는 기존 Baseline을 적용한뒤 추가로 적용했다. 유의할 점은 Cutout은 search space 상에도 존재하기 때문에 동일한 이미지에 중복으로 적용될 수도 있었지만 그 확률은 매우낮아 대부분 한번만 적용되었다고 말한다.비교를 위해 적용한 augmentation 방법은 다음과 같다.

 

· Baseline(CIFAR/SVHN): horizontal flips (0.5) / zero-padding / random crops / Cutout (16x16)
· Baseline(ImageNet): scaling [-1,1] / horizontal flips (0.5) / random distortions of colors
· AutoAugment: 5 best policy ( = 25 sub-policies ) -> Cutout(16x16)

 

< Result >

 

CIFAR-10

 

 약 4,000 여개의 데이터를 가지는 reduced CIFAR-10을 이용해 best policy를 선정한 결과,  주로 color-based tranformation이 선정되었다. 반대로 geomatric한 특성을 가지는 ShearX, ShearY는 좋은 policy로 선정되지 않았다. 또한 Invert의 경우는 아예 제외되었다. 이를 기반으로 ResNet, Shake-Shake net등의 여러 모델에 적용해 정확도를 비교한 결과 Shake-drop 모델은 error rate 1.5%를 기록하며 기존의 sota를 0.6% 능가하는 결과를 보여주었다.

 

CIFAR-100

 

여기서도 CIFAR-10과 동일한 policy를 적용했다. 마찬가지로 Shake drop이 sota를 달성했다. 추가적으로 reduced CIFAR-10에도 적용해본 결과 full-dataset에 적용했을때 보다 정확도의 향상폭이 더 크게 나타났다. 학습셋의 size가 작을때 DA은 더 큰 효과를 불러왔다.

 

SVHN

 

 

 해당 dataset은 앞선 두 데이터와 달리 글자가 적힌 image dataset에 해당한다. 전과 유사하게 1000여개의 데이터를 가지는 reduced SVHN으로 best policy를 선정했으며 사용한 child model 역시 동일하다. 그 결과 CIFAR-10에서는 color-based 방법이 주로 선정된 반면에 여기서는 Invert, Equalize, ShearX/Y, Rotate 가 가장 빈번하게 나타났다. 숫자의 색상이 분류에 중요한 영향을 미치지 않는다는 것은 상식에도 부합하는 점으로 볼때 결정된 policy들에 대한 설명이 가능하다. 다시말해, AutoAugment를 통한 policy의 선정이 general한 feature들을 잘 표현하고 있는 것으로 이해할 수 있다.

 

 성능의 측면에서도 이전과 동일하게 baseline보다 더 낮은 error rate를 기록했고 sota를 달성했다. 마찬가지로 reduced set에 대해 성능 향상의 폭이 더 크게 나타났다. 추가적으로 Cutout을 적용했을때, 숫자의 일부분이 잘려나가게 되어 오히려 학습을 방해하는 요인으로 작용해 성능에 좋지못한 영향을 미쳤기 때문에 해당 방법은 제외했다. 

 

ImageNet

 

 

 마지막으로 ImageNet에서도 reduced dataset을 구성해 policy를 선정했으며 CIFAR-10과 유사하게 color-based policy들이 주로 선정됐다. AmeobaNet-C model이 83.5 / 96.5(%)로 sota를 달성했으며 타 모델들에서도 유의미한 성능 개선이 이뤄졌다.

 

 종합적으로 기존의 random하거나 직관적인 augmentation의 방법보다 논문에서 제시하고있는 AutoAugment를 통해 선정된 policy가 모든 측면에서 우수한 방법이라는 것을 입증했다.

 

 

AutoAugment-transfer

 

 

 다음으로 AutoAugment가 특정 domain에만 과적합되는 것이 아니라 범용적으로 사용이 가능하다는 일반화의 가능성을 평가하기위해 ImageNet에 선정되었던 best policy들을 매우 작은 규모를 가진 5개의 dataset에 적용했다. 위 결과대로 baseline보다 우수한 결과를 얻었고 Stanford Cars dataset에서는 sota를 달성했다. 즉 이는 특정 도메인에 적절한 DA들을 찾지만 과적합되지는 않은 높은 보편성을 보여준다.

 

 

Conclusion


 논문에서는 AutoAugment에 대해 다양한 구조적인 실험도 진행했다. 다른 automated data augmentation과의 비교와 ablation study를 통해 policy 선정에 있어서 필요한 조건들에 대한 분석이 이루어졌다.

 

 결론적으로 AutoAugemnt는 다른 기법들보다 성능이 우수했다. Policy의 선정 뿐만 아니라 실험에 사용한 5 sub-policy(=1 policy)의 적절한 성정을 위한 조건들은 다음과 같다. Best policy의 선정을 위해서는 child model이 적어도 80-120 epochs 동안 학습해야한다. 또한 논문에서 사용한 sub-policy의 수는 25개였는데 이를 늘리며 실험해본 결과 validation set의 성능향상이 두드러지는 sub-policy의 수는 20개 이상으로 보여진다.

 

 마지막으로 동일한 search space에서 무작위로 선정한 policy와 magnitude를 적용한 결과, baseline보다는 우수했지만 AutoAugment에는 못미치는 성능을 보였다. Baseline과의 차이는 0.1% 정도로 미미했지만, AutoAugment와의 차이는 0.4%로 큰 차이를 보였다. 

 

 본 논문에서 제시한 AutoAugment는 validation set을 이용해 RNN을 사용한 강화학습으로 적절한 DA와 그 강도를 추론한다. 기존에 제시되었던 직관적인 DA 기법들에서 벗어나 효율적인 DA를 위한 하나의 프로세스를 건립했고 여러 실험을 통해 그 효과를 입증했다. 인상적인 점은 transfer 실험을 통해 DA의 일반화 가능성을 끌어낸 점으로 실용적인 측면에서의 강점을 보여주었다는 점이다.