GAN이란 (이미지 숫자 생성)
위 이미지들은 모두 에서 만든 Stable Diffusion 모델로 제작한 그림입니다. 하나하나씩 이미지들을 살펴보시면 몇몇 AI그림임을 추측할 수 있는 부분이 존재합니다. 이러한 AI 그림들에 관련해서 여러 할 이야기가 있지만, 해당 포스팅의 주제를 벗어나므로 추후 기회가 된다면 이야기해 보고자 합니다.
GAN 모델의 시작
아마 모든 AI 연구자, 학생들은 MNIST 분류기를 통해 28 x 28 픽셀의 손글씨를 인식하는 CNN 모델을 제작해 본 경험이 있을것입니다. 여기에서 우리는 CNN 모델을 활용하여 숫자가 쓰여진 28 x 28 픽셀의 형상을 보곤 어떤 숫자인지 맞추는 인공지능을 제작하였습니다. 위 그림의 정답은 차례대로 5,0,4,1,9,2,1,3,1 이 될 것입니다. 여기에서 정다운 발상이 떠오릅니다. 그걸 반대로 할 순 없을까? 이미지를 토대로 rarr 숫자를 추출하는게 가능하다면 숫자를 토대로 rarr 이미지를 생성할 수는 없을까? GAN은 이 발상부터 시작합니다.
GAN 모델이란?
위에서 숫자를 rarr 이미지로 생성하기 위해서는 그냥 일반적인 CNN 학습을 수행해도 어느정도 가능할 테지만. 학습하는데에 여러 문제가 존재합니다. 위 그림과 몇 픽셀이 다른 이미지가 출력되면 해당 이미지는 4 가 아닌가? 4가 맞다면 어떤 근거로 해당 이미지를 4로 판단할 수 있을것인가? 4가 아니라면 어떤 근거로 해당 이미지를 4가 아니라고 판단할 수 있을것인가? 2,3 을 판단하는데에 있어서 사람이 개입하면 안된다 위와같은 문제로 인해 2014년에 합니다.
해당 논문에서는 범죄자와 범죄를 막는 경찰 에 빗대어 GAN을 설명합니다.
최근에 들어서 생성형 인공지능 AI가 대두되고 있고 특히 이미지 개발 같은 영역에서 대부분의 모델들은 GAN 을 뿌리로 두고 있습니다. 이러한 GAN은 사실 기초 원리가 LSTM이나, Transformer 와 같은 Recurrency 계열 모델들보다. 쉽다고 생각하기에 쉽게 배울 수 있을것입니다. 다만 기초 원리만 쉽지 학습시키기엔 훨신 빡세다. 그리고 지금까지 맛본 봐와 같이 순수 GAN은 성능이 꽤 떨어진다. 이러한 성능 이슈를 개선하기 위해서 책에서도 여러 기술들에 관련해서 언급 해 주고있으며, 웹상을 뒤져보시면 여러 최적화 기법들이 많이 있습니다.
다만 이번 포스팅의 목적이 GAN이 어떠한 것인지 소개하는데에 있으므로 여기까지 작성하도록 하겠습니다.