매튜 레이필드가 GPT-2로 포켓몬을 과정을 설명한 유튜브 영상
다재다능한 것으로 유명한 텍스트 생성 AI GPT-2가 기사 작성, 영화 제작에 이어 포켓몬을 만들었다. 프로그래머 매튜 레이필드(Matthew Rayfield)는 GPT-2와 자신이 짠 알고리즘을 조합해 3000마리의 포켓몬을 만들어 본인 블로그와 유튜브 페이지에 공개했다. 여기서 가장 그럴듯한 6개 포켓몬은 인간 일러스트레이터를 통해 닌텐도에 나오는 실제 포켓몬처럼 정교한 모습을 갖추게 됐다.
모바일과 웹 기반 장난감을 주로 제작하는 프로그래머 매튜 레이필드는 오픈AI GPT-2와 함께 자신이 만든 코드를 이용해 금년 4월부터 현재까지 3000개 포켓몬 이미지를 만들었다. 포켓몬을 만들기 위한 데이터로 먼저 3가지 포켓몬 게임에서 800개 이미지 픽셀 스프라이트를 수집했다. 각 스프라이트를 픽셀 단위 텍스트로 변환하는 스크립트를 작성했다. 예를 들어 ‘~’는 투명한 부분, ‘!’, ‘b’, ‘a’는 각 색상을 나타내도록 지정했다.
매튜 레이필드는 그의 포켓몬 프로젝트에 대해 블로그에서 “텍스트는 단순히 줄 번호, 위 또는 아래와 같은 이미지 방향을 나타내며 해당 행 내 각 픽셀은 공백으로 구분된 단일 문자로 표시했다. 픽셀 색상을 문자로 변환하는 것은 매우 간단하다”고 설명했다.
이번 작업을 위해 레이필드가 만든 코드는 결과값을 일반화하고 GPT-2에 입력값을 제공하는 역할을 담당했다. 그는 “방대한 텍스트로 GPT-2를 학습시키는 것은 굉장히 쉽다. 가장 까다로운 부분은 이러한 결과값을 사용 가능한 것으로 조정하는 코드를 짜는 것”이라고 강조했다.
좋은 라인을 골라내고 나머지를 버린 결과 10만개 라인 스프라이트를 도출했다. 선정한 스프라이트 값들은 GPT-2에 입력했고 해당 과정을 반복했다. 결과적으로 64개 라인을 골라 이미지로 변환했다.
본인 작업물에 대해 레이필드는 “구글 코랩(Google Colab)을 이용한 몇 시간의 훈련, 생성 작업 끝에 결과물을 얻었다. 결과값 대부분은 보기에 좀 이상하지만 일반적인 포켓몬 특징들을 잘 잡아낸 것으로 보인다”라고 말했다.
3000개 포켓몬 이미지 중 가장 자연스럽게 보이는 6개 이미지는 인간 일러스트레이터 손으로 더욱 생생하게 태어났다. 레이필드는 존재하지 않는 포켓몬 그림을 그리는 것으로 유명한 일러스트레이터 레이첼 브릭스(Rachel Briggs)에게 6개 결과물에 대한 일러스트 작업을 요청했다. 일러스트화 된 6마리 포켓몬에 대해 레이필드는 “닌텐도가 내놓은 것이라고 봐도 믿겨진다”고 강조했다.
레이필드는 포켓몬 제작 프로젝트 코드를 오픈소스 형태로 모두 공개했다. 구글 코랩과 노트북만 있으면 누구나 GPU없이 자신만의 포켓몬을 만들 수 있다.
한편, GPT-2를 이용한 이미지 생성 작업은 레이필드처럼 스스로 코드를 제작하지 않고도 간편하게 진행할 수 있다.
레이필드는 “이 프로젝트를 올해 4월 시작했는데 11월인 현재까지 끝내지 못했다. (스스로 코드를 제작하는 기간이 필요했기 때문이다.) 하지만 내가 프로젝트를 진행하는 동안 오픈AI에는 그들 고유의 GPT를 이용한 이미지 생성 기술이 공개됐다”고 전했다.
