4.5 KiB
4.5 KiB
Stable Diffusion Weights
📌 Brief Summary
Stable Diffusion 프롬프트 가중치(Prompt Weights)는 텍스트 프롬프트 내 특정 단어나 구문의 중요도를 숫자로 강조하거나 약화시켜 AI가 생성하는 이미지를 더욱 정밀하게 제어하는 기법입니다 [1-3]. 기본 가중치 값은 1이며, 사용자는 기호(+, -, (), [])나 숫자를 활용하여 모델이 특정 피사체나 속성에 얼마나 주의를 기울일지 직접 설정할 수 있습니다 [1, 4]. 이 기능은 긍정적인 요소의 강조뿐만 아니라 부정 프롬프트(Negative Prompt)와 결합하여 원치 않는 시각적 결함을 효과적으로 차단하는 데에도 폭넓게 활용됩니다 [5, 6].
📖 Core Content
-
가중치 조절의 기본 문법과 수학적 원리
- 프롬프트의 단어나 구문 뒤에
+기호나 1.1에서 2 사이의 숫자를 추가하면 해당 요소의 비중이 커지며,-기호나 0에서 0.9 사이의 숫자를 추가하면 비중이 작아집니다 [1]. - 수학적으로
+기호는 기본값 대비 1.1배의 가중치를 의미합니다. 기호가 중첩될수록 이 값은 제곱으로 증가합니다(예:++는 1.1²,+++는 1.1³). 반대로-기호는 0.9배를 의미하며, 중첩 시 0.9², 0.9³으로 계산됩니다 [7, 8]. (keyword:factor)형태의 직접적인 숫자 지정 문법이 가장 보편적으로 활용되며, 특정 엔진에서는 단어를 괄호()로 감싸면 1.1배 강조, 대괄호[]로 감싸면 부정 또는 약화의 의미로 동작합니다 [3, 4, 9]. 복잡한 구문일 경우(in the style of expressionism)+와 같이 전체를 괄호로 묶어 가중치를 부여할 수 있습니다 [10].
- 프롬프트의 단어나 구문 뒤에
-
가중치 적용의 한계 및 모범 사례
- 가중치를 지나치게 높게 설정하면 해당 단어가 강하게 반영되기는 하나, 과도한 수치나 여러 강조 구문의 중첩(예:
((dog:2.0)))은 오히려 이미지의 전반적인 품질을 저하시키거나 프롬프트 충돌을 일으킬 위험이 큽니다 [1, 4, 11]. - 소수점 단위의 지나치게 정밀한 조절(예: 0.55와 0.553의 차이)은 실제 생성 결과에 거의 영향을 미치지 않으므로 소수점 한두 자리 수준의 조정으로 충분합니다 [12].
- 특히 특정 화풍이나 인물을 학습시킨 LoRA 모델과 결합할 때는 0.7 정도의 가중치로 시작하는 것이 가장 안전합니다. 이는 베이스 모델의 기본 화풍을 훼손하지 않으면서도 의도한 효과를 안정적으로 얻을 수 있는 최적의 타협점입니다 [13, 14].
- 가중치를 지나치게 높게 설정하면 해당 단어가 강하게 반영되기는 하나, 과도한 수치나 여러 강조 구문의 중첩(예:
-
부정 프롬프트(Negative Prompt)와의 결합
- 프롬프트 가중치 조절은 부정 프롬프트 영역에서도 동일하게 작동하여, 이미지 생성 시 반복적으로 발생하는 오류(예: 기형적인 손, 흐릿함 등)를 제어하는 데 효과적입니다 [6].
- 예를 들어,
(blurry:1.5)나(deformed:1.2)처럼 부정적인 요소에 약간의 가중치를 부여하면, 생성 모델의 샘플러(Sampler)가 해당 개념을 회피하도록 더 강하게 압박할 수 있습니다 [6]. - 단, 부정 프롬프트에 너무 공격적인 가중치를 할당하면 이미지의 전반적인 구도나 형태에 전혀 다른 부작용을 일으킬 수 있으므로, 적절한 수준의 가중치를 유지하는 것이 중요합니다 [6, 15].
🔗 Knowledge Connections
- Related Topics: Negative Prompts, LoRA
- Projects/Contexts: 오픈소스 이미지 생성 모델 제어
- Contradictions/Notes: 소스에 따르면 프롬프트 가중치를 표현하는 문법은 플랫폼이나 사용자 인터페이스마다 약간의 차이가 존재합니다. 오픈소스 Stable Diffusion 인터페이스 등에서는
()와[]를 사용한 가중치 증감 문법이 통용되지만, 특정 플랫폼(예: getimg.ai)에서는 호환성 문제로 인해 해당 문법을 지원하지 않고 오직+/-기호 및 명시적인 숫자 기반의 문법 사용만을 권장합니다 [3-5]. 또한, 가중치 값이 0 미만인 '음수 가중치'는 일반적인 부정 프롬프트와 달리 기괴하고 예측할 수 없는 결과를 초래할 수 있으므로, 특정 대상을 화면에서 지우고 싶다면 음수 가중치보다는 일반 부정 프롬프트([])를 사용하는 것이 올바른 접근법입니다 [13, 16].
Last updated: 2026-04-30