logo

GAN

적대적 사례 Adversarial Example

  • 머신러닝 모델, 특히 딥러닝 모델이 오류를 범할 수 있는 조작된 입력 데이터
  • 모델의 출력을 최대한 변화시키는 입력의 변화를 찾아냄
  • 일반적으로 사람의 눈에는 원본 데이터와 거의 구별이 되지 않음
  • 이미지 분류, 음성 인식, 자연어 처리 등 다양한 분야에서 모델의 안정성과 견고성에 영향

판다 이미지에 작은 노이즈를 더해 긴팔원숭이로 잘못 분류하게 만드는 적대적 사례

  • Goodfellow, Ian J., Jonathon Shlens, and Christian Szegedy. "Explaining and harnessing adversarial examples." arXiv preprint arXiv:1412.6572 (2014).

생성적 적대 신경망 Generative Adversarial Networks

  • 2014년 Ian Goodfellow가 처음 제안한 경쟁하는 생성자와 구분자로 구성된 이미지 생성 모형
  • 생성자 (Generator)
    • 생성자는 무작위로 생성된 잡음(Noise) 또는 낮은 차원의 랜덤 벡터를 입력으로 받아, 합성된 이미지를 생성
    • 생성자의 목표는 판별자를 속이기 위해 가능한 한 실제 이미지와 유사한 이미지를 만드는 것
  • 구분자 (Discriminator)
    • 구분자는 이미지가 생성자로부터 생성된 것인지 아니면 실제 데이터셋에서 온 것인지를 판단
    • 구분자의 목표는 생성자가 만든 이미지를 가짜로, 실제 데이터셋의 이미지를 진짜로 정확하게 구별하는 것

무작위 잡음에서 생성자가 가짜 이미지를 만들고 구분자가 실제 이미지와 구별하는 GAN 구조

2014년부터 2020년까지 얼굴 생성 GAN 결과가 발전한 예시

GAN의 학습 과정

  • GAN의 학습 과정은 생성자와 구분자가 서로 경쟁하는 방식으로 진행
  • 생성자는 구분자를 속이는 능력을 향상
  • 구분자는 생성된 이미지와 실제 이미지를 더 정확하게 구별하는 능력을 향상
  • 미니맥스(minimax) 게임의 일종: 구분자의 최대 성능이 최소화되도록 생성자를 학습
  • 생성자가 실제와 구분할 수 없는 이미지를 생성하고, 구분자의 정확도가 50%까지 떨어지면 평형(equilibrium)에 도달
  • 실제로 평형에 도달하기는 어려우나 그렇지 못한 경우에도 실용적으로 쓸모 있음
GminDmaxV(D,G)=Expdata[logD(x)]+Ezpz(z)[log(1D(G(z)))]

GAN의 단점

  • 모드 붕괴(mode collapse)
    • 한 종류의 생성된 이미지만 실제 이미지와 구분이 어려울 정도로 유사해지면, 구분자는 이를 구분하지 못하게 됨 → 학습이 멈춤
    • 생성자는 비슷한 이미지만 생성하게 됨
  • 사실성(fidelity)을 위해 다양성(diversity)을 희생
    • GAN으로 생성된 이미지는 모두 비슷
    • FID, IS, Precision 등 지표는 다양성을 반영 못함
    • 사실성은 정밀도, 다양성은 재현도와 관련
  • 감소된 경사(diminished gradient): 생성자와 구분자의 학습 속도 불균형
    • 생성자의 성능이 더 빨리 올라가면, 생성자가 어떤 이미지를 생성해도 구분자가 구분을 못함
    • 반대의 경우, 생성자가 어떤 이미지를 생성해도 구분자가 구분함
    • 어느 경우에도 더 이상 학습이 이뤄지지 않게 됨
  • 학습의 불안정: 학습이 잘 되지 않거나 설정에 따라 학습 결과에 차이가 큼

모드 붕괴로 GAN이 비슷한 종류의 이미지만 생성하는 예시

퀴즈

문제 1 / 2맞음: 0힌트: 0틀림: 0채점중: 0남음: 2

GAN에서 생성자(Generator)의 목표는 무엇입니까?

  • 판별자를 속일 만큼 실제와 유사한 이미지를 만든다
  • 실제 데이터셋 이미지를 진짜로 구별한다
  • 모든 이미지를 흐릿하게 평균낸다
  • 노이즈를 점차 추가해 완전한 노이즈로 만든다

퀴즈를 풀려면 대화형 기능을 불러와야 합니다.

Previous
이미지 생성