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

'세대적 적대 신경망(GAN)'이란 차세대'는 차별 모델과 대조되는 통계 모델 클래스를 설명합니다.

비공식적:

  • 생성 모델은 새 데이터 인스턴스를 생성할 수 있습니다.
  • 차별 모델은 서로 다른 종류의 데이터 인스턴스를 구분합니다.

생성 모델은 진짜 동물처럼 보이는 새로운 동물 사진을 생성할 수 있고, 분류 모델은 고양이에게 개를 말할 수 있습니다. GAN은 생성 모델의 한 가지 종류일 뿐입니다.

더 공식적으로, 데이터 인스턴스 X 집합과 라벨 Y 집합을 지정하면 다음과 같이 됩니다.

  • 생성 모델은 조인 확률 p(X, Y)를 캡처하거나 라벨이 없는 경우 p(X)만 캡처합니다.
  • 차별 모델은 조건부 확률 p(Y | X)를 캡처합니다.

생성 모델은 데이터 자체의 분포를 포함하고 특정 예시의 가능성을 알려줍니다. 예를 들어 시퀀스의 다음 단어를 예측하는 모델은 일반적으로 생성 모델 (일반적으로 GAN보다 훨씬 간단함)입니다. 단어의 시퀀스에 확률을 할당할 수 있기 때문입니다.

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

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

모델링 확률

두 모델 모두 확률을 나타내는 숫자를 반환할 필요는 없습니다. 데이터 분포를 모방하여 데이터 분포를 모델링할 수 있습니다.

예를 들어 결정 트리와 같은 구분 분류기는 해당 라벨에 확률을 할당하지 않고 인스턴스에 라벨을 지정할 수 있습니다. 모든 예측된 라벨의 분포로 데이터에서 라벨의 실제 분포를 모델링하므로 이러한 분류기는 여전히 모델이 됩니다.

마찬가지로 생성 모델은 분포에서 가져온 것처럼 보이는 가짜 데이터를 생성함으로써 분포를 모델링할 수 있습니다.

생성 모델은 어려움

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

이미지 생성 모델에서는 배처럼 보이는 물체가 물처럼 보이는 물체 근처에 나타날 가능성이 있고 이마에 눈이 나타나지 않을 가능성이 있습니다. 이것들은 매우 복잡한 분포입니다.

반면에 구별 모델은 몇 가지 이야기 패턴을 찾아서 '범선'과 '보트가 아님'의 차이를 학습할 수 있습니다. 생성 모델이 타당해야 하는 많은 상관관계를 무시할 수 있습니다.

차별 모델은 데이터 공간에 경계를 그리는 반면 생성 모델은 공간 전체에 데이터가 배치되는 방식을 모델링하려고 합니다. 예를 들어 다음 다이어그램은 필기 입력의 구분 및 생성 모델을 보여줍니다.

2개의 그래프에는 각각 '차별 모델& 두 그래프에는 모두 동일한 4개의 데이터 포인트가 표시됩니다. 각 지점은 나타내는 필기 입력된 숫자 이미지의 이미지로 라벨이 지정됩니다. 판별 그래프에는 2개의 데이터 포인트와 나머지 2개의 데이터 포인트를 구분하는 점선이 있습니다. 점선 위의 리전에는 'y=0' 라벨이 지정되며, 선 아래의 리전에는 'y=1''라고 표시됩니다. 생성 그래프에서 두 쌍의 점에 점선이 그려진 원이 그려져 있습니다. 상단 원은 'y=0'로 라벨이 지정되고 하단 원은 'y=1로 라벨이 지정됩니다.

그림 1: 손으로 쓴 숫자의 차별적이고 생성적인 모델

구분 모델은 데이터 공간에 선을 그려서 0과 1 사이의 차이를 파악합니다. 선을 올바른 위치에 맞추면 0과 1을 구분할 수 있습니다. 이때 선의 데이터 공간 내 인스턴스가 어디에 배치되는지 정확히 모델링하지 않아도 됩니다.

반면에 생성 모델은 데이터 공간의 실제 자릿수에 가까운 숫자를 생성하여 설득력 있는 1과 0을 생성하려고 시도합니다. 데이터 공간 전체에 대한 분포를 모델링해야 합니다.

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

이해도 확인: 생성 모델과 차별 모델

1,000명의 IQ 점수를 받았습니다. 다음 절차에 따라 IQ 점수의 분포를 모델링합니다.
  1. 6면 주사위 굴리기
  2. 주사위 굴리기에 상수 w를 곱합니다.
  3. 100회 반복하고 모든 결과의 평균을 구합니다.
프로시져 결과가 실제 IQ 점수의 평균과 같을 때까지 다양한 w 값을 사용합니다. 모델이 생성 모델 또는 분류 모델인가요?
생성 모델
정답: 한 번 움직일 때마다 가상의 사람의 IQ가 생성됩니다. 또한 생성 모델은 IQ 점수가 정상적으로 분포되어 있다는 사실 (즉, 종형 곡선)을 포착합니다.
차별 모델
오답: 유사한 차별 모델은 다양한 종류의 IQ 점수를 구별하려고 시도합니다. 예를 들어 차별 모델은 IQ를 가짜 또는 진짜로 분류하려고 할 수 있습니다.
정보가 부족합니다.
이 모델은 실제로 두 가지 모델 중 하나의 정의에 부합합니다.
데이터 인스턴스를 제공하면 모델에서 확률을 반환합니다. 이 모델이 생성 모델 또는 분류 모델인가요?
생성 모델
생성 모델은 인스턴스의 확률과 클래스 라벨의 확률을 예측할 수 있습니다.
차별 모델
분류 모델은 인스턴스가 클래스에 속할 확률을 추정할 수 있습니다.
정보가 부족합니다.
생성 모델과 구별 모델은 모두 확률을 예측할 수 있지만 반드시 그럴 필요는 없습니다.