프레셰 인셉션 거리(Fréchet inception distance, FID)는 생성적 적대 신경망(GAN)이나 확산 모델과 같은 생성 모델이 만든 이미지의 품질을 평가하는 데 사용되는 지표입니다. 2017년에 도입된 FID는 2024년 기준으로 합성 이미지 생성기를 평가하는 표준 지표가 되었습니다. 이는 생성된 이미지의 분포와 실제 이미지(ground truth 세트로 알려진)의 분포를 비교하며, 심층 신경망에서 추출한 특징 통계 간의 거리를 측정합니다. FID 점수가 낮을수록 생성된 이미지가 실제 이미지와 품질 및 다양성 측면에서 더 유사하다는 것을 의미하며, 점수 0은 완벽한 일치를 나타냅니다.
FID 지표는 이전의 인셉션 점수(IS)에서 영감을 얻었지만, IS의 주요 한계를 해결합니다. IS는 생성된 이미지의 분포만 평가할 뿐 실제 데이터와 비교하지 않습니다. 반면 FID는 생성 분포와 실제 분포 간의 유사성을 측정하여 더 포괄적인 평가를 제공합니다. FID는 StyleGAN1, StyleGAN2 및 다양한 확산 모델과 같은 모델을 벤치마킹하는 데 널리 채택되었으며, 생성 모델 평가의 초석으로 남아 있습니다.
개요
FID 점수의 목적은 생성 모델이 만든 이미지의 다양성과 충실도를 참조 데이터 세트와 비교하여 측정하는 것입니다. 참조 데이터 세트는 ImageNet이나 COCO-2014가 될 수 있으며, 모델이 생성하고자 하는 이미지의 전체 다양성을 대표해야 합니다. 생성 모델은 훈련 예제와 다른 새로운 이미지를 생성하기 때문에 L2 노름으로 수행되는 픽셀 단위 비교로는 품질을 평가할 수 없습니다.
대신 FID는 두 이미지 세트가 두 개의 다차원 가우시안 분포에서 추출된 것처럼 모델링합니다. 실제 이미지는 \(\mathcal{N}(\mu, \Sigma)\)로, 생성된 이미지는 \(\mathcal{N}(\mu', \Sigma')\)로 표시합니다. 이러한 분포 간의 거리는 2-바서슈타인 거리(2-Wasserstein distance)로 계산되며, 평균과 공분산의 차이를 모두 고려합니다. 이 접근 방식은 개별 이미지가 실제처럼 보이는지 여부뿐만 아니라 생성된 세트가 실제 세트와 동일한 변형 범위를涵盖하는지도 포착합니다.
픽셀 공간에서 이미지를 직접 비교하는 대신, FID는 합성곱 신경망, 특히 Inception v3 아키텍처를 사용하여 고수준 특징을 추출합니다. 마지막 풀링 계층의 2048차원 활성화 벡터가 각 이미지를 대표하는 데 사용됩니다. 이러한 특징은 개 품종이나 비행기와 같은 실제 객체에 해당하므로, 원시 픽셀보다 의미론적으로 더 의미 있는 비교가 가능합니다.
공식 정의
두 확률 분포 \(\mu\)와 \(\nu\)가 \(\mathbb{R}^n\) 위에 있고 유한한 평균과 분산을 가질 때, 프레셰 거리는 다음과 같이 정의됩니다:
\[ d_F(\mu, \nu) := \left( \inf_{\gamma \in \Gamma(\mu, \nu)} \int_{\mathbb{R}^n \times \mathbb{R}^n} \lVert x - y \rVert^2 \, d\gamma(x, y) \right)^{1/2} \]
여기서 \(\Gamma(\mu, \nu)\)는 주변 분포가 \(\mu\)와 \(\nu\)인 모든 결합 분포(커플링)의 집합입니다. 이는 2-바서슈타인 거리이며, 두 분포가 모두 가우시안일 때 닫힌 형태의 해가 있습니다. FID의 맥락에서 분포는 특징 벡터의 경험적 평균과 공분산을 사용하여 가우시안으로 근사되므로 계산이 가능합니다.
쿨백-라이블러 발산과 같은 더 단순한 지표 대신 프레셰 거리를 사용하면 FID는 평균 이동과 공분산 불일치를 모두 포착하여 분포 유사성에 대한 더 미묘한 측정을 제공합니다.
인셉션 점수와의 비교
FID 지표는 인셉션 점수(IS)를 대체하는 것이 아니라 보완합니다. 가장 낮은 FID 점수를 달성하는 분류기는 더 큰 샘플 다양성을 가지는 경향이 있는 반면, 가장 높은 IS 점수를 달성하는 분류기는 개별 이미지 내에서 더 나은 품질을 가지는 경향이 있습니다. 이러한 차이는 IS가 생성된 이미지만 평가하고 신뢰할 수 있는 다양한 클래스 예측을 생성하는 모델에 보상을 제공하지만, 대상 분포를 벗어난 이미지를 생성하는 모델을 처벌하지 않기 때문에 발생합니다. FID는 실제 참조 세트와 비교함으로써 충실도 부족과 다양성 부족을 모두 처벌합니다.
실제로 연구자들은 모델 성능에 대한 더 완전한 그림을 제공하기 위해 FID와 IS를 모두 보고하는 경우가 많습니다. 그러나 FID는 인간의 지각과 더 강한 상관 관계를 보이기 때문에 최근 많은 연구에서 선호되는 지표가 되었습니다.
생성 모델 평가에서의 사용
FID는 고해상도 StyleGAN1 및 StyleGAN2 네트워크와 확산 모델을 포함한 많은 최근 모델의 품질을 측정하는 데 사용되었습니다. 예를 들어, StyleGAN2는 FFHQ 및 LSUN 데이터 세트에서 최첨단 FID 점수를 달성하여 다양하고 사실적인 이미지를 생성하는 능력을 입증했습니다. DDPM 및 점수 기반 모델과 같은 확산 모델도 FID로 평가되었으며, 종종 GAN에 비해 경쟁력 있거나 우수한 점수를 달성했습니다.
이 지표는 동일한 데이터 세트에서 훈련된 모델을 비교하는 데 특히 유용하며, 진행 상황을 정량화하는 표준화된 방법을 제공합니다. 그러나 FID는 참조 데이터 세트의 선택과 사용된 샘플 수에 민감합니다. 샘플 수가 너무 적으면 불안정한 추정치가 나올 수 있습니다. 연구자들은 일반적으로 신뢰할 수 있는 FID 점수를 계산하기 위해 수천 개의 이미지를 사용합니다.
한계 및 비판
널리 사용됨에도 불구하고 FID에는 한계가 있습니다. 특징 분포가 가우시안이라고 가정하지만, 실제로는 그렇지 않을 수 있어 잠재적인 부정확성이 발생할 수 있습니다. 또한 FID는 고정된 Inception 네트워크를 사용하여 계산되므로, 의료 영상이나 위성 영상과 같은 자연 이미지 외부의 도메인에서는 모든 측면을 포착하지 못할 수 있습니다. 이 지표는 샘플 수에 따라 편향될 수 있으며, 개별 이미지 품질 평가를 제공하지 않습니다.
최근 연구에서는 의미론적 유사성에 더 잘 부합하도록 Inception 특징 대신 CLIP 임베딩을 사용하는 대안을 제안했습니다. 이러한 접근 방식은 FID의 일부 단점을 해결하는 것을 목표로 하지만, FID는 여전히 이 분야의 사실상 표준으로 남아 있습니다.
구현 및 계산
FID 계산에는 여러 단계가 포함됩니다. 먼저 실제 이미지의 참조 데이터 세트를 선택하고 모든 이미지를 사전 훈련된 Inception v3 네트워크에 통과시켜 2048차원 특징 벡터를 추출합니다. 생성된 이미지에 대해서도 동일한 과정을 수행합니다. 그런 다음 두 세트의 특징 벡터에 대한 평균과 공분산을 계산합니다. 마지막으로 위 공식을 사용하여 프레셰 거리를 계산합니다.
실제로는 샘플 수가 특징 차원보다 적을 때 수치적 안정성을 보장하기 위해 공분산 행렬을 정규화하는 경우가 많습니다. PyTorch 및 TensorFlow와 같은 라이브러리에서 오픈 소스 구현을 사용할 수 있어 연구자와 실무자가 FID를 쉽게 계산할 수 있습니다.
향후 방향
생성 모델이 계속 발전함에 따라 평가 지표도 적응해야 합니다. FID는 이 분야의 발전에 중요한 역할을 했지만, 더 강력하고 해석 가능한 지표에 대한 연구가 진행 중입니다. 앞서 언급한 CLIP 임베딩의 사용은 그러한 방향 중 하나입니다. 또한 공정성이나 견고성과 같은 다른 측면을 평가하는 지표도 탐구되고 있습니다. 그럼에도 불구하고 FID는 생성 모델을 평가하는 머신 러닝 도구 상자에서 여전히 핵심 도구로 남아 있습니다.
자세한 내용은 인셉션 점수, 생성적 적대 신경망, 확산 모델, StyleGAN과 같은 관련 개념을 참조하십시오. FID의 개발은 딥 러닝 및 컴퓨터 비전의 발전과도 연결되어 있습니다.