| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- Road network
- Stable Diffusion #Image generation #Diffusion #AI #Generative model
- Consistent Video Depth Estimation
- CityJSON
- Link Prediction
- CNN
- Today
- Total
목록Image Generation/Study (14)
빙글빙글 돌아가는 바람개비
Scheduler는 스텝을 어디에 놓을지 정한다Stable Diffusion에서 sampler와 scheduler는 자주 붙어서 보인다. 예를 들어 DPM++ 2M Karras라고 적혀 있으면, 전체가 하나의 sampler 이름처럼 보이기 쉽다.하지만 나눠서 보면 역할이 다르다. DPM++ 2M은 한 스텝에서 latent를 어떻게 갱신할지 정하는 방식이고, Karras는 그 스텝들을 어떤 노이즈 구간에 배치할지 정하는 방식이다.이미지 생성은 완전한 노이즈에서 시작해서 조금씩 깨끗한 이미지 쪽으로 이동한다. 이때 20 steps로 생성한다면, 모델은 총 20번만 중간 상태를 확인할 수 있다. Scheduler는 그 20번을 어디에 쓸지 정한다.큰 노이즈→구도 형성→형태 정리→디테일 보정→최종 이미지초반에는..
DreamBoothDreamBooth는 특정 인물이나 사물을 Stable Diffusion에 학습시키는 방법이다. 예를 들면 내 얼굴, 우리 집 강아지, 특정 제품처럼 기존 모델이 정확히 알지 못하는 대상을 몇 장의 이미지로 추가 학습시키는 방식이다.LoRA가 널리 쓰이기 전에는 이런 용도로 DreamBooth가 많이 사용됐다. 지금은 DreamBooth 방식 그대로 전체 모델을 다시 저장하기보다는, DreamBooth의 학습 아이디어를 LoRA와 함께 쓰는 경우가 많다.핵심은 단순하다. 모델에게 sks dog 같은 낯선 이름을 하나 알려주고, 그 이름이 특정 강아지를 가리키도록 학습시키는 것이다.1. 왜 필요한가Stable Diffusion은 dog, woman, car 같은 일반적인 개념은 잘 안다...
CFG 다음에 등장한 CFG++CFG (Classifier-Free Guidance) 는 텍스트-이미지 디퓨전 모델에서 거의 기본처럼 쓰이는 기법이다. 조건부 예측과 무조건부 예측의 차이를 이용해 프롬프트 방향을 더 강하게 반영한다. 그래서 같은 모델이라도 guidance scale 을 높이면 프롬프트를 더 잘 따르는 이미지가 나온다.근데 CFG 에는 분명한 부작용도 있다. scale 을 높이면 프롬프트 충실도는 올라가지만, 이미지가 과하게 날카로워지거나 색이 과포화되고, 다양한 결과 대신 비슷한 결과만 반복되는 경우가 생긴다. 이미지 편집에서 중요한 DDIM inversion 도 불안정해질 수 있다.CFG++ 는 이걸 "scale 을 낮추자" 로 해결하는 방법이 아니다. 논문의 핵심은 기존 CFG 가 ..
DiT: Diffusion에 Transformer를 쓰는 방식DiT는 Diffusion Transformer의 줄임말이다. 말 그대로 디퓨전 모델에서 U-Net이 하던 역할을 Transformer로 바꾼 구조다.Stable Diffusion 1.5, 2.0, SDXL은 기본적으로 U-Net을 쓴다. 노이즈가 섞인 이미지를 넣으면 U-Net이 그 안의 노이즈를 예측하고, 그 예측을 바탕으로 이미지를 조금씩 깨끗하게 만든다.DiT는 이 부분을 다르게 본다. 이미지나 잠재 공간을 작은 조각으로 나누고, 그 조각들을 Transformer가 처리하게 만든다. 구조만 놓고 보면 Vision Transformer에 디퓨전 학습을 붙인 형태에 가깝다.이 글에서는 DiT가 왜 나왔고, U-Net과 무엇이 다르며, 실제로..
Stable Diffusion 3 — UNet 을 버리고 Transformer 로2024년 2월 Stability AI 는 Stable Diffusion 3 의 기술 보고서를 공개했고, 같은 해 6월 SD3 Medium(2B 파라미터) 을 정식 출시했다. SD3 는 SDXL 의 후속이지만 단순한 업그레이드가 아니다. UNet 기반 디퓨전 구조를 통째로 갈아엎고 Transformer 기반 아키텍처(MMDiT) 로 옮겼고, 학습 방식도 표준 디퓨전 대신 Rectified Flow 를 쓴다. 텍스트 인코더는 SDXL 의 두 개에 T5-XXL 을 더해 세 개로 늘렸다.바꾼 부분이 많고 각각의 변화가 모델의 작동 방식을 근본적으로 건드린다. 각 변경이 어떻게 작동하는지를 원리 중심으로 본다.1. SDXL 의 구조..
SDXL 2023년 7월, Stability AI 는 SDXL (Stable Diffusion XL) 을 공개했다. 기본 학습 해상도가 1024×1024 로 올라갔고, UNet 은 약 3배로 커졌고, 텍스트 인코더가 두 개로 늘었다. 이름이 XL 인 만큼 모델이 커진 건 사실이지만, 단순히 파라미터만 늘렸다면 메모리만 더 먹는 모델이 됐을 것이다. SDXL 의 변화는 크기보다 구조와 학습 방식 쪽에 더 많이 들어가 있다.SD 1.5 와 비교해서 SDXL 이 무엇을 어떻게 바꿨는지 하나씩 본다.1. SD 1.5 에서 자주 부딪히던 문제들SDXL 이 어디를 손봤는지 보려면 SD 1.5 의 약점부터 짚는 게 빠르다. SD 1.5 를 써본 사람이라면 한 번쯤 마주쳤을 패턴들이다.해상도가 올라가면 구도가 무너진다..
Rectified Flow디퓨전 모델의 가장 큰 약점 중 하나는 속도다. 노이즈에서 이미지로 가기 위해 보통 50 ~ 1000 번의 신경망 호출이 필요하다. 이미지 한 장을 만드는 데 시간이 오래 걸리는 근본 원인이 여기 있다. 2022년 Xingchao Liu 등이 제안한 Rectified Flow 는 이 문제를 정면으로 공격한다. 출발점(노이즈) 과 도착점(이미지) 사이의 경로를 가능한 한 직선으로 만들면, 적은 스텝만으로도 도착할 수 있다는 것이다.아이디어 자체는 단순하지만 영향력은 컸다. 이 접근이 나중에 Stable Diffusion 3, Flux 같은 최신 이미지 생성 모델의 학습 패러다임으로 자리 잡았다. 디퓨전이라는 이름을 그대로 쓰지만, 내부적으로는 더 이상 전통적인 디퓨전이 아니라 Fl..
IP-Adapter"이런 느낌의 이미지를 만들어줘" 라는 요청을 텍스트로만 풀어내는 데는 한계가 있다. 단어 수백 개로도 표현이 어려운 미묘한 분위기, 색감, 구도가 있다. 이럴 때 가장 직접적인 방법은 참고할 이미지 자체를 모델에 보여주는 것이다. 2023년 Tencent AI Lab 이 발표한 IP-Adapter (Image Prompt Adapter) 가 정확히 이 일을 한다.IP-Adapter 의 핵심 가치는 단순한 기능 추가가 아니라 패러다임의 전환에 있다. 기존의 개념 학습 기법들은 새로운 피사체나 스타일을 모델에 가르치기 위해 매번 학습 과정을 거쳐야 했다. IP-Adapter 는 다르다. 한 번만 학습된 어댑터를 끼워두면, 추론 시점에 어떤 이미지든 바로 프롬프트로 쓸 수 있다. 학습 없이..