Generative Evaluation 이해: FID / Inception Score

난이도: 중급

태그: generative,fid,inception_score,evaluation

생성 모델은 loss만 낮다고 좋은 것이 아니다. 실제 샘플이 얼마나 그럴듯하고 다양한지 따로 평가해야 한다.

GAN, VAE, diffusion을 비교할 때는 "샘플이 좋아 보인다"는 주관적 판단만으로는 부족하다. 그래서 생성 모델 분야에서는 FID, Inception Score 같은 전용 평가 지표가 많이 쓰인다.

이 문서의 핵심은 생성 모델 평가가 분류보다 훨씬 애매하다는 점을 이해하는 데 있다. 생성 품질은 시각적으로는 좋아 보여도, 다양성이 부족하거나 데이터 분포와 어긋날 수 있기 때문이다.

1. FID

Fréchet Inception Distance는 생성 샘플 분포와 실제 데이터 분포가 feature 공간에서 얼마나 가까운지 본다. 값이 낮을수록 더 유사하다고 해석한다.

즉 FID는 "개별 이미지가 좋아 보이는가"보다 전체 분포가 실제 데이터와 얼마나 비슷한가를 더 보려는 지표라고 이해하면 좋다.

2. Inception Score

생성 이미지가 클래스적으로 뚜렷한지와 전체적으로 다양한지를 함께 보려는 지표다. 다만 실제 데이터 분포와의 직접 비교가 약해서 FID보다 덜 선호되는 경우도 많다.

즉 Inception Score는 "생성 샘플 자체가 명확한 클래스 신호를 갖는가"와 "전체적으로 다양한가"를 동시에 보려는 시도다. 하지만 실제 데이터셋과 직접 비교하지 않기 때문에, 좋은 점수를 받아도 진짜 데이터 분포를 잘 따라간다고 보장되지는 않는다.

3. Mode collapse

겉보기 품질은 좋지만 몇 가지 패턴만 반복해서 생성하는 현상이다. 생성 모델 평가는 품질뿐 아니라 다양성도 같이 봐야 한다는 점을 보여준다.

그래서 좋은 생성 모델 평가는 보통 품질과 다양성 사이의 균형을 함께 보는 방향으로 이해해야 한다. 한쪽만 좋으면 실제로는 덜 쓸모 있을 수 있다.

4. 왜 중요한가

특히 논문을 읽을 때는 단순히 FID 숫자만 비교하기보다, 같은 feature extractor를 썼는지, 같은 데이터셋 설정인지, 샘플 수가 충분한지까지 같이 봐야 한다. 생성 평가는 지표 자체보다 프로토콜 차이의 영향도 큰 편이다.

5. 체크리스트