배경: 생성형 모델이란 무엇인가요?

'생성형 적대 신경망'이라는 이름에서 '생성형'은 무슨 뜻인가요? '생성형'은 분류형 모델과 대조되는 통계 모델 클래스를 나타냅니다.

비격식체:

  • 생성형 모델은 새 데이터 인스턴스를 생성할 수 있습니다.
  • 분류 모델은 다양한 종류의 데이터 인스턴스를 분류합니다.

생성형 모델은 실제 동물처럼 보이는 동물의 새 사진을 생성할 수 있지만 판별형 모델은 개와 고양이를 구분할 수 있습니다. GAN은 생성형 모델의 한 종류일 뿐입니다.

더 형식적으로, 데이터 인스턴스 집합 X와 라벨 집합 Y가 주어지면 다음과 같습니다.

  • 생성형 모델은 공통 확률 p(X, Y)를 포착하거나 라벨이 없는 경우 p(X)만 포착합니다.
  • 분류 모델은 조건부 확률 p(Y | X)를 포착합니다.

생성형 모델은 데이터 자체의 분포를 포함하며, 주어진 예시가 얼마나 발생할 가능성이 높은지 알려줍니다. 예를 들어 시퀀스의 다음 단어를 예측하는 모델은 단어 시퀀스에 확률을 할당할 수 있으므로 일반적으로 생성형 모델 (일반적으로 GAN보다 훨씬 간단함)입니다.

분류 모델은 특정 인스턴스가 발생할 가능성이 있는지에 관한 질문을 무시하고 라벨이 인스턴스에 적용될 가능성만 알려줍니다.

이는 매우 일반적인 정의입니다. 생성형 모델에는 여러 종류가 있습니다. GAN은 생성형 모델의 한 종류일 뿐입니다.

확률 모델링

두 유형의 모델 모두 확률을 나타내는 숫자를 반환하지 않아도 됩니다. 이러한 분포를 모방하여 데이터 분포를 모델링할 수 있습니다.

예를 들어 결정 트리와 같은 판별 분류자는 라벨에 확률을 할당하지 않고도 인스턴스에 라벨을 지정할 수 있습니다. 이러한 분류기는 여전히 모델입니다. 모든 예측 라벨의 분포가 데이터의 실제 라벨 분포를 모델링하기 때문입니다.

마찬가지로 생성형 모델은 해당 분포에서 가져온 것처럼 보이는 설득력 있는 '가짜' 데이터를 생성하여 분포를 모델링할 수 있습니다.

생성형 모델은 어렵습니다.

생성형 모델은 유사한 판별형 모델보다 더 어려운 작업을 처리합니다. 생성형 모델은 더 많이 모델링해야 합니다.

이미지 생성 모델은 '배처럼 보이는 물체는 물처럼 보이는 물체 근처에 있을 가능성이 높다', '눈은 이마에 있을 가능성이 낮다'와 같은 상관성을 포착할 수 있습니다. 매우 복잡한 분포입니다.

반면 분류 모델은 몇 가지 결정적인 패턴을 찾는 것만으로 '범선'과 '범선이 아님'의 차이를 학습할 수 있습니다. 생성형 모델이 올바르게 파악해야 하는 많은 상관성을 무시할 수 있습니다.

분류 모델은 데이터 공간에 경계를 그리려고 시도하는 반면 생성형 모델은 공간 전체에 데이터가 배치되는 방식을 모델링하려고 시도합니다. 예를 들어 다음 다이어그램은 필기 숫자의 판별형 모델과 생성형 모델을 보여줍니다.

'판별형 모델' 라벨이 지정된 그래프와 '생성형 모델' 라벨이 지정된 그래프 2개 두 그래프 모두 동일한 4개의 데이터 포인트를 보여줍니다. 각 점에는 이를 나타내는 필기 숫자의 이미지가 라벨로 지정됩니다. 판별 그래프에는 두 데이터 포인트를 나머지 두 데이터 포인트와 구분하는 점선이 있습니다. 점선 위의 영역에는 'y=0'이라고 라벨이 지정되고 선 아래의 영역에는 'y=1'이라고 라벨이 지정되어 있습니다. 생성형 그래프에서 두 점 쌍을 중심으로 점선 원이 두 개 그려집니다. 맨 위 원은 'y=0'으로, 맨 아래 원은 'y=1

그림 1: 손으로 쓴 숫자의 판별형 및 생성형 모델

분류 모델은 데이터 공간에 선을 그어 필기 0과 1의 차이를 파악하려고 합니다. 선이 올바르게 결정되면 인스턴스가 선의 양쪽에 있는 데이터 공간에 정확히 배치되는 위치를 모델링하지 않고도 0과 1을 구분할 수 있습니다.

반면 생성형 모델은 데이터 공간에서 실제 숫자에 가까운 숫자를 생성하여 확실한 1과 0을 생성하려고 합니다. 데이터 공간 전체에서 분포를 모델링해야 합니다.

GAN은 이러한 풍부한 모델을 실제 분포와 유사하도록 학습하는 효과적인 방법을 제공합니다. 작동 방식을 이해하려면 GAN의 기본 구조를 이해해야 합니다.

이해도 확인: 생성형 모델과 분류 모델 비교

1,000명의 IQ 점수가 있습니다. 다음 절차에 따라 IQ 점수의 분포를 모델링합니다.
  1. 6면 주사위 3개를 굴립니다.
  2. 롤에 상수 w를 곱합니다.
  3. 100번 반복하고 모든 결과의 평균을 구합니다.
절차의 결과가 실제 IQ 점수의 평균과 같을 때까지 w의 값을 다르게 시도합니다. 모델이 생성형 모델인가요, 아니면 판별형 모델인가요?
생성 모델
알 수 있는 정보가 충분하지 않습니다.
분류 모델
모델은 데이터 인스턴스를 제공하면 확률을 반환합니다. 이 모델은 생성형 모델인가요 아니면 판별형 모델인가요?
알 수 있는 정보가 충분하지 않습니다.
생성 모델
분류 모델