4.7 KiB
4.7 KiB
스테이블 디퓨전 CFG Scale 및 가중치 제어
📌 Brief Summary
스테이블 디퓨전에서 CFG Scale(Classifier-Free Guidance Scale)은 인공지능 모델이 긍정 및 부정 프롬프트의 지시를 얼마나 강력하게 따를지 결정하는 안내의 강도(Intensity of guidance)를 의미합니다 [1, 2]. 가중치(Weight) 제어는 프롬프트 내 특정 단어나 구문의 중요도를 숫자로 지정하여 모델의 주의를 끌거나 축소하는 세밀한 시각적 통제 기법입니다 [3, 4]. 이 두 가지 요소를 최적의 수치로 조절하면 의도한 구도를 정확히 구현하면서도 이미지 아티팩트나 품질 저하를 방지할 수 있습니다 [5, 6].
📖 Core Content
-
CFG Scale (Classifier-Free Guidance Scale)의 메커니즘
- CFG Scale은 긍정 프롬프트(목표)와 부정 프롬프트(회피 영역)가 함께 인코딩될 때, 샘플러(Sampler)가 이 조건들을 얼마나 적극적으로 따라야 하는지를 결정하는 지표입니다 [1, 2].
- 단순히 CFG Scale을 높인다고 해서 이미지가 지능적으로 변하는 것은 아니며, 오히려 프롬프트가 부실할 경우 잘못된 지시 사항을 더 강력하게 고수하게 만들 수 있습니다 [1].
- 현실성 높은 결과물 등 고품질의 이미지를 생성하려면 샘플링 스텝(Sampling steps)과 함께 CFG Scale을 모델에 맞게 미세 조정(Fine-tuning)해야 합니다 [6].
-
프롬프트 가중치(Prompt Weights) 제어 방법
- 프롬프트 단어의 기본 가중치는 1입니다 [3]. 가중치 구문을 사용하면 특정 대상의 비중을 상대적으로 늘리거나 줄일 수 있습니다 [3, 7].
(keyword:factor)형태의 문법을 사용하여 단어의 중요도를 숫자로 명시할 수 있습니다. 1보다 큰 숫자(예: 1.12)를 부여하면 해당 요소가 강조되고, 1보다 작은 숫자(예: 0.10.9)를 부여하면 축소됩니다 [3, 4, 7].- 파서(Parser)나 인터페이스에 따라 괄호와 기호를 이용하는 방식도 지원됩니다. 단어를
()로 묶으면 1.1배 강조되며,+기호를 덧붙일 때마다 지수 배수로 가중치가 증가합니다(예:+는 1.1,++는1.1^2). 반대로-기호는 0.9의 배수로 영향력을 줄입니다 [4, 8]. - 두 개 이상의 단어로 이루어진 복합 구문에 가중치를 적용할 때는 반드시 괄호로 묶어야 합니다(예:
(holding a beer:1.3)) [8, 9].
-
부정 프롬프트(Negative Prompts)에서의 가중치 활용
- 가중치 제어는 긍정 프롬프트뿐만 아니라 부정 프롬프트에도 적용할 수 있습니다. 부정 프롬프트 내에
(blurry:1.5)나(deformed:1.2)처럼 가중치를 주어 입력하면, 샘플러가 해당 오류 개념을 피하는 데 훨씬 더 많은 주의를 기울이게 됩니다 [10, 11]. - 주의할 점은 0 미만의 '음수 가중치'를 입력하는 것은 예기치 않은 기괴한 결과(Twilight Zone)를 초래하므로 권장되지 않는다는 것입니다. 원치 않는 요소를 제거하려면 음수 가중치 대신 부정 프롬프트 란에 요소를 기입하고 양수 가중치로 억제력을 높이는 것이 올바른 방법입니다 [7, 9].
- 가중치 제어는 긍정 프롬프트뿐만 아니라 부정 프롬프트에도 적용할 수 있습니다. 부정 프롬프트 내에
-
가중치 제어 시 주의사항 및 모범 사례
- 가중치를 극단적으로 높게 설정(예: 2.0 이상)하면 프롬프트 균형이 깨져 렌더링이 망가질 수 있습니다 [3, 12].
- 여러 개의 시각적 개념(예: 두 가지 이상의 LoRA)이 강하게 충돌할 경우 파란색 아티팩트(Blue artifacts)가 발생하거나 노이즈가 생길 수 있습니다 [5, 13].
- 문제를 예방하기 위해서는 가중치를 0.5에서 0.7 사이의 적당한 수준(Modest weights)으로 조심스럽게 사용하는 것이 안전하며, 점진적으로 수치를 조정하는 것이 권장됩니다 [7, 11, 13].
🔗 Knowledge Connections
- Related Topics: Negative Prompt, Prompt Engineering, Stable Diffusion
- Projects/Contexts: AI 이미지 생성 워크플로우
- Contradictions/Notes: 프롬프트 가중치를 조절하는 구문은 사용하는 UI나 모델 파서(Parser)에 따라 다르게 해석될 수 있습니다. 일부 오픈소스 인터페이스에서는
()로 강조하고[]로 축소하는 문법을 사용하지만, 시스템에 따라 이는 단순한 괄호 문자로 인식되거나 무시될 수 있으므로 해당 툴의 권장 문법(예:+/-기호 및 숫자 직접 입력)을 확인하여 사용해야 합니다 [9, 14, 15].
Last updated: 2026-04-30