14-3. 이미지 생성 모델 평가 지표: FID, IS
1. 이미지 생성 모델 평가의 중요성
이미지 생성 모델은 딥러닝 기술의 눈부신 발전을 보여주는 분야 중 하나입니다. 텍스트 설명으로부터 이미지를 생성하거나, 기존 이미지를 변형하는 등 다양한 작업을 수행하며, 그 성능은 끊임없이 개선되고 있습니다. 이러한 모델의 성능을 객관적으로 평가하는 것은 모델 개발 및 연구에 필수적입니다. 단순히 "멋지다" 또는 "실제 같다"는 주관적인 평가만으로는 모델의 객관적인 비교가 어렵기 때문입니다. 객관적인 평가 지표는 모델의 개선 방향을 제시하고, 다양한 모델 간의 비교를 가능하게 하며, 연구 결과를 투명하게 공유하는 데 기여합니다.
2. FID (Frechet Inception Distance)
1) FID의 개념
FID는 이미지 생성 모델의 성능을 평가하는 대표적인 지표 중 하나입니다. FID는 생성된 이미지와 실제 이미지(ground truth) 간의 유사성을 측정하여 모델의 성능을 평가합니다. FID는 두 이미지 집합의 특징 분포 간의 거리를 계산하며, 거리가 짧을수록 생성된 이미지가 실제 이미지와 유사하다는 것을 의미합니다. FID는 이미지의 픽셀 값을 직접 비교하는 대신, Inception Network와 같은 사전 훈련된 CNN(Convolutional Neural Network)을 사용하여 이미지의 특징을 추출하고, 추출된 특징 분포를 비교합니다.
2) FID 계산 방법
FID의 계산 과정은 다음과 같습니다.
- 특징 추출: 실제 이미지와 생성된 이미지를 Inception Network에 입력하여 각 이미지의 특징 벡터를 추출합니다. Inception Network는 이미지의 복잡한 특징을 효과적으로 추출하도록 설계된 CNN 구조입니다. 일반적으로 Inception Network의 마지막 풀링 계층(pooling layer)의 출력을 특징 벡터로 사용합니다.
- 평균 및 공분산 계산: 실제 이미지와 생성된 이미지의 특징 벡터에 대해 각각 평균($\mu$)과 공분산($\Sigma$)을 계산합니다. 각 집합의 특징 벡터는 고차원 공간에 분포하게 되며, 평균은 이 분포의 중심을, 공분산은 분포의 형태를 나타냅니다.
-
Frechet Distance 계산: 두 분포 간의 Frechet Distance를 계산합니다. Frechet Distance는 다음과 같은 수식으로 표현됩니다.
$$ FID = ||\mu_r - \mu_g||^2 + \text{Tr}(\Sigma_r + \Sigma_g - 2(\Sigma_r \Sigma_g)^{1/2}) $$
여기서 $\mu_r$과 $\Sigma_r$은 실제 이미지의 특징 벡터의 평균과 공분산, $\mu_g$와 $\Sigma_g$는 생성된 이미지의 특징 벡터의 평균과 공분산입니다. $\text{Tr}$은 행렬의 대각합을 나타냅니다.
- $||\mu_r - \mu_g||^2$: 두 분포의 평균 간의 유클리드 거리 제곱
- $\text{Tr}(\Sigma_r + \Sigma_g - 2(\Sigma_r \Sigma_g)^{1/2})$: 두 분포의 공분산 행렬 간의 차이를 나타내는 항. 공분산 행렬은 특징 간의 상관관계를 파악하는 데 사용됩니다. 4. FID 점수 반환: 계산된 Frechet Distance 값을 FID 점수로 반환합니다. FID 점수가 낮을수록 생성된 이미지가 실제 이미지와 더 가깝다는 것을 의미합니다.

3) FID의 장점과 단점
- 장점
- 계산이 비교적 간단하고 효율적입니다.
- 실제 이미지와 생성된 이미지의 전반적인 특징 분포를 고려하여 평가합니다.
- 높은 FID 점수는 모델의 성능 저하를 직관적으로 나타냅니다.
- 단점
- Inception Network에 의존하므로, Inception Network의 편향이 결과에 영향을 미칠 수 있습니다.
- FID는 이미지의 전체적인 품질을 평가하지만, 생성된 이미지의 다양성을 직접적으로 측정하지는 않습니다.
- FID는 이미지의 개별적인 세부 사항에 대한 평가를 놓칠 수 있습니다. 예를 들어, 생성된 이미지에 약간의 왜곡이나 아티팩트가 있는 경우에도 FID 점수는 크게 영향을 받지 않을 수 있습니다.
3. IS (Inception Score)
1) IS의 개념
IS는 또 다른 널리 사용되는 이미지 생성 모델 평가 지표입니다. IS는 생성된 이미지의 품질과 다양성을 동시에 평가하는 데 초점을 맞춥니다. IS는 Inception Network를 사용하여 각 이미지의 특징을 추출하고, 이를 기반으로 생성된 이미지의 품질과 다양성을 평가합니다. IS는 생성된 이미지가 실제 이미지와 얼마나 유사한지를 평가하는 동시에, 생성된 이미지가 얼마나 다양한지를 측정합니다.
2) IS 계산 방법
IS의 계산 과정은 다음과 같습니다.
- 특징 추출 및 확률 분포 계산: 생성된 이미지를 Inception Network에 입력하여 각 이미지의 특징을 추출합니다. Inception Network의 마지막 레이어의 출력은 각 이미지에 대한 클래스 확률 분포로 변환됩니다. 이 확률 분포는 이미지의 품질을 나타냅니다. 높은 확률은 Inception Network가 이미지를 특정 클래스로 잘 분류할 수 있음을 의미하며, 이는 이미지의 품질이 좋다는 것을 나타냅니다.
- 조건부 확률 계산: 각 이미지에 대해 Inception Network가 예측한 클래스 확률 분포를 계산합니다. 이는 $p(y|x)$로 표현되며, 이미지 $x$가 주어졌을 때 클래스 $y$가 나타날 확률을 의미합니다.
- 주변 확률 계산: 모든 이미지에 대한 조건부 확률 $p(y|x)$의 평균을 계산하여 주변 확률 $p(y)$를 구합니다. 이는 생성된 모든 이미지에 대한 클래스 분포를 나타냅니다.
-
KL-divergence 계산: 조건부 확률 $p(y|x)$와 주변 확률 $p(y)$ 간의 KL-divergence를 계산합니다. KL-divergence는 두 확률 분포 간의 차이를 측정하는 지표입니다.
$$ D_{KL}(p(y|x) || p(y)) = \sum_{y} p(y|x) \log\frac{p(y|x)}{p(y)} $$
KL-divergence는 각 이미지에 대한 품질과 다양성을 동시에 측정하는 데 사용됩니다. 5. 지수 평균 계산: 모든 이미지에 대한 KL-divergence의 지수 평균을 계산하여 최종 IS 점수를 얻습니다.
$$ IS = \exp(E_x[D_{KL}(p(y|x) || p(y))]) $$
IS 점수가 높을수록 생성된 이미지의 품질이 좋고, 다양한 이미지를 생성한다는 것을 의미합니다.

3) IS의 장점과 단점
- 장점
- 생성된 이미지의 품질과 다양성을 동시에 평가합니다.
- Inception Network를 사용하여 이미지의 특징을 효과적으로 추출합니다.
- IS 점수는 모델 성능의 척도로서 이해하기 쉽습니다.
- 단점
- Inception Network에 의존하므로, Inception Network의 편향이 결과에 영향을 미칠 수 있습니다.
- 생성된 이미지의 전체적인 품질을 평가하지만, 이미지의 세부적인 세밀함은 고려하지 않을 수 있습니다.
- IS는 생성된 이미지의 현실감을 직접적으로 측정하지 않습니다.
4. FID와 IS의 비교 및 활용
FID와 IS는 서로 다른 측면에서 이미지 생성 모델을 평가합니다. FID는 생성된 이미지와 실제 이미지 간의 유사성을 측정하는 데 중점을 두는 반면, IS는 생성된 이미지의 품질과 다양성을 동시에 평가합니다.
| 특징 | FID | IS |
|---|---|---|
| 평가 대상 | 생성된 이미지와 실제 이미지 간의 유사성 | 생성된 이미지의 품질과 다양성 |
| 사용 모델 | Inception Network | Inception Network |
| 지표 | Frechet Distance | KL-divergence, 지수 평균 |
| 값의 의미 | 낮은 점수가 좋음 (실제 이미지와 유사) | 높은 점수가 좋음 (품질 및 다양성 우수) |
| 단점 | 다양성 측정 어려움, Inception Network 의존성 | 현실감 평가 어려움, 세부 사항 평가 부족, Inception Network 의존성 |
| 활용 | 모델 훈련 및 개선 방향 설정, 모델 간 비교, 결과 공유 | 모델 훈련 및 개선, 이미지 품질 및 다양성 측정 |
두 지표는 상호 보완적으로 사용될 수 있습니다. 예를 들어, FID가 낮고 IS가 높은 모델은 실제 이미지와 유사하면서도 다양한 이미지를 생성하는 모델로 평가될 수 있습니다.
실제 모델 개발 과정에서는 FID와 IS 외에도 다양한 평가 지표가 사용됩니다. 예를 들어, 사람의 시각적 판단과 일치하는 평가를 위해 인간 평가를 수행하기도 하며, 생성된 이미지의 특정 속성(예: 해상도, 객체 인식 정확도)을 평가하기 위한 별도의 지표를 사용하기도 합니다.
5. 결론
FID와 IS는 이미지 생성 모델의 성능을 평가하는 데 중요한 지표입니다. FID는 생성된 이미지와 실제 이미지 간의 유사성을, IS는 생성된 이미지의 품질과 다양성을 평가합니다. 각 지표의 장단점을 이해하고, 모델의 특성에 맞게 적절히 활용하는 것이 중요합니다. 또한, 다양한 평가 지표를 종합적으로 고려하여 모델의 성능을 정확하게 파악하고 개선 방향을 설정하는 것이 중요합니다. 이미지 생성 모델의 발전은 앞으로도 계속될 것이며, 이러한 평가 지표는 모델 개발에 핵심적인 역할을 할 것입니다.
비슷한 글 추천
14-1. Diffusion Models: 이미지 생성의 새로운 강자
Diffusion Models의 원리를 설명하고, 기존 GAN 기반 모델과 비교하여 장단점을 분석합니다.
11-6. Evaluation Metrics for Object Detection
Object Detection 모델의 성능을 평가하기 위한 다양한 지표 (Precision, Recall, mAP 등)를 설명하고, 각 지표의 의미와 계산 방법을 자세히 다룹니다.
14-2. Stable Diffusion: 고해상도 이미지 생성
Stable Diffusion 모델의 특징과 구조를 설명하고, 고해상도 이미지 생성 기술에 대한 이해를 돕습니다.
4-6. PyTorch: 모델 학습, 검증, 테스트
학습 과정, 검증 데이터, 테스트 데이터, 평가 지표
Comments (0)
No comments yet. Be the first to comment!
Please to write a comment.