GAN/이론

6. 훈련 평가

jwjwvison 2021. 6. 24. 20:08

 GAN이 어디에 위치하는지 알아보자. 다음 그림은 모델의 분류 체계를 보여준다. 이 그림에서 어떤 생성 모델이 있는지 알 수 있고 서로 비슷한 것과 비슷하지 않은 것을 확인할 수 있다.

 

 이 그림에 두가지 중요한 점이 있다.

 

 GAN은 위조범과 미술품 감정사 사이의(비유) 끝없는 경쟁 문제를 풀려고 한다. 일반적으로 판별자보다 생성자가 더 관심의 대상이라는 것을 생각하면 생성자에 대한 평가는 아주 주의 깊어야 한다.

 

<평가 프레임워크> 

평가를 하기 위한 가장 좋은 방법은 다빈치가 그릴 수 있는 모든 그림을 그리고 GAN이 생성한 이미지가 이 안에 포함되는지 확인하는 것이다. 이 과정을 최대 가능도 최대화(maximum likelihood maximization)비근사 버전으로 생각할 수 있다. 사실 이미지가 이 집합에 포함되는지 아닌지 알 수 있으므로 가능도와 관련이 없다. 하지만 실제로는 이런 방식은 절대 불가능하다.

 

 그다음 차선책은 이미지를 평가하고 찾고자 하는 것을 정의한 다음, 오류나 인공적으로 보이는 것을 헤아리는 것이다. 이는 매우 지엽적이다. 궁극적으로 미술품을 검토하기 위해 항상 평가자가 필요하다. 이 방법은 두 번째로 좋은 솔루션이지만 근본적으로는 확장하기 어렵다.

 

 우리는 생성된 샘플의 품질을 평가하는 통계적인 방법을 원한다. 확장이 용이하고 실험 결과를 평가할 수 있기 때문이다. 계산하기 좋은 평가 지표가 없다면 향상되는지 모니터링할 수 없다. 이는 특히 다른 실험을 평가할 때 문제가 된다. 

 

 최대 가능도와 같이 그냥 이미 알고 있는 것을 사용하면 어떨까? 이 방법은 통계적이고 어느 정도 원하는 것을 측정한다. 어쨌든 암묵적으로 여기에서 모두 파생되었다. 그럼에도 최대 가능도는 사용하기 어렵다. 내재된 분포와 가능도를 잘 추정해야 하기 때문이다. 이는 수십억 개 이상의 이미지가 필요하다는 것을 의미한다. 실제 훈련 세트에 좋은 샘플을 가지고 있더라고 최대 가능도보다 더 나은 것이 필요한 이유도 있다.

 

 최대 가능도에 있는 문제는 무엇일까? 최대 가능도는 많은 머신러닝 연구에서 잘 정립된 지표이다. 일반적으로 최대 가능도는 바람직한 성질을 많이 가지고 있다. 하지만 앞서 언급했듯이 GAN 평가 방법으로는 사용하기 쉽지 않다.

 

 게다가 실전에서 최대 가능도 근사는 과도하게 일반화하여 현실적이지 않게 다양한 샘플을 만든다. 이것이 최대 가능도를 항상 효과적으로 잘 사용함에도 불구하고 연구자들이 다른 평가 방법이 필요하다고 느끼는 이유이다.

 

<인셉션 점수(IS)>

먼저 이상적인 평가 방법이 어떤 것인지 고수준에서 희망 목록을 나열해보겠다.

 

 1. 생성된 샘플은 실제 사물과 같고 구분이 가능해야 한다

 2. 생성된 샘플은 다양하고 이상적으로 원본 데이터셋에 있는 모든 클래스를 포함해야 한다.

 

 이 지표가 왜 필요한지 설명했으므로 이제 기술적으로 자세히 알아보자. IS를 계산하는 과정은 간단하다.

 

<프레셰 인셉션 거리>

 다음으로 해결할 문제는 샘플의 다양성 부족이다. 종종 GAN은 클래스별로 손쉬운 이미지만 학습한다. 2017년 프레셰 인셉션 거리(FID)라는 새로운 방법이 제안되었다. FID는 잡음에 강하고 클래스 내부의 샘플 누락을 감지할 수 있어서 IS를 향상시킨다.

 

 IS 기반에서는 한 타입의 카테고리만 생성해도 기술적으로 카테고리 생성 조건을 만족하기 때문에 FID가 중요하다. 예를 들어 고양이 하나를 생성하는 알고리즘은 실제 우리가 원하는 것이 아니다(여러 종류의 고양이가 있기 때문이다). 게다가 GAN이 여러 각도의 고양이 이미지, 일반적으로 말하면 별개로 볼 수 있는 이미지 샘플을 만들어야 한다.

 

 마찬가지로 이미지를 그냥 외우는 GAN을 원하지 않는다. 다행히 이는 감지하기 아주 쉽다. 픽셀 공간에서 이미지 사이 거리를 계산하면 된다. 다음 그림에서 이를 보여준다.

 

 FID 구현은 복잡하지만 고수준 개념은 최소한의 수정으로 실제 데이터의 분포처럼 보일 수 있는 샘플의 생성 분포를 찾는 것이다. FID는 인셉션 모델에 이미지를 통과시켜 계산한다. 실제로 최종 출력 대신 중간 표형(특성 맵 또는 층)을 비교한다. 구체적으로 진짜와 생성된 두 분포의 임베딩된 평균, 분산, 공분산의 거리를 평가한다.

 

 이미지뿐만 아니라 어떤 분야의 분류기가 잘 훈련되어 있다면 이 분류기의 예측을 사용해 특정 샘플이 현실적으로 보이는지 측정할 수 있다. 요약하면 FID는 사실적인 이미지를 정량화하는 것처럼 어려운 작업에서도 사람의 평가에서 벗어나 분포 측면에서 확률적인 추론을 할 수 있다.

'GAN > 이론' 카테고리의 다른 글

8. 훈련 노하우  (0) 2021.06.26
7. 훈련의 어려움  (0) 2021.06.24
5. DCGAN - 구현  (0) 2021.06.23
4. DCGAN - 배치정규화  (0) 2021.06.23
3. GAN 훈련 알고리즘  (0) 2021.06.22