여러 네트워크 모델을 앙상블로 결합하면 성능이 오르는데, 총 네트워크의 크기와 추론 시간도 함께 증가하기 때문에 실제로 적용할 때는 어려움이 많은 것이 현실입니다.
MEAL(Multi-model Ensemble via Adversarial Learning)은 이러한 점을 해결하기 위해 Teacher-Student learning을 적용하는데, 구체적으로는 이미 학습된 여러 개의 네트워크를 복수의 teacher라고 보고, selection module에 의해 그 중 하나를 선택적으로 사용하여 distillation 시킴으로써 최종적으로는 단일 student network를 만들어냅니다.
공유 링크는 MEAL v2 github인데, selection module 대신 teacher들의 ensemble을 직접적으로 사용하고, one-hot/hard label을 distillation 과정에서 배제하는 등 몇 가지 개선 사항이 적용되었습니다. 결과적으로, 네트워크 구조 변경 없이도 ResNet-50의 ImageNet-1K 성능(224×224 single crop)이 TOP-1 80%를 넘게 되었습니다. 논문 제목도 “트릭 없이 ResNet-50 성능 80% 넘기기”입니다.
코드는 물론 ResNet-50, MobileNet V3, EfficientNet-B0의 pre-trained 모델들도 모두 공개되어 있어서 transfer learning 용으로 매우 적합해 보입니다.
szq0214/MEAL-V2
MEAL V2: Boosting Vanilla ResNet-50 to 80%+ Top-1 Accuracy on ImageNet without Tricks – szq0214/MEAL-V2