Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[10주차] GAN(Generative Adversarial Network) #10

Open
mingxoxo opened this issue Feb 25, 2021 · 0 comments
Open

[10주차] GAN(Generative Adversarial Network) #10

mingxoxo opened this issue Feb 25, 2021 · 0 comments

Comments

@mingxoxo
Copy link
Member

mingxoxo commented Feb 25, 2021

GAN(Generative Adversarial Network)

GAN은 생성이라는 문제를 풀기 위해 딥러닝으로 만들어진 모델을 적대적 학습이라는 독특한 방식으로 학습시키는 알고리즘이다.
  1. Generative
    생성 모델 : 그럴듯한 가짜를 만들어내는 모델
    (수학적으로 생성 모델의 목적은 실제 데이터 분포와 근사한 것이라고 말할 수 있다. 얼굴 이미지의 생성 모델을 만들겠다는 것은 사람 얼굴처럼 보이는 픽셀값 조합의 분포를 찾아내겠다는 것이다. )

  2. Adversarial(적대적)
    GAN이 두 개의 모델을 적대적(Adversarial)으로 경쟁시키며 발전시킨다는 것을 뜻한다.
    GAN은 생성자(Generator)와 구분자(Discriminator)를 경쟁적으로 학습시킨다.
    이 둘을 함께 학습시키면서 진짜와 구분할 수 없는 가짜를 만들어내는 생성자를 얻을 수 있다.
    이것이 GAN의 핵심적인 아이디어인 적대적 학습(Adversarial Training) 이다.

  • 생성자의 목적 : 그럴듯한 가짜 데이터를 만들어서 구분자를 속이는 것
  • 구분자의 목적 : 생성자가 만든 가짜 데이터와 진짜 데이터를 구분하는 것
  1. Network
    이 모델이 인공신경망 또는 딥러닝으로 만들어졌기 때문에 붙는다.

  • 생성자(Generator)
    생성자는 랜덤 백터 'z'를 입력으로 받아 가짜 이미지를 출력하는 함수
    여기서 ‘z’는 단순하게 균등 분포(Uniform Distribution)나 정규 분포(Normal Distribution)에서 무작위로 추출된 값
    생성자는 이렇게 단순한 분포를 사람 얼굴 이미지와 같은 복잡한 분포로 매핑(Mapping)하는 함수라고 볼 수 있다.
    잠재 공간(Latent Space) : ‘z’ 벡터가 존재하는 공간

  • 구분자(Discriminator)
    이미지를 입력으로 받고 그 이미지가 진짜일 확률을 0과 1 사이의 숫자 하나로 출력하는 함수

  • 모델의 평가 지표
    구분자의 출력값은 이미지가 진짜일 확률이고, 이 확률이 얼마나 정답과 가까운지를 측정하기 위해 바이너리 크로스 엔트로피(Binary cross entropy) 손실 함수(loss function) 를 사용한다. (아래의 링크에서의 사용을 의미하는 것 같다. ) 이 함수는 구분자가 출력한 확률값이 정답에 가까우면 낮아지고 정답에서 멀면 높아진다. 이 손실 함수의 값을 낮추는 것이 모델 학습의 목표가 된다.

  • 한계점
    GAN 학습이 잘 되기 위해서는 서로 비슷한 수준의 생성자와 구분자가 함께 조금씩 발전해야 한다. 그런데 한쪽이 너무 급격하게 강력해지면 이 관계가 깨져버려서 GAN의 학습이 이루어지지 않는다.
    모드붕괴(Mode Collapse) : 생성자가 다양한 이미지를 만들어내지 못하고 비슷한 이미지만 계속해서 생성하는 경우를 뜻한다.

출처 : https://dreamgonfly.github.io/blog/gan-explained/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant