본문 바로가기
DeepLearning|MachineLearning

TTA(Test-Time Augmentation)

by yongPro 2022. 4. 28.
반응형

Segmentation Data Augmentation에 관련된 여러 논문들을 읽다가 Test-time augmentation이라는 걸 봤는데, 파파고에 번역을 돌려봤을 때, 더욱 헷갈리게 되어 그냥 넘어가게 되었는데, 이 글을 쓰기 바로 직전에 운이 좋게도 test-time augmentation에 관련하여 공부를 할 수 있게 되어서 메모를 한다.

 

Neural Network의 성능을 올리는데에는 매우 많은 방법이 존재하는데, 그 중 가장 중요한 방법이 Augmentation이라고 생각한다.

왜냐하면 딥러닝에서 뭐가 되었든 data의 질과 양이 중요한데, Data Augmentation은 여러가지 방법들(rotate, translate, flip..등)로 기존의 train set을 증강시켜서 Network model을 더욱 견고하게 만들어준다.

이런식으로 하나의 이미지를 가지고도 새로운 이미지라고 인식할 만한 이미지 여러장을 만들어줌으로써

model 입장에서는 한번도 보지 못한 이미지를 학습하게 하여 결론적으로 강력한 모델을 만들어준다.

 

위의 방법은 train set에서의 augmentation 방법이고, test set에서의 augmentation 방법이 TTA라는 방법


TTA(Test-Time Augmentation)

- Test 과정에서 augmentation을 적용하고 각각 예측확률을 평균 혹은 다른방법을 통해 결과를 낸다.

- 앙상블(Ensemble)의 개념을 안다면, 쉽게 이해 가능하다.

※ 앙상블이란?

- 데이터에 대하여 여러 모델의 predict 결과를 평균을 내서 편향된 데이터를 억제하는 역할을 함으로써 accuracy를 높이는데 사              용된다.

 

- predict를 할 데이터의 밝기가 어둡거나 너무 밝을 때, object가 너무 작을 때 등과 같은 편향된 데이터가 있을 때, augmentation 기법을 적용하여 평균을 내게 되면 일반적으로 더 높은 성능을 보이게 된다.

- TTA는 모델의 accuracy가 중요할 때 사용하면 좋은 기법. (Competition 등에서)

 

모델 train 시에 augmentation을 적용하여 학습했을 때, test 과정에서도 비슷한 augmentation을 적용하여 accuracy를 높일 수 있다.