11. f-GAN 이론
f-GAN을 이해하기 위한 수학 기초
확률 분포와 확률 밀도 함수는 확률론과 통계학에서 중요한 개념이다. 이들은 무작위 실험의 결과나 무작위 변수(random variable)의 행동을 수학적으로 설명하는 데 사용된다.
- 확률은 어떤 일이 일어날 가능성
- 분포는 여러 시도에서 각 결과가 얼마나 자주 나타나는지
- 확률 분포는 모든 가능한 결과와 그 결과가 일어날 확률
- 확률 밀도 함수는 연속적인 결과에 대한 확률을 그래프로 그린 것. 그래프 아래의 면적이 확률을 의미.
확률 분포(Probability Distribution)
확률 분포는 어떤 사건이나 결과의 집합에 확률을 할당하는 규칙으로 확률 분포는 무작위 변수가 특정 값을 취할 확률을 설명하며, 이는 무작위 실험의 결과에 대한 전체적인 “분포”를 제공한다. 확률 분포는 크게 두 가지 유형으로 나뉜다:
이산 확률 분포(Discrete Probability Distribution): 가능한 결과가 셀 수 있는 경우(예: 동전 던지기, 주사위 던지기 등) 에 사용. 이산 확률 분포는 확률 질량 함수(Probability Mass Function, PMF)로 표현된다.
연속 확률 분포(Continuous Probability Distribution): 가능한 결과가 연속적인 값으로 이루어진 경우(예: 사람의 키, 무게 등) 에 사용. 연속 확률 분포는 확률 밀도 함수(Probability Density Function, PDF)로 표현된다.
확률 밀도 함수(Probability Density Function, PDF)
확률 밀도 함수는 연속 확률 분포를 나타내는 함수로, 무작위 변수가 특정 구간 내에 존재할 확률을 설명한다. PDF의 특정 값 자체는 확률이 아니며, PDF 아래의 면적이 확률을 나타낸다. 수학적으로, 확률 밀도 함수 $f(x)$에 대해 무작위 변수 $X$가 $a$와 $b$ 사이의 값을 취할 확률은 다음과 같이 주어진다:
$P(a \leq X \leq b) = \int_{a}^{b} f(x) dx$
PDF는 다음 조건을 만족해야 한다:
- 모든 $x$에 대해 $f(x) \geq 0$ (확률 밀도는 음수가 될 수 없음)
- $f(x)$의 전체 구간에 대한 적분이 1과 같음 $\int_{-\infty}^{\infty} f(x) dx = 1$, 이는 모든 확률의 합이 1이어야 한다는 원칙을 반영한다.
확률 밀도 함수는 연속 확률 분포의 특성을 설명하며, 평균(mean), 분산(variance), 표준편차(standard deviation)와 같은 분포의 중요한 통계적 특성을 계산하는 데 사용된다.
결론적으로, 확률 분포와 확률 밀도 함수는 무작위 변수의 행동을 모델링하고 예측하는 데 핵심적인 도구이다.
KL 다이버전스 (Kullback-Leibler Divergence)
KL 다이버전스는 두 확률 분포 $P$와 $Q$ 사이의 비대칭적인 차이를 측정합니다. $P$ 를 실제 분포, $Q$ 를 모델이나 가정된 분포라고 할 때, KL 다이버전스는 $P$ 를 사용하여 $Q$ 를 얼마나 잘 표현할 수 있는지를 측정한다. 수학적으로, 이산 확률 분포에 대한 KL 다이버전스는 다음과 같이 정의된다:
$D_{KL}(P | Q) = \sum_{x} P(x) \log\left(\frac{P(x)}{Q(x)}\right)$ |
연속 확률 분포의 경우, 합계 대신 적분을 사용한다:
$D_{KL}(P | Q) = \int_{-\infty}^{\infty} p(x) \log\left(\frac{p(x)}{q(x)}\right) dx$ |
KL 다이버전스는 항상 0 또는 양수이며, 두 분포가 완전히 동일할 경우에만 0이 된다. 비대칭적이라는 것은 $D_{KL}(P | Q) \neq D_{KL}(Q | P)$ 임을 의미한다. |
JS 다이버전스 (Jensen-Shannon Divergence)
JS 다이버전스는 두 확률 분포 $P$와 $Q$ 사이의 차이를 측정하는 대칭적인 방법이다. JS 다이버전스는 KL 다이버전스의 대칭적인 버전으로 볼 수 있으며, 두 분포의 평균에 대한 각 분포의 KL 다이버전스의 평균으로 정의된다. JS 다이버전스는 다음과 같이 정의된다:
$D_{JS}(P | Q) = \frac{1}{2} D_{KL}(P | M) + \frac{1}{2} D_{KL}(Q | M)$ |
여기서 $M$은 $P$와 $Q$의 평균 분포: $M = \frac{1}{2}(P + Q)$
JS 다이버전스는 0에서 $\log(2)$ 사이의 값을 가지며, 두 분포가 완전히 동일할 경우에만 0이 된다. 대칭적이기 때문에 $D_{JS}(P || Q) = D_{JS}(Q || P)$ 이다.
요약
- KL 다이버전스는 두 확률 분포 사이의 비대칭적인 차이를 측정하며, 한 분포를 사용하여 다른 분포를 얼마나 잘 표현할 수 있는지를 나타낸다.
- JS 다이버전스는 두 확률 분포 사이의 대칭적인 차이를 측정하며, 두 분포 사이의 “평균적인” 차이를 나타낸다.
f-GAN (Generative Adversarial Network with f-divergence)은 GAN의 한 변형으로, 다양한 종류의 f-다이버전스를 사용하여 생성자(generator)와 판별자(discriminator) 사이의 게임 이론적 상호작용을 일반화한다. 이 모델은 기존 GAN의 목적 함수를 확장하여, 더 넓은 범위의 다이버전스(divergence) 기반 손실 함수를 통해 학습을 진행할 수 있도록 설계되었다.
f-GAN의 핵심 개념
f-GAN은 생성 모델 학습을 위한 보다 일반적인 프레임워크를 제공한다. 이는 다양한 f-다이버전스를 사용하여 생성자와 판별자 간의 손실 함수를 정의함으로써, 다양한 종류의 확률 분포 간의 차이를 측정할 수 있다.
f-다이버전스
f-다이버전스는 두 확률 분포 $P$와 $Q$ 사이의 차이를 측정하는 데 사용되는 일반적인 방법이다. 수학적으로, 두 분포 $P$와 $Q$ 사이의 f-다이버전스는 다음과 같이 정의된다:
\[D_f(P || Q) = \int_{\mathcal{X}} q(x) f\left(\frac{p(x)}{q(x)}\right) dx\]여기서 $f$는 볼록(convex) 함수이며, $p(x)$와 $q(x)$ 는 각각 분포 $P$ 와 $Q$ 의 확률 밀도 함수이다. $f$ 의 선택에 따라 다양한 종류의 다이버전스(예: KL-다이버전스, JS-다이버전스 등)를 표현할 수 있다.
f-GAN의 목적 함수
f-GAN은 판별자 (D)를 통해 주어진 f-다이버전스를 최대화하는 방향으로 학습을 진한다. 이를 위해, 판별자 $D$ 는 실제 데이터와 생성된 데이터 사이의 f-다이버전스를 근사하는 함수로 작용한다. f-GAN의 학습 목적은 다음과 같이 정의된다:
- 판별자(Discriminator) 목적 함수:
$L_D = -\mathbb{E}{x \sim P}[T(x)] + \mathbb{E}{z \sim p_z}[f^*(T(G(z)))]$
- 생성자(Generator) 목적 함수:
$L_G = - \mathbb{E}_{z \sim p_z}[T(G(z))]$
여기서 $T$ 는 판별자의 출력을 나타내며, $f^*$ 는 $f$ 의 켤레 함수이다. 켤레 함수는 원래 함수와 관련된 또 다른 함수로, 최적화 문제에서 자주 사용된다. 이 목적 함수들은 실제 데이터 분포 $P$와 생성된 데이터 분포 $Q$ 사이의 f-다이버전스를 최대화함으로써, 생성자가 실제와 구별하기 어려운 데이터를 생성하도록 유도한다.
f-GAN의 손실 함수
f-GAN의 목적 함수는 선택된 f-다이버전스에 따라 다르며, 일반적인 형태는 다음과 같다:
- 판별자(Discriminator) 손실 함수:
$L_D = -\mathbb{E}{x \sim P}[T(x)] + \mathbb{E}{z \sim p_z}[\phi^*(T(G(z)))]$
- 생성자(Generator) 손실 함수:
$L_G = - \mathbb{E}_{z \sim p_z}[\phi^*(T(G(z)))]$
여기서, $T$는 판별자의 출력, $G(z)$는 생성자의 출력(생성된 샘플), $p_z$는 잠재 공간의 분포, $\phi^*$는 $f$ 의 켤레 함수(conjugate function).
f-GAN의 다양성
f-GAN은 $f$-다이버전스의 선택에 따라 다양한 형태를 취할 수 있다. 예를 들어, $f(u) = u \log u$ 를 사용하면 KL-다이버전스(Kullback-Leibler divergence)에 해당하며, $f(u) = -\log u$ 를 사용하면 역 KL-다이버전스(Reverse KL-다이버전스)가 된다. 이러한 유연성은 f-GAN을 다양한 환경에 적용할 수 있게 해준다.
그래디언트 패널티와 f-GAN
f-GAN에서는 그래디언트 패널티와 같은 기술을 추가하여 학습의 안정성을 개선할 수 있다. 그러나 f-GAN의 초점은 다양한 종류의 f-다이버전스를 사용하여 GAN의 목적 함수를 일반화하는 데 있다. 이는 학습 과정에서 다양한 속성을 조절할 수 있는 유연성을 제공한다.