GAN은 Generative adversarial network
의 약자로, 우리말로 생산적 적대 신경망이라는 뜻을 갖습니다. 기존의 다른 딥러닝 모델과 달리 GAN은 각자 다른 역할을 하는 2개의 모델로 학습을 진행합니다. 아래의 그림을 통해 설명합니다.
Generator는 위조 지폐, 즉 Fake data를 만드는 일을 합니다.
Discriminator는 Generator가 만든 위조 지폐를 확인 할 때도 있고, 진짜 지폐를 확인 할 때도 있습니다. 무엇이든 확인을 하고, "이것은 위조 지폐다." 또는 "진짜 지폐다." 처럼 판별하는 역할을 합니다.
이것이 GAN의 핵심인 두 모델이 하는 일입니다. 그러나 그냥 Generator는 위조 지폐를 만들고, Discriminator는 판별만해서는 발전 할 수 없겠죠. 그래서 두 모델은 매 순간 피드백하는 시간을 갖습니다.
이들이 피드백하며 발전하는 과정을 순서대로 나열해 보겠습니다.
아래부터는 편의 상 Generator를 G, 그리고 Discriminator를 D라고 지칭하겠습니다.
위처럼 G는 D를 속이기 위해 성능이 오르고, D는 G가 만든 위조지폐를 잡기위해 성능이 오르는 상호 적대적인 관계를 보고 생성적 적대 신경망(GAN) 이라는 이름을 갖게되었습니다.