Files
2nd/10_Wiki/Topics/Stable Diffusion.md
T

4.5 KiB

Stable Diffusion

📌 Brief 시 Summary

스테이블 디퓨전(Stable Diffusion)은 Stability AI가 개발한 대표적인 오픈소스 확산(Diffusion) 기반 텍스트-이미지 생성 인공지능 모델입니다[1]. 사용자가 직접 모델을 호스팅하고 특정 도메인에 맞게 미세 조정(Fine-tuning)을 할 수 있어 완벽한 제어 권한을 제공하는 것이 특징입니다[2, 3]. 프롬프트 작성 시 자연어 문장보다는 쉼표로 구분된 태그(Tags)와 가중치 문법을 사용하며, 부정 프롬프트(Negative Prompt)를 통해 생성 결과를 픽셀 단위까지 매우 정교하게 통제할 수 있습니다[4-6].

📖 Core Content

  • 작동 메커니즘 (Diffusion Process) 스테이블 디퓨전은 데이터에 점진적으로 가우시안 노이즈를 추가하는 순방향 확산(Forward Diffusion) 과정을 학습한 뒤, 무작위 노이즈 상태에서 이를 반복적으로 제거(Denoising)하며 원본 데이터와 일치하는 일관된 시각적 결과물을 재구성하는 역방향 확산(Reverse Diffusion) 방식을 사용합니다[7, 8]. 사용자가 입력한 프롬프트 텍스트는 토크나이저(Tokenizer)를 통해 인공지능이 이해할 수 있는 수치적 토큰(Tokens)으로 분할되어 이미지 생성 과정을 유도합니다[9].

  • 프롬프트 구조 및 문법 (Syntax) 완전한 형태의 문장을 선호하는 다른 모델들과 달리, 스테이블 디퓨전은 쉼표로 구분된 태그(Tags) 형식을 사용하는 것이 가장 효과적입니다[4]. 가장 중요한 시각적 요소일수록 프롬프트의 맨 앞에 배치해야 하며, 괄호를 사용해 특정 단어의 가중치(Weights)를 조절할 수 있습니다[4, 6].

    • 예를 들어 (word:1.5)와 같이 입력하면 해당 단어의 중요도를 1.5배로 강화하고, 반대로 [word] 또는 (word:0.9)로 입력하면 그 비중을 약화시킬 수 있습니다[6, 10, 11].
    • +- 기호를 이용해 (word)+++ 형태로 가중치를 누적 적용할 수도 있습니다[12, 13].
  • 부정 프롬프트 (Negative Prompt) 부정 프롬프트는 이미지에 나타나지 말아야 할 요소(예: deformed hands, extra fingers, watermark, blurry 등)를 명시하여 확산 과정이 잘못된 방향으로 흐르는 것을 차단하는 핵심 통제 시스템입니다[5, 6, 14].

    • 이는 단순히 이미지를 다듬는 것을 넘어 불필요한 반복 생성(Reroll)을 줄이고 원하는 결과물에 도달하는 데 필수적입니다[15, 16].
    • 모호하게 "bad"라고 적는 것보다 "extra fingers", "watermark"처럼 구체적인 결함을 지적할 때 정확도가 훨씬 높아집니다[17, 18].
    • CFG 척도(CFG Scale)와 결합하여 모델이 프롬프트와 부정 프롬프트의 조건(Conditioning)을 얼마나 강하게 따를지 조절할 수 있습니다[19, 20].
  • 버전별 특성과 고급 제어 SD 1.5, SDXL, Flux 등 스테이블 디퓨전의 세부 모델마다 부정 프롬프트를 수용하는 성향이 다릅니다[21]. SD 1.5는 긴 형태의 부정 프롬프트를 잘 수용하지만, SDXL이나 최신 모델은 너무 길고 포괄적인 부정 프롬프트를 입력하면 오히려 이미지의 디테일이나 구도를 망칠 수 있으므로 문제점만 짚어낸 간결한 목록을 사용하는 것이 권장됩니다[21, 22]. 또한 고급 기술인 컨트롤넷(ControlNet)을 결합하면 텍스트 프롬프트뿐만 아니라 피사체의 뼈대(Pose)나 윤곽선(Canny Edge) 정보를 모델에 강제로 주입하여 피사체의 배치와 자세를 픽셀 단위로 완벽하게 통제할 수 있습니다[6].

🔗 Knowledge Connections


Last updated: 2026-04-30