생성적 적대 신경망(Generative Adversarial Networks), 줄여서 ‘GAN(간)’이라고 부르는 알고리즘을 이용해 만든 것들이지요. GAN은 딥러닝의 원리를 활용해 가상 이미지를 생성하는 알고리즘입니다. 예를 들어 얼굴을 만든다면, 이미지 픽셀들이 어떻게 조합되어야 우리가 생각하는 ‘얼굴’의 형상이 되는지 딥러닝 알고리즘이 예측한 결과가 앞에 나온 이미지들입니다.
GAN이라는 이름에는 적대적(adversarial, 서로 대립 관계에 있는)이란 단어가 들어 있는데, 이것은 GAN 알고리즘의 성격을 잘 말해 줍니다. 진짜 같은 가짜를 만들기 위해 GAN 알고리즘 내부에서는 ‘적대적’ 경합을 진행하기 때문입니다. 이 적대적 경합을 쉽게 설명하기 위해 GAN의 아이디어를 처음으로 제안한 이안 굿펠로(Ian Goodfellow)는 그의 논문에서 위조지폐범과 경찰의 예를 들었습니다. 진짜 지폐와 똑같은 위조지폐를 만들기 위해 애쓰는 위조지폐범과 이를 가려내기 위해 노력하는 경찰 사이의 경합이 결국 더 정교한 위조지폐를 만들어 낸다는 것이지요. 한쪽은 가짜를 만들고, 한쪽은 진짜와 비교하는 경합 과정을 이용하는 것이 바로 GAN의 원리입니다. 그림 19-1은 GAN의 이러한 과정을 설명하고 있습니다.
그림 19-1 | 생성자는 판별자가 구별할 수 없을 만큼 정교한 가짜를 만드는 것이 목표!