Supervised Learning vs Unsupervised Learning
지도 학습 Supervised Learning
에는 대표적으로 Discriminative Model
이 있다. 이에는 로지스틱 회귀분석, 뉴럴 네트워크 등이 해당된다. Discriminative Model은 Input이 주어지면 Input이 해당하는 클래스를 맞추기 위해 학습하게 된다.
비지도 학습 Unsupervised Learning
에는 대표적으로 Generative Model
이 있다. Generative 모델은 Label이 없이 학습하게 되며, 학습 데이터의 분포를 학습하는 것이 목적이다.
GAN(Generative Adversarial Network)이란?
GAN(Generative Adversarial Network)
이란, 생성적 적대 신경망이란 뜻으로 적대적인 신경망이 서로 경쟁하면서 가짜 모델의 성능을 개선하는 것을 말한다. 이러한 GAN 알고리즘을 설명하는데 가장 많이 활용되는 것이 바로 위조 지폐에 관한 예시이다.
GAN은 총 두 가지의 모델로 구성되는데, 첫 번째는 Generator
모델, 두 번째는 Discriminator
모델이다. 위의 예시에선 위조 지폐범이 Generator, 경찰이 Disriminator에 해당한다. 위조 지폐 예시를 자세히 보면, 위조 지폐범은 Noise에 해당하는 Z를 가지고 진짜 지폐와 최대한 비슷한 위조 지폐를 만드는 것이 목적이고, 경찰의 경우 위조 지폐와 진짜 지폐를 최대한 구별하는 것이 목적이다. GAN은 우리가 위조 지폐범(Generator)이라고 생각하고, 경찰(Discriminator)이 최대한 위조 지폐와 진짜 지폐를 구별하지 못하도록 설계하는 모델이다.
GAN에서는 Discriminator 모델을 학습시키고, 이후 Generator 모델을 학습시키는 과정을 서로 주고받는다. Discriminator 모델을 학습시키는 방법에는 크게 두 가지가 있다. 첫 번째는 실제 데이터를 입력해서 네트워크가 해당 데이터를 진짜로 분류하도록 학습시키는 과정이고, 두 번째는 첫 번째 방법과는 반대로 Generator 모델에서 생성한 가짜 데이터를 입력해서 해당 데이터를 가짜라고 분류하도록 학습시키는 과정이다. 이러한 과정을 통해서 Discriminator 모델은 진짜 데이터와 가짜 데이터를 분류할 수 있게 된다. Discriminator모델을 학습시킨 이후에는 학습된 Discriminator 모델을 속이는 방향으로 Generator 모델을 학습시킨다. 즉, 진짜 데이터와 유사한 데이터를 만들어 내도록 Generator 모델을 학습시킨다.
이와 같은 학습 과정을 반복하면 Discriminator 모델과 Generator 모델 모두 적대적인 관계로 발전하게 되고 결국 Generator 모델이 진짜 데이터와 매우 유사한 가짜 데이터를 생성하여 Discriminator 모델이 구분할 수 없게 되고, 그 결과 진짜 데이터와 가짜 데이터를 구별할 가능성은 50%가 된다.
Reference
https://m.blog.naver.com/euleekwon/221557899873
https://process-mining.tistory.com/169
https://wegonnamakeit.tistory.com/54
https://youtu.be/odpjk7_tGY0