#개념

생성적 적대 신경망(Generative Adversarial Network, GAN)은 Goodfellow 등(2014)이 제안한 생성 모델로, 두 개의 신경망(Neural Network)을 서로 경쟁시키는 방식으로 학습한다. 생성자(Generator) $G$는 정규 분포 등에서 추출한 잠재 벡터(latent vector) $z$를 입력받아 실제 데이터처럼 보이는 가짜 샘플 $G(z)$를 만들어내고, 판별자(Discriminator) $D$는 입력이 실제 데이터에서 온 것인지 생성자가 만든 것인지를 구분하는 이진 분류(Classification) 모델로서 실제일 확률 $D(x)$를 출력한다. 위조지폐범과 경찰의 관계에 자주 비유되는데, 위조범은 경찰을 속일 만큼 정교한 위조지폐를 만들려 하고 경찰은 위조를 더 잘 가려내려 하며, 이 경쟁이 반복될수록 위조지폐는 진짜와 구분할 수 없는 수준에 이른다. 데이터의 확률 분포를 명시적으로 모델링하지 않고도 샘플링 과정 자체를 학습한다는 점이 GAN의 핵심 아이디어이며, 이 접근은 딥러닝(Deep Learning) 기반 생성 모델 연구의 흐름을 크게 바꾸어 놓았다.
두 신경망의 경쟁은 다음의 미니맥스(minimax) 목적 함수로 정식화된다.
$\min_G \max_D V(D, G) = \mathbb{E}_{x \sim p_{data}(x)}[\log D(x)] + \mathbb{E}_{z \sim p_z(z)}[\log(1 - D(G(z)))]$
판별자는 실제 데이터에 대해 $D(x)$를 1에, 가짜 데이터에 대해 $D(G(z))$를 0에 가깝게 만들어 $V$를 최대화하려 하고, 생성자는 $D(G(z))$를 1에 가깝게 만들어 $V$를 최소화하려 한다. 이론적으로 판별자가 최적일 때 생성자의 목적 함수는 실제 데이터 분포 $p_{data}$와 생성 분포 $p_g$ 사이의 젠슨-섀넌 발산(Jensen-Shannon Divergence)을 최소화하는 것과 같으며, 이 게임의 전역 최적점은 $p_g = p_{data}$가 되어 판별자가 어떤 입력에 대해서도 $D(x) = 1/2$를 출력하는 상태다. 학습은 판별자와 생성자를 번갈아 경사 하강법(Gradient Descent)으로 갱신하는 방식으로 진행되며, 실제 구현에서는 학습 초기에 판별자가 가짜를 쉽게 구분하여 $\log(1 - D(G(z)))$의 기울기가 소실되는 문제를 피하기 위해 생성자가 $\log D(G(z))$를 최대화하는 비포화(non-saturating) 손실을 사용하는 것이 일반적이다.
GAN은 이론적으로 우아하지만 실제 학습은 매우 불안정한 것으로 악명 높다. 두 신경망이 하나의 손실 함수(Loss Function)를 최소화하는 것이 아니라 서로 상반된 목표를 가진 게임의 균형점을 찾아야 하므로 손실 값이 수렴하지 않고 진동하거나 발산하기 쉽고, 판별자가 너무 강해지면 생성자에 전달되는 기울기가 사라져 학습이 멈춘다. 가장 잘 알려진 실패 형태는 모드 붕괴(Mode Collapse)로, 생성자가 판별자를 속이기 쉬운 소수의 샘플 유형만 반복해서 생성하고 실제 데이터 분포의 다양성을 포기하는 현상이다. 예를 들어 손글씨 숫자를 학습한 생성자가 "1"만 계속 만들어내는 식이다. 이러한 문제를 완화하기 위해 다양한 구조와 목적 함수가 제안되었다. DCGAN(Deep Convolutional GAN)은 완전 연결층 대신 합성곱 신경망(Convolutional Neural Network, CNN)과 전치 합성곱, 배치 정규화(Batch Normalization), LeakyReLU 활성화 함수(Activation Function)를 조합한 안정적인 구조 지침을 제시하여 이후 이미지 GAN의 표준 뼈대가 되었고, 잠재 공간에서의 벡터 연산이 의미 있는 이미지 변화로 나타남을 보였다. WGAN(Wasserstein GAN)은 젠슨-섀넌 발산 대신 두 분포 사이의 바서슈타인 거리(Earth Mover's Distance)를 목적 함수로 사용하여, 두 분포가 겹치지 않는 경우에도 의미 있는 기울기를 제공함으로써 학습 안정성을 크게 높였으며, 립시츠 제약을 위한 가중치 절단 대신 기울기 벌칙(gradient penalty)을 도입한 WGAN-GP가 널리 쓰인다. 조건부 GAN(Conditional GAN, cGAN)은 클래스 레이블이나 텍스트 같은 조건 정보 $y$를 생성자와 판별자 모두에 입력하여 $G(z, y)$처럼 원하는 속성의 데이터를 생성하도록 제어하며, 스케치를 사진으로 바꾸는 pix2pix가 대표적인 응용이다. CycleGAN은 쌍을 이루는 학습 데이터 없이도 말을 얼룩말로, 여름 풍경을 겨울 풍경으로 바꾸는 이미지 간 변환을 수행하는데, 두 방향의 변환을 거쳐 원본으로 돌아와야 한다는 순환 일관성 손실(cycle consistency loss)로 대응 관계를 학습한다. StyleGAN 계열은 잠재 벡터를 매핑 신경망으로 중간 잠재 공간 $\mathcal{W}$에 사상한 뒤 각 해상도 층에 적응적 인스턴스 정규화(AdaIN)로 "스타일"을 주입하는 구조로, 얼굴의 자세·머리 모양 같은 거친 속성과 피부 질감 같은 세밀한 속성을 분리 제어하며 실제와 구분하기 어려운 고해상도 이미지를 생성한다.
생성 모델의 품질은 손실 값만으로 판단하기 어렵기 때문에 별도의 모델 평가 지표(Model Evaluation Metrics)가 필요하다. 인셉션 점수(Inception Score, IS)는 사전 학습된 Inception 분류기에 생성 이미지를 통과시켜, 개별 이미지는 특정 클래스로 명확히 분류되고(선명함) 전체 이미지의 클래스 분포는 고르게 퍼져 있을수록(다양성) 높은 점수를 준다. 그러나 실제 데이터와 비교하지 않고 클래스 내부의 다양성을 포착하지 못한다는 한계가 있어, 현재는 프레셰 인셉션 거리(Fréchet Inception Distance, FID)가 표준으로 쓰인다. FID는 실제 이미지와 생성 이미지를 각각 Inception 신경망의 특징 공간으로 임베딩(Embedding)한 뒤 두 특징 분포를 다변량 정규 분포로 근사하여 평균 $\mu$와 공분산 $\Sigma$ 사이의 프레셰 거리 $\|\mu_r - \mu_g\|^2 + \mathrm{Tr}(\Sigma_r + \Sigma_g - 2(\Sigma_r \Sigma_g)^{1/2})$를 계산하며, 값이 낮을수록 실제 분포에 가깝다. 이 밖에 정밀도·재현율을 분포 비교에 확장한 지표나 사람이 직접 평가하는 방식도 함께 사용된다.
2020년대 들어 이미지 생성의 주류는 디퓨전 모델(Diffusion Model)로 옮겨갔다. 디퓨전 모델은 데이터에 점진적으로 잡음을 더하는 과정을 거꾸로 되돌리는 방식을 학습하며, 적대적 경쟁 없이 안정적인 우도 기반 목적 함수로 학습되므로 모드 붕괴가 거의 없고 생성 다양성과 학습 안정성에서 GAN을 능가한다. 반면 GAN은 한 번의 순전파로 이미지를 생성하므로 수십에서 수백 단계의 반복 잡음 제거가 필요한 디퓨전 모델보다 추론 속도가 훨씬 빠르고, 잠재 공간이 연속적이고 구조화되어 있어 속성 편집이 용이하다. 이러한 장점 덕분에 GAN은 초해상도(super-resolution), 실시간 이미지 변환, 디퓨전 모델의 증류(distillation) 등에서 여전히 활용되며, 판별자를 이용한 적대적 손실은 다른 생성 모델의 세부 질감을 개선하는 보조 손실로 널리 쓰인다. 데이터 증강 목적으로 의료 영상이나 산업 결함 이미지를 합성하거나, 이상 탐지에서 정상 데이터만 학습한 생성자의 재구성 오차를 활용하는 응용도 활발하다.
GAN의 발전은 심각한 윤리적 문제도 함께 가져왔다. 딥페이크(Deepfake)는 GAN을 비롯한 생성 모델로 특정 인물의 얼굴이나 음성을 다른 영상에 합성한 조작 미디어를 뜻하며, 허위 정보 유포, 명예 훼손, 동의 없는 성적 합성물 제작, 금융 사기와 신원 도용에 악용되어 왔다. 이에 대응하여 생성 이미지의 미세한 주파수 흔적을 찾아내는 딥페이크 탐지 모델, 생성물에 보이지 않는 워터마크를 삽입하는 기술, 콘텐츠 출처를 증명하는 표준이 연구되고 있으며, 여러 국가에서 합성 미디어에 대한 표시 의무와 처벌 규정을 법제화하고 있다. 또한 학습 데이터에 포함된 사회적 편향(Bias)이 생성 결과에 증폭되어 나타날 수 있고, 저작권이 있는 데이터를 학습에 사용하는 문제도 논쟁의 대상이다. 따라서 GAN을 실무에 적용할 때는 기술적 성능뿐 아니라 생성물의 오용 가능성과 데이터 출처의 정당성을 함께 검토해야 한다.

#관련 용어

생성자
잠재 벡터를 입력받아 실제 데이터와 유사한 가짜 샘플을 만들어내는 신경망
판별자
입력 데이터가 실제 데이터인지 생성자가 만든 가짜인지 구분하는 이진 분류 신경망
모드 붕괴
생성자가 데이터 분포의 다양성을 포기하고 소수의 샘플 유형만 반복 생성하는 학습 실패 현상
프레셰 인셉션 거리(FID)
실제 이미지와 생성 이미지의 Inception 특징 분포 사이의 거리로 생성 품질을 측정하는 지표
디퓨전 모델
데이터에 잡음을 더하는 과정을 거꾸로 되돌리는 방식을 학습하여 데이터를 생성하는 모델
합성곱 신경망
합성곱 연산으로 이미지의 공간적 특징을 추출하는 신경망 구조

#직무 연관도

DA
Data Analyst
낮음
합성 데이터의 활용 가능성과 딥페이크 등 생성 콘텐츠의 신뢰성 문제를 이해하는 데 필요한 배경 지식이다
DS
Data Scientist
밀접
생성 모델 연구와 데이터 증강, 이미지 변환 모델 설계의 핵심 개념이며 학습 안정화 기법과 평가 지표 선택에 직접 관여한다
DE
Data Engineer
보통
생성 모델의 학습 파이프라인 구축과 추론 서빙, 합성 데이터 생성 시스템 운영에 활용된다

#사용 사례

미디어게임의료제조전자상거래패션인터넷 서비스
개요
GAN은 고해상도 얼굴·풍경 이미지 생성, 저해상도 이미지의 초해상도 복원, 스케치와 사진 간 변환, 가상 의류 착용 시연, 의료 영상과 산업 결함 이미지의 합성 데이터 증강, 정상 데이터 기반 이상 탐지, 게임 아트 제작과 이미지 편집 등에 활용된다.
사례
제조 현장의 결함 검사 모델은 정상 제품 이미지에 비해 결함 이미지가 극히 드물어 학습이 어려운데, 조건부 GAN으로 균열이나 긁힘 같은 결함 유형별 합성 이미지를 생성하여 학습 데이터를 보강하면 결함 분류 모델의 재현율을 높일 수 있다.

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.