본 블로그 포스트에서 사용된 표, 이미지 및 기타 관련 자료는 해당 논문에서 발췌한 것입니다. 이 자료들은 논문의 내용을 요약하고 이해를 돕기 위한 참고용으로 제공됩니다. 또한, 해석 과정에서 일부 오류가 있을 수 있으니 원 논문을 참고하여 확인하시기 바랍니다.
Abstract
본 문단에서는 생성 모델을 학습하기 위한 새로운 적대적 프레임워크를 제안한다. 이 방법은 실제 데이터 분포를 모방하여 가짜 샘플을 생성하는 생성기 G와, 입력 샘플이 진짜 데이터에서 왔는지 G가 만든 가짜인지 구분하는 판별기 D를 동시에 훈련시키는 것이 핵심이다. G는 D가 샘플을 잘못 판별할 확률을 최대화하도록 조정되며, 반대로 D는 진짜와 가짜를 올바르게 구분하도록 손실을 최소화한다. 이들 간의 상호작용은 수학적으로 두 플레이어가 승패를 가르는 미니맥스 게임(minimax game)으로 모델링된다. 이론적으로 함수 공간이 충분히 크면 유일한 최적해가 존재하며, 최적 상태에서는 생성기가 실제 데이터 분포를 완벽히 재현하고 판별기는 모든 입력에 대해 0.5의 확률을 출력하게 된다. 구현 측면에서는 생성기와 판별기를 다층 퍼셉트론으로 정의하여 표준 역전파만으로 학습할 수 있어, Markov Chain이나 복잡한 추론 네트워크가 전혀 필요 없다. 실험 결과, 제안된 프레임워크는 정성적·정량적 평가 모두에서 우수한 샘플 생성 성능을 보였다.
1. Introduction
본 문단에서는 심층 학습의 궁극적 목표로, 자연 이미지나 음성 파형, 자연어 기호 등 인공지능 응용 분야의 다양한 데이터를 포괄하는 확률 분포를 표현할 수 있는 풍부하고 계층적인 생성 모델을 발견하는 가능성을 제시한다. 지금까지 심층 학습의 가장 주목할 만한 성과는 주로 백프로파게이션과 드롭아웃 알고리즘, 그리고 기울기 특성이 우수한 조각별 선형 활성화 함수를 이용해 고차원 감각 입력을 클래스 레이블로 변환하는 감별적 모델에서 나타났다. 반면, 생성 모델은 최대우도추정과 연관된 어려운 확률 연산을 근사해야 하고, 감별적 맥락에서 효율적으로 동작하는 조각별 선형 단위를 생성 모델에 적용하기가 힘들어 비교적 큰 성과를 내지 못했다. 이에 저자들은 이러한 계산적 난제를 회피하고 생성 모델을 효율적으로 추정할 수 있는 새로운 절차를 제안한다.
※ 조각별 선형 단위(Piecewise linear unit)란 무엇인가
비선형 활성화 함수(non-linear activation function)라는 용어는 신경망에서 입력을 선형 조합한 값에 비선형 변환을 적용하는 모든 함수를 가리킨다. 그중에서 ‘조각별 선형 단위(piecewise linear unit)’는 비선형 활성화 함수의 특정한 종류이며, 입력 영역을 여러 선형 구간으로 나누어 각 구간에서 선형 함수를 적용하는 형태를 뜻한다. 조각별 선형 단위(Piecewise linear unit)는 입력값의 범위에 따라 선형적으로 동작하는 활성화 함수의 한 종류다. 대표적인 예로 ReLU(Rectified Linear Unit), Leaky ReLU, PReLU, Maxout 등이 있다. 이들은 입력값이 0을 기준으로 나뉘거나, 여러 구간에서 각각 선형적으로 변환한다. 이와 달리 비선형 활성화 함수는 Sigmoid, Tanh, Softplus 등이 있다. 제안된 적대적 네트워크 프레임워크에서는 생성모델과 판별모델이 서로 경쟁하는 게임 이론적 구조를 취한다. 생성모델은 위조범(counterfeiters)에 비유되어 “가짜 화폐”와 같은 샘플을 만들어내려 시도하며, 판별모델은 경찰(police)에 비유되어 주어진 샘플이 실제 데이터인지 생성모델이 만든 것인지를 판별하려 한다. 이 둘의 경쟁 과정은 생성모델이 점차 진짜와 구분이 불가능한 고품질의 샘플을 생성하도록, 그리고 판별모델이 더욱 정교하게 위조를 탐지하도록 양쪽 모두를 향상시킨다. 결국 이 게임이 균형에 도달하면 생성모델이 만들어내는 샘플은 실제 데이터와 구별할 수 없게 된다. 본 논문에서는 생성 모델과 판별 모델을 모두 다층 퍼셉트론(multilayer perceptron, MLP)으로 구현하는 특수 사례인 ‘적대적 네트(work) adversarial nets’을 소개한다. 이 경우 생성 모델은 랜덤 노이즈를 입력으로 받아 MLP의 순전파만으로 샘플을 생성하며, 판별 모델 역시 MLP를 통해 주어진 샘플이 실제 데이터인지 생성 모델이 만든 것인지를 구분한다. 특히, 두 모델의 학습에는 별도의 근사 추론(approximate inference)이나 마르코프 체인(Markov chains)이 전혀 필요하지 않으며, 오직 백프로파게이션(backpropagation)과 드롭아웃(dropout) 알고리즘만으로 최적화가 이루어진다. 이로써 생성 모델로부터의 샘플링은 순전파만으로 가능해지며, 계산 효율성과 구현의 단순성을 동시에 확보할 수 있다.
2. Related work
본 문단에서는 잠재 변수를 포함하는 방향성 그래픽 모델의 대안으로 비방향성 그래픽 모델을 제시한다. 대표적으로 제한된 볼츠만 기계(RBM)와 딥 볼츠만 기계(DBM) 및 그 변형들이 있으며, 이들 모델은 변수들 간의 상호작용을 정규화되지 않은 퍼텐셜 함수들의 곱으로 표현한다. 전체 확률 분포를 얻기 위해 이 곱을 모든 변수 상태에 대해 합산 또는 적분한 값으로 나누는 과정에서 등장하는 정규화 상수(파티션 함수)와 이의 그래디언트는 대부분의 경우 계산이 불가능하다. 따라서 마르코프 연쇄 몬테카를로(MCMC) 기법으로 근사 추정을 수행하지만, 이때 혼합(mixing) 문제로 인해 학습 알고리즘이 심각한 어려움을 겪는다. 또한, 심층 신념망(DBN)은 단일 비방향 레이어와 다수의 방향 레이어를 결합한 하이브리드 모델로, 계층별로 빠른 근사 학습 기준을 제공하나, 비방향 모델과 방향 모델 양측의 계산적 난제를 모두 내재하고 있어 효율적인 학습이 여전히 도전 과제로 남아 있다.
로그우도를 근사하거나 경계(bound)하지 않는 대안적 기준으로는 스코어 매칭(score matching) 과 노이즈 대비 추정(Noise-Contrastive Estimation, NCE) 이 제안되었다. 이들 방법은 모두 학습된 확률 밀도를 정규화 상수까지 해석적으로 명시할 수 있어야 한다. 그러나 DBN이나 DBM처럼 여러 층의 잠재 변수를 지닌 생성 모델에서는 정규화되지 않은 확률 밀도를 실용적으로 도출하는 것조차 불가능한 경우가 많다. 디노이징 오토인코더(denoising auto-encoder) 와 컨트랙티브 오토인코더(contractive autoencoder) 등 일부 모델은 RBM에 적용한 스코어 매칭과 거의 동일한 학습 규칙을 갖는다. NCE에서는 본 연구와 마찬가지로 판별적 학습 기준을 사용하여 생성 모델을 적합시키되, 별도의 판별 모델을 학습하는 대신 생성 모델 자체를 이용해 고정된 노이즈 분포에서 뽑은 샘플과 생성된 데이터를 구분한다. 다만 NCE는 고정된 노이즈 분포를 사용하기 때문에, 관측 변수의 작은 부분집합에 대해 모델이 대략 올바른 분포를 학습하고 나면 학습 속도가 급격히 느려진다는 단점(※)이 있다.
[질문]
왜 NCE가 고정된 노이즈 분포를 사용할 때, 모델이 관측 변수의 작은 부분집합에 대해 대략 올바른 분포를 학습한 후에 학습 속도가 급격히 느려지는가?
[답변]
노이즈 대비 추정(NCE)은 생성 모델이 진짜 데이터 분포과 고정된 노이즈 분포를 구분하도록 판별적 기준을 세워 학습합니다. 이때 주요 원인은 다음과 같습니다.
1. 판별 난이도 급격 저하
* 모델이 일부 변수 차원에서 이미 데이터 분포를 잘 모방하게 되면, 그 차원에서는 모델이 생성한 샘플과 노이즈 분포에서 뽑힌 샘플 간 차이가 매우 작아집니다.
* 결과적으로 판별기가 양자(真偽) 구분을 거의 완벽하게 수행하게 되어, 판별 오차(gradient)가 거의 0에 수렴합니다.
* 즉, 손실 함수의 기울기가 소멸(gradient vanishing)되면서 파라미터 업데이트가 거의 일어나지 않게 됩니다.
2. 고정 노이즈 분포의 한계
* NCE는 학습 초기에는 데이터와 전혀 다른 노이즈 분포를 사용하여 풍부한 학습 신호를 얻지만, 모델이 일부 특성을 학습한 후에는 노이즈 분포가 더 이상 ‘어려운 반례(hard negative)’를 제공하지 못합니다.
* 데이터와 노이즈가 충분히 비슷해지면, 고정된 노이즈 분포는 모델이 아직 파악하지 못한 복잡한 상관관계를 반영하지 못하므로 새로운 정보를 주지 못합니다.
3. 정보 효율성 저하
* 초반에는 모델이 데이터 분포와 멀기 때문에 많은 차이가 있는 샘플들이 유익한 학습 신호를 제공하지만, 일부 차원이 학습된 이후부터는 그 차원에서는 이미 차이가 작아져 추가 학습 기여도가 떨어집니다.
* 결과적으로 전체 파라미터 공간에서 학습이 필요한 부분에 대한 정보(gradient)가 희석되어, 학습 효율이 저하됩니다.
이러한 이유로 NCE는 모델이 관측 변수의 작은 부분집합에 대해 분포를 근사적으로 학습하고 나면, 고정된 노이즈 분포가 더 이상 충분한 판별 신호를 제공하지 못해 학습 속도가 크게 느려지게 됩니다.
적대적 네트워크(adversarial nets)는 확률 분포를 명시적으로 정의하지 않고도 생성 기계를 학습시켜 원하는 분포로부터 직접 샘플을 그려낸다는 점에서, 매개변수화된 마르코프 체인을 통해 샘플링하는 GSN(Generative Stochastic Network)이나 일반화된 디노이징 오토인코더와 구분된다. GSN 계열 기법은 생성 마르코프 체인의 한 단계를 수행하는 기계의 파라미터를 학습하도록 설계되어 있으나, 적대적 네트워크는 샘플링을 위해 어떠한 마르코프 체인도 필요로 하지 않는다. 또한, 생성 과정에서 피드백 루프를 사용하지 않기 때문에 ReLU나 Maxout 같은 조각별 선형 단위를 안정적으로 활용할 수 있어, 역전파 학습 시 피드백 루프 내 발산 문제 없이 효율적인 최적화가 가능하다. 이와 유사하게 생성 기계를 역전파만으로 학습하는 최근 연구로는 변분 베이즈 오토인코더(auto-encoding variational Bayes)와 확률적 역전파(stochastic backpropagation)가 있으나, 이들 기법조차 마르코프 체인 기반 접근과 적대적 네트워크 사이에서 보완적인 위치를 차지할 뿐, 적대적 네트워크가 지닌 ‘체인 불필요’·‘피드백 루프 제거’의 장점을 대신할 수는 없다.
3. Adversarial nets
본 문단에서는 생성 모델과 판별 모델을 모두 다층 퍼셉트론으로 구현하는 ‘적대적 모델링 프레임워크’를 제시한다. 생성기 $G(z;\theta_g)$는 잡음 변수 $z\sim p_z(z)$를 입력받아 데이터 공간으로 매핑함으로써 분포 $p_g$를 정의하며, 판별기 $D(x;\theta_d)$는 입력 $x$가 실제 데이터 분포에서 왔을 확률 $D(x)$를 출력한다. 학습 과정은 다음과 같은 미니맥스 게임으로 수식화된다:
$$\min_{G}\max_{D} V(D,G) = \mathbb{E}_{x\sim p_{\mathrm{data}}}\bigl[\log D(x)\bigr] + \mathbb{E}_{z\sim p_{z}}\bigl[\log\bigl(1-D\bigl(G(z)\bigr)\bigr)\bigr].\tag{1}$$
여기서 판별기는 실제 샘플과 생성 샘플을 올바르게 구분하도록 $D$를 최대화(분류 성능 향상)하고, 생성기는 $D(G(z))$가 1에 가까워지도록 손실 $\log(1 - D(G(z)))$를 최소화함으로써 상호 경쟁하며 최적화된다. 결과적으로 생성기는 판별자가 구분할 수 없을 정도로 실제 분포와 유사한 샘플을 생성하게 된다.
다음 절에서는 적대적 네트워크(adversarial nets)에 대한 이론적 분석을 제시한다. 본 분석을 통해, 생성기 GG와 판별기 DD가 충분한 표현력을 가질 때—즉, 비모수적 극한(non-parametric limit)에서—학습 기준(training criterion)이 실제 데이터 생성 분포를 회복할 수 있음을 보인다. 그림 1은 이 접근법에 대한 덜 형식적이고 교육적인 설명을 제공한다. 실제 구현에서는 수치적인 반복 절차(iterative, numerical approach)를 통해 이 게임을 최적화해야 한다. 학습의 내부 루프(inner loop)에서 판별기 DD를 완전히 최적화하는 것은 계산 비용이 매우 크며, 유한한 데이터셋에서는 과적합(overfitting)을 초래할 수 있다. 따라서 우리는 판별기 DD를 최적화하는 과정을 kk번 반복한 뒤, 생성기 GG를 한 번 최적화하는 방식으로 교대로 수행한다. 이 방법을 통해 생성기 GG의 변화가 충분히 느릴 때 DD가 최적해(optimal solution)에 가깝도록 유지할 수 있다. 이 전략은 SML/PCD [31, 29] 학습에서 내부 루프에서의 마르코프 체인 소진(burning-in)을 방지하기 위해 한 학습 단계에서 다음 단계로 샘플을 이어 사용하는 방식과 유사하다. 이 절차는 알고리즘 1에 형식적으로 제시된다.

Figure1의 적대적 학습 과정은 다음 네 단계로 요약할 수 있다.
- 초기 상태에서 생성기 $G$는 임의의 파라미터로 인해 균등 분포 $p_(z)$를 매핑한 결과가 한쪽으로 치우쳐 있으며, 판별기 $D$는 학습 전으로 불규칙한 확률 곡선을 가진다.
- 판별자 학습 단계에서는 실제 데이터와 생성 샘플을 구분하도록 $D$ 를 반복 업데이트하여, 생성 샘플 영역에서 $D(x)$ 값을 낮게 형성한다.
- 생성자 업데이트 단계에서는 판별자가 제공한 기울기를 따라 $G$ 가 점차 실제 데이터 분포 $p_{\mathrm{data}}$가 높은 영역으로 샘플을 이동시켜, 생성 분포 $p_g$가 진짜 분포에 근사하게 조정된다.
- 수렴 단계에 이르면 $p_g\approx p_{\mathrm{data}}$가 되어 판별자는 더 이상 두 분포를 구별할 수 없으므로 $D(x)=\tfrac12$로 수렴한다. 이 균형점에서 생성기는 판별자가 식별할 수 없는 “진짜 같은” 샘플을 생성하게 된다.
4. Theoretical Results
생성기 $G$는 잠재변수 $z\sim p_z$를 매핑해 얻어지는 샘플들의 분포로 암묵적인 분포 $p_g$를 정의한다. 따라서 충분한 모델 용량과 학습 시간이 주어지면 알고리즘 1이 실제 데이터 분포 $p_{\mathrm{data}}$를 잘 근사하는 추정량으로 수렴하기를 기대한다. 이 분석은 비모수적(nonparametric) 설정, 즉 무한한 표현력을 가진 모델이 확률 밀도 함수 공간에서 수렴함을 연구하는 틀 안에서 이루어진다. 즉, 노이즈 분포 $p_z(z)$에서 잠재벡터 $z$를 샘플링하여 생성기 $G$에 입력하면 출력 $x=G(z)$가 생성되며, 이 출력들이 이루는 분포를 $p_g$라 부른다. 정의역은 데이터 공간, 즉 $x$의 공간이므로 $p_g$를 잘못 $p_g(z)$로 표기하면 혼동이 생기며, 올바른 표기는 $p_g(x)$ 또는 단순히 $p_g$이다. 이 값을 최대화하면, $p_g = p_\mathrm{data}$ 이 된다.

알고리즘 1은 판별기 $D$와 생성기 $G$를 교대로 업데이트하며 다음과 같은 절차로 진행된다.
1. 하이퍼파라미터
* $k$: 판별기를 업데이트할 횟수 (실험에서는 $k=1$)
* $m$: 미니배치 크기
* $\eta$: 학습률
2. 학습 반복
지정된 반복 횟수만큼 아래 과정을 실행한다.
3. 판별기 $D$ 업데이트 ($k$회 반복)
각 반복에서
1) 노이즈 사전분포 $p_z(z)$로부터 $m$개의 $z^{(i)}$ 샘플링
$$z^{(i)} \sim p_z(z),\quad i=1,\dots,m$$
2) 실제 데이터 분포 $p_{\mathrm{data}}(x)$로부터 $m$개의 $x^{(i)}$ 샘플링
$$x^{(i)} \sim p_{\mathrm{data}}(x),\quad i=1,\dots,m$$
3) 판별기의 파라미터 $\theta_d$를 다음 확률적 경사 상승(gradient ascent)으로 갱신
$$\theta_d \;\leftarrow\; \theta_d \;+\; \eta\;\nabla_{\theta_d}\;\frac{1}{m}\sum_{i=1}^m\Bigl[\log D\bigl(x^{(i)}\bigr)\;+\;\log\bigl(1 - D\bigl(G(z^{(i)})\bigr)\bigr)\Bigr].
$$
4. 생성기 $G$ 업데이트 (1회)
1) 다시 노이즈 사전분포 $p_z(z)$로부터 $m$개의 $z^{(i)}$ 샘플링
2) 생성기의 파라미터 $\theta_g$를 다음 확률적 경사 하강(gradient descent)으로 갱신
$$\theta_g \;\leftarrow\; \theta_g \;-\; \eta\;\nabla_{\theta_g}\;\frac{1}{m}\sum_{i=1}^m\log\bigl(1 - D\bigl(G(z^{(i)})\bigr)\bigr).$$
5. 절차 반복
판별기 $D$를 $k$번, 생성기 $G$를 1번씩 번갈아가며 업데이트함으로써, 생성 분포 $p_g$가 실제 데이터 분포 $p_{\mathrm{data}}$에 수렴하도록 학습을 진행한다.
이와 같이, 판별기는 실제 샘플과 생성 샘플을 ‘진짜 vs. 가짜’로 최대한 정확히 구분하도록, 생성기는 판별기를 속여 ‘진짜 같다’고 판단하도록 각각 경사 방법을 통해 최적화된다.
4.1 Global Optimality of $p_g = p_\mathrm{data}$
Proposition 1은 생성기 $G$가 고정되어 있을 때 판별기 $D$의 최적 해를 구하는 과정을 설명한다. 먼저 판별기는 실제 데이터 분포 $p_{\mathrm{data}}(x)$와 생성 분포 $p_g(x)$를 구분하기 위해
$$
V(G,D) = \int p_{\mathrm{data}}(x)\log D(x)\,dx \;+\;\int p_g(x)\log\bigl(1 - D(x)\bigr)\,dx\tag{2}
$$
를 최대화하도록 학습된다. (이 식은 사실상 각 $x$ 마다 베르누이(Bernoulli) 분포의 로그 우도(log-likelihood)를 기대값(expectation) 형태로 표현한 것이므로, 이항 분포의 로그 우도를 풀어썼을 때와 매우 유사하다.) 이때 각각의 입력 $x$에 대해 상수값 $a = p_{\mathrm{data}}(x)$와 $b = p_g(x)$로 두고 함수 $a\log y + b\log(1-y)$를 최대로 만드는 해가 $y = \tfrac{a}{a+b}$가 된다는 사실을 이용하면, 생성기 $G$가 고정되었을 때의 최적 판별기 $D$는
$$
D^*_G(x) = \frac{p_{\mathrm{data}}(x)}{p_{\mathrm{data}}(x) + p_g(x)}
$$
가 됨을 바로 확인할 수 있다.
이제 이 최적 판별자를 원래의 미니맥스 게임에 대입하면, 생성기 관점에서는
$$
C(G) = \max_D V(G,D)
= \mathbb{E}_{x\sim p_{\mathrm{data}}}\!\Bigl[\log D^*_G(x)\Bigr]
+ \mathbb{E}_{x\sim p_g}\!\Bigl[\log\bigl(1 - D^*_G(x)\bigr)\Bigr]
$$
로 정리된다. 이를 다시 쓰면
$$
C(G)
= \mathbb{E}_{x\sim p_{\mathrm{data}}}\!\Bigl[\log\frac{p_{\mathrm{data}}(x)}{p_{\mathrm{data}}(x)+p_g(x)}\Bigr]
+ \mathbb{E}_{x\sim p_g}\!\Bigl[\log\frac{p_g(x)}{p_{\mathrm{data}}(x)+p_g(x)}\Bigr]
$$
가 되어, 이 값이 결국 두 분포 사이의 Jensen–Shannon divergence(※)와 밀접히 연결됨을 알 수 있다. 특히 $p_g = p_{\mathrm{data}}$일 때 $C(G)$는 최대값인 $-\log 4$에 도달하며, 이 지점이 생성 분포가 실제 분포를 완벽히 모사했음을 의미한다.
Jensen–Shannon divergence(JS 발산)는 두 확률분포 사이의 유사도를 측정하는 대칭적 정보 이론 거리다. 주된 특징과 정의는 다음과 같다.
1. 정의
두 분포 $P$와 $Q$의 JS 발산은 이들의 평균분포
$$M = \tfrac{1}{2}(P + Q)$$
를 도입하여, KL 발산의 가중합으로 정의됩니다.
$$\mathrm{JS}(P\parallel Q)= \tfrac{1}{2}\,\mathrm{KL}\bigl(P \parallel M\bigr)\;+\;\tfrac{1}{2}\,\mathrm{KL}\bigl(Q \parallel M\bigr).$$
2. KL 발산과의 관계
$\mathrm{KL}(P\parallel Q)$는 두 분포가 얼마나 다른지 측정하지만 비대칭적이고 무한대로 발산할 수 있다. JS 발산은 KL 발산을 두 방향으로 취해 대칭성을 확보하고, 평균분포 $M$를 매개로 함으로써 항상 유한한 값을 가진다.
3. 성질
* 대칭성: $\mathrm{JS}(P\parallel Q)=\mathrm{JS}(Q\parallel P)$.
* 유한성: 값의 범위는 $[0,\log 2]$ (이진 로그 기준).
* 0일 때: $P=Q$인 경우 $\mathrm{JS}(P\parallel Q)=0$.
* 최댓값: $P$와 $Q$가 서로 완전히 겹치지 않을 때 $\log 2$에 근접.
4. 해석
* JS 발산은 두 분포가 얼마나 “혼합”되었는지를 측정한다.
* $\sqrt{\mathrm{JS}(P\parallel Q)}$는 삼각부등식을 만족하는 메트릭(metric)으로 사용할 수도 있다.
5. 용도
* 생성 모델 평가: 실제 데이터 분포 $p_{\mathrm{data}}$와 생성 분포 $p_g$의 차이를 측정할 때 종종 사용된다.
* 클러스터링, 언어 모델 비교 등 다양한 분야에서 분포 간 차이를 안정적으로 비교하는 지표로 활용됩니다.
마지막으로, 생성 분포 $p_g$를 $z$ 공간에서의 적분
$\int p_z(z)\,\log\bigl(1 - D(G(z))\bigr)\,dz$에서 $x$ 공간으로 옮긴 이유는, 생성기 $G$가 노이즈 벡터 $z$를 데이터 포인트 $x$로 사상(mapping)하기 때문에 기대값 변환 법칙(the law of the unconscious statistician)을 적용할 수 있어서다. 이로써 두 적분 항을 모두 $x$에 대한 적분으로 통일할 수 있다.(※)
두 적분이 같은 이유는 “생성기 $G$가 $z$를 $x$로 매핑한다”는 사실을 통해 기대값(expectation)을 $z$ 공간에서 $x$ 공간으로 옮겨오기 때문이다. 구체적으로,
1. 생성 분포의 정의
$$p_g(x)\;=\;\int p_z(z)\,\delta\bigl(x - G(z)\bigr)\,dz$$
여기서 $\delta$는 디랙 델타 함수다. 즉 $x$와 $G(z)$가 일치할 때만 값이 0이 아닌 값을 갖는다. 그러므로 이 식은 “$z\sim p_z$일 때 $x=G(z)$가 따르는 분포”를 정의한다.
2. 기대값의 변수 치환 (Law of the Unconscious Statistician)
$$\int_z p_z(z)\,\log\bigl(1 - D(G(z))\bigr)\,dz\;=\;\mathbb{E}_{z\sim p_z}\bigl[\log(1-D(G(z)))\bigr]\;=\;
\mathbb{E}_{x\sim p_g}\bigl[\log(1-D(x))\bigr]\;=\;\int_x p_g(x)\,\log\bigl(1 - D(x)\bigr)\,dx.$$
3. 결론
따라서
$$\int_z p_z(z)\,\log\bigl(1 - D(G(z))\bigr)\,dz=\int_x p_g(x)\,\log\bigl(1 - D(x)\bigr)\,dx.$$
이 변환을 이용해 식(2)의 두 번째 항을 $\displaystyle\int_x p_g(x)\log\bigl(1-D(x)\bigr)\,dx$로 쓸 수 있다.
다시 한 번 설명하면, 생성 분포 $p_g(x)$는 노이즈 분포 $p_z(z)$에 생성기 $G$의 매핑을 적용해서 얻은 분포이므로,
$$
p_g(x)
=\int p_z(z)\,\delta\bigl(x - G(z)\bigr)\,dz
$$
로 정의된다. 따라서 어떤 함수 $f(x)$에 대한 기대값은
$$
\mathbb{E}_{x\sim p_g}[\,f(x)\,]
=\int_x p_g(x)\,f(x)\,dx
=\int_z p_z(z)\,f\bigl(G(z)\bigr)\,dz.
$$
이 성질 덕분에 원래
$\displaystyle\int_z p_z(z)\,\log\bigl(1 - D(G(z))\bigr)\,dz$
로 쓰여 있던 항을
$$
\int_x p_g(x)\,\log\bigl(1 - D(x)\bigr)\,dx
$$
로 바꿀 수 있는 것입니다.
즉,
1. $z$를 $p_z(z)$로부터 샘플링하고
2. $x=G(z)$를 출력하는 과정을 합치면
3. $x$에 대한 분포가 $p_g(x)$가 되므로
$\int_z p_z(z)\,\log(1-D(G(z)))\,dz = \int_x p_g(x)\,\log(1-D(x))\,dx$ 가 성립하는 것입니다. 이 변환을 통해 계산을 더 간단하게 할 수 있다.
Theorem 1
1. 목표 함수 $C(G)$ 정의
생성기 기준값
$$C(G)\;=\;\max_D V(G,D)= \mathbb{E}_{x\sim p_{\mathrm{data}}}[\log D^*(x)]+ \mathbb{E}_{x\sim p_g}[\log(1 - D^*(x))]
$$
여기서 $D^*(x)$는 고정된 $G$에 대한 최적 판별자다.
2. 최소값 달성 조건
만약 생성 분포 $p_g$가 실제 데이터 분포 $p_{\mathrm{data}}$와 정확히 일치하면,
$$D^*(x)=\tfrac12\quad\Longrightarrow C(G) = \log\tfrac12 + \log\tfrac12 = -\log4.$$
즉, $p_g = p_{\mathrm{data}}$일 때 $C(G)$는 $-\log4$에 도달한다.
3. 최솟값이 유일함
$$C(G)= -\log4\;+\;\mathrm{KL}\!\Bigl(p_{\mathrm{data}}\;\Bigl\|\;\tfrac{p_{\mathrm{data}}+p_g}{2}\Bigr)+ \mathrm{KL}\!\Bigl(p_g\;\Bigl\|\;\tfrac{p_{\mathrm{data}}+p_g}{2}\Bigr) (※)$$
식 (5)는 최적 판별자 $D^*$를 대입한 후, 생성기 관점의 목표 함수
$$
C(G)
= \mathbb{E}_{x\sim p_{\mathrm{data}}}\Bigl[\log\frac{p_{\mathrm{data}}(x)}{p_{\mathrm{data}}(x)+p_g(x)}\Bigr]
+ \mathbb{E}_{x\sim p_g}\Bigl[\log\frac{p_g(x)}{p_{\mathrm{data}}(x)+p_g(x)}\Bigr]
$$
에서 시작한다. 각 로그 항 내부의 분모 $p_{\mathrm{data}}(x)+p_g(x)$는 두 배수인 $2\cdot\bigl(\tfrac{p_{\mathrm{data}}(x)+p_g(x)}{2}\bigr)$로 분리할 수 있고, 이에 따라
$\log(p_{\mathrm{data}}+p_g)=\log2+\log\bigl(\tfrac{p_{\mathrm{data}}+p_g}{2}\bigr)$가 된다. 이 $\log2$ 항은 두 분포 항 모두에서 상수로 빠져나와 합쳐져 최종적으로 $-\log4$가 되고, 나머지 부분은
$$
\mathbb{E}_{x\sim p_{\mathrm{data}}}\!\Bigl[\log\frac{p_{\mathrm{data}}(x)}{\tfrac{p_{\mathrm{data}}(x)+p_g(x)}{2}}\Bigr]
\quad\text{와}\quad
\mathbb{E}_{x\sim p_g}\!\Bigl[\log\frac{p_g(x)}{\tfrac{p_{\mathrm{data}}(x)+p_g(x)}{2}}\Bigr]
$$
로 표현된다. 이 두 기대값은 각각 $\mathrm{KL}\bigl(p_{\mathrm{data}}\;\big\|\;\tfrac{p_{\mathrm{data}}+p_g}{2}\bigr)$와 $\mathrm{KL}\bigl(p_g\;\big\|\;\tfrac{p_{\mathrm{data}}+p_g}{2}\bigr)$ 가 되므로, 최종적으로
$$
C(G)
= -\log4
\;+\;
\mathrm{KL}\!\Bigl(p_{\mathrm{data}}\;\Big\|\;\tfrac{p_{\mathrm{data}}+p_g}{2}\Bigr)
\;+\;
\mathrm{KL}\!\Bigl(p_g\;\Big\|\;\tfrac{p_{\mathrm{data}}+p_g}{2}\Bigr),
$$
로 재구성된다.
이 두 KL 발산의 합은 $2\,\mathrm{JS}(p_{\mathrm{data}}\|p_g)$와 같으므로,
$$C(G) = -\log4 + 2\,\mathrm{JS}(p_{\mathrm{data}}\|p_g).$$
Jensen–Shannon 발산은 항상 0 이상이며, 0이 되는 유일한 경우가 $p_g = p_{\mathrm{data}}$이므로,$-\log4$는 $C(G)$의 글로벌 최소값이며 오직 $p_g = p_{\mathrm{data}}$일 때에만 달성된다. 정리하면 충분한 표현력과 학습 시간이 주어지면, 적대적 학습 기준은 생성 분포를 실제 데이터 분포와 일치시키도록 보장하며, 그 결과 $C(G)$는 $-\log4$로 수렴한다.
4.2 Convergence of Algorithm1
Proposition 2는 이론적 조건 하에서 생성 분포 $p_g$가 실제 데이터 분포 $p_{\mathrm{data}}$로 수렴함을 보인다. 먼저, 판별기 $D$는 매 반복마다 생성기 $G$가 고정된 상태에서 최적 해 $D^*_G$에 도달하도록 완전 최적화되고, 생성 분포 $p_g$는 $\mathbb{E}_{x\sim p_{\mathrm{data}}}[\log D^*_G(x)] + \mathbb{E}_{x\sim p_g}[\log(1 - D^*_G(x))]$ 값을 높이는 방향으로 갱신된다고 가정한다. 이때 판별기의 목표 함수 $V(G, D) = U(p_g,D)$는 $p_g$에 관해 볼록(convex)성을 가지며(※), 이 볼록 함수들의 상한(supremum)을 취한 $\sup_D U(p_g,D)$ 역시 볼록이고 유일한 전역 최적해를 가진다. 전역 최적해는 앞서 증명된 대로 $p_g = p_{\mathrm{data}}$이므로, 볼록 최적화에서는 작은 학습률로 반복적인 경사 하강만 수행해도 $p_g$가 전역 최적점인 실제 분포에 수렴하게 된다. 실제 구현에서는 이론상의 분포 $p_g$를 직접 갱신하는 대신, 매핑 함수 $G(z;\theta_g)$를 다층 퍼셉트론으로 정의하고 파라미터 $\theta_g$를 갱신한다. 비록 이 경우 파라미터 공간에 여러 국소 최적점이 존재할 수 있지만, 경험적으로 다층 퍼셉트론은 충분한 표현력으로 좋은 생성 품질을 달성하므로 실용적으로 성공적인 학습이 가능하다.
1. 판별기 기준 함수 정의
생성 분포 $p_g$와 판별기 $D$에 대한 함수
$$U(p_g,D)=\underbrace{\mathbb{E}_{x\sim p_{\mathrm{data}}}\bigl[\log D(x)\bigr]}_{\text{\(p_g\)와 무관}}\;+\; \mathbb{E}_{x\sim p_g}\bigl[\log\bigl(1 - D(x)\bigr)\bigr]$$
로 정의한다. 이때 첫 번째 항은 $p_g$와 관련이 없고, 두 번째 항만이 $p_g$에 의존한다.
2. 볼록(convex)·오목(concave)의 정의
* 볼록 함수 $f$는 정의역의 두 점 $u,v$와 $t\in[0,1]$에 대해
$$f\bigl(tu+(1-t)v\bigr)\;\le\;t\,f(u)+(1-t)\,f(v)$$
를 만족하는 함수를 말한다.
* 오목 함수는 부등호가 반대로
$$f\bigl(tu+(1-t)v\bigr)\;\ge\;t\,f(u)+(1-t)\,f(v)$$
를 만족한다.
* 선형(affine) 함수 $f(x)=a^T x + b$는 두 정의를 모두 등호로 만족하므로,“볼록이면서 동시에 오목”인 대표적 예다.
3. 기대값 항의 볼록성
$$
\mathbb{E}_{x\sim p_g}[\log(1 - D(x))]
=\int p_g(x)\,\underbrace{\log(1 - D(x))}_{h(x)\text{(고정)}}\,dx
$$
는 입력 $p_g$에 관해 선형(affine)이므로, 정의상 볼록 함수다. 따라서 고정된 $D$에 대해
$$
U(p_g,D)=\text{(상수)}+\int p_g(x)\,h(x)\,dx
$$
는 $p_g$에 관해 볼록이고, 이 볼록 함수들의 상한
$$
F(p_g)=\sup_{D}U(p_g,D)
$$
역시 $p_g$에 관해 볼록함을 유지한다.
4. 왜 볼록성만 사용하는가
* 우리는 $F(p_g)$를 $\min_{p_g} F(p_g)$ 하는 문제를 풀고자 한다.
* 볼록 함수는 모든 국소 최소값이 전역 최소값이기 때문에, 경사 하강법으로 전역 최솟값에 안전하게 수렴할 수 있다.
* 반면 오목성은 “$\max$” 문제에서 최댓값 보장에 쓰이는 성질이므로, 여기서는 필요하지 않다.
5. 전역 최적해의 유일성 및 수렴
* Theorem 1에 따라 $F(p_g)$의 유일한 전역 최소값은 $p_g=p_{\mathrm{data}}$이며,
$\nabla_{p_g}F(p_g)=0$인 지점이 바로 이 전역 최소값이다.
* 충분히 작은 학습률로 경사 하강을 반복하면,
$$p_g\;\to\;p_{\mathrm{data}}$$
로 수렴함이 보장된다.
6. 실제 구현상의 차이
실제로는 분포 $p_g$ 자체가 아니라, 매핑 함수 $G(z;\theta_g)$를 파라미터 $\theta_g$로 정의해 최적화합니다. 이 경우 파라미터 공간에 여러 국소 최소점이 존재할 수 있으나, 경험적으로 다층 퍼셉트론이 충분한 표현력으로 좋은 결과를 낸다.
5. Experiments
저자들은 MNIST, TFD, CIFAR-10 세 가지 대표 이미지 데이터셋에 대해 적대적 신경망을 학습시켜 그 유효성을 검증하였다. 생성기 네트워크는 입력층에만 랜덤 노이즈를 주입한 뒤 ReLU 계열의 조각별 선형 활성화와 시그모이드 활성화를 혼합해 사용하였고, 판별기 네트워크는 Maxout 활성화와 드롭아웃을 적용하여 과적합을 방지하였다.
정확한 우도(likelihood)를 계산할 수 없기 때문에, 학습된 생성기가 그려낸 샘플들에 대해 가우시안 패르젠 창(window)을 적합시킨 뒤 검증셋을 통해 최적의 폭(σ)을 선택하고, 이를 바탕으로 테스트셋의 로그 우도를 추정하였다. 이 방법은 차원 수가 높아질수록 분산이 커지는 한계가 있지만, 현재 샘플링만 할 수 있고 우도를 직접 계산할 수 없는 생성 모델을 평가하는 최선의 방법으로 널리 쓰인다.
실험 결과(표 1)와 함께, 학습 후 생성기에서 그려낸 이미지 샘플(그림 2, 3)은 기존의 주요 생성 모델과 견줄 만한 품질을 보여 주었다. 이를 통해 적대적 학습 프레임워크가 실용적인 이미지 생성 문제에서도 경쟁력 있는 결과를 낼 수 있음을 확인하였다.



6. Advantages and disadvantages
새로운 적대적 학습 프레임워크는 기존 생성 모델에 비해 다음과 같은 단점과 장점을 지닌다.
단점으로는 첫째, 생성 분포 $p_g(x)$가 명시적으로 표현되지 않기 때문에 정확한 확률 값을 직접 얻을 수 없다. 둘째, 생성기 $G$와 판별기 $D$의 학습이 긴밀히 동기화되어야 한다. 특히 판별기를 충분히 업데이트하지 않은 상태에서 생성기만 과도하게 학습시키면, 잠재 변수 $z$의 서로 다른 값들이 모두 동일한 $x$로 수렴해 다양성이 사라지는 “헬베티카 시나리오”가 발생할 수 있다. 이는 볼츠만 머신의 네거티브 체인을 최신 상태로 유지해야 하는 문제와 유사하다.
반면 장점은 주로 계산적·통계적 측면에서 나타난다. 계산적으로는 마르코프 체인을 전혀 사용하지 않고, 오로지 역전파를 통해 기울기를 얻으며 학습 중 별도의 추론(inference) 단계가 불필요하다. 또한 임의의 미분 가능한 함수를 모델에 쉽게 통합할 수 있어 설계의 유연성이 뛰어나다. 통계적으로는 생성기가 실제 데이터를 직접 파라미터에 복사하지 않고 판별기로부터 흐르는 기울기만을 사용해 업데이트되므로, 단순 복제가 아닌 판별 기반의 학습 신호로만 파라미터가 조정된다는 이점이 있다. 마지막으로, 적대적 네트워크는 매우 날카롭거나 퇴화된(degenerate) 분포도 표현할 수 있어, 모드 간 혼합(mixing)을 위해 분포를 일정 수준으로 흐릿하게 유지해야 하는 체인 기반 기법과 달리 고해상도의 복잡한 분포를 학습·표현하는 데 유리하다.
7. Conclusions and future work
저자들은 적대적 학습 프레임워크의 확장 가능성을 다음과 같이 제안한다. 첫째, 조건부 생성 모델 $p(x\mid c)$은 컨텍스트 $c$를 생성기와 판별기의 입력으로 추가하는 방식으로 쉽게 구현할 수 있다. 둘째, 학습된 생성기로부터 잠재 변수 $z$를 역으로 추정하기 위한 보조 네트워크를 두어 근사 추론을 수행할 수 있는데, 이는 wake–sleep 알고리즘의 추론망과 유사하나 생성기 학습 후에도 고정된 생성기를 대상으로 계속 학습할 수 있다는 장점이 있다. 셋째, 입력 벡터 $x$의 임의의 부분집합 $S$를 조건으로 나머지 $x_{S^c}$를 모델링하는 조건부 분포 $p(x_{S^c}\mid x_S)$들을 매개변수 공유 방식을 통해 동시에 학습함으로써, 결정론적 MP-DBM의 확률적 확장 형태를 구현할 수 있다. 넷째, 판별기나 추론망에서 추출한 특징을 소량의 라벨된 데이터 위에 적용하면 준지도 학습 성능을 높이는 데 유용하다. 마지막으로, 생성기와 판별기 간의 학습 조율 전략을 개선하거나 학습 도중 샘플링할 잠재 변수 분포를 최적화하는 방법을 개발하면 학습 효율성을 크게 향상시킬 수 있다. 이와 같은 여러 연구 방향은 본 논문이 적대적 모델링 프레임워크의 실용 가능성을 입증한 데 이어 지속적인 발전 가능성을 시사한다.