Generative Evaluation 이해: FID / Inception Score
GAN, VAE, diffusion을 비교할 때는 "샘플이 좋아 보인다"는 주관적 판단만으로는 부족하다. 그래서 생성 모델 분야에서는 FID, Inception Score 같은 전용 평가 지표가 많이 쓰인다.
이 문서의 핵심은 생성 모델 평가가 분류보다 훨씬 애매하다는 점을 이해하는 데 있다. 생성 품질은 시각적으로는 좋아 보여도, 다양성이 부족하거나 데이터 분포와 어긋날 수 있기 때문이다.
1. FID
Fréchet Inception Distance는 생성 샘플 분포와 실제 데이터 분포가 feature 공간에서 얼마나 가까운지 본다. 값이 낮을수록 더 유사하다고 해석한다.
즉 FID는 "개별 이미지가 좋아 보이는가"보다 전체 분포가 실제 데이터와 얼마나 비슷한가를 더 보려는 지표라고 이해하면 좋다.
2. Inception Score
생성 이미지가 클래스적으로 뚜렷한지와 전체적으로 다양한지를 함께 보려는 지표다. 다만 실제 데이터 분포와의 직접 비교가 약해서 FID보다 덜 선호되는 경우도 많다.
즉 Inception Score는 "생성 샘플 자체가 명확한 클래스 신호를 갖는가"와 "전체적으로 다양한가"를 동시에 보려는 시도다. 하지만 실제 데이터셋과 직접 비교하지 않기 때문에, 좋은 점수를 받아도 진짜 데이터 분포를 잘 따라간다고 보장되지는 않는다.
3. Mode collapse
겉보기 품질은 좋지만 몇 가지 패턴만 반복해서 생성하는 현상이다. 생성 모델 평가는 품질뿐 아니라 다양성도 같이 봐야 한다는 점을 보여준다.
그래서 좋은 생성 모델 평가는 보통 품질과 다양성 사이의 균형을 함께 보는 방향으로 이해해야 한다. 한쪽만 좋으면 실제로는 덜 쓸모 있을 수 있다.
4. 왜 중요한가
- 생성 품질은 눈속임이 쉬워 정량 지표가 필요하다.
- 낮은 loss가 곧 좋은 샘플 품질을 의미하지 않을 수 있다.
- 논문 비교에서는 평가 프로토콜 차이도 결과 해석에 큰 영향을 준다.
특히 논문을 읽을 때는 단순히 FID 숫자만 비교하기보다, 같은 feature extractor를 썼는지, 같은 데이터셋 설정인지, 샘플 수가 충분한지까지 같이 봐야 한다. 생성 평가는 지표 자체보다 프로토콜 차이의 영향도 큰 편이다.
5. 체크리스트
- FID가 무엇을 비교하는지 설명할 수 있는가?
- 왜 생성 모델 평가는 다양성까지 같이 봐야 하는가?
- Inception Score와 FID 차이를 말할 수 있는가?