로그인 바로가기 하위 메뉴 바로가기 본문 바로가기

인공지능 및 기계학습 개론Ⅰ

임시 이미지 KAIST 산업및시스템공학과 문일철 KOOC (KAIST Open Online Course)
http://www.edwith.org/machinelearning1_17/forum/119277
좋아요 3563 수강생 17081

안녕하세요, 조교입니다.

지난 두 시간에 걸쳐서 NLL과 FID를 살펴보았습니다.

간단히 정리하자면, NLL은 학습한 모델이 Density 관점에서 얼마나 true data 근처에 몰려있는지 측정하는 것이고, FID는 학습한 모델에서 뽑아낸 데이터가 얼마나 true data 근처에 몰려있는지 측정하는 것입니다.

NLL과 FID 모두 학습한 모델이 얼마나 true data 근처에 몰려있는지를 측정하지만 오늘 설명드릴 Inception Score(IS)는 그와는 조금 다르게, true data 없이 성능 측정을 합니다.


FID에서와 마찬가지로 IS는 학습한 모델로부터 sample을 5만개 뽑은 후에 그 샘플들을 pretrained classification inception network에 태워서

가장 마지막 classification prediction값을 얻습니다.

이렇게 얻은 classification prediction의 예로, [0.7,0.2,0.1]는 생성한 샘플이 첫번째 class에 속할 확률이 0.7, 두번째 class에 속할 확률이 0.2라는 것을 의미합니다.

샘플이 더 true data에 가까울수록 classification prediction값은 [0.99,0.005,0.005]와 같이 좀 더 one-hot vector에 가까워집니다.

샘플을 x라고 하였을 때, classification prediction은  p(y\vert x)  p(yx) 라고 할 수 있는데요,

 IS=\exp\Big(E_{x\sim p_{g}}\big[D_{KL}\big(p(y\vert x)\Vert p(y)\big)\big]\Big)  IS=exp(Expg[DKL(p(yx)p(y))]) 를 통해 IS를 계산할 수 있습니다.

이 값은 Mutual Information과 연관이 있는데요,

 \log{IS}=E_{x\sim p_{g}}\big[D_{KL}\big(p(y\vert x)\Vert p(y)\big)\big]=\int p_{g}(x)\sum_{i}p(y=i\vert x)\log{\frac{p(y=i\vert x)}{p(y)}}dx  logIS=Expg[DKL(p(yx)p(y))]=pg(x)ip(y=ix)logp(y) p(y=ix)dx 

 =\int \sum_{i}p_{g}(x)p(y=i\vert x)\log{\frac{p(y=i\vert x)p_{g}(x)}{p(y)p_{g}(x)}}=MI(y;x)  =ipg(x)p(y=ix)logp(y)pg(x) p(y=ix)pg(x)=MI(y;x) 

가 되어, log IS가 Mutual Information이 됩니다.

우리는 Mutual Information은 x와 y가 잘 연관될 때 커짐을 알고 있는데요,

이것은 다시 말하면 x를 생성하는 분포인  p_{g}  pg 가 조금 더 (y를 학습할 때 이용되었던) data distribution과 가까워야 커진다는 말입니다.


이론적으로 IS는 1부터 1000 사이의 값을 가지는데, KL divergence는 0보다 크거나 같기 때문에 exp function에 의해 1보다 큰 것입니다.

또한 pretrained inception network를 imagenet 데이터에 대해 학습하였기 때문에 number of class인 1000값에 IS가 bound되는 것입니다.

하지만 imagenet 데이터셋에 대해서조차도 IS가 1000값은 나오지 않습니다.

예를 들어, 256x256 해상도를 가지는 imagenet 데이터셋의 IS는 training data에서 332, validation data에서는 234를 가집니다. 이는 이론적 upper bound인 1000과는 매우 크게 차이나는 숫자입니다.

또한, IS는 adversarial attack에 취약한 metric이라는 단점도 있습니다.

그렇기 때문에 noisy하고 real-world에 존재하지 않는 듯한 이미지를 생성하는 모델의 IS가 매우 높게 측정될 수 있습니다.


다음 시간에는 (improved) precision에 대해 살펴보도록 하겠습니다.