본문으로 건너뛰기

© 2026 Molayo

r/StableDiffusion분석2026. 05. 28. 09:30

더 나은 캐릭터 LoRA를 얻기 위한 Depth Map 및 Weight Noising 활용법

요약

캐릭터 LoRA 학습 시 과적합을 방지하고 유사도를 높이기 위해 Depth Map과 Weight Noising 기술을 결합하는 새로운 방법론을 소개합니다. 가중치에 가우시안 섭동을 주입하여 모델이 데이터의 일관된 특징만을 학습하도록 유도합니다.

핵심 포인트

  • Weight Noising을 통해 학습 중 발생하는 암기(Memorization) 현상 억제
  • Stable Rank를 약 20% 향상시켜 더 평탄한 손실 최솟값 유도
  • Depth Anchoring과 버킷별 반복 횟수 조절을 통한 학습 최적화
  • Runpod 사용자를 위한 Docker 지원 및 Quickstart 템플릿 제공

몇 주 전, 저는 상당히 성공적이었던 스타일 LoRA 학습을 위한 새로운 방법을 소개했습니다. 많은 분이 이 방법이 캐릭터 학습에도 도움이 될지 물어보셨습니다. 짧게 대답하자면 '예'입니다만, Depth 관련 기술 외에 별도의 기술이 추가로 필요했습니다. 아직 실험적인 단계이며 최적의 설정을 찾기 위해 피드백을 받고 싶지만, 공유할 수 있을 만큼 충분히 조율된 결과물을 가져왔습니다.

새로운 메커니즘은 **Weight Noising (가중치 노이징)**입니다. 이는 각 학습 단계(Training step)에서 LoRA 가중치에 직접 주입되는 작은 가우시안 섭동(Gaussian perturbation)입니다. 간단하게 생각하자면, 모델이 학습 중에 저지른 실수를 '잊어버리고' 데이터에서 일관된 부분만을 유지하도록 돕는 역할을 합니다. 기술적으로 더 깊게 들어가면, 학습이 더 평탄한 손실 최솟값(Flatter loss minima)을 향하도록 편향을 주고, LoRA 인수분해(Factorization)의 더 많은 특이 방향(Singular directions)으로 학습을 분산시킵니다 (이 기술을 사용하지 않았을 때와 동일한 설정에서 Stable Rank가 20% 향상된 것을 측정했습니다). 실질적인 효과는 캐릭터 학습 시 흔히 발생하는 과적합(Overcook) 현상인 암기(Memorization)에 저항하며, 동일한 스텝 수에서 유사도(Likeness)가 실질적으로 훨씬 더 잘 나온다는 점입니다.

게시물 이미지는 Flux에 알려져 있지 않지만 독특하고 인지 가능한 특징을 가진 배우 Clare Bowen를 대상으로 한 학습 예시를 보여줍니다. 이는 8장의 이미지 학습 세트, 동일한 학습 스텝 수(750), 동일한 모델을 사용했습니다. 중간에 있는 것이 표준 학습(Standard run)이고, 오른쪽에 있는 것이 새로운 방법입니다.

두 학습의 설정은 한쪽에는 Weight Noise와 Depth Anchoring이 적용되었고, 각 버킷 크기(Bucket size)별 반복 횟수(Repeats)가 다르다는 점을 제외하면 동일합니다:

  • Batch 4, LR 5e-5
  • 이미지 크기 버킷: 512, 768, 1024
  • LoKr factor 8
  • AdamW8bit, 총 1200 스텝 (하지만 750 스텝에서 최적의 체크포인트 도달)

버킷당 이미지 수를 다르게 설정하는 것은 그 자체로도 훌륭한 학습 트릭이며, 저는 각 버킷당 이미지의 반복 횟수를 지정할 수 있도록 트레이너를 업데이트하여 이 과정을 더 쉽게 만들었습니다.

제가 여전히 연구 중이며 피드백을 받고 싶은 부분은 다음과 같습니다:

  1. 데이터셋 크기에 따른 최적의 시그마 (Optimal sigma across dataset sizes) — 0.00125를 사용했을 때 가장 좋은 결과가 나왔습니다. 적절한 값이 데이터셋 크기 및 배치 크기 (Batch size)에 따라 달라질 것이라고 확신하지만, 아직 완전히 파악하지는 못했습니다.
  2. 가중치 노이징 (Weight noising)이 사람들이 사용하는 다른 캐릭터 LoRA 기법들과 잘 결합되는지 여부

또한, Runpod에서 더 쉽게 실행할 수 있도록 Docker 지원을 추가했습니다.

저장소 (Repo): https://github.com/BuffaloBuffaloBuffaloBuffalo/ai-toolkit-perceptual

마지막으로, 새로운 작업 (new-job) 페이지 상단에 최적의 캐릭터 설정 (Character config)을 엔드 투 엔드 (End-to-end)로 불러오는 "Quickstart Template" 드롭다운 메뉴를 추가했습니다. 기본값은 HuggingFace Flux 2 Klein 9B 체크포인트 (Checkpoint)로 설정되어 있지만, 본인의 체크포인트를 사용할 수도 있습니다. 아직 제가 정리해야 할 UI 작업이 많이 남아 있으니, 어수선하더라도 양해 부탁드립니다!

질문에 답변하거나 문제 해결을 돕는 것은 언제든 환영하며, 여기나 DM을 통해 문의해 주세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 r/StableDiffusion의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0