Inception Score (IS)
-
IS는 GAN의 성능을 측정하기 위해 다음 두 가지 기준을 고려한다.
- 생성된 이미지의 quality (진짜 같은 이미지가 만들어지는지)
- diversity (다양한 이미지가 만들어지는지)
-
엔트로피는 randomness로 볼 수 있는데, 확률 변수 $x$ 가 뻔하게 예측가능하다면 엔트로피가 낮다고 볼 수 있다.
-
GAN에서는 조건부 확률 \(P(y\vert x)\) 가 예측 가능성이 높기를(생성된 이미지의 클래스를 예측하기 쉬워야 함) 원하고 이는 낮은 엔트로피를 가져야 함을 알 수 있다.
- 여기에서 \(x\) 는 생성된 이미지이고 \(y\) 는 label 이다.
- IS 에서는 생성된 이미지의 클래스를 예측할 때 pre-train된 inception network를 사용함.
-
한편 \(P(y)\) 는 주변 확률로 다음과 같이 계산 가능하다.
\[\int_zp(y|x=G(z)) dz\]- 만약 생성된 이미지가 diverse 하다면 \(y\) 는 균등 분포에 가까워야 할 것이며, 이는 높은 엔트로피를 가져야 함을 알 수 있다.
-
이렇게 살펴본 두 기준을 합쳐보면 KL divergence를 활용한 다음 식을 만들 수 있다.
- IS 가 높을수록 좋은 성능을 낸다고 해석할 수 있다.
- 하지만 IS에는 실제 샘플 대신 생성된 이미지를 사용해 계산하고, 클래스 당 하나의 이미지만 생성하면 다양성이 낮더라도 \(p(y)\) 가 균등 분포에 가깝게 나오기 때문에 성능을 잘못 나타낼 수 있다는 단점이 있다.
Fréchet Inception Distance (FID)
-
FID는 Inception network의 중간 레이어에서 feature를 가져와 이를 활용한다.
-
실제 데이터의 분포를 활용하지 않는 단점을 보완해 실제 데이터와 생성된 데이터에서 얻은 feature의 평균과 공분산을 비교하는 식으로 구성된다.
- 실제 데이터와 생성된 데이터의 분포를 가우시안이라고 가정하고, 이 두 분포의 Wasserstein-2 distance(Fréchet distance)를 계산하는 식이다. (여기 참고)
-
여기에서 \(\text{Tr}\) 은 대각 성분의 합을 의미한다.
-
또한 실제 데이터의 평균과 공분산은 매번 계산할 필요가 없으므로 따로 저장해서 사용하는 편이다.
-
FID는 낮을수록 좋은 성능을 낸다고 해석할 수 있다.
-
FID는 IS보다 noise에 consist 한데, 해당 논문의 Appendix A1을 참고하자.