본문 바로가기

어그멘테이션

[CV 문서 분류 대회] 신뢰성 있는 validation set은 어떻게 만들지? 대회를 앞둔 특강에서 강사님께서 이런 얘기를 강조하셨다. 신뢰할 수 있는, 테스트 결과와 비슷한 추세를 갖는 validation set을 만들어 놓으면, 나중에 제출횟수의 부담 없이 많은 실험을 해볼 수 있다. 테스트 데이터셋을 보니 어그멘테이션이 강하게 들어간 더러운(?) 이미지들이 많았다. 그래서 트레인 이미지도 테스트 이미지처럼 최대한 더럽게 만들고 폴드를 나눠 검증하기로 했다. k-fold는 클래스별로 비율을 맞춰서 넣을 수 있게 하는 StratifiedKFold를 사용해 폴드 5개로 나눠서 4개 폴드가 돌 때 1개 폴드는 검증용으로 쓸 수 있도록 했다. (처음에는 임밸런스된 데이터, 1, 13, 14번 클래스의 이미지가 적은 상태로 데이터를 증강시킨 것을 사용했기 때문에, 부족한 클래스도 골고루.. 더보기
[CV 문서 분류 대회] 두 번째 날 정리 대회가 시작되고, 첫째 날에는 베이스라인을 토대로 모듈화와 mlflow를 덧붙여서 (편리하길 바라는) 실험 환경을 세팅했다. 그리고 간단한 어그멘테이션을 넣어서 기존 이미지의 5배 크기로 늘리고, rasnet34, efficientnet_b0, densenet121 3가지 모델을 한번 돌려봤다. 결과는 그닥 좋지 않았다. 시험삼아 올린건데 0.39, 0.51ㅋㅋㅋㅋ  둘째 날, 베이스라인 코드를 찬찬히 뜯어봤다. 그리고 정확한 모델 검증을 하기 위해 테스트 전에 거칠 validatino set을 만들었다. 그 다음에 mixup 과 어그맨테이션 다시 만들어보았다. Validation set을 잘 만드는 게 중요한데, 테스트 데이터의 분포를 잘 반영해야 얘를 믿고 쓸 수가 있다고 한다.(어떻게..? 이 부분.. 더보기