1단계 — 디퓨전 모델의 원리

노이즈에서 이미지를 건져 올리고, 잠재 공간을 건너는 법

by 근배

영화를 만들고 싶다면—특히 AI 영화를 만들고 싶다면—첫 질문은 의외로 기술이 아니다. "어떤 AI 툴을 써서 어떤 버튼을 눌러야 하지?"가 아니라, "AI 이미지는 도대체 어떻게 만들어지는가?"다. 이 질문에 답하지 못하면, 프롬프트는 늘 운에 기대는 주문서가 된다. 반대로 원리를 이해하면, 프롬프트는 내 손의 지도가 된다. 오늘은 그 이야기, 디퓨전과 잠재 공간을 차분히 짚어보려 한다.


다만 이 글을 쓰는 것에 조심스러웠다. 처음 들어보는 단어가 많을 것이다. 이해하지 않고 눈으로만 훑어봐도 좋다. 앞으로 우리가 이야기를 할 때, 여러분들과 내가 공통된 개념을 공유하기 위해 몇가지를 알려드리는 것이다. 툴 강의로 시작하지 않고, 그 본질을 먼저 쓰는 이유는 이 개념이 그만큼 강력하기 때문이다. 여러분은 2년 전에 나온 AI툴 강의, 1년전에 나온 AI툴 강의를 찾아 듣는가? AI는 하루가 다르게 발전한다. 이 글을 읽는 사람이라면, 분명 AI로 인해 뒤쳐지고 싶지 않다는 생각이었을 것이다. 제대로 선택했다. 이 글과 다른 강의의 차별점은 이 챕터에 있다. 여기서 소개하는 개념들은 말 그대로 뿌리다. 다시한번 강조한다. 이 챕터에서 소개되는 내용은 엄청 중요하다. 이 책은 여기서 소개 될 개념을 여러분이 직관적으로 느끼고, 학습하고, 가져갈 수 있도록 10차시에 걸쳐 풀어낸 것에 불과하다.



노이즈에서 건져 올리는 그림

나는 종종 AI의 이미지를 오래 들여다본다. 선이 정확히 그어져 있다기보다, 덩어리가 서서히 응고하며 윤곽을 얻는 느낌. 이유는 간단하다. 이미지 생성형 AI는 깨끗한 그림을 그리는 방식이 아니라, 완전한 노이즈에서 잡음을 조금씩 걷어내며 본모습을 되돌리는 방식이기 때문이다.


현재 이미지 생성 AI는 확산 모델(Diffusion Model)을 차용한다.


학습 단계에서 모델은 '깨끗한 이미지 → 노이즈'라는 망가뜨리기를 배우고, 생성 단계에서는 그 역방향을 아주 작은 걸음들(step)로 반복한다. 한 번의 점프가 아니라 수십, 때로는 수백 번의 미세한 정정. 그래서 스텝을 늘리면 보통 더 안정적이고 곱게 나온다. 다만 모델과 선택된 샘플러(이미지를 복원하는 방법)에 따라 "최적 구간"이 있어, 수렴 지점 이후에는 step을 무작정 높인다고 무조건 선명도가 오르는 것은 아니다. 창을 닦는 일과 비슷하다. 너무 적게 문지르면 얼룩이 남고, 과도하게 문지르면 오히려 흐릿해진다.


그리고 결과를 바꾸는 또 하나의 손잡이는 시드(seed)다. 같은 문장을 써도 시드를 바꾸면 출발 노이즈가 바뀌니, 발상 스케치가 달라지는 셈이다. 나는 시드를 "시작점"으로 생각한다. 같은 키워드라도 "어떤 노이즈에서 출발하느냐"가 결과를 바꾼다.

Step에 따른 noise의 변화 과정. "그린다"가 아니라 "깎아낸다"는 감각을 직관적으로 느껴 보자.


노이즈에서 시작하는 구나, 정도만 이해해도 좋다.그 노이즈 속에서 프롬프트로 이미지를 깎아낸다는 것을 이해하자.



보이지 않는 무대, 잠재 공간


이미지 생성형 AI인 디퓨전 모델은 대체로 잠재 공간(latent space)에서 작동한다. 컴퓨터에서 우리가 보는 사진은 확대해보면 모두 점으로 되어있다. 우리는 그 점을 픽셀이라 부른다. 그리고 잠재 공간이란, 픽셀 단계에서 직접 계산하면 AI가 사용할 비용이 너무 크니, AI 모델은 이미지를 숫자로 되어있는 잠재 공간으로 옮긴 뒤, 그곳에서 노이즈를 덜어내고, 다시 픽셀 세계로 돌려보낸다. 중요한 건 이 압축이 단어의 의미를 잃지 않은 채 이루어진다는 점이다. 그러니 우리가 "비 오는 도심, 젖은 아스팔트, 네온 번짐" 같은 신호를 던지면 AI 모델은 잠재 공간 안에서 그 단서들이 모여 있는 좌표 주변으로 간다. 그리고 그 근방 패턴의 볼륨을 올리고 내리며 이미지를 되살린다.


여기서 말하는 좌표는 비유가 아니다. 실제로 숫자는 잠재 공간 내에 비슷한 성질끼리 분포해있다. 나는 그래서 잠재 공간을 종종 세계지도로 상상한다. 야간 도심 와이드는 네온이 번지는 서울. 창가 역광의 인물 클로즈업은 부드러운 대비의 프랑스. 필름룩과 빈티지 색감은 오래된 간판이 남아 있는 80년대 광안리. 우리는 프롬프트로 "어느 구역(클러스터)에서 탐색을 시작해, 어떤 골목(속성)을 지나, 복원의 최종 목적지로 향할지"를 고르는 것이다. 문장을 길게 늘어뜨리는 기술이 아니라, 경로를 정확히 짚는 습관이 중요해진다.


잠재공간 예시 이미지.png AI가 이미지를 학습한다는 것은, 잠재 공간 안에 군집 된 숫자 데이터를 학습한다는 뜻이다.


프롬프트는 주문서가 아니라, 군집 된 데이터를 잇는 경로로 바라보자. 톤과 일관성을 유지하는 데 유리하다.





텍스트와 그림, 둘 다 숫자로 산다


그렇다면 프롬프트는 어떻게 이 잠재 공간의 좌표를 찾아가는가? 언어 모델(LLM)은 단어를 임베딩 벡터로 옮기고, 그 벡터가 놓인 공간에서 다음에 올 확률이 높은 단어를 고른다. (임베딩이란, 단어나 이미지를 컴퓨터가 이해할 수 있도록 그 의미를 담아 압축한 '숫자 배열'이다.) 디퓨전 모델도 마찬가지다. 다만 "다음에 올 단어" 대신 "제거 할 노이즈"를 고른다. 둘 다 궁극에는 확률적 선택의 누적이다. 마법이 아니다. 통계와 확률적 근사의 산물이다.


이 사실을 받아들이는 순간, 프롬프트는 다른 얼굴을 한다. 기도가 아니라 좌표 지정. "예쁘게 나와라"가 아니라 "무엇을, 어디에서, 어떻게 볼 것인가"를 정확히 찍는 일. 나는 그래서 프롬프트를 늘 슬롯으로 쪼갠다. 길게 쓰려 애쓰기보다, 빠진 슬롯을 채운다.


"말맛"보다 신호가 중요하다. 잠재공간의 어떤 영역을 자극할 것인가?





어떤 컷에서 어떤 잠재 공간을 사용할 것인가?


yg8857_25-year-old_Korean_man_full-body_wide_shot_wearing_a_1_5cf12a47-8ce8-4c06-8360-ec68feac4492_0.png A컷 와이드샷


yg8857_Full-body_wide_shot_of_a_25-year-old_Korean_man_in_a_1_1fe131d7-55cb-4063-9c97-e4739c50b028_2.png
yg8857_Medium_shot_of_the_same_man_torso_and_head_filling_the_09fb605a-31ba-496d-9695-cdf0ab2fb479_0.png
B컷 미디엄샷


yg8857_25-year-old_Korean_man_close-up_portrait_1940s_militar_1186f459-8d61-4207-b57f-4d4748ae2aef_0.png C컷 클로즈업 샷



각 컷은 그 컷만의 잠재 좌표를 필요로 한다. 이때 가장 흔한 실패는 "한 문장에 모든 걸 우겨 넣는" 방식이다. 나는 컷별로 슬롯을 분배한다. 와이드샷에선 인물과 배경사이의 관계가 중요하기에 몸 전체의 자세, 긴장감, 거리감을 묘사한다. 또한 조명과 구도를 주로 다룬다.미디엄샷의 경우, 그 인물이 어떤 사람으로 느껴지는가를 중요하게 여긴다. 얼굴 표정, 감정, 옷의 디테일, 시선과 방향, 조명, 배경을 적는다. 다만 배경은 와이드샷만큼 중요하지 않다. 오히려 흐릿하게 두고 인물에 초점을 맞추기도 한다.클로즈업샷은 극단적인 촉감이 집중한다. 피부 질감, 눈과 시선, 표정, 광택과 조명 등.


물론 각 컷마다 어떤 슬롯을 쓸지는 사람의 취향과 상황마다 다르다. 어떠한 슬롯을 분배할 것인지는 컷의 성질에 따라 매번 달라진다. 즉 의도가 중요하다. 의도에 따라 AI의 어떤 잠재 영역을 사용할 것인지 정해야한다. 그리고 그걸 탬플릿화해서 모아두면 후에 비슷한 장면을 만들 때 편하다.


다른 곳에서는 이것을 키워드라 말 할 것이다. 이미지 생성형 AI에서 말하는 키워드란 결국, AI가 학습한 잠재모델 속에서 우리가 어떤 부분을 자극할 것인지에 대한 이야기다.



가장 자주 틀리는 지점, 그리고 간단한 해법



자주 틀리는 지점 표.png 해법은 간단하다.


큰 카테고리를 먼저 정한다(인물/풍경/실내/야간…).

속성 슬롯을 채운다(렌즈/조명/재질/공기/감정/동작…).


이 기록이 쌓이면 패턴이 보이기 시작한다. 관찰은 곧 재현성을 낳고, 재현성은 곧 자기 문법을 만든다.

툴은 바뀌어도, 원리는 남는다


몇 해 전 "프롬프터"라는 직업이 반짝했다가 툴의 진화와 함께 자취를 감췄다. 그러나 그 시절에 다루던 원리—노이즈에서 의미로, 잠재 좌표의 감각, 프롬프트의 구조화—는 지금도 유효하다. 나는 그래서 툴 사용기를 쓰기보다, 태도와 구조를 말한다. 새 모델이 나와도 같은 질문을 던질 수 있어야 하기 때문이다.


"지금 이 모델의 잠재 공간에서, 나는 어디에 서 있나?"

"무엇을 강화/약화할 것인가?"

"다음 컷으로 어떤 경로를 잡을 것인가?"





한 페이지 요약 - 디퓨전 모델, 잠재 공간 지도, 프롬프트 설계





다시, 처음의 질문으로


처음에 묻던 그 질문으로 돌아간다. AI 이미지는 어떻게 만들어지는가?

AI의 대답은 이렇다. "완전한 노이즈에서 출발해, 잠재 공간을 거닐며, 더 그럴듯한 방향으로 조금씩 걸어 나간다." 우리의 프롬프트는 그 길 위에 꽂는 좌표핀과 나침반이다. 그러니 운에 맡길 이유가 없다. 좌표를 찍고, 슬롯을 채우고, 손잡이를 돌리면 된다. 그러다 보면 어느 순간, 프롬프트는 문장이 아니라 지도가 되고, 결과물은 우연이 아니라 의도가 된다.

나는 이 원리를 믿는다. 그리고 그 믿음은 실용적이다. 툴은 내일 또 바뀔 것이다. 그러나 노이즈에서 의미로, 의미에서 서사로 나아가는 이 여정의 뼈대는 쉽게 바뀌지 않는다. 결국 남는 것은, 내가 어떤 이미지를 바라보며, 그 이미지를 통해 어떤 이야기를 말하려 하는가이다. 원리는 그 이야기를 제 시간에 맞춰 데려오는 가장 효율적인 경로일 뿐.


다음 글에서는 이 원리를 더 구체화해, 프롬프트를 좌표처럼 쓰는 방법을 다룬다. 문장을 늘이지 않고도 정확히 도착하는 법—내가 프로젝트에서 실제로 사용하는 프롬프트와 함께 보여주겠다.

keyword
작가의 이전글AI로 영화를 만든다는 것