Search
Duplicate
🌏

deer.a7.3_8_1. title: Augmentation 된 TFRecord 를 캐싱해서 사용하면 성능에 안좋은 영향을 준다

🚀 prev note
♻️ prev note
🚀 next note
♻️ next note
17 more properties
미리 TFRecord 를 잔뜩 만들어서 하드디스크에 캐싱해두는 방법 (참고2) 을 사용해서 유연성을 잃는 경우 모델의 성능에도 영향을 받을 수 있다.
비록 내가 지금 다루는 모델에서 정말정말 운이 좋게 영향이 1% 내외로 미미할지라도 regularization 중 하나인 augmentation 은 모델의 크기와도 상관관계가 (참고1:regularization 과 model size 사이의 관계) 있다고 알려져 있다. 이런 요소들을 튜닝하지 못하게 되기 때문이다.
@11/8/2021, 10:43:00 PM 정성적으로 결과를 평가하다 보니 정말 사소한 해상도 차이도 결과값을 크게 흔들어둘 수 있다는 것을 인지하고 나서, augmentation 을 더 조심해야겠다고 생각했다 (참고3). 대회를 준비하며 Aihub pedestrian dataset 의 surface masking 데이터셋의 문제를 분석한 내용 (참고4) 에 이 문제에 대해서 구체적으로 기술해 두었다.
요약하면 무성의한 augmentation 으로 모서리 부분이 사라지면 영상의 시맨틱이 증발할 수 있다. 그런데 원본 영상을 가지고 100~200 epoch 정도 동안 돌리면서, 그때그때 원본 영상을 변형해 사용하는 것이 아니라, 원본 영상에서 8 번정도 랜덤하게 샘플링되고 변형된 채로 저장되어 있는 영상을 계속 사용하다 보면 당연히 real-world 문제에 적용했을 때 막대한 성능 손해를 볼수밖에 없다.
이 문제를 해결하고자 한다면, TFRecord 를 캐싱할 때, 한 개의 영상으로 100~200장에 달하는 영상을 미리 샘플링/변형 시켜 두는 방법이 있다. 이 방법을 쓰면 원본을 그대로 사용하는 방법과 epoch 을 놓고 비교했을 때 비슷한 성능을 유지하게 된다.
참고
2.