Post

FID와 IS

주제

GAN을 생성한 이미지 품질을 사람이 평가하는 방법 외의 다른 방법을 조사하게 되었다.

주제 선정 이유

GAN을 이용해 이미지를 생성하고 사용할 때 보통 알아볼 만하거나 현실에 있는 물체인 듯하면 이를 선택하여 사용하곤 했다. 이에 이렇게 사람이 어떤 것이 좋다고 생각하여 선택하는 것이 아닌 다른 방법이 있는지 궁금해져 GAN을 생성한 이미지 품질을 사람이 평가하는 방법 외의 다른 방법을 조사하게 되었다. 직접 평가하는 것에 시간이 투자되는 것이 아깝기도 한데 방법이 없나 궁금해 조사해 보게 되었다. 또한 다른 나를 위해 사용하는 것이 아닌 다른 사람도 보는 서비스에 사용하게 될 때는 다른 사람의 취향도 맞아야 하므로 복잡한 점이 있었기 때문이다.

내용

평소에 사용했듯이 사람이 직접 육안으로 GAN의 성능을 평가하는 건 가장 일반적이고 직관적인 방법의 하나라고 한다. 이는 보통 에포크마다 생성된 이미지를 평가한다. 하지만 평가하는 사람에 따라 고정관념, 편견 등 지표가 나누어지기에 주관적이고 평가하는 사람에 따라 도메인 지식의 영향이 크기에 적용 분야가 한정적이고 계속 같은 이미지를 생성하는 mode-collapse도 잡아낼 수 없다. Gan을 평가하는 방법에 대해서 이제 살펴보도록 하겠다. IS(Inception Score)와 FID(Frechet Inception Distance)를 대표적으로 살펴보고자 한다. 우선 IS는 이미지의 질과 다양성을 측정한다. 질은 고품질 이미지를 생성했는지를 측정하고 다양성은 이미지의 다양성을 의미한다. 이 두 가지가 모두 참이라면 점수가 높아진다. 둘 중 하나 또는 둘 모두가 거짓이라면 반대로 점수가 낮아진다. 이렇게 여러 가지 이미지를 생성할 수 있음을 알 수 있다. 가장 낮은 점수는 0점이고 수학적으로 가장 높은 점수는 무한대이지만 실제로는 무한하지 않은 상한선이 나타날 수 있다. 이는 생성된 이미지를 분류한다. 각 이미지가 학습된 클래스들과 얼마나 닮았는지 각각 몇 퍼센트의 확률로 닮았는지를 표시한다. 개별 이미지가 어떤 이미지인지 명확하게 구분될 수 있으면서 이미지 세트의 다양성이 높을 때 점수가 가장 높다.

Image Alt 텍스트

이는 한계도 있다. 훈련 데이터 세트에 없는 것을 생성할 때 이미지가 고품질이더라도 해당 이미지가 특정 라벨로 분류되지 않기 때문에 낮은 IS를 받는다. 두 번째로 분류기 네트워크가 이미지 품질 개념과 관련된 특징을 감지할 수 없는 경우이다. 이는 우리 사람이 직접 평가할 때는 좋지 않지만, 높은 IS 점수를 받을 수 있다. 또한 생성기가 라벨 당 하나의 이미지만 생성하고 각 이미지를 여러 번 반복할 때도 높은 점수를 받는다. 마지막으로 훈련 데이터를 그대로 기억하고 복제하는 경우가 있다. 다음으로 FID에 대해서 알아보도록 하겠다. 이는 기존 IS를 개선하기 위해 오직 GAN 성능 평가를 위해 개발되었다. IS는 생성된 이미지만 사용하여 성능을 평가하는 반면, FID는 대상 도메인의 실제 이미지 모음 통계와 생성된 이미지 모음 통계를 비교하여 평가를 진행한다. FID가 있는데 이는 실제 이미지와 생성된 이미지 간의 특징 거리 측정에 가장 널리 사용된다. 이는 곡선을 따라 점들의 위치와 순서를 고려한 곡선 간의 유사성을 측정하는 방법이다. 이는 두 분포 사이의 거리를 측정하는 데에도 사용된다. FID는 먼저 학습된 Inception v3를 사용한다. Inception v3에서 출력 레이어를 제거하고 출력이 마지막 풀링 레이어의 활성화를 사용한다. 이 출력 레이어에는 총 2,048개의 활성화가 있으므로, 각 이미지는 2,048개의 활성화 특징으로 예측이 된다. 먼저, 실제 이미지가 표현되는 방법을 참조하기 위해 생성하려는 영역의 실제 이미지 모음에 대한 2,048개의 특징 벡터를 구한다. 그리고 생성된 이미지에 대한 특징 벡터도 구한다. 구한 벡터들을 활용해 FID 점수를 구한다. FID도 장점만 있는 것이 아닌 단점도 있다. 사전 훈련된 Inception 모델을 사용하며 이는 모든 특징을 담아내지 못할 수 있다. 이에 FID 점수가 높을 수 있다. 또한 큰 샘플 크기가 필요하다. 권장되는 최소 크기가 10000이다. 고해상도 이미지는 컴퓨터 리소스를 많이 사용하고 속도가 느릴 수 있다. FID 점수 계산에 제한된 통계량이 사용된다.

성장 및 변화

GAN의 생성 이미지 품질을 평가하는 방법인 객관적인 방법을 새롭게 알고 이 중요성을 알게 되었다. 평가 지표를 통해 모델을 평가하고 생성자와 판별자의 깊이와 너비 조절을 통해 더 높은 품질의 이미지를 생성하도록 모델을 향상할 수 있음을 알게 되었다. GAN의 생성 이미지 품질 평가 방법과 평가지표의 장단점을 통해 이미지 생성에 대한 이해와 지식을 넓힐 수 있었다. 이를 통해 다양한 평가지표와 접근 방법을 알아보며 아이디어를 얻을 수 있었다.

앞으로의 확장 연구 및 포부

IS와 FID의 수학적인 개념도 이해하고자 한다. FID를 이용해 GAN을 평가하는 과정에서 정규분포의 개념이 어떻게 사용되는지 알아보고자 한다. 이미지 생성과 관련하여 새로운 방향성을 탐색하고 발전시키고자 한다. 평가 지표들이 이미지 품질과 다양성을 평가하는 데 도움이 된다는 것을 알게 되었다. 다른 지표들에 대해서도 알아보고 기존의 평가지표의 한계를 인식하며, 이러한 한계를 극복하거나 더 정확한 평가를 위한 새로운 지표를 개발하고자 한다. 이를 통해 이미지 생성 분야에 이바지하고자 한다.

참고자료

  1. 12 Dec 2018 (v1), last revised 29 Mar 2019 (this version, v3), A Style-Based Generator Architecture for Generative Adversarial Networks, Tero Karras, Samuli Laine, Timo Aila 2.https://wandb.ai/wandb_fc/korean/reports/-Frechet-Inception-distance-FID-GANs—Vmlldzo0MzQ3Mzc 3.https://velog.io/@viriditass/GAN%EC%9D%80-%EC%95%8C%EA%B2%A0%EB%8A%94%EB%8D%B0-%EA%B7%B8%EB%9E%98%EC%84%9C-%EC%96%B4%EB%96%A4-GAN%EC%9D%B4-%EB%8D%94-%EC%A2%8B%EC%9D%80%EA%B1%B4%EB%8D%B0-How-to-evaluate-GAN
  2. https://nippleshot.github.io/2020/12/25/GANMetric.html
This post is licensed under CC BY 4.0 by the author.