[AI/DL] GAN(Generative Adversarial Networks): Generator vs Discriminator 의 경쟁적인 가짜 찾아내기

2024. 12. 6. 18:00· AI
목차
  1. 🌏 GAN(Generative Adversarial Networks)의 기본 개념
  2. ✅ GAN의 구조와 학습 원리
  3. ✅ GAN의 학습 목표: Minimax 게임
  4. 🌏 GAN 평가 방법
  5. ✅ 정량적 평가 방법
  6. 🌏 DCGAN(Deep Convolutional GAN)의 등장
  7. ✅ 기존 GAN의 한계
  8. ✅ DCGAN의 개선점
  9. ✅ DCGAN의 결과
반응형

🌏 GAN(Generative Adversarial Networks)의 기본 개념

Generative Adversarial Networks(GAN)는 Ian Goodfellow에 의해 처음 제안된 생성 모델로, 두 개의 신경망, Generator와 Discriminator가 경쟁적으로 학습하며 고품질 데이터를 생성하는 강력한 딥러닝 모델입니다.

✅ GAN의 구조와 학습 원리

GAN은 Generator와 Discriminator로 구성됩니다.

  • Generator(G)
    • 잠재 공간(latent space) z에서 샘플을 입력받아 실제 데이터와 유사한 데이터를 생성합니다.
    • 목표: Discriminator를 속여 가짜 데이터를 진짜로 인식하도록 만듭니다.
  • Discriminator(D)
    • 실제 데이터와 Generator가 생성한 데이터를 입력받아 "진짜"와 "가짜"를 구분합니다.
    • 목표: 진짜 데이터를 정확히 진짜로, 가짜 데이터를 정확히 가짜로 구분하는 것입니다.

✅ GAN의 학습 목표: Minimax 게임

GAN의 학습은 Generator와 Discriminator 간의 minimax 게임으로 정의됩니다.

 

  • Discriminator의 손실
    • 진짜 데이터 (x)에서 (D(x))를 최대화 
    • 가짜 데이터 (G(z))에서 (D(G(z)))를 최소화 
  • Generator의 손실
    • (D(G(z)))를 최대화

🔎 손실 함수에 로그를 사용하는 이유

로그 함수를 사용하는 이유는 다음과 같습니다:

  1. 확률 기반 손실 계산: (D(x))와 (1-D(G(z)))의 확률적 차이를 명확히 반영합니다.
  2. 학습 안정성: 작은 확률 변화도 손실 값에 큰 영향을 미쳐 세밀한 학습을 유도합니다.

🌏 GAN 평가 방법

GAN의 성능 평가는 쉽지 않습니다. 생성된 데이터가 실제 데이터와 얼마나 유사한지 평가하기 위해 다양한 정성적 및 정량적 방법이 사용됩니다.

✅ 정량적 평가 방법

  1. Inception Score (IS)
    • Inception 모델을 사용하여 생성된 데이터의 품질과 다양성을 평가.
    • 값이 높을수록 생성된 데이터가 고품질이며 다양한 클래스를 포함함을 의미합니다.
  2. Frechet Inception Distance (FID)
    • 생성 데이터와 실제 데이터 분포 간의 거리를 계산.
    • 값이 낮을수록 두 분포가 유사함을 나타냅니다.
  3. Maximum Mean Discrepancy (MMD)
    • 생성 데이터와 실제 데이터의 통계적 유사성을 측정.

🌏 DCGAN(Deep Convolutional GAN)의 등장

✅ 기존 GAN의 한계

기존 GAN에는 다음과 같은 한계가 있었습니다

  • 학습이 불안정하여 결과가 일관되지 않음.
  • Generator가 단순히 데이터셋을 암기할 위험.
  • 모델의 내부 작동 방식을 이해하기 어려움.

✅ DCGAN의 개선점

DCGAN(Deep Convolutional GAN)은 기존 GAN을 발전시킨 모델로, 안정적이고 고품질 이미지를 생성할 수 있습니다.

  1. Deconvolution 기반의 구조
    • Generator는 역합성곱(deconvolution)을 사용하여 잠재 공간에서 고해상도 이미지를 생성.
    • 잠재 변수 (z)의 작은 변화가 생성된 이미지의 연속적인 변화를 유도.
  2. 구조적 특징
    • 입력: 잠재 공간 (z) (100차원의 벡터).
    • 출력: 고품질의 이미지.
    • 여러 합성곱 계층을 거치며 이미지를 점진적으로 확대.

✅ DCGAN의 결과

  • 기존 GAN에 비해 생성된 이미지의 품질이 매우 뛰어남.
  • 실생활에서 활용 가능한 수준의 고품질 이미지를 생성

 

도움이 되었다면, 공감/댓글을 달아주면 깃짱에게 큰 힘이 됩니다!🌟
비밀댓글과 메일을 통해 오는 개인적인 질문은 받지 않고 있습니다. 꼭 공개댓글로 남겨주세요!

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'AI' 카테고리의 다른 글

[AI/DL] Convolutional Neural Networks(CNN)에서 합성곱 연산과 파라미터 계산  (0) 2024.10.24
[AI/DL] CNN의 등장 배경: 공간 정보를 활용하며 단계적으로 학습하기  (1) 2024.10.23
[AI/DL] 활성화 함수(Activation Function)의 종류와 기울기 소실 문제  (1) 2024.10.17
  1. 🌏 GAN(Generative Adversarial Networks)의 기본 개념
  2. ✅ GAN의 구조와 학습 원리
  3. ✅ GAN의 학습 목표: Minimax 게임
  4. 🌏 GAN 평가 방법
  5. ✅ 정량적 평가 방법
  6. 🌏 DCGAN(Deep Convolutional GAN)의 등장
  7. ✅ 기존 GAN의 한계
  8. ✅ DCGAN의 개선점
  9. ✅ DCGAN의 결과
'AI' 카테고리의 다른 글
  • [AI/DL] Convolutional Neural Networks(CNN)에서 합성곱 연산과 파라미터 계산
  • [AI/DL] CNN의 등장 배경: 공간 정보를 활용하며 단계적으로 학습하기
  • [AI/DL] 활성화 함수(Activation Function)의 종류와 기울기 소실 문제
깃짱
깃짱
연새데학교 컴퓨터과학과 & 우아한테크코스 5기 백엔드 스타라이토 깃짱
반응형
깃짱
깃짱코딩
깃짱
전체
오늘
어제
  • 분류 전체보기
    • About. 깃짱
    • Weekly Momentum
      • 2024
    • PROJECT
      • AIGOYA LABS
      • Stamp Crush
      • Sunny Braille
    • 우아한테크코스5기
    • 회고+후기
    • Computer Science
      • Operating System
      • Computer Architecture
      • Network
      • Data Structure
      • Database
      • Algorithm
      • Automata
      • Data Privacy
      • Graphics
      • ETC
    • WEB
      • HTTP
      • Application
    • C, C++
    • JAVA
    • Spring
      • JPA
      • MVC
    • AI
    • MySQL
    • PostgreSQL
    • DevOps
      • AWS
      • 대규모 시스템 설계
    • frontend
      • HTML+CSS
    • NextJS
    • TEST
    • Industrial Engineering
    • Soft Skill
    • TIL
      • 2023
      • 2024
    • Linux
    • Git
    • IntelliJ
    • ETC
      • 日本語

블로그 메뉴

  • 홈
  • 깃허브

인기 글

최근 글

태그

  • Composition
  • 컴포지션
  • 예외
  • 우아한테크코스
  • 조합
  • 레벨로그
  • lamda
  • 우테코5기
  • 람다
  • OOP
  • Stream
  • 스트림
  • 상속
  • 람다와스트림
  • 우테코
  • 상속과조합
  • 우아한테크코스5기
  • Java
  • TDD
  • 함수형프로그래밍
hELLO · Designed By 정상우.v4.2.0
깃짱
[AI/DL] GAN(Generative Adversarial Networks): Generator vs Discriminator 의 경쟁적인 가짜 찾아내기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.