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의 학습 과정
- GAN의 학습 과정은 생성자와 구분자가 서로 경쟁하는 방식으로 진행
- 생성자는 구분자를 속이는 능력을 향상
- 구분자는 생성된 이미지와 실제 이미지를 더 정확하게 구별하는 능력을 향상
- 미니맥스(minimax) 게임의 일종: 구분자의 최대 성능이 최소화되도록 생성자를 학습
- 생성자가 실제와 구분할 수 없는 이미지를 생성하고, 구분자의 정확도가 50%까지 떨어지면 평형(equilibrium)에 도달
- 실제로 평형에 도달하기는 어려우나 그렇지 못한 경우에도 실용적으로 쓸모 있음
GAN의 단점
- 모드 붕괴(mode collapse)
- 한 종류의 생성된 이미지만 실제 이미지와 구분이 어려울 정도로 유사해지면, 구분자는 이를 구분하지 못하게 됨 → 학습이 멈춤
- 생성자는 비슷한 이미지만 생성하게 됨
- 사실성(fidelity)을 위해 다양성(diversity)을 희생
- GAN으로 생성된 이미지는 모두 비슷
- FID, IS, Precision 등 지표는 다양성을 반영 못함
- 사실성은 정밀도, 다양성은 재현도와 관련
- 감소된 경사(diminished gradient): 생성자와 구분자의 학습 속도 불균형
- 생성자의 성능이 더 빨리 올라가면, 생성자가 어떤 이미지를 생성해도 구분자가 구분을 못함
- 반대의 경우, 생성자가 어떤 이미지를 생성해도 구분자가 구분함
- 어느 경우에도 더 이상 학습이 이뤄지지 않게 됨
- 학습의 불안정: 학습이 잘 되지 않거나 설정에 따라 학습 결과에 차이가 큼

퀴즈
GAN에서 생성자(Generator)의 목표는 무엇입니까?
퀴즈를 풀려면 대화형 기능을 불러와야 합니다.