GAN이란?

Shim31·2023년 6월 9일
0

GAN

목록 보기
1/3

GAN(생성적 적대 신경망)

서로 대립하는 두 시스템의 경쟁을 통해 학습하는 방법론

생성자와 판별자 간의 경쟁적인 학습을 통해 생성자는 실제 데이터와 유사한 데이터를 생성하도록 개선된다

  • GAN은 원 데이터가 가지고 있는 확률 분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어내는 것

  • GAN이 하고자 하는 것은 실제 이 데이터의 분포를 잘 근사하는 모델을 만드는 것

  • 생성자(generator) → 확률 분포를 이용

  • 판별자(discriminator) → 확률적인 판별 기준을 이용

    • 일반적인 판별자의 손실 함수 : log(D(x)) - log(1 - D(G(z)))
      • 첫 번째 항은 실제 데이터의 판별자 출력인 D(x)가 1에 가까워지도록 유도
      • 두 번째 항은 생성된 가짜 데이터의 판별자 출력인 D(G(z))가 0에 가까워지도록 유도
      • 이 손실 함수를 최소화 하도록 학습

(경쟁적인 학습은 확률적인 개념과 판별 기준을 활용하여 생성자와 판별자를 동시에 학습하고 평가하는 과정에서 이루어짐)



GAN의 최적화 과정

  1. 초기화: 생성자와 판별자의 가중치를 무작위로 초기화

  2. 판별자 훈련:
    • 실제 데이터: 실제 데이터를 판별자에 입력하여 실제 데이터를 진짜로 판별하도록 학습. 이때, 판별자의 가중치를 업데이트
    • 가짜 데이터: 생성자로부터 생성된 가짜 데이터를 판별자에 입력하여 가짜 데이터를 가짜로 판별하도록 학습. 이때, 판별자의 가중치를 업데이트.

  3. 생성자 훈련:
    • 가짜 데이터: 생성자로부터 생성된 가짜 데이터를 판별자에 입력하여 가짜 데이터를 진짜로 판별하도록 생성자를 학습. 이때, 생성자의 가중치를 업데이트.
    • 주의: 생성자의 가중치만 업데이트하고, 판별자의 가중치는 고정하여 생성자가 더 좋은 가짜 데이터를 생성하도록 유도.

  4. 2단계와 3단계를 반복적으로 실행하여 생성자와 판별자를 번갈아가며 훈련합니다. 이러한 과정은 학습률과 배치 크기 등의 하이퍼파라미터에 따라 여러 번 반복될 수 있습니다.

  5. 최적화:
    • 생성자와 판별자의 손실 함수를 최소화하기 위해 경사하강법 또는 다른 최적화 알고리즘을 사용하여 가중치를 업데이트.




GAN의 이용

  • 이미지 생성과 복원
    • MRI data로 CT사진을 도출
      • 논문 : **GAN for synthesizing CT from T2-weighted MRI data towards MR-guided radiation treatment(A Ranjan 저술)**

    • 딥페이크



  • 신약 개발
    • 인실리코 메디슨은 320만 개의 유전자 발현 데이터와 650만 건의 혈액 테스트 결과 등 자사가 보유한 데이터를 바탕으로 신약에 활용될 새로운 화합물을 개발

0개의 댓글