Classifier-Free Guidance (CFG): 분류기 없는 확산 가이던스
개요
Classifier-Free Diffusion Guidance(CFG)는 2022년 Google Brain의 Jonathan Ho와 Tim Salimans가 발표한 논문 “Classifier-Free Diffusion Guidance”에서 제안된 기법으로, 별도의 분류기 모델 없이 단일 확산 모델만으로 조건부 샘플링을 강화하는 방법이다. 이전의 Classifier Guidance(ADM)가 별도로 학습된 노이즈 환경 분류기를 필요로 했던 한계를 극복했으며, 현재 Stable Diffusion, DALL-E 3, Imagen, Flux 등 사실상 모든 현대 텍스트-이미지 생성 모델의 표준 기법으로 자리잡았다.
- 논문: Classifier-Free Diffusion Guidance
- 발표: 2022년 7월, Google Brain
- 라이선스: 비공개 (기법 자체는 자유 사용 가능)
아키텍처 상세
이론적 배경
Classifier Guidance에서는 베이즈 정리를 활용하여 조건부 score를 분해한다:
여기서 두 번째 항을 위해 별도의 노이즈 환경 분류기 를 학습해야 했다. CFG는 이 분류기를 제거하고, 동일한 확산 모델이 조건부와 비조건부 분포를 모두 학습하게 한다.
CFG 샘플링 공식
CFG의 핵심 샘플링 공식은 다음과 같다:
여기서:
- : 조건 가 주어진 노이즈 예측
- : 빈 조건(null token)에서의 비조건부 노이즈 예측
- : 가이던스 스케일 (guidance scale)
이를 score 관점에서 재해석하면:
이면 표준 조건부 샘플링, 이면 비조건부 샘플링, 이면 조건 방향으로 증폭된 샘플링이 이루어진다.
학습 방식: 조건 드롭아웃
| 하이퍼파라미터 | 설명 | 일반적 값 |
|---|---|---|
| 조건 드롭아웃 확률 | 학습 시 조건을 빈 토큰으로 대체하는 확률 | 0.1 ~ 0.2 |
| 가이던스 스케일 | 샘플링 시 조건 방향 증폭 계수 | 3.0 ~ 15.0 |
| Null Token | 비조건부 학습에 사용되는 빈 조건 | 빈 문자열 또는 학습된 임베딩 |
학습 시 각 배치에서 확률 로 조건 를 빈 조건 (null token)으로 대체한다. 이를 통해 동일한 모델 파라미터가 와 를 동시에 학습하게 된다. 추가 파라미터나 별도의 모델이 필요하지 않다는 점이 핵심 장점이다.
핵심 혁신
- 분류기 불필요: 별도의 노이즈 환경 분류기를 학습·유지할 필요 없이, 단일 모델 내에서 조건부/비조건부 학습이 동시에 이루어진다.
- 가이던스 스케일로 품질-다양성 제어: 값을 높이면 조건에 더 충실한 고품질 이미지가 생성되지만 다양성은 감소하고, 낮추면 반대 효과가 나타난다. 이 트레이드오프를 추론 시간에 자유롭게 조절할 수 있다.
- Negative Prompt 기법: CFG 공식에서 비조건부 예측 을 원하지 않는 조건 로 대체하면 Negative Prompt가 구현된다:
- 범용성: 텍스트, 클래스 레이블, 이미지 등 어떤 종류의 조건에도 적용 가능하다.
벤치마크/성능
| 모델/설정 | 데이터셋 | FID (↓) | IS (↑) | 가이던스 스케일 |
|---|---|---|---|---|
| ADM + Classifier Guidance | ImageNet 128×128 | 2.97 | 186.7 | - |
| ADM + CFG | ImageNet 128×128 | 2.43 | 199.4 | |
| ADM + CFG | ImageNet 256×256 | 4.59 | 186.7 | |
| Stable Diffusion + CFG | MS-COCO | ~8.5 | - | |
| DALL-E 3 + CFG | DrawBench | - | - | 내장 |
CFG를 적용한 ADM이 Classifier Guidance 대비 FID와 IS 모두에서 우수한 성능을 보였다. 이는 CLIP 공간의 그래디언트 방향이 지각적 품질 방향과 반드시 일치하지 않음을 시사한다.
관련 모델 비교
| 특성 | Classifier Guidance | CFG | Guidance Distillation |
|---|---|---|---|
| 별도 분류기 필요 | 필요 | 불필요 | 불필요 |
| 추론 비용 | 1.5× (분류기 추가) | 2× (이중 추론) | 1× (증류 후) |
| 학습 복잡도 | 높음 | 낮음 | 중간 |
| Negative Prompt | 불가 | 가능 | 불가 |
| 적용 범위 | 클래스 조건만 | 모든 조건 | 모든 조건 |
| 대표 모델 | ADM (2021) | SD, DALL-E 3 | FLUX.1-dev |
CFG의 단점은 추론 시 매 스텝마다 조건부와 비조건부 두 번의 모델 실행이 필요하여 추론 비용이 2배가 된다는 것이다. 이를 해결하기 위해 FLUX.1-dev 등에서는 Guidance Distillation을 통해 CFG 효과를 모델 내부에 내재화하는 기법이 사용된다.
학습 상세
원논문은 클래스 조건부 이미지 생성(ImageNet 128×128)과 텍스트 조건부 이미지 생성에서 CFG를 검증하였다. 단일 U-Net 모델을 조건부/비조건부 동시 학습으로 훈련하므로 추가 파라미터 없이 구현 가능하다.
- 데이터셋: ImageNet (128×128, 256×256), 텍스트-이미지 쌍
- 학습 비용: 기존 확산 모델 학습과 동일 (추가 비용 없음)
- 구현 복잡도: 매우 낮음 — 학습 루프에서 조건 드롭아웃만 추가하면 됨
실무 활용
1. 텍스트-이미지 생성 파이프라인
Stable Diffusion, DALL-E 3, Midjourney 등 거의 모든 상업/오픈소스 이미지 생성 서비스에서 CFG가 기본 적용된다. 일반적으로 범위가 사용되며, 사용자가 “guidance scale” 슬라이더로 조절할 수 있다.
2. Negative Prompt 기반 품질 제어
“blurry, low quality, deformed”와 같은 Negative Prompt를 지정하여 원하지 않는 특성을 적극적으로 회피하는 기법이 널리 사용된다. 이는 CFG 공식의 직접적 확장이다.
3. 비디오 생성 및 3D 생성
Sora, CogVideoX 등 비디오 확산 모델과 DreamFusion 등 3D 생성 모델에서도 CFG가 핵심 기법으로 활용된다.
한계 및 전망
한계
- 추론 비용 2배: 매 디노이징 스텝마다 모델을 두 번 실행해야 하므로 추론 지연시간이 약 2배로 증가한다.
- 과도한 가이던스의 부작용: 값을 과도하게 높이면 색상 포화, 아티팩트, 비자연스러운 이미지가 생성될 수 있다.
- 최적 스케일 탐색: 데이터셋과 모델에 따라 최적의 값이 다르므로 수동 튜닝이 필요하다.
후속 발전
- Guidance Distillation (FLUX.1-dev): CFG 효과를 모델에 내재화하여 단일 패스 추론
- Autoguidance (2024): 더 작은 모델을 비조건부 모델로 활용하여 비용 절감
- Dynamic CFG: 디노이징 과정 중 값을 동적으로 조절하는 전략
- CFG++ (2024): 가이던스 방향을 ODE 궤적에 맞게 보정하여 아티팩트 감소
CFG는 단순하면서도 강력한 기법으로, 확산 모델 기반 생성 AI의 실용화에 결정적 역할을 한 핵심 기여이다. 구현이 간단하면서도 효과가 극적이라는 점에서 딥러닝 역사상 가장 성공적인 “하나의 트릭”에 해당한다.
관련 문서
- Classifier Guidance (ADM) — 발전 기반