Stable diffusion의 작동 방식
Chat GPT, Gemini 등의 AI툴에 “고양이가 책상 위에 앉아 있는 그림”이라고 입력했을 뿐인데, 금세 멋진 그림이 나타납니다.
마치 주문을 외우면 그림이 솟아나는 마법처럼 보이지만, 사실 그 뒤에는 수학, 통계, 그리고 방대한 학습 과정이 숨어 있는데요.
오늘은 이 이미지 생성 AI가 어떻게 그림을 만들어내는지 한번 살펴보겠습니다.
먼저, AI는 우리가 입력한 문장을 이해해야 합니다. 비유하자면, 사람이 그림을 그리기 전에 머릿속으로 장면을 떠올리는 것과 같아요.
“고양이가 책상 위에 앉아 있다”라는 문장을 입력하면, AI는 이를 벡터(숫자의 배열)로 바꿔서 ‘장면의 밑그림’을 머릿속에 스케치합니다.
즉, 아직 그림은 없지만, 무엇을 그려야 할지 구체적인 밑그림이 마음속에 그려지는 단계인 거죠.
그럼 이제, 이 밑그림을 어떻게 실제 그림으로 바꿀까요? 대표적인 방법이 바로 Stable Diffusion이에요.
이름을 풀어보면,
- Diffusion: 이미지를 무작위 잡음으로 흩뜨렸다가, 다시 되돌리면서 점차 선명하게 만드는 과정
- Stable: 그 과정을 안정적이고 효율적으로 반복해 원하는 결과에 도달하게 만든다는 의미
비유하자면, 일부러 사진을 하얀 점으로 가득 채워 흐릿하게 만든 뒤, 조금씩 지우고 다듬어가며 원래 모습을 되살려내는 기술이라고 볼 수 있습니다.
모델은 “이 무작위 점들 속에서 고양이는 어디쯤 있을까?”를 단계별로 추측하면서 점차 형태를 찾아냅니다.
그림은 한 번에 완성되지 않습니다. AI는 수십~수백 번에 걸쳐 노이즈를 조금씩 지우고, 픽셀을 다듬으면서 그림을 완성해 가죠.
비유하자면, 퍼즐 맞추기와 같습니다. 처음엔 조각이 전부 흩어져 있지만, 테두리부터 맞추다 보면 점점 고양이의 귀, 책상의 모서리, 배경 같은 디테일이 드러나는 거예요.
이 과정을 거치면서, 처음엔 단순한 점들이 모여 점차 완전한 그림이 됩니다.
그런데 단순히 점을 모으는 것만으로는 부족합니다.
“고양이가 책상 위에 있다”라는 문장을 제대로 해석해야, 이상한 그림이 나오지 않거든요.
비유를 해보면, 화가가 고양이를 그리면서도 동시에 “책상 위”라는 공간적 관계를 놓치지 않는 것과 같습니다.
이전 시간에 설명했던 Transformer 모델의 Attention 메커니즘이 여기서도 큰 역할을 하는데요. 단어와 단어 사이의 관계를 파악해서, "고양이가 책상 위에 앉아 있는지", "책상 위에 고양이 무늬가 있는지" 같은 것들을 헷갈리지 않도록 도와주는 거죠.
정리하자면, 이미지 생성 AI는
1)단어를 이해하는 두뇌(언어 해석)와
2)노이즈에서 그림을 되살리는 손(디퓨전 과정) 이 두 가지가 합쳐져서 작동합니다.
그래서 인간 화가처럼 '영감'을 바탕으로 그림을 만들어내는 건 아니지만, 믿기 힘들 만큼 빠른 속도로 다채로운 그림을 만들어낼 수 있죠. 물론 아직 완벽하지는 않습니다. 예를 들어 손가락 개수를 잘못 그린다든가, 어딘가 어색한 비율을 만들기도 하죠.
그러면 다음 글에서는 우리가 매일 보는 유튜브 영상들은 어떤 기준으로 추천되는지, 유튜브 알고리즘의 비밀을 파헤쳐 볼까합니다.
다음 글에서 만나요!