[Boostcamp AI Tech] [P-stage] 14주차 Day 4 학습 기록

bluegun·2021년 11월 8일
0

AI Tech 2기 활동

목록 보기
66/87

대회 진행 상황


Ensemble은 Hard voting을 활용하기로 하였다. 어제 생각한 대로 Hard voting으로도 성능 향상을 기대해 볼 수 있다 생각했고, soft voting을 하기에는 팀원들께서 여유가 없어 부탁드리기 힘들었다.

Hard voting 방법으론 모델 3개를 사용하여 각 pixel 별로 가장 많은 vote를 받은 category를 최종적으로 선택하고, 만약 동률이 나오면 셋 중 단일 성능이 가장 좋은 모델의 category로 예측하였다.

솔직히 구현할 때까지만 해도 크게 성능 향상이 있을까 싶었지만, 실제로 제출하고 나니 score 0.2 이상의 성능 향상이 있었다. 고민해본 결과, 특정 category가 선택되기 위해서는 두 모델 이상이 그 category로 예측을 하거나 세 모델이 다 다른 예측을 하는 상황에서 단일 성능 최고의 모델이 예측한 category 값이어야 하는데, 이렇게 하면서 쓰레기가 아닌 데 쓰레기로 예측한 False positive noise들을 없애기 때문에 성능 향상이 일어난 것 같다. 우리가 만든 모델의 Inference를 visualization하면, Instance segmentation으로 구현하신 모델 말고 일반적인 segmentation 모델은 object의 중간중간에 다른 category 예측값이 섞여있거나 쓰레기가 아님에도 쓰레기로 잡는 경우가 많이 있었다. 이런 경우를 Ensemble을 통해 없애줌으로서 성능 향상이 많이 일어난 것 같다.

최종적으로는 팀원이 swin HTC를 통해 단일모델 score 0.734의 좋은 모델을 구현하는데 성공하셨고, 이를 활용해 2개의 모델로 Ensemble 하여 0.763의 score를 기록하는 데 성공했다.
2개의 모델로 Ensemble한 방법은 기본적으로 swin HTC 모델의 pixel을 쓰되, background로 예측한 부분을 다른 한 모델이 다른 category로 예측하면 그 값을 사용하는 것이다. swin HTC 모델은 Instance segmentation 기반 모델이어서 CRF를 사용한 것처럼 mask가 섞여 나오는 현상이 없고, 대신 상대적으로 적은 object를 예측하기 때문에, 기본적으로 swin HTC를 쓰되 예측하지 못한 object에 대해선 다른 성능 좋은 segmentation model의 값을 사용함으로서 성능을 올린 것이다.

리더보드 성적이 큰 의미를 가지는 것은 아니지만, 그래도 이번 대회는 팀원들이 높은 점수를 목표로 노력하셨기 때문에 마지막에라도 그에 보탬이 될 수 있어 다행인 것 같다.

0개의 댓글