BioPlayground

🧬
목록으로

Stable Diffusion — AI 이미지 생성의 원리

Stable Diffusion이 노이즈에서 이미지를 복원하는 원리, 잠재 공간의 개념, 그리고 다른 AI 이미지 생성 모델과의 차이를 설명합니다.

중급
|
5
|
검증 완료 (2026-07)
진행률0/36 (0%)

Stable Diffusion — AI 이미지 생성의 원리

이 토픽을 마치면

Stable Diffusion이 어떤 원리로 텍스트에서 이미지를 만드는지, 왜 "Diffusion"이라는 이름이 붙었는지 이해하게 됩니다.


텍스트를 넣으면 그림이 나옵니다

"석양이 지는 바다 위에 떠 있는 고래"라고 입력하면, 10초 뒤에 그런 이미지가 나옵니다. 인터넷에서 찾아온 게 아닙니다. 세상에 없던 이미지를 새로 만든 것입니다.

어떻게 가능할까요? 핵심은 "노이즈를 제거하는 법을 배운 모델"입니다.


Diffusion의 원리: 노이즈 추가와 제거

Diffusion(확산)이라는 이름은 물리학에서 왔습니다. 잉크 한 방울을 물에 떨어뜨리면 점점 퍼져서 결국 균일한 색이 됩니다. 원래 잉크 방울의 형태는 사라집니다.

Stable Diffusion은 이 과정을 거꾸로 합니다.

학습할 때: 깨끗한 이미지에 노이즈(잡음)를 조금씩 추가합니다. 고양이 사진이 점점 흐려지다가 결국 완전한 노이즈가 됩니다. 모델은 "이 노이즈에서 한 단계 전의 덜 노이즈한 이미지"를 예측하도록 학습합니다.

text
깨끗한 이미지 → 약간 노이즈 → 더 노이즈 → ... → 완전 노이즈
                ← 한 단계씩 노이즈 제거 (모델이 학습하는 것)

생성할 때: 완전한 노이즈에서 시작합니다. 모델이 노이즈를 조금씩 제거합니다. 수십 번 반복하면 깨끗한 이미지가 나타납니다. TV를 틀었는데 지직거리다가 점점 선명한 그림이 나타나는 것과 비슷합니다.


텍스트가 방향을 잡아줍니다

노이즈에서 이미지를 만든다면, 아무 이미지나 나올 수 있습니다. 텍스트 프롬프트는 이 과정에 방향을 줍니다.

"고래"라고 입력하면, 모델이 노이즈를 제거할 때 "고래 쪽으로" 제거합니다. 매 단계마다 텍스트 정보를 참조해서, 결과가 "고래"에 가까워지도록 유도합니다.

이 텍스트-이미지 연결은 CLIP이라는 모델이 담당합니다. CLIP은 텍스트와 이미지를 같은 공간에 매핑하도록 학습된 모델입니다. "고래"라는 텍스트와 고래 이미지가 같은 방향을 가리키도록 만들어져 있습니다.


왜 "Stable"인가: 잠재 공간

이미지를 직접 처리하면 계산량이 엄청납니다. 512×512 이미지는 픽셀이 26만 개이고, 각 픽셀에 RGB 3채널이 있으니 78만 개의 숫자를 다뤄야 합니다.

Stable Diffusion은 이미지를 **잠재 공간(Latent Space)**으로 압축합니다. 512×512 이미지를 64×64 크기의 잠재 표현으로 줄입니다. 크기가 64배 작아집니다.

text
이미지 (512×512) → 인코더 → 잠재 표현 (64×64) → 디퓨전 과정 → 디코더 → 이미지 (512×512)

노이즈 추가/제거를 이 작은 잠재 공간에서 수행하니까 계산이 훨씬 빠릅니다. "Stable"이라는 이름은 이 잠재 공간에서 학습이 안정적(stable)으로 수렴한다는 의미입니다.

덕분에 RTX 3060 같은 일반 GPU에서도 이미지를 생성할 수 있습니다. DALL-E나 Midjourney가 클라우드 서버에서만 돌아가는 것과 달리, Stable Diffusion은 내 컴퓨터에서 돌릴 수 있습니다.


오픈소스의 힘

Stable Diffusion이 폭발적으로 퍼진 이유는 오픈소스이기 때문입니다. 모델 가중치가 공개되어 있어서 누구나 다운로드하고 실행할 수 있습니다.

이 덕분에 커뮤니티에서 다양한 확장이 만들어졌습니다:

LoRA — 특정 스타일이나 캐릭터를 추가 학습시키는 경량 방법. 전체 모델을 재학습하지 않고도 "지브리 스타일", "수채화 스타일" 같은 것을 만들 수 있습니다.

ControlNet — 포즈, 윤곽선, 깊이 맵을 입력으로 줘서 생성 결과를 정밀하게 제어합니다. "이 포즈의 사람을 그려줘"가 가능해집니다.

Inpainting — 이미지 일부를 선택하고 그 부분만 새로 생성합니다. 배경을 바꾸거나 원하지 않는 요소를 제거할 수 있습니다.


핵심

Stable Diffusion은 노이즈에서 이미지를 복원하는 과정을 학습한 모델입니다. 텍스트 프롬프트가 노이즈 제거의 방향을 잡아주고, 잠재 공간에서 연산해 속도를 확보합니다. 오픈소스이기 때문에 로컬 GPU에서 실행 가능하며, LoRA/ControlNet 같은 확장 생태계가 풍부합니다.