athere
반응형

좋은 질문입니다! **Query-Key Normalization (QK-Norm)**은 Transformer 구조에서 Self-Attention의 핵심 구성요소인 Query (Q)와 Key (K) 벡터를 정규화하는 기법입니다. Stable Diffusion 3.5와 같은 최신 모델에서는 이 기법을 통해 안정적인 훈련, 텍스트-이미지 정합성 향상, 다양한 생성 결과를 얻습니다.

아래에 구체적인 효과를 정리해드릴게요:


✅ 1. 훈련 안정성 증가

💡 원리:

  • Self-Attention의 점수는 Q · Kᵀ / √d로 계산됨.
  • 이 값이 너무 크거나 작아지면 Softmax가 saturate 되면서 학습이 불안정해질 수 있음.

🔧 QK-Normalization 적용 시:

  • Q와 K를 L2 정규화하여 벡터의 방향만 유지하고 크기를 1로 고정함.
  • 이로 인해 점수 분포가 좁은 범위에서 일정하게 유지 → 그래디언트 폭주/소실 방지

📌 결과: 더 빠르고 안정적인 수렴, 특히 긴 프롬프트나 복잡한 조건 입력에서도 학습이 안정됨


✅ 2. 텍스트-이미지 정합성 향상

💡 문제점:

  • 텍스트 프롬프트에서 특정 단어가 너무 강하게 반응하거나, 일부 단어가 무시되는 경향이 있음.

🔧 QK-Norm 도입 시:

  • Attention이 특정 토큰에만 과도하게 집중되지 않고, 보다 균형 잡힌 토큰 분포를 사용함.
  • 문장 내 다양한 의미 단위가 이미지 생성에 골고루 반영됨.

📌 결과: “복잡한 프롬프트 해석 능력” 및 의미 보존 개선 (예: "a red apple on a green book" → 두 객체 모두 표현됨)


✅ 3. 샘플 다양성 향상

💡 문제점:

  • 동일한 프롬프트를 반복 생성하면 거의 비슷한 이미지만 나오는 경향 (mode collapse)

🔧 QK-Norm 효과:

  • Attention에서 정보 흐름이 고르게 분포되므로 모델이 프롬프트의 여러 해석 가능성을 고려함.

📌 결과: 같은 프롬프트로 생성해도 구성, 색상, 스타일이 조금씩 다른 다양한 이미지 생성 가능


✅ 4. 성능 향상 (정량 지표 기준)

논문/벤치마크에서는 QK-Norm 도입 시 다음 지표에서 향상이 보고되었습니다:

평가 지표 향상

CLIP Score ↑ (정합성 향상)
FID Score ↓ (이미지 품질 향상)
Diversity ↑ (샘플 다양성 증가)

🔬 부가 설명: 수식 차이 예시

일반 Attention:

Attention(Q, K, V) = softmax(QKᵀ / √d) · V

QK-Normalized Attention:

Q_norm = Q / ||Q||,  K_norm = K / ||K||
Attention = softmax(Q_norm · K_normᵀ / √d) · V

벡터의 크기를 고정하고 방향 정보만 보존하므로, 더 균형 잡힌 attention 분포를 형성합니다.


필요하시면:

  • 관련 논문/공식 구현 링크
  • QK-Norm 없는 모델과의 시각적 차이 비교 예시

도 정리해드릴 수 있어요. 원하시나요?

반응형
profile

athere

@athere

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!