GAN의 성능지표가 되는 score 두 가지 비교

(요즈음은 대부분 FID, IS만 사용하는 것 같다.

이미 IS/ FID만으로 아래 세 가지 value를 담을 수 있으며, FID와 LPIPS가 겹치는 개념이라서 인듯하다.)

 

우선 GAN이 달성해야 하는 목표는 아래 세가지라고 볼 수 있다.

1. 얼마나 실제 같은 real한 이미지가 나오는지 (Quality)

2. 이미지가 다양하게 만들어지는지 (Diversity)

3. 얼마나 실제 이미지(=학습 이미지)의 분포와 비슷하게 나오는지 (Similarity)

 

 

+ IS, FID 부분은 아래 블로그를 참조했으며, 수식 및 이미지도 가져와서 사용했다.

https://jonathan-hui.medium.com/gan-how-to-measure-gan-performance-64b988c47732

 

GAN — How to measure GAN performance?

In GANs, the objective function for the generator and the discriminator usually measures how well they are doing relative to the opponent…

jonathan-hui.medium.com


IS : Inception Score

Inception 모델(Classification)에서 이미지 및 그 레이블의 편차의 다양성을 담기 위해 설계된 수치 

 

IS 설명

: Diversity란 결국 Randomness와 같은 의미로, entrophy를 통해 측정한다. 

엔트로피는 random의 정도를 표현하는 값으로,

random할수록 = 예측 불가능할 수록 = diversity 할수록 => 높은 값이 나온다. 

즉, 엔트로피에 기반한 IS 역시 diverse 할수록 높은 값이 나와야 한다.

 

: 다만, GAN 모델의 학습 방향 자체는 이와 달리  

즉 낮은 엔트로피를 갖도록 학습이 된다. (이때 y는 class label, x는 image)

 (이러한 학습 방향을 통해 이미지의 quality를 높인다.

  class label y를 잘 예측한다는 뜻은 더욱 실제와 비슷한 이미지가 나온다는 뜻)

 

+) 엔트로피에 대한 짧은 remind

: 아래 두 분포에서 y값을 가지고 x를 역추적 하기 더 어려운 것은 p2(blue)이다. 

따라서 p1보다 p2의 엔트로피가 더 높다. 

출처 : https://jonathan-hui.medium.com/gan-how-to-measure-gan-performance-64b988c47732

 

따라서 IS 는 KL divergence를 기반으로, "P(y|x)와 p(y)의 분포의 다른 정도"를 계산한다. 

 

+ KL divergence는 두 분포의 다른 정도를 표현함으로써, 그 값이 낮을 수록 두 분포가 유사하다는 뜻이다.

이 역시 엔트로피 기반으로 두 분포가 유사할 수록 엔트로피가 낮기 때문에 더 낮은 KL divergence 값이 나온다. 

 

출처 : https://jonathan-hui.medium.com/gan-how-to-measure-gan-performance-64b988c47732


FID : Frechet Inception Distance

FID 역시 inception model을 기반으로 한 수치로, inception model에서 추출한 feature간의 거리를 측정한다.

 

FID 설명

: 기존에 simmilarity를 판단하기 위해 pixel 간의 단순 거리를 측정하는 L2 loss 등이 있었다. 

다만 L1, L2 loss는 단순히 pixel 간의 값을 빼서 계산하는 값으로 실제 사람이 인지하는 두 이미지 간의 차이와는 

그 대소관계가 다르다. 

 

: 따라서, 실제 이미지 x와 생성된 결과 이미지 g를 각각 inception model에 통과시킨 후 추출한 피쳐의

평균과 공분산을 계산하여 두 분포 사이의 거리를 나타내어 계산한다. (similarity)

출처 : https://jonathan-hui.medium.com/gan-how-to-measure-gan-performance-64b988c47732

+ ) 앞의 항 : x와 g 사이의 평균의 L2 loss, 뒤의 항 : 두 분포 사이의 공분산을 구하는 diagonal 계산식

 

GAN은 학습 이미지의 분포를 더 잘 담을 수록 더 좋은 성능을 내는 것이니,

두 분포사이의 차이가 적을 수록 = FID 값이 작을 수록 더 좋은 성능이다.

 


'딥러닝 공부 > Generatives' 카테고리의 다른 글

03. Generative model 분류  (0) 2022.02.16
02. Generative model - 기본1 prior vs posterior  (0) 2022.02.15
[GAN] Intro - GAN이란?  (0) 2020.11.10

+ Recent posts