GAN(Generative Adversarial Network)은 2014년 이안 굿펠로(Ian Goodfellow)가 제안한 딥러닝 모델의 한 종류로, 주로 이미지 생성, 비디오 생성, 음성 합성 등 많은 분야에서 활용된다. GAN은 두 개의 인공지능 모델로 구성되어 있으며, 이들은 각각 생성자(Generator)와 판별자(Discriminator)라 불린다.
생성자는 새로운 데이터를 생성하는 역할을 하며, 주어진 데이터 분포와 유사한 데이터를 만들어낸다. 판별자는 생성자가 만든 데이터가 실제 데이터인지 아니면 생성자가 만든 가짜 데이터인지 구별하는 역할을 한다. 이 두 모델은 서로 경쟁하는 방식으로 학습하게 되며, 이 과정에서 생성자는 점점 더 사실적인 데이터를 생성하기 위해 노력하고, 판별자는 이러한 데이터를 보다 정확하게 구별하기 위해 개선된다.
GAN의 학습 과정은 일반적으로 두 단계로 나눌 수 있다. 첫째, 생성자가 랜덤 노이즈를 입력받아 새로운 데이터를 생성하고, 둘째, 판별자는 실제 데이터와 생성자가 만든 데이터를 비교하여 어느 쪽이 진짜인지 판단한다. 이 과정을 반복하면서 두 모델은 점차 발전하게 된다. GAN의 주요 목표는 생성자가 생성하는 데이터가 판별자에게 진짜로 인식될 수 있도록 만드는 것이다.
GAN은 다양한 변형이 존재하며, 대표적으로 DCGAN(Deep Convolutional GAN), Wasserstein GAN, CycleGAN 등이 있다. 이러한 변형들은 특정한 애플리케이션이나 문제를 해결하기 위해 GAN의 기본 구조를 변형하거나 개선한 것이다. GAN은 인공지능 분야에서 데이터 생성과 관련된 문제를 해결하는 데 큰 기여를 하고 있으며, 특히 창의적 분야에서도 많은 관심을 받고 있다.