논문에 대한 질문은 Notion의 comment기능을 이용해주시기 바랍니다. Comment기능을 활성화 해놓았습니다.
Generative adversarial networks (GAN)의 소개 이후로 생성 모델은 비약적으로 발전해 왔다. 하지만, 생성된 이미지가 실제 이미지와 얼마나 유사한지를 정량적으로 평가하는 알고리즘, 방법론은 크게 발달된 것이 없다. 물론, Inception score (IS)나 Frechet Inception distance (FID) 같은 것들이 가장 유명하기는 하지만, 이 방법론들은 GAN이 생성하는 이미지들을 하나의 숫자로 축약해서 보여주기 때문에 다양한 관점에서 평가를 하는 것이 불가능한 지표들이다. 또한, FID와 같은 경우 classification network를 통과시켜 뽑은 embedding vector들이 정규분포를 따른다는 다소 무리한 가정을 하고 있다. 이는 Frechet distance가 임의의 분포에 대해 계산 가능한 공식으로 튀어나오지 않기 때문에 계산 가능한 공식으로 정리하기 위해 정규분포 가정을 하는 것이다.
이를 우회하기 위해 precision and recall (PR)과 같은 방법론이 개발되었고, 이 PR에 네이버에서 개발한 density and coverage까지 추가한 PRDC와 같은 지표까지 있기는 하지만, PR과 PRDC는 $k$-NN을 사용하기 때문에 hyperparameter 선정에 대한 issue가 있고, PRDC의 경우 high-dimensional normal distribution에 대해서 metric을 입증하기도 했다. 하지만 section 2와 3에서 볼 수 있듯 정규분포 가정은 실제 데이터에 적용하기엔 상당히 무리한 가정이다. 특히나 정규분포가 고차원 정규분포일수록 더더욱 그러하다.
본 연구에서는, hyperparameter 선정을 최소화하고, 정규분포에 대한 가정이 들어가지 않으며, GAN이 생성하는 영상이 얼마나 잘 생성되었나(=fidelity)와 GAN이 생성하는 영상이 실제 영상 대비 얼마나 다양하게 생성되어 mode collapse에 빠지지 않았는가(=diversity)를 동시에 측정할 수 있는 barcode 방법론을 소개한다.
위상적 데이터 분석(Topological Data Analysis)에서 모티브를 따 온 barcode알고리즘은 binary classification의 receiver operating characteristic (ROC) curve, area under the curve (AUC) 혹은 correlation coefficient (상관 계수)와 매우 유사한 그래프와 수치를 가지고 generative model의 fidelity와 diversity를 모두 measure할 수 있다.
Metric이 $d$인 metric space $X$($X=\R^n$, $d=$Euclidean distance=$L^2$ distance)에 유한개의 점들이 주어져 있고 그 점들의 집합을 $V$라고 하자. 그러면 $\sigma\subset V$일 때 Čech complex $Č_{\epsilon}(V)$에 대하여 $\sigma\in Č_{\epsilon}(V)$라는 것은 $\sigma$의 원소들을 각각 중심으로 하는 반지름 $\epsilon$짜리 ball들이 nonempty intersection을 가진다는 말이다. 이는 simplicial complex를 이루고, 이를 Čech complex라고 부른다. 우리는 이 Čech complex안에서 1-dimensional simplicial complex, 즉 선만을 다룰 것이다. 이 1-dimensional simplicial complex를 Vietoris-Rips complex라고 부른다.
$\epsilon\in(0,\infty)$에 대해서 Vietoris-Rips complex를 모두 계산하는 것은 feasible하지 않다. 따라서 이를 detour하기 위해서, 우리는 radius를 계산하는 대신 metric $d$에 대한 모든 distance를 계산하고 기록할 것이다. 두 distribution $P$와 $Q$에서 sampling된 데이터 $V_P$, $V_Q$에 대하여, 우리는 다음 집합을 기록한다:
$$ d(V_P,V_Q)=\{d(v_P,v_Q):v_P\in V_P,v_Q\in V_Q,d:V_P\times V_Q\to\mathbb{R}^+\cup\{0\}\} $$
이 집합 $d(V_P,V_Q)$의 각 element는 중복을 허용한다고 가정한다. 중복을 허용하는 이유는 distance가 같은 경우 집합 내에서 상쇄되는 것을 방지하기 위함이다.
Barcode 알고리즘을 본격적으로 소개하기 전에, fidelity와 diversity에 대한 기본 개념을 잡고 가자.
Fidelity와 diversity의 이해를 돕기 위한 네 가지 경우들
위 그림에서 fidelity와 diversity에 대한 기본 개념을 잡을 수 있다. (a) 그림은 두 점들이 많이 겹쳐 있기 때문에 fidelity는 높지만 퍼져 있지 않기 때문에 diversity는 낮고, (b) 그림은 fidelty와 diversity가 모두 낮고, (c) 그림은 fidelity와 diversity가 모두 높고, (d) 그림은 fidelity는 낮고 diversity는 높은 경우이다. 동그라미 속 점들은 outlier를 의미한다.