구분자

GAN의 분류기는 단순히 분류기입니다. 실제 데이터를 생성기에서 만든 데이터와 구별하려고 시도합니다. 분류 대상인 데이터 유형에 적합한 네트워크 아키텍처를 사용할 수 있습니다.

생성적 적대 신경망(GAN) 다이어그램 다이어그램 중앙에는 'discriminator' 라벨이 지정된 상자가 있습니다. 두 개의 분기가 왼쪽에서 이 상자로 피드됩니다.  상단 분기는 다이어그램의 왼쪽 상단에서 '실제 이미지'라는 라벨이 있는 상자로 시작합니다. 화살표가 이 원통에서 'Sample&' 라벨이 있는 상자로 이어집니다. 'Sample# 라벨이 지정된 상자에서 나온 화살표가 하단 브랜치는 'Discriminator&box. 화살표가 ' 무작위 입력' 상자에서 'Generator' 라벨이 지정된 상자로 이어집니다. 화살표는 &Generator 상자에서 두 번째 입력란으로 이어집니다. 화살표는 &샘플 상자에서 구분자 상자로 연결됩니다. 구분자 상자 오른쪽에 있는 두 개의 화살표는 다이어그램의 오른쪽에 있는 상자 두 개로 이어집니다. 화살표 1개가 '차별기 손실'이라는 라벨이 표시된 상자로 이어집니다. 다른 화살표는 'Generator Loss'라는 라벨이 있는 상자로 이어집니다. 왼쪽 화살표와 '역전파'라는 라벨이 있는 노란색 상자가 구분자 상자 및 구분자 손실 상자 주위에 그려져 역전파가 노란색 상자에 포함된 시스템 부분에서 작동함을 나타냅니다.

그림 1: 판별자 학습의 역전파

분류자 학습 데이터

판별자의 학습 데이터는 두 가지 소스에서 가져옵니다.

  • 실제 데이터 인스턴스(예: 실제 인물의 사진). 판별자는 학습 중에 이러한 인스턴스를 긍정적인 예로 사용합니다.
  • 생성기에서 생성한 가짜 데이터 인스턴스 판별자는 학습 중에 이러한 인스턴스를 부정적인 예로 사용합니다.

그림 1에서 두 개의 'Sample' 상자는 분류기에 피드된 이러한 두 데이터 소스를 나타냅니다. 분류기 학습 중에 생성기는 학습되지 않습니다. 가중치는 일정하게 유지되는 동안 분류자가 학습시킬 예시를 생성합니다.

구분자 학습

구분자는 두 가지 손실 함수에 연결됩니다. 판별자 학습 중에 판별자는 생성기 손실을 무시하고 구분자 손실만 사용합니다. 다음 섹션에 설명된 대로 생성기 학습 중에 생성기 손실을 사용합니다.

분류자 학습 중:

  1. 분류기는 생성기의 실제 데이터와 가짜 데이터를 모두 분류합니다.
  2. 판별자 손실은 판별자에게 실제 인스턴스를 가짜로 또는 허위 인스턴스로 잘못 분류하는 경우 페널티를 적용합니다.
  3. 판별자는 분류자 네트워크를 통해 판별자 손실에서 역전파를 통해 가중치를 업데이트합니다.

다음 섹션에서는 생성기 손실이 판별자에 연결되는 이유를 살펴보겠습니다.