모델

GAN

Generative Adversarial Network

두 신경망이 서로 경쟁하며 진짜 같은 가짜 데이터를 만들어내는 생성 모델. 이미지 생성, 스타일 변환, 데이터 증강 등 다양한 분야에서 쓰이며 생성형 AI의 토대가 된 핵심 기술이다.

개념 설명

GAN은 두 신경망이 서로 싸우면서 학습하는 방식이다. 하나는 '생성자(Generator)'로 가짜 데이터를 만드는 역할을 하고, 다른 하나는 '판별자(Discriminator)'로 진짜와 가짜를 구별하는 역할을 한다. 생성자는 판별자를 속이려 하고, 판별자는 속지 않으려 하면서 둘 다 점점 실력이 늘어난다. 이 경쟁이 반복되면 생성자는 결국 판별자도 구분하기 어려울 만큼 정교한 가짜 데이터를 만들게 된다.

비유하자면, 위조지폐범(생성자)과 감별사(판별자)가 서로 실력을 키워가는 것과 같다. 위조범은 더 정교한 위폐를 만들고, 감별사는 더 날카롭게 구별하면서 두 플레이어 모두 발전한다. GAN이라는 이름에 '적대적(Adversarial)'이 들어간 이유가 바로 이 경쟁 구조 때문이다.

사용 예시

GAN이 가장 많이 활용된 분야는 이미지 생성이다. 존재하지 않는 사람의 얼굴 사진을 만들어내는 'This Person Does Not Exist' 서비스, 흑백 사진을 컬러로 복원하거나 저해상도 이미지를 고해상도로 변환하는 작업 모두 GAN 기반이다. Pix2Pix 같은 조건부 GAN(cGAN)을 쓰면 스케치를 실제 사진처럼 변환하거나, 낮 사진을 밤 사진으로 바꾸는 것도 가능하다.

의료 분야에서는 훈련 데이터가 부족할 때 GAN으로 합성 의료 이미지를 만들어 데이터셋을 보강하는 데 쓴다. 게임이나 영화에서는 사실적인 배경·캐릭터 텍스처를 자동 생성하는 데도 활용된다. StyleGAN처럼 잠재 공간을 세밀하게 제어할 수 있는 모델은 원하는 속성(나이, 표정, 머리 스타일)을 조절하며 이미지를 생성할 수 있다.

심화 내용

GAN에는 다양한 변형이 있다. 조건부 GAN(cGAN)은 생성자에 조건(클래스 레이블이나 다른 이미지)을 추가로 주어 원하는 종류의 데이터를 만들게 한다. DCGAN은 합성곱 신경망(CNN)을 도입해 이미지 품질을 크게 높였고, StyleGAN은 이미지 스타일을 여러 단계로 나눠 제어할 수 있게 만들어 초실사 얼굴 생성에 널리 쓰인다. CycleGAN은 쌍을 이루는 훈련 데이터 없이도 두 도메인 사이의 변환을 학습할 수 있어, 말 사진을 얼룩말로 바꾸는 것 같은 작업이 가능하다.

주의할 점

GAN은 학습이 불안정하기로 유명하다. 생성자와 판별자의 실력 균형이 깨지면 학습이 무너지는데, 판별자가 너무 강해지면 생성자가 아무 피드백을 못 받고, 반대로 생성자가 너무 앞서면 판별자가 의미 없어진다. 또한 '모드 붕괴(Mode Collapse)' 문제가 있어, 생성자가 다양한 샘플을 만드는 대신 판별자를 잘 속이는 특정 패턴만 반복적으로 출력하는 현상이 생긴다. 최근에는 이런 한계를 어느 정도 극복한 Diffusion 모델이 이미지 생성 분야에서 GAN을 상당 부분 대체하고 있지만, GAN은 추론 속도가 빠르고 특정 도메인에서 여전히 강점을 가진다.

#생성모델#딥러닝#이미지생성
← AI Wiki에서 더 보기
updated at 2026-04-12