< GAN(Generative Adversarial Networks) 동작 원리 >
GAN(Generative Adversarial Networks)은 훈련 데이터의 명시적인 확률 밀도 함수를 사용하지 않는다. 대신에 GAN은 생성자(generator)와 식별자(discriminator)로 알려진 두 개의 신경망(neural networks)을 사용하는 게임이론(game-theoretic) 접근 방식을 취합한다. 생성자는 무작위한 잡음을 입력으로 받아 실제 데이터와 유사한 가짜 샘플을 생성하려고 하며 식별자는 실제와 생성된 샘플을 구분하려고 한다. 생성자와 식별자는 이 게임을 반복적으로 진행하며, 생성자는 식별자를 속이기 위해 샘플을 개선하고, 식별자는 실제와 생성된 샘플을 정확히 구분하는 방법을 학습한다. 훈련 과정에서 생성자와 식별자 신경망은 동시에 최적화되며, 훈련이 진행됨에 따라 생성자 신경망은 실제 데이터와 구분할 수 없는 현실적인 샘플을 생성하는 능력을 향상시킨다. |
1. Training GANs: Two-player game
가. Generator network: 실제처럼 보이는 이미지를 생성하여 판별자를 속이려고 하는 네트워크
- latent space에서 가 들어가서 G(z)네트워크에 통과하면 이미지가 나오게 된다.
나. Discriminator network: 진짜와 가짜 이미지를 구별하려고 하는 네트워크
- Training Dataset 이미지(진짜 이미지) = D(x), 가짜 이미지 = D(G(z)) 가 들어가고, Discriminator의 Output은 1이면 진짜, 2이면 가짜로 예측하게 된다.
○ Objective function은 아래와 같은 수식이 된다.
- 동일한 V 함수에 대해서 한번은 Discriminator를 위해서 Maximization 문제를 풀며, 또 한번은 Generator를 위해서 Minimization 문제를 풀게 된다.
2. Discriminator 학습
○ 함수 V의 최대화를 통해 학습된 Generator는 고정으로 주어지며, Discriminator를 최적화한다.
- Discriminator가 진짜 이미지를 1이라 하고, 가짜를 0이라고 할 때 V함수는 최대화가 된다.
① 확률변수의 기댓값(expectation) x가 데이터 확률 분포 Pdata(x) 를 따를 때, logD(x)
- D(x) : 진짜 이미지 x가 Discriminator 네트워크에 들어갔을 때 Ouput 결과값
- D(x) 가 0 ~ 1 사이의 값에서 D(x) = 1 일때 log1로 최대화
② 확률변수의 기댓값(expectation) z가 데이터 확률 분포pz(z) 를 따를 때, log(1-D(G(z))
- G(z) : 가짜 이미지, x가 Generator 네트워크에 들어갔을 때 Ouput 결과값
- G(z)를 Discriminator 네트워크 D(G(x))=0 일때 log1로 최대화
3. Generator 학습
○ 함수 V의 최소화를 통해 학습된 Discriminator는 고정으로 주어지며, Generator를 최적화한다.
- Discriminator가 진짜 이미지(= 1)라고 판별할 때 V함수는 최소화가 된다.
○ 확률변수의 기댓값(expectation) z가 데이터 확률 분포 pz(z)를 따를 때, log(1-D(G(z))
- G(z)를 Discriminator 네트워크 D(G(x))=1 일때 log0로 최소화
○ log(1-x)를 Minimization 하는거와 log(x)를 Maximization 하는 것은 같은 문제다.
- 기울기가 클수록 업데이트가 잘된다는 의미이고, 즉 최적화가 쉽게 된다.
4. 최종 Generator & Discriminator 교대로 최적화
이 글의 내용 및 그림, 사진 등의 콘텐츠는 작성자에게 저작권이 있습니다.
이를 무단으로 복제, 수정, 배포하는 행위는 불법이며, 관련 법률에 의해 엄격하게 제재될 수 있습니다.
작성자의 동의 없이 이 콘텐츠를 사용하는 경우, 민사 및 형사상의 책임을 물을 수 있습니다.
Copyright. 우리의인공지능항해 All rights reserved.
'인공지능(LLM 구축) > AI 및 ML 알고리즘 소개' 카테고리의 다른 글
Deep Learning 인공지능(AI) 시대 CPU의 발전 방향은? (2) | 2024.01.23 |
---|---|
최신 기술 동향과 함께 알아보는 Advanced GAN (2) | 2024.01.22 |
GAN의 한계와 극복 전략: 전문가의 시선으로 살펴보는 최신 연구 동향과 해결 방법 (0) | 2024.01.22 |
GAN 모델의 전문적인 증명 분석 (0) | 2024.01.22 |
Generative Adversarial Network (GAN) 개념 (2) | 2024.01.21 |