용어집

생성적 적대적 네트워크(GAN)

GAN이 사실적인 이미지를 생성하고 데이터를 개선하며 의료, 게임 등의 분야에서 혁신을 주도함으로써 AI를 혁신하는 방법을 알아보세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

생성적 적대 신경망(GAN)은 강력한 종류의 머신 러닝 프레임워크로, 2014년 Ian Goodfellow와 그의 동료들이 처음 소개했습니다. 생성적 AI 분야에 속하며 일부 입력 데이터 분포를 모방한 새로운 데이터를 생성하는 능력으로 잘 알려져 있습니다. GAN은 두 개의 경쟁 신경망, 즉 생성자와 판별자가 서로 경쟁하는 과정을 통해 이를 달성합니다. 이 독특한 아키텍처는 특히 컴퓨터 비전 분야에서 상당한 발전을 가져왔습니다.

GANS 작동 방식

GAN의 핵심 아이디어는 두 네트워크 간의 경쟁 게임입니다:

  1. 생성기: 이 네트워크는 실제 데이터 세트에서 나온 것처럼 보이는 합성 데이터(예: 이미지, 사운드, 텍스트)를 생성하려고 시도합니다. 무작위 노이즈를 입력으로 받아 실제와 같은 출력으로 변환하는 것으로 시작합니다.
  2. 판별자: 이 네트워크는 판별자 역할을 합니다. 이 네트워크의 목표는 실제 데이터(실제 학습 데이터)와 생성기가 생성한 가짜 데이터를 구별하는 것입니다. 입력된 샘플이 실제 데이터일 가능성을 나타내는 확률을 출력합니다.

훈련하는 동안 이 두 네트워크는 동시에 훈련됩니다. 생성기는 판별기를 속이기 위해 점점 더 현실적인 데이터를 생성하는 방법을 학습하고, 판별기는 가짜 데이터를 식별하는 데 더 능숙해집니다. 이 프로세스는 역전파를 사용하여 특정 손실 함수에 따라 성능에 따라 두 네트워크의 모델 가중치를 업데이트합니다. 생성기가 판별기가 더 이상 차이를 확실하게 구분할 수 없을 정도로 설득력 있는 데이터를 생성하면 시스템은 균형에 도달합니다(무작위 추측보다 나은 성능은 없음).

주요 개념 및 과제

GAN을 이해하는 데 있어 몇 가지 개념이 핵심입니다:

  • 적대적 손실: 손실 함수는 발전기의 개선이 판별기의 악화에 대응하고, 그 반대의 경우도 마찬가지여서 경쟁 학습 과정을 유도하도록 설계되었습니다.
  • 훈련 안정성: GAN 교육은 매우 어려운 것으로 악명이 높습니다. 일반적인 문제는 다음과 같습니다:
    • 모드 축소: 생성기는 제한된 범위의 출력만 생성하여 훈련 데이터의 다양성을 모두 포착하지 못합니다. 모드 축소에 대해 자세히 알아보세요.
    • 사라지는 그라데이션: 판별기가 너무 빨리 너무 좋아져서 생성기가 학습할 수 있는 유용한 피드백(그라데이션)을 거의 제공하지 않습니다. 소실 그라데이션 문제를 참조하세요.
    • 비 수렴: 모델이 안정적인 평형에 도달하지 못할 수 있습니다.

연구원들은 이러한 문제를 완화하고 훈련 안정성을 개선하기 위해 다양한 기법과 아키텍처 수정(예: Wasserstein GAN 또는 WGAN)을 개발했습니다.

실제 애플리케이션

GAN은 특히 시각적 콘텐츠 제작에 다양하게 활용되고 있습니다:

  1. 사실적인 이미지 생성: StyleGAN 및 BigGAN과 같은 GAN은 사람 얼굴(이 사람은 존재하지 않습니다가 대표적인 예), 동물 또는 사물과 같은 고해상도의 사실적인 이미지를 생성할 수 있습니다. 이 기능은 아트, 게임 에셋을 생성하고 다음과 같은 학습 모델을 위한 데이터 세트를 보강하기 위한 합성 데이터를 생성하는 데 유용합니다. Ultralytics YOLO.
  2. 이미지 간 번역: 위성 이미지를 지도로 변환하거나, 스케치를 사진으로 변환하거나, 사진의 계절을 바꾸는 등 pix2pix 및 CycleGAN과 같은 모델은 이미지를 한 스타일에서 다른 스타일로 변환할 수 있습니다. 이미지 번역 예시를 살펴보세요.
  3. 데이터 증강: GAN은 기존 데이터의 변형을 생성하여 데이터 증강을 효과적으로 수행할 수 있습니다. 이는 실제 데이터가 부족할 수 있는 의료 이미지 분석과 같은 분야에서 유용하며 진단 모델의 견고성을 개선하는 데 도움이 됩니다.

GANS와 다른 생성 모델 비교

GAN은 다른 생성 방식과 구별됩니다:

  • 가변 자동 인코더(VAE): VAE는 또 다른 유형의 생성 모델이지만, 데이터 로그 가능성의 하한을 최적화하는 방식으로 학습됩니다. 일반적으로 GAN에 비해 더 부드럽지만 잠재적으로 더 흐릿한 출력을 생성합니다. VAE에 대한 개요를 읽어보세요.
  • 확산 모델: 안정 확산과 같은 이 모델은 데이터에 노이즈를 점진적으로 추가한 다음 그 과정을 역으로 학습하는 방식으로 작동합니다. 이미지 품질과 다양성 면에서 최첨단 결과를 얻을 수 있지만, GAN에 비해 샘플 생성 속도가 느릴 수 있습니다. 확산 모델 용어집 항목을 참조하세요.

GAN은 생성에 중점을 두는 반면, 판별 모델은 이미지 분류나 물체 감지에만 사용되는 모델과 같이 입력 데이터를 기반으로 분류하거나 예측하는 것을 목표로 합니다. GAN의 판별기는 본질적으로 판별 모델이지만, 그 역할은 더 큰 생성 프레임워크의 일부입니다.

GAN은 딥러닝의 중요한 이정표로, AI의 창의적 잠재력의 한계를 뛰어넘는 기술입니다. 생성적 적대 신경망 백서 원본을 읽어보면 더 자세히 알아볼 수 있습니다. 실제 구현을 위해서는 TensorFlow GAN 튜토리얼이나 PyTorch 예제와 같은 리소스를 살펴보세요.

모두 보기