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

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

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

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

이번 시간에는 Generative Model의 Performance Metric에 대해 알아보겠습니다.

수업에서는 Precision & Recall을 예시로 들었는데

사실 가장 널리 쓰이는 Performance Metric은 Negative Log-Likelihood (NLL) 및 Frechet Inception Distance (FID)입니다.

1. NLL

보통 Generative Model 학습은 training dataset에 대해 NLL을 줄이는 방향으로 진행되는데,

이러한 학습되고 있는 loss를 test dataset에 대해 구한 것이 test NLL입니다.

NLL은 우리가 학습한 Generative Model이 얼마나 test dataset에서 높은 likelihood를 가지고 있는지 확인하는 Metric입니다.

Reporting하는 NLL의 단위는 bits per dimension이며, 이는 각 pixel의 r,g,b 값을 맞추는데 얼마나 많은 trial이 걸리는지 잰 것입니다.

즉, pixel의 r값은 [0,255] 사이의 정수값을 갖기 때문에 r값을 정확히 알아내기 위해서는 우리는 maximum 8번의 trial을 하면 됩니다.

여기서 trial이라는 것은, 모델에 물어본다는 것입니다.

예를 들어서 어떤 pixel의 red 값이 135이라고 하겠습니다.

학습한 모델에 우리는 아래의 과정으로 red값을 정확히 알아낼 수 있습니다.

(trial 1) red 값이 128보다 커? -> Yes

(trial 2) red 값이 192보다 커? -> No

(trial 3) red 값이 160보다 커? -> No

(trial 4) red 값이 144보다 커? -> No

(trial 5) red 값이 136보다 커? -> No

(trial 6) red 값이 132보다 커? -> Yes

(trial 7) red 값이 134보다 커? -> Yes

-> 아하, 그럼 red값은 134보다 크고 136보다 작거나 같으니까 135 아니면 136 둘 중 하나겠구나

(trial 8) red 값이 135보다 커? -> No

-> 아하! red값은 135이구나!

이러한 방식으로 maximum 총 8번의 trial로 pixel의 red value를 알아낼 수 있습니다.

NLL이 3이라는 것은 평균적으로 3번의 trial로 학습한 모델이 test dataset의 dimension-wise pixel value를 정확히 알아맞춘다는 것이지요.

잘 학습한 모델의 경우 굳이 8번을 trial하지 않고도 대략적으로 어느 정도 범위에 있는지 알기 때문입니다.

NLL은 낮을 수록 좋고, 현재 가장 좋은 NLL값은 가장 널리 쓰이는 ImageNet dataset에서 약 3.5 근처에 있습니다.


FID에 대한 설명은 다음 글에서 이어서 말씀드리도록 하겠습니다.

감사합니다

조교 드림