AI Study/머신러닝(ML)

머신러닝의 기초: 생성적 적대 신경망(Generative Adversarial Networks; GAN)

Brownee 2025. 11. 26. 11:19
반응형

📌 머신러닝의 기초: 생성적 적대 신경망(Generative Adversarial Networks; GAN)

위조지폐 문제는 현금이 유통되는 한 사라지지 않을 이슈입니다.

 

위조범은 가짜 지폐를 만들어 은행 시스템을 속이려 하고, 은행과 경찰은 가짜 지폐를 탐지하는 시스템을 만듭니다. 모든 범죄가 그렇듯 위폐를 만드는 기술은 나날이 업그레이드 되고, 은행과 경찰도 이에 질세라 탐지 시스템을 계속해서 고도화합니다.

 

탐지 시스템은 위폐를 구분할 수 없는 모든 경우의 수를 차단하는 방식으로 발전합니다. 가짜로 의심되는 지폐에, 진짜 지폐에 숨겨놓은 '장치' 들이 있는지 탐지합니다. 하나라도 없다면 가짜 지폐로 판단하겠지요. 이론적으로는 진짜 지폐를 똑같이 만들 수 있는 기술은 아직 없다고 하지만 만약에, 진짜와 구별할 수 없는 위폐가 등장한다면 어떨까요? 위조범들이 한국은행의 지폐 만드는 기술을 완벽하게 학습했다고 볼 수 있겠죠. 즉, 가짜를 진짜와 똑같이 만들 수 있게 된 겁니다.

 

위조범들이 지폐 만드는 방식을 학습하여, 진짜와 똑같은 가짜 지폐를 만들어낼 수 있게 되는 알고리즘이 바로 생성적 적대 신경망(Generative Adversarial Networks; GAN) 의 작동 방식입니다.

 

생성적 적대 신경망; 위조범과 경찰의 대결

생성적 적대 신경망은 2014년 이안 굿펠로우(Ian Goodfellow)가 제안한 머신러닝 모델로, 두 개의 신경망이 서로 적대(Adversarial; 경쟁)하며 학습하는 구조를 가집니다. 머신러닝 관점에서 GAN은 생성 모델(generative model)의 한 종류로, 실제 데이터의 분포를 학습해 새로운 데이터를 생성하는 데 초점을 맞춥니다.

 

GAN의 구조. (이미지 출처: shutterstock)

학습 과정

학습 과정은 적대적 훈련(adversarial training)으로 진행됩니다. Generator(생성자)는 Discriminator(판별자)를 속이려고 노력하고, Discriminator는 이를 더 잘 식별하려 합니다.

 

  • Generator: 랜덤 노이즈(무작위 입력)를 받아 실제 데이터와 유사한 가짜 데이터를 생성하는 역할을 합니다. 예를 들어, 이미지 생성 시 노이즈를 입력으로 받아 실제 사진처럼 보이는 가짜 이미지를 만들려고 시도합니다. 목표는 감별자를 속이는 것입니다.
  • Discriminator: 실제 데이터와 생성자가 만든 가짜 데이터를 구분하는 이진 분류기 역할을 합니다. 실제 데이터는 '진짜'로, 가짜 데이터는 '가짜'로 분류합니다. 목표는 생성자가 만든 것이 가짜임을 정확하게 판별하는 것입니다.

 

Generator는 위조범처럼 가짜 지폐(합성 데이터)를 만들어 경찰의 눈을 피해 은행(실제 데이터 분포)에 들여보내려 하고, Discriminator는 경찰처럼 진짜 지폐와 가짜를 구분합니다. 위조범이 기술을 업그레이드하면(더 세밀한 위조), 경찰도 탐지 도구를 개선합니다. 결국 위조범의 지폐가 너무 완벽해져 경찰이 구분 못 할 때(평형 상태), GAN 학습이 성공하는 것이죠. 이 과정에서 위조범은 처음엔 엉성한 가짜를 만들지만, 반복을 통해 전문가가 됩니다.

 

학습 과정에서 Generator는 점점 더 실제에 가까운 데이터를 생성하고, Discriminator는 더욱 정교해집니다. 그 결과 Generator는 이미지,텍스트, 오디오 등 다양한 도메인에서 고품질 합성 데이터를 만들어냅니다. 즉 GAN의 목표는 실제 데이터와 구별이 불가능한 (가짜) 데이터를 생성하는 것입니다.

 

Semi-supervised GAN

반지도학습(Semi-supervised learning)은 라벨이 있는 데이터 조금 + 라벨이 없는 데이터 대부분을 함께 사용해서 모델의 성능을 높이는 방식입니다.

  • Fully supervised: 라벨 100% 필요
  • Semi-supervised: 라벨 1~10%만 있어도 학습 가능
  • Unsupervised: 라벨 없음

라벨 부족 문제를 해결하는 반지도학습 방식에 GAN을 결합한 방식이 Semi-supervised GAN 입니다. 판별자를 '진짜/가짜 + 클래스 분류' 로 확장해서 소량의 라벨로도 분류 성능을 크게 끌어올리는 방법입니다.

 

SGAN의 구조.

  • 기존 GAN 판별자: Real vs Fake.
  • SGAN 판별자: Real(unlabeled) + (Class K개) + Fake(1개) → 총 K+1 클래스 학습.

Semi-supervised GAN 방식은 라벨 없는 데이터까지 활용하여 정확도를 상승시키고, 데이터 수집 비용을 절감할 수 있습니다.

  • 실제 데이터셋에 레이블이 많지 않거나 레이블링 비용이 높을 때.
  • 레이블된 데이터 극소수 + 대량의 unlabeled 데이터가 있을 때 효율.
  • 생성모델의 특성을 활용해 데이터 증강(augmentation) 또는 representation 학습이 가능.

 

활용/사례

산업 분야 GAN 적용 사례 비즈니스 가치
의료/제약 합성 의료 이미지 생성: MRI, X-ray와 같은 희귀 질병 데이터를 생성하여, AI 진단 모델 훈련에 사용 (데이터 부족 문제 해결). 환자 개인 정보 보호모델 정확도 향상.
엔터테인먼트 딥페이크 기술: 배우의 목소리/얼굴을 합성하거나, 게임 내 고해상도 텍스처를 자동으로 생성.
-> NVIDIA의 StyleGAN을 기반으로 한 'This Person Does Not Exist' 웹사이트가 화제가 되었고, 이는 영화나 게임에서 가상 캐릭터 생성에 적용되었습니다.
콘텐츠 제작 비용 절감고화질 콘텐츠 자동 생성.
패션/디자인 새로운 의류 디자인 생성: GAN이 학습된 스타일을 바탕으로 세상에 없던 새로운 패턴이나 의류 디자인을 제안.
-> H&M이 GAN으로 맞춤형 의상 디자인을 생성, 재고 비용을 30% 줄였습니다.
트렌드 예측디자인 혁신 가속화.
자율 주행 시뮬레이션 환경 구축: 날씨, 조명, 교통 상황 등을 다양하게 합성하여, 자율 주행차의 테스트 환경을 구축. 안전성 테스트 범위 확대실제 주행 비용 절감.

 

 

 

StyleGAN

StyleGAN은 NVIDIA가 2018년 말에 공개한 'GAN의 결정판' 시리즈입니다. 기존 GAN 이 '그럴듯한 이미지' 정도를 만들었다면, StyleGAN은 '원하는 스타일로 정교하게 조절 가능한 초고화질 이미지'를 만들 수 있게 해 주는 엔진입니다. 2025년 현재도 여전히 대부분의 상용 고품질 얼굴/패션/아트 생성 서비스의 핵심 엔진으로 쓰이고 있습니다.

 

StyleGAN 구조. (이미지 출처: https://www.geeksforgeeks.org/machine-learning/stylegan-style-generative-adversarial-networks/)

  • Style을 계층별로 주입
    • 기존 GAN: '이 이미지를 만들어라' → 한 번에 전체를 결정.
    • StyleGAN: '눈은 큰 스타일, 머리는 곱슬 스타일, 피부는 매끄러운 스타일' 처럼 레이어(해상도)마다 별도로 스타일 조절 가능. 그래서 눈 크기, 머리색, 나이, 성별 등을 독립적으로 조절할 수 있음.
  • Mapping Network (8층 MLP)
    • 랜덤 노이즈(z) → 중간 latent 코드(w)로 변환
    • 이 w가 진짜 '스타일 코드'가 됨.
    • 그래서 같은 w라도 약간 다른 노이즈를 섞으면 같은 사람의 미세한 표정 변화만 생김. → 정체성 유지.
  • AdaIN (Adaptive Instance Normalization)
    • 각 레이어에서 스타일에 맞게 정규화 값을 바꿔줘서 '이 레이어는 이런 스타일로 그려라' 라고 명령.
  • StyleGAN 활용 사례
산업 활용 사례 실제 기업/프로덕트
패션 가상 피팅룸용 수백만 장의 모델 사진 생성 ZOZO, LVMH, 삼성 패션 부문
게임/영화 수만 명의 NPC 얼굴 자동 생성, 영상 내 배우 얼굴 교체 Unity, Unreal Engine 플러그인, Deepfake 스튜디오
광고/마케팅 제품 광고용 모델 얼굴 (다양한 인종/연령 자동 생성) Adobe Firefly 내 StyleGAN 기반 기능
메디컬 희귀 피부병 환자 이미지 증강 (StyleGAN2-ADA) 서울아산병원, Stanford 의료 AI 연구
예술/NFT 새로운 아트 스타일 생성 (Artbreeder, StyleGAN-NADA) Beeple, Feral File 등

 

반응형