Generation - 2

TOLL TERRY·2024년 2월 21일
0

생성 모델 평가 지표의 필요성

  • 판별 모델의 종류
  • 정답(GT)가 존재하므로, 모델의 출력을 정답과 비교하기 용이
  • 범주형 데이터를 사용하는 경우 분류문제와 연속형 데이터는 회귀문제

평가지표

범주형 데이터

정확도

  • 각 클레스별 데이터의 정확도 accuracy를 평가함.

f-1 score

  • 각 클래스별 데이터가 불균형한 경우엔, 정확도만으로 평가하지 않고 정밀도, 재현율, f-1score(정밀도와 재현율의 조화평균)를 이용함.

연속형 데이터

MSE(유클라디안거리), MAE(맨하튼 거리)

  • 회귀 분석에서는 실제 값과 모델이 예측한 값의 차이를 기반으로 평가함.

결정계수(R-squared), 상관계수(corrlelation)

  • 주어진 데이터의 값의 범위가 다른 경우, MSE와 MAE만으로 평가할 수 없음.

위와 같이 데이터의 1000개의 중에 100개, 100개 중에 10개를 틀린다면, 둘다 0.1프로만큼의 차이가 발생한다는 점을 MSE, MAE만으로는 평가하기 어려움.

생성 모델 평가의 어려움

  • 판별 모델과 달리 비교할 정답이 존재하지 않아, 결과를 직접적으로 비교할 대상이 없음.

  • 학습 데이터를 정답으로 사용할 경우, 학습 데이터를 그대로 복제하는 현상이 발생함.

    위와 같이 학습데이터에만 학습할 경우 손실이 차이가 안나게 되면, 그냥 학습데이터의 복제가 이루어지므로, 생성 모델은 윗사진이 더 잘 만들었다고 볼 수 있음.

  • 사람을 활용한 생성 모델 평가 방식(사람이라는 인건비, 시간 등등의 비용이 많이 들음)

생성 모델의 평가 (품질과 다양성 2가지 관점)

  • 품질(충실도 Fidelity 이미지의 품질)
  • 다양성(Diversity 이미지의 다양성)

생성 모델 평가 지표 - 6가지

  • 단순한 방법 : 학습에 사용한 원보 데이터와 생성된 결과물을 비교
    -- 픽셀 거리 (생성 모델에 동작이 잘 안되는 경향이 있음)
    -- 특징 거리 (IS)

Inception Score(IS)

  • Inception v3 모델을 분류기로 이용하여, GAN을 평가하기 위해 고안된 지표
  • 예리함(Sharpness)과 다양성(Diversity) 두가지를 고려함.


예리함이 적으면 블러리(흐려짐), 높으면 선명함

무질서도(Entropy)

  • 예리함과 다양성 지표는 무질서도(엔트로피)로 해석 가능함.
  • 무질서도가 높다면, 임의의 변수 x에 대해 예측되는 y의 값이 많다. (예측이 어려움), 확신이 없음
  • 무질서도가 낮다면, 임의의 변수 x에 대해 예측되는 y의 값이 적다. (예측 가능함), 확신이 있음

주사위의 무질서도가 더 높음. (동전의 앞뒤를 예측보다 주사위 숫자 예측을 맞추는 것이 더 확률이 낮다)
동전 : 앞뒤 나올 확률 1/2 :: log 2 ( -1/2 log 1/2 - 1/2 log 1/2 = -1 log 1/2) -> 2번곱셈
주사위 : 각 숫자 확률 1/6 :: log 6 ( -1/6 log 1/6 ...... = -1 log 1/6) -> 6번곱셈

  • 예리함
  • 특정 숫자를 생성했을때, 숫자 분류기가 제대로 인식한다면 좋은 예리함을 가진 데이터를 생성한 것.
  • 어느 클래스인지, 확신을 못가지고 있을때, 선명하게 된 이미지를 잘 분류가 가능하므로 모델 예측의 엔트로피가 낮게 나오는 것이 더 선명하고 높은 품질의 영상이라 볼 수 있음.
  • 다양성
  • 좋은 품질의 데이터를 생성하는 것만큼 다양한 데이터를 생성하는 것.
  • 다양성이 높은 모델은 maginal에 엔트로피가 높게나옴(=무질서도가 높음), 분포가 uniform 분포에 가까워질수록 무질서도가 높아지게 됨. 즉 분포가 uniform하게 된다면, label(타겟, class)를 무엇이라고 나올지 예측이 어려워지므로, 엔트로피가 높아짐.
  • IS의 계산
  • 정보 엔트로피를 계산하는 것은 확률에 의존하게 되므로, 이는 확률을 나타내는 지표로 이미지넷 classifier를 사용하게 된 것임. 입력에 대해 특정 class에 속한 확률을 의미함.

  • IS의 곱으로 이루어져 있으므로, 이는 두 확률 분포의 KL-Divergence를 계산하는 것과 동일하게 됨. (선명하면 특정 class로 분류될 확률이 높음), (다양하면 모든 class로 고르게 분포가 됨을 활용함.

한계점

  • 학습 데이터셋과 다른 데이터를 생성하는 경우 제대로 평가하기 어려워짐.
    예시 (얼굴사진으로 class로 분류될 확률이 아닌 것들의 데이터 셋이라면 평가가 불가능해짐.)
    사람의 얼굴을 만들경우, 모두다 그냥 사람으로만 분류하게 됨.

  • IS가 높은 데이터를 생성하면 계속 같은 데이터를 생성함. (오로지 생성된 데이터만을 이용하여 계산됨.) - 품질이 높은 데이터로 계속 만들어도 좋은 점수를 반환하는 한계점. 혹은 각 class별로 이미지를 1장씩만 똑같이 많이 만들어도 다양성을 굉장히 높게 평가하는 한계가 있음.

  • 이외에도 기울기 기반 공격, 리플레이 공격을 통해 점수 조작이 가능함. (노이즈가 많아 객체(class)라고 볼 수 없음에도, IS점수가 높게 나옴)

Frechet Inception Distance(FID)

  • 생성된 데이터의 특징 벡터를 이용하여 학습 데이터와의 거리를 계산함. (낮을 수록 더 좋음)
  • IS와는 다르게, 분류기를 활용하지 않고, 특징 추출기로만 사용함.
  • IS의 문제점, 데이터의 확률 벡터가 아닌 특징 벡터만을 활용하게 됨.

  • 학습 데이터와 생성 데이터 모두 활용함. (IS는 생성 데이터만 활용함)
  • 특징들의 Mean과 Variance(분산)을 측정하여, FID 거리를 계산한다.
  • 먼저 Mean값 간의 L2 거리(유클라디안) 측정 + 분산을 활용해서 Tr를 계산함.

한계점

  • FID점수는 품질(충실도 : Fidelity)와 다양성(Diversity)를 각각 평가할 수 없음. (즉, 품질이 좋은 것인지, 다양성이 강조된 모델인지, 모두다 균형잡힌 것인지 모름)

개선된 정밀도, 재현율

  • 정밀도 : 모델이 positive라 예측 했을때, 실제로도 True인거
    생성된 데이터 기준에서, 실제 데이터 분포에 가까운 데이터 (얼마나 품질이 좋은가)
  • 재현율 : 실제 True일때, 모델도 positive인거
    실제 데이터 중에서, 생성된 데이터 분포에 가까운 데이터 (얼마나 다양성 좋은가)

분포의 겹친 부분을 계산하는 방법

  • Close to (근방)
    반지름 r인 범위 내에 존재하면 근방에 속하는 데이터로 간주함. 있으면 1, 없으면 0

개선된 정밀도 계산

  • 판별모델에서 정밀도 = (TP) / (TP + FP)
  • 생성모델에서 개선된 정밀도 = 실제 데이터 분포 내의 생성된 데이터 / 생성된 데이터
    (생성된 데이터) 중에서 (실제 데이터 분포에 속하는 생성된 데이터)의 비율
    그림에서는 실제 데이터셋 근방에 들어간 데이터 1 / 생성된 데이터 3 = 1/3 (0.3333)

개선된 재현율 계산

  • 판별모델에서 재현율 = (TP) / (TP + FN)
  • 생성모델에서 개선된 재현율 = 생성된 데이터 분포 내의 실제 데이터 / 실제 데이터
    (실제 데이터) 중에서 (생성된 데이터 분포에 속하는 실제 데이터)의 비율
    그림에서는 생성된 데이터 분포에 실제 데이터 3 / 실제 데이터 4 = 3/4 (0.75)

한계점

  • 이상치에 민감함 (일부 데이터만 임베딩 위치가 변해도 값이 크게 변함)

  • 평가지표로는 불안정함.
    개선된 정밀도

    개선된 재현율

  • 또한, 실제 데이터와 생성된 데이터의 분포가 동일하더라도 샘플링에 따라 점수가 낮을 수 있음.

조건부 정확도

LPIPS(Learned Perceptual Image Patch Similarity)

CLIP-Score

profile
행복을 찾아서(크리스 가드너)

0개의 댓글