GAN/이론

9. SGAN - 이론

jwjwvison 2021. 6. 28. 17:55

 준지도 학습(semi-supervised learning)은 GAN을 실용적으로 적용할 수 있는 무척 기대되는 분야 중 하나이다. 데이터셋에 있는 모든 샘플에 레이블이 필요한 지도 학습이나 레이블을 사용하지 않는 비지도 학습과 달리, 준지도 학습은 훈련 데이터셋의 일부에만 클래스 레이블을 가지고 있다. 준지도 학습은 데이터에 감춰진 내부 구조를 사용해 일부 레이블된 데이터 포인트를 일반화하고, 효율적인 방식으로 이전에 본 적 없는 새로운 샘플을 분류한다. 준지도 학습이 작동하려면 레이블된 데이터와 레이블이 없는 데이터가 동일한 분포에서 수집되어야 한다는 점이 중요하다.

 

 생성 모델을 사용하여 훈련에 사용할 수 있는 추가 정보를 제공하면 준지도 학습 모델의 정확도 향상에 도움이 된다. 당연히 GAN이 가장 기대된다. 실제로 SGAN은 훈련 레이블의 3% 미만을 사용하고도 완전한 지도 학습 벤치마크에서 최고 수준에 근접한 정확도를 달성한다.

 

 SGAN(semi-supervised generative adversarial network)은 판별자가 다중 분류를 수행하는 생성적 적대 신경망이다. 두 개의 클래스(진짜와 가짜)만 구별하는 것이 아니라 N+1 개의 클래스를 구별하도록 학습한다. N은 훈련 샘플에 있는 클래스 개수이다. 한 개는 생성자가 만든 가짜 샘플을 위해 추가한다.

 

 이진 분류에서 다중 분류로 판별자를 바꾸는 것은 간단하게 보이지만 겉보기보다 훨씬 복잡하다. 다음 그림은 SGAN 구조를 보여준다.

 다중 클래스를 구별하는 작업은 판별자뿐만 아니라 전통적인 GAN보다 SGAN구조, 훈련 과정, 훈력 목적 함수에 복잡도를 추가한다.

 

<구조>

SGAN 생성자의 목적은 오리지널 GAN과 동일하다. 하지만 SGAN 판별자는 오리지널 GAN 구현과는 확실히 다르다. 둘이 아니라 세 종류의 입력을 받는다. 생성자가 만든 가짜 샘플(x*), 훈련 데이터셋에서 레이블이 없는 진짜 샘플(x), 훈련 데이터셋에서 레이블이 있는 진짜 샘플(x,y)이다. 여기에서 y는 훈련 샘플 x에 대한 레이블이다. 이진 분류가 아니라 SGAN 판별자의 목표는 입력 샘플이 진짜일 경우 해당하는 클래스로 분류하고 아닐 경우 가짜로 처리한다(특별한 또 하나의 클래스로 생각할 수 있다).

왼쪽이 생성자, 오른쪽이 판별자

 

<훈련 과정>

 

<훈련 목표>

지금까지 본 모든 GAN 모델은 생성 모델이다. 이들의 목표는 실제처럼 보이는 샘플을 만드는 것이다. 따라서 생성자 네트워크가 주요 관심 대상이다. 반대로 SGAN에서는 판별자가 주요 관심 대상이다. 훈련 과정의 목표는 적은 양의 레이블만 사용하여 판별자를(훈련 데이터셋에 있는 모든 샘플에 대한 레이블을 가진) 완전한 지도 학습 분류기에 가까운 정확도를 내는 준지도 학습 분류기로 만드는 것이다.

'GAN > 이론' 카테고리의 다른 글

11. CGAN - 이론  (0) 2021.06.30
10. SGAN - 구현  (0) 2021.06.28
8. 텐서플로 허브를 사용한 실습  (0) 2021.06.27
7. ProGAN - 주요한 혁신들(2)  (0) 2021.06.27
6. ProGAN - 주요한 혁신들(1)  (0) 2021.06.27