이전 포스팅에서 사람을 낚는 인공지능, 딥페이크에 적용된 GAN 모델에 대해 소개했었다. GAN 모델의 작동 원리를 보면 GAN 모델을 통해 무엇이든 만들어낼 수 있을 것 같다고 생각할 수 있다. 하지만, GAN 모델은 아직까지는 해결해야 할 문제가 있다. 본 포스팅에서 GAN 모델이 갖고 있는 문제점에 대해서 살펴보려고 한다.
해당 이미지를 클릭하면 GAN 포스팅을 확인할 수 있다.
[Generator의 문제]
앞서 설명한 바와 같이, GAN 모델은 Generator(생성자)와 Discriminator(감별자)로 구분되어 있다.

Generator는 Minmax Game을 통해 학습을 수행하게 된다. Minmax Game은 최대 손실의 상황에서 손실을 최소화하는 게임을 의미한. 여기서, 최대 손실의 상황은 감별자가 진짜 데이터와 가짜 데이터를 완벽하게 감별할 수 있도록 학습한 상태를 의미하게 된다.
자! 그럼 여기서 모순이 발생한다. 학습을 마치기 전에 완벽하게 감별을 할 수 있는 감별자를 얻을 수 없다는 것이다. 즉, GAN을 학습시킬 때 Minmax Game이라는 가정이 필요한데, 애초에 Minmax Game이라는 가정이 성립되지 않는다는 것이다.
감별자가 안정적으로 최적 해로 수렴한다면 문제가 없지만, 그렇지 않을 경우 생성자도 최적의 해로 수렴하지 않는 문제가 발생하는 것이다.
즉, 생성자가 이미지를 생성하기 위해서는 감별자가 능력이 좋아야 하는데 감별자의 능력이 떨어지면 생성자의 능력도 떨어질 수밖에 없다는 문제가 있다.
[모델의 진동(Oscillation)]
GAN 모델을 학습시키는 과정에서 감별자와 생성자는 번갈아가며 서로를 학습시키는 적대적 학습을 수행하는데 이 경우, 문제가 발생할 수 있다.
학습을 반복하는 과정에서 감별자의 학습과 생성자의 학습이 서로를 상쇄할 수 있는 경우에 문제가 발생하게 된다. 즉, 판별자와 생성자가 서로를 속고 속이며 제자리를 맴도는 학습을 수행한다면 양쪽 모두 전역 해로 수렴할 수 없는 문제가 발생하게 된다. 이런 상황을 모델이 진동(oscillation) 한다고 한다.
[Mode Collapsing]
상술한 문제들에 기초하여 나타나는 대표적인 현상은 Mode Collapsing이다. 학습 데이터의 분포가 여러 군데 퍼져 있는 경우 이런 현상이 잘 나타난다. 실제로 학습 데이터는 Multi-modal 하기 때문에 GAN 모델 학습 시 이런 문제가 생기는데 여기서, Multi-modal이라 함은 mode가 여러 개 존재한다는 것을 의미한다.
예를 들어, 종이에 0을 손으로 쓰고 촬영한 이미지, 종이에 1을 손으로 쓰고 촬영한 이미지, 종이에 2를 손으로 쓰고 촬영한 이미지, 종이에 3을 손으로 쓰고 촬영한 이미지 이렇게 4개의 이미지가 여러 개 있다고 가정해보자. 이 이미지들을 이용해서 GAN 모델을 학습시키는 경우, 4개의 mode가 있다고 볼 수 있다.
만약, 이 이미지들을 이용해서 GAN 모델을 학습시키게 되면 생성자가 주어진 입력의 4개의 모드 중 하나로만 치우쳐서 학습을 수행할 수도 있다. 이런 현상을 mode의 충돌(mode collapsing) 현상이라고 한다.
4개의 mode로 구성된 데이터 셋을 이용해서 GAN을 실제로 학습시키다 보면 같은 숫자(예를 들어, 종이에 2를 손으로 쓰고 촬영한 이미지)만 계속해서 생성되는 현상을 볼 수 있다. 생성자 입장에서는 어떤 숫자가 쓰인 이미지를 만들든 감별자만 속이면 되기 때문이다.
이런 현상은 감별자가 불완전한 경우, 모델이 진동하는 경우 및 두 가지 문제점이 동시에 발생하는 경우에 심하게 발생하게 된다. 결과적으로 생성자가 학습 데이터 전체의 분포를 학습하지 못하게 되고 일부분에 대해서만 학습을 수행하게 된다.
[결론]
생성자와 판별자가 적절하게 균형을 이루면서 안정적으로 전역 해로 수렴하도록 만드는 것이 GAN 모델이 해결해야 할 문제이다. 이를 해결하기 위해서 많은 모델들이 제안이 되고 있는 상황이다.
이 글은 표시된 게시일을 기준으로 작성된 자료입니다. 개별 사안에 대한 검토는 상담을 통해 안내합니다.

