GAN에는 여러 가지 일반적인 실패 모드가 있습니다. 이러한 일반적인 문제는 모두 활발한 연구 영역입니다. 이러한 문제를 완전히 해결하지는 못했지만, 사람들이 시도해 본 방법 몇 가지를 언급하겠습니다.
경사 사라지기
연구에 따르면 구분자가 너무 양호하면 경사 소멸으로 인해 생성기 학습이 실패할 수 있습니다. 실제로 최적의 구분자는 생성기가 진행하기에 충분한 정보를 제공하지 않습니다.
구제 시도
- 와저스테인 손실: 와저스테인 손실은 구분자를 최적으로 학습시키는 경우에도 경사가 사라지지 않도록 설계되었습니다.
- 수정된 미니맥스 손실: 원래 GAN 논문은 사라지는 경사를 처리하기 위해 미니맥스 손실 수정을 제안했습니다.
모드 접기
일반적으로 GAN에서 다양한 출력을 생성할 수 있습니다. 예를 들어 얼굴 생성기의 임의 입력마다 다른 얼굴이 필요할 수 있습니다.
그러나 생성기가 특히 믿을 수 있는 출력을 생성하는 경우 생성기는 해당 출력만 생성하는 방법을 학습할 수 있습니다. 실제로 생성기는 항상 판별자에게 가장 타당해 보이는 출력을 하나 찾으려고 시도합니다.
생성기가 동일한 출력 (또는 작은 출력 집합)을 반복해서 만들기 시작하는 경우 판별자의 최고의 전략은 항상 이러한 출력을 거부하는 방법을 학습하는 것입니다. 그러나 차세대 분류자가 로컬 최솟값에 머물러 있고 최적의 전략을 찾지 못한 경우 다음 생성기 반복이 현재 분류기에 가장 적합한 출력을 찾기가 너무 쉽습니다.
생성기의 각 반복이 특정 구분자에 대해 과도하게 최적화되며, 구분자는 트랩에서 벗어나는 방법을 학습하지 못합니다. 그 결과, 생성기는 작은 출력 유형 집합을 통해 순환됩니다. 이러한 형태의 GAN 실패는 모드 축소라고 합니다.
구제 시도
다음 접근 방식은 생성기가 단일 고정 분류기에 맞게 최적화되지 않도록 하여 범위를 확대하도록 강제합니다.
- 와세서기 손실: 와세서기 손실은 경사 손실에 대한 걱정 없이 분류기를 최적으로 학습시켜 모드 축소를 줄입니다. 구분자가 로컬 최솟값에 갇히지 않으면 생성기가 안정화한 출력을 거부하는 방법을 학습합니다. 따라서 생성기는 새로운 것을 시도해야 합니다.
- 롤링되지 않은 GAN: 롤링되지 않은 GAN은 현재 구분자 분류뿐만 아니라 향후 구분자 버전의 출력을 통합하는 생성기 손실 함수를 사용합니다. 따라서 생성기는 단일 분류기에 맞게 과도하게 최적화할 수 없습니다.
수렴 실패
학습에 대한 모듈에서 설명한 것처럼 GAN은 종종 수렴에 실패합니다.
구제 시도
연구원들은 GAN 수렴을 개선하기 위해 다음을 포함한 다양한 형식의 정규화를 사용하려고 했습니다.
- 구분자 입력에 노이즈 추가: 예를 들어 생성적 적대 신경망을 학습시키는 주요 방법론을 참고하세요.
- 차별자 가중치 페널티: 예를 들어 정규화를 통한 생성적 적대 신경망 학습 안정화를 참조하세요.