GAN의 분류기는 단순히 분류기입니다. 실제 데이터를 생성기에서 만든 데이터와 구별하려고 시도합니다. 분류 대상인 데이터 유형에 적합한 네트워크 아키텍처를 사용할 수 있습니다.
그림 1: 판별자 학습의 역전파
분류자 학습 데이터
판별자의 학습 데이터는 두 가지 소스에서 가져옵니다.
- 실제 데이터 인스턴스(예: 실제 인물의 사진). 판별자는 학습 중에 이러한 인스턴스를 긍정적인 예로 사용합니다.
- 생성기에서 생성한 가짜 데이터 인스턴스 판별자는 학습 중에 이러한 인스턴스를 부정적인 예로 사용합니다.
그림 1에서 두 개의 'Sample' 상자는 분류기에 피드된 이러한 두 데이터 소스를 나타냅니다. 분류기 학습 중에 생성기는 학습되지 않습니다. 가중치는 일정하게 유지되는 동안 분류자가 학습시킬 예시를 생성합니다.
구분자 학습
구분자는 두 가지 손실 함수에 연결됩니다. 판별자 학습 중에 판별자는 생성기 손실을 무시하고 구분자 손실만 사용합니다. 다음 섹션에 설명된 대로 생성기 학습 중에 생성기 손실을 사용합니다.
분류자 학습 중:
- 분류기는 생성기의 실제 데이터와 가짜 데이터를 모두 분류합니다.
- 판별자 손실은 판별자에게 실제 인스턴스를 가짜로 또는 허위 인스턴스로 잘못 분류하는 경우 페널티를 적용합니다.
- 판별자는 분류자 네트워크를 통해 판별자 손실에서 역전파를 통해 가중치를 업데이트합니다.
다음 섹션에서는 생성기 손실이 판별자에 연결되는 이유를 살펴보겠습니다.