그림 생성 실험
그림을 생성하는 기계학습 결과 모델들이 서비스로 만들어져 돌아다니는 것을 봤습니다. 직접 사용해볼 수 있으면 좋겠다고 생각했지만 서비스 상당수는 횟수에 제한을 둔 유료여서 마음 놓고 시도해볼 수가 없었습니다. 아무래도 회사에 결과가 확실하지 않은 뭔가를 사달라고 하기엔 무리가 있었고 또 이걸 개인이 구매하자니 그것도 애매했습니다.
몇몇 서비스를 시도해봤는데 텍스트로 그림을 설명하는데 익숙하지 않아서인지 기사에서 봤던 그럴듯한 이미지를 만들어낼 수가 없었습니다. 무료로 제공되는 횟수를 순식간에 소진했는데 단순히 학습용으로 사용하기 위해 비용을 지불하고 싶지는 않았습니다. 그러다가 How to Run Stable Diffusion on Your PC to Generate AI Images를 보니 내 기계에서 모델 중 하나를 돌려볼 수 있는 절차를 절 정리해 놓고 있어 환경을 구축하고 내 기계에서 횟수 제한 없이 모델을 돌려볼 수 있게 되었습니다.
횟수 제한 없이 마음 놓고 이것 저것 시도해보면서 처음 받은 느낌은 아이폰 4S가 나온 다음 시리에게 이것 저것 말을 걸며 시리에게 올바른 명령을 내리는 방법을 습득하던 것과 비슷하다는 것이었습니다. 시리가 처음 나올 때 지금은 잘리고 없는 SVP가 광고에 나와 말의 의미를 이해한다고 주장했지만 이게 좀 심한 과장 광고였음을 아이폰을 새로 받은 뒤 몇 시간 만에 알게 되었습니다.
시리는 당시 부족한 컴퓨팅 파워의 한계 상 내 말을 작게 압축해 서버로 보냈다가 결과를 돌려받아 동작했는데 서버가 내 말을 어디까지 이해했는지, 또 어떻게 의미를 파악했는지는 알 수 없었지만 내 폰에 돌아와 실행되는 결과는 형편 없었습니다. 시간이 지나며 시리에게 뭔가를 실행하거나 검색하거나 미리 정의된 동작을 실행할 때 어떻게 말해야 ‘무슨 말씀인지 모르겠습니다’나 ‘그 주제에 대해 웹에서 검색한 결과입니다’ 같은 막다른 길을 덜 만날 수 있는지 알게 되었습니다. 물론 그 뒤에도 시리의 주 용도는 잠깐 낮잠 자기 전에 한 시간 뒤 알람을 맞추거나 라면 물 끓일 시간을 맞추는 정도로 10년을 보내고 있습니다. 지금도 그리 발달하지는 않은 것 같고요.
그림을 생성하는 기계학습 모델에게 말을 걸며 가장 크게 느낀 점은 내 머릿속에 떠올린 이미지를 기계에게 설명하기 위해서는 주로 시각적인 언어에 집중해 설명해야 한다는 것입니다. 처음에는 머릿속에 떠오른 이미지를 ‘넓은 호수’나 ‘커다란 산’처럼 대상의 시각적인 형태를 표현하는 대신 사람만 알고 있는 단어로 표현했습니다. 당연히 결과는 그리 만족스럽지 않았고요. 기계는 내가 말한 어떤 단어는 반영한 듯 보였지만 어떤 단어는 완전히 무시했는데 주로 시각적이지 않은 단어가 더 자주 무시되는 것 같아 보였고 이에 맞춰 그림을 설명하는 방식을 조금씩 개선했습니다. 시각적인 언어에 중점을 두고 전경을 차지할 대상을 묘사하고 후경으로 이동하며 시각적 특징을 묘사하면 어느 정도 예상할 수 있는 이미지를 얻을 수 있었습니다.
이 모델이 시각적이지 않은 단어를 어디까지 알고 있는지는 잘 알 수 없었지만 종종 내 스스로도 정확한 모양을 알지 못하는 대상을 설명해 예상하지 못한 결과를 얻어내는데 쓸 수도 있었습니다. 가령 기존 인간의 상상력을 통해 존재하지 않는 대상이 어느 정도 시각화 되어 있고 이 대상은 사람들 사이에 어느 정도 고정된 이미지로 기억되어 있다고 생각합니다. 가령 ‘워프 포탈’ 같은 건 존재하지 않지만 아마 단어를 읽는 순간 뭔가 떠올린 이미지가 있을 겁니다. 기계 역시 그런 존재하지 않는 것들의 이미지를 학습했을 거라고 예상하고 내가 예상하지 않은 결과를 얻기 위해 의도적으로 대상의 시각적 형태를 설명하지 않을 때 재미있는 결과를 얻기도 했습니다. 이 결과로부터 힌트를 얻어 다음 생성할 이미지의 시각적 형태를 구체적으로 설명하는데 도움을 받았습니다.
하지만 이미지는 온전하지 않았습니다. 어디선가 기사를 통해 글 중간에 들어가는 삽화를 그리는데 이런 도구를 사용한다는 이야기를 읽었는데 내가 사용해본 모델은 그러기에는 아직 부족해 보였습니다. 그림은 기괴하게 뒤틀려 있었습니다. 사물이나 배경을 온전하게 그려내지 못하고 전경과 배경을 헛갈리며 종종 사물의 온전한 모습을 그려내지도 못합니다. 그런 이미지는 기괴하다는 말이 딱 어울렸는데 이런 이미지를 삽화로 쓴다면 별로 좋은 평가를 받기는 어려울 겁니다. 실험 삼아 몇몇 글에 해당하는 이미지를 만들어봤는데 그리 쓸만하지 않았습니다. 설명 방법을 개선해 그림을 개선할 수는 있었지만 시간이 필요했습니다.
이미지를 생성하는 기계학습 결과물이 얼마나 발달했는지, 또 이번에 사용해 본 결과물이 발전 선상의 어디 정도를 차지하고 있는지는 모릅니다. 아마 내 손에 들어올 수 있고 또 내가 쉽게 다룰 수 있을 정도로 잘 정돈된 것을 보면 최전선의 물건은 아닐 거라고 예상합니다. 하지만 머릿속에 생각한 이미지를 손으로 직접 그려내는 대신 텍스트로 설명해 어느 정도 예상한 그림을 만들어낼 수 있고 또 예상하지 못한 그림을 통해 힌트를 얻을 수도 있다는 점은 인상적이었습니다.