learn.ericfromkorea.com / small-stable-diffusion

더 좋은 결과를 위해 — 4가지 방법 비교

흐림을 줄이는 방법들을 하나씩 적용하고 각각의 과정과 효과를 비교 (대조 실험)

차례
  1. 왜 흐렸고 어떻게 개선
  2. ① 깨끗한 데이터
  3. ② 더 오래 학습
  4. ③ CFG 상향
  5. ④ 해상도 올리기
  6. ⑤ VAE 강화(잠재)
  7. 종합 — 한눈에 비교
왜?

왜 흐릿했고, 어떻게 개선할까

앞 페이지들의 결과는 형태는 보이지만 번져 보였어요. 원인은 해상도가 아니라 대부분 데이터·학습량·VAE에 있습니다. 여기서는 흐림을 줄이는 4가지 방법을 하나씩 적용해 보고, 각 방법의 작업 과정과 효과를 직접 비교합니다.

🔬 대조 실험(ablation): 한 번에 하나씩만 바꿔서 "그 방법이 정말 효과가 있었는지"를 공정하게 확인하는 방식이에요. 마지막엔 전부 합친 결과도 봅니다.
기준(base) 원본 데이터 · 64px · 400ep · CFG 3 → 각 레버를 하나씩 추가 → ALL = 전부 합침
방법 ①

깨끗한 데이터 재구축

과정: COCO 박스를 다시 자르되 ⓐ 배경 여백을 없애 객체만 꽉 차게, ⓑ 원본에서 충분히 큰 객체만 골라 흐린 확대본을 배제, ⓒ 클래스 수를 맞춰 특정 클래스 쏠림을 줄였어요. 결과 데이터는 더 적지만(약 7,200장) 훨씬 깨끗합니다.

데이터 정제 과정(실제 설정)
타이트 크롭
여백 0.15 → 0.0배경 잡음 제거, 객체만
큰 객체만
최소 40 → 72px흐린 작은 크롭 배제
클래스 균형
클래스당 ≤1000장많은 차(2304)·적은 곰(184) 균형
데이터 정제 전후 비교
위: 기존(배경 많음) / 아래: 정제(객체 중심·균형) — 같은 클래스 샘플
방법 ②

더 오래 학습

과정: 같은 모델·데이터로 학습 에폭을 400 → 800으로 늘렸어요. 손실(loss)이 아직 내려가던 중이었기 때문에, 더 학습하면 노이즈 예측이 정밀해져 디테일이 또렷해집니다. 추가 비용은 시간뿐(공짜에 가까운 개선).

학습 손실 곡선
학습을 늘릴수록 손실이 더 내려가는 실제 곡선 (400ep vs 800ep)
방법 ③

CFG(선명도 손잡이) 상향

과정: 학습은 그대로 두고 생성할 때만 guidance scale을 3 → 6으로 올렸어요. "조건 있음"과 "조건 없음" 예측의 차이를 더 과장해, 클래스 특징을 더 강하게 드러냅니다. 학습 비용 0 — 손잡이만 돌리면 됩니다(너무 키우면 부자연스러워짐).

CFG 강도별 비교
같은 모델, guidance만 1→8. 셀수록 특징 또렷(과하면 색 튐) — 실제 생성
방법 ④

해상도 올리기 (64 → 128)

과정: 학습 이미지를 128×128로 키우고, 128px 디테일을 가진 큰 객체만(원본에서 충분히 큰 것) 골라 다시 학습했어요. 그 결과 버스·얼룩말·기린처럼 큰 물체는 64px보다 확실히 또렷해졌습니다. 다만 비용이 4~5배이고, 작은 객체가 많은 데이터에선 이득이 작아요.

64 vs 128 비교
위 64px / 아래 128px (같은 클래스). 큰 객체일수록 128px 디테일이 살아남 — 단, 학습 비용 4~5배
💡 교훈: 해상도는 "데이터가 그 디테일을 갖고 있을 때" 효과적이에요. 무작정 키우기보다 깨끗한·큰 객체 데이터와 함께 올려야 값을 합니다.
방법 ⑤ (잠재)

VAE 강화 — 잠재공간의 품질 상한 올리기

과정: 잠재공간 생성(③페이지)이 가장 흐렸던 건 작은 VAE의 복원이 흐려서였어요. 그래서 ⓐ 압축을 덜 하고(8×8→16×16), ⓑ perceptual 손실(VGG 특징 차이)을 추가해 복원을 선명하게 만든 VAE를 새로 학습했습니다. 잠재 디퓨전은 이 VAE의 선명도까지 좋아집니다.

VAE 강화 과정(실제 설정)
압축비
48배(f8) → 12배(f4)덜 압축 = 더 선명
잠재 크기
8×8×4 → 16×16×44배 더 큰 잠재
손실
L1 → L1+perceptualVGG 특징으로 '눈에 보이는' 선명도
VAE 복원 비교
위: 원본 / 가운데: 기존 VAE(48배) / 아래: 강화 VAE(12배+perceptual) 복원
잠재 생성 비교
잠재공간 생성: 기존 VAE vs 강화 VAE (둘 다 실제 모델 출력)
종합

전부 합치면 — 한눈에 비교

아래는 같은 클래스를 기준(base)부터 각 방법, 그리고 전부 합친(ALL) 모델까지 나란히 생성한 결과예요. 왼쪽에서 오른쪽으로 갈수록 또렷해지는 흐름을 볼 수 있습니다.

전체 비교 그리드
행=클래스, 열=기준→각 방법→ALL. 모든 칸은 실제 생성 결과(같은 시드)

정리 — 무엇이 효과적이었나

네 가지가 각자 조금씩 기여했고, 합치면(ALL) 가장 또렷합니다.

핵심 교훈: 화질은 픽셀 수만의 문제가 아니라 "무엇을(데이터)·얼마나(학습)·어떻게 (VAE·CFG·해상도) 보여주고 만드느냐"의 합이라는 것 — 그래서 한 가지만 키우기보다 균형 있게 함께 올릴 때 가장 좋아집니다.

대조 실험 · 한 번에 하나씩 · 모든 숫자/그림은 실제 실행 결과