최근 딥러닝에서 가장 주목받는 분야 중 하나는 생성 모델(Generative Model)입니다. 가장 대표적으로 GAN(Generative Adversarial Network)을 들 수 있습니다. 2014년 이안 굿펠로우가 처음 소개한 이후로, 불과 몇 년만에 엄청난 발전을 보이고 있습니다. 지금은 실제 사람과 거의 구분이 불가능할 정도로 정교한 사진을 만들어냅니다.
사실 개인적으로 GAN에 흥미가 있었지만 그렇게 큰 관심을 두지는 않았습니다. 단순히 사진이나 동영상을 생성하는 수단일 뿐, 지능의 본질적인 부분과 거리가 있다고 보았습니다. 하지만 2가지 생성 모델의 등장으로 그런 제 생각이 점점 바뀌었습니다.
첫째, World Models(http://aidev.co.kr/deeplearning/4304)입니다. 강화학습의 한 방법이지만 특이하게도 생성 모델을 적용하였습니다. 먼저 이전 화면들을 VAE(Variational Autoencoder)로 압축합니다. 그리고 압축된 z 벡터를 RNN에 넣어 다음 화면을 생성합니다. 이렇게 미래의 이미지를 예측하여 최적의 행동을 결정하는 방식입니다.
두 번째는 GameGAN(http://aidev.co.kr/deeplearning/9221)입니다. 팩맨 게임을 코딩 없이 오직 학습으로만 구현했습니다. 키패드로 주인공을 움직이면 변화된 상황에 맞는 화면이 자동으로 만들어집니다. 먹이는 먹는 것, 유령을 피하는 것, 파워업을 해서 유령을 잡는 것 등 게임상의 로직까지 딥러닝의 생성 모델이 이해하고 있습니다.
얼마 전 <미술관에 GAN 딥러닝 실전 프로젝트>란 책을 읽다가 이런 문구를 발견했습니다. '생성 모델이 일반 인공지능으로 가능 열쇠가 될 것이다'. 그 순간 머릿속을 맴돌고 있던 의문들이 한 번에 정리되었습니다. 우리의 뇌가 바로 생성 모델이라는 사실을 깨달았기 때문입니다.
현재 일반 인공지능에 가장 근접한 모델은 OpenAI의 GPT3(https://beta.openai.com/)입니다. 한 번 학습하는데 무려 150억이 드는 거대한 신경망입니다. 문장이 주어지면 거기에 이어지는 텍스트를 생성합니다. 챗봇, 질의응답, 글쓰기 등 다양한 분야에 적용할 수 있는 범용 인공지능입니다.
GPT3가 '새가 하늘을 날고있다'란 문장을 만들었다고 예를 들어보겠습니다. 물론 사람만큼은 아니지만 딥러닝 모델은 문장의 뜻을 어느정도 이해하고 있습니다. 그래야 문맥에 맞는 텍스트를 출력할 수 있습니다. 하지만 '새', '하늘', '날다'라는 개념에 대해서 확실히 인지하지는 못합니다. 글자로만 학습을 했다는 한계 때문입니다. 과거에 많이 쓰이던 지식베이스에서는 'fly(bird) and sky(bird)'로 나타냅니다. 이렇게 변환해도 단순히 기호일 뿐이지, 컴퓨터는 그 진짜 의미를 알지 못합니다.
우리는 어떨까요. 문장을 읽으면서 자연스럽게 하늘을 나는 새를 상상합니다. '하늘'이라는 이미지, '새'라는 이미지, '날다'라는 이미지가 동시에 떠오르면서 하나로 합쳐집니다. 사람은 태어나면서부터 시각을 통해 세상에 대한 정보를 얻습니다. 이때 눈으로 본 장면을 그대로 뇌에 저장하지 않습니다. 여러 영상에서 나타나는 핵심적이고 공통적인 패턴만 기억합니다. 이 패턴들을 조합하면 원본 이미지 또는 전혀 새로운 이미지를 만들어낼 수 있습니다. 뭔가 GAN과 비슷하지 않나요. GAN으로 추출한 z 벡터가 압축된 정보고, 이를 변형하여 다시 재현할 수 있습니다. 이처럼 생성 모델을 사용하면 현실 세계를 인공지능이 그대로 이해할 수 있습니다.
앞으로 유튜브가 가장 좋은 데이터가 될거라 생각합니다. 생성 모델이 동영상을 보면서 스스로 그 속에 담겨있는 의미를 파악합니다. 화면에 나온 각각의 개체들을 구분할 수 있을 뿐만 아니라, 그것들 사이의 관계 역시 학습합니다. 일반 인공지능을 구현하는데 가장 필요한 상식, 즉 세상에 대한 지식을 딥러닝으로 구현하는 것입니다. 아직 넘어야 할 산이 많이 있지만, 월드 모델과 GameGAN이 그 가능성을 보여줬습니다. 또한 StackGAN처럼 생성 모델과 자연어처리를 연동할 수도 있습니다.
가끔씩 딥러닝의 발전속도에 깜짝 놀라곤 합니다. 이런 추세라면 일반 인공지능의 돌파구를 찾는데 그리 멀지 않았다고 봅니다. 그 핵심적인 역할을 생성 모델이 담당할 것이라 믿습니다.
< 인공지능 개발자 모임 >
- 페이스북 그룹에 가입하시면 인공지능에 대한 최신 정보를 쉽게 받으실 수 있습니다.
- https://www.facebook.com/groups/AIDevKr/