확산 모델에 대한 확산?
확산 기반 이미지 생성 모델의 증가
나는 3주 전에 확산 멍청이 였지만 소문을 듣고 확산 열차에 뛰어 들고 싶었습니다 (내가 할 수 있었던 것 같습니다). 확산 기반 이미지 생성(DbIG) 공간에서 새로운 개발이 일어나는 속도는 상상을 초월할 정도입니다. 여행을 어디서 시작해야 할지 이해하기 어려워집니다. 이 게시물에서는 수학 이해를 포함하여 확산 모델(DM)의 세계를 이해하기 위해 강력한 기본 기반을 구축하려는 다른 사람들에게 유용할 수 있는 여정을 공유합니다.
참고 1 : 기술에 대해 자세히 설명하지는 않지만 한 논문에서 다른 논문으로의 경로를 차트로 작성합니다. 다양한 기술에 대해 이야기하는 블로그/비디오/논문이 너무 많다고 생각합니다. 반면에 DbIG에서 강력한 기반을 구축하는 방법을 안내하는 데 도움이 되는 블로그를 찾지 못했습니다.
참고2 : 기초부터 시작하여 기초를 다지는 데 약 3주 정도의 헌신적인 노력이 필요했습니다 . 깊은 이해를 쌓고 싶다면, 특히 Variational Auto Encoders의 수학에 익숙하지 않고 DM 수학의 직관적인 느낌을 얻고 싶다면 약 2주 정도 시간을 할애하십시오.
의 시작하자.
1단계: 초기 확산 모델
Deep Unsupervised Learning using Nonequilibrium Thermodynamics [2015] — '확산 확률 모델' 사용에 대한 아이디어를 소개한 첫 번째 논문입니다. 수학을 건너뛰면 논문이 쉽게 준비되지만 수학을 이해하려면 Variational Inference에 익숙해야 합니다. 수학을 따르기 위해 VAE(Variational Auto Encoders)에 익숙해지는 것이 좋습니다.
Variational Auto Encoders [선택 사항] : 확산 모델을 이해하기 위한 요구 사항은 아니지만 VAE를 잘 이해하면 확산 프로세스의 기본 단위와 그 배후의 수학을 이해하는 데 도움이 됩니다.
- 자습서 : 변이형 자동 인코더 소개 , 변이형 자동 인코더 에 대한 자습서
- 논문 : 변이 베이즈 자동 인코딩
- 코드 : Pytorch를 사용한 Variational Autoencoder , LATENT SPACES(Part-2): A Simple Guide to Variational Autoencoders
2단계: DDPM
DDPM: Denoising Diffusion Probabilistic Models [2020] — 이것은 이미지 생성을 위한 DM에 대한 열풍을 시작한 것입니다.
DDPM 자세히 알아보기:
- DDPM 논문 설명 — 확산 모델이란 무엇입니까? [블로그], 기계 학습을 위한 확산 모델 소개 [블로그]
- 수학 — 확산 모델 | 종이 설명 | Math Explained [YouTube] 수학을 자세히 다루는 동영상입니다. 수학에 대한 단계별 통찰력을 얻는 데 매우 유용합니다 [강력 권장]
- 코드 — Diffusion Models | PyTorch 구현 [YouTube], Diffusion-Models-pytorch [Github], PyTorch에서 처음부터 확산 모델 [YouTube]
- DDPM과 점수 기반 생성 의 동등성 이해 - 데이터 분포의 구배 추정을 통한 생성 모델링 [블로그]
- 점수 기반 생성 모델 훈련을 위한 개선된 기술 [2020]
- 확률적 미분 방정식을 통한 점수 기반 생성 모델링 [2020]
U-Net : DDPM은 먼저 DM용 U-Net 아키텍처를 사용했는데, 고품질 이미지를 생성하는 데 도움이 되는 확산 프로세스 자체만큼 중요하다고 생각합니다. 프로세스를 이해하기 위해 U-Net을 이해하는 것이 필수는 아니지만 고급 작업(타임스텝 인코딩, 텍스트 컨디셔닝)을 따르려면 U-Net이 어떻게 작동하는지 아는 것이 중요합니다.
- U-Net: 생의학 이미지 분할을 위한 컨볼루션 네트워크 [2015] — U-Net 논문
- Semantic Segmentation을 위한 Fully Convolutional Networks [2014] — U-Net에 영감을 준 FCN 논문
- U-Net에 대한 자세한 이해 — U-Net 아키텍처 이해 및 처음부터 구축 [Youtube]
- 디컨볼루션 — 딥 러닝용 컨볼루션 산술 가이드 , 전치된 컨볼루션을 사용한 업샘플링 , 디컨볼루션 및 체커보드 아티팩트
DDIM : Denoising 확산 암시적 모델 [Oct 2020] — 점수 기반 문헌에서 DM의 대체 인기 샘플링 전략.
4단계: 이미지 생성을 위한 기본 선택으로 설정되는 DM
- 향상된 노이즈 제거 확산 확률 모델 [2021년 2월] — DDPM 개선.
- 확산 모델이 이미지 합성에서 GAN을 능가 [2021년 5월] — IDDPM의 추가 개선 사항. 또한 이 논문에서는 생성 품질을 개선하고 생성 출력을 제어하는 방법을 제공하기 위해 '분류기 안내'라는 아이디어를 소개했습니다. 이것이 DbIG에 대한 후속 작업의 기준을 설정한 것이라고 생각합니다.
- 분류자 없는 확산 지침 [2022년 7월] — U-Net 모델을 조건화하고 '드롭아웃' 스타일 교육을 따라 결과가 개선되었습니다. 이것은 대체 이미지 분류자를 교육해야 하는 분류자 지침의 대안입니다.
- 다양체의 확산 모델에 대한 의사 수치 방법 [2021년 9월] — 샘플링 속도 개선.
- Iterative Refinement를 통한 Image Super-Resolution [2021년 4월] — 이미지 생성을 위한 것이 아니라 이미지 해상도를 개선하기 위한 DM 및 캐스케이딩을 이해하는 데 핵심입니다.
3개의 논문은 확산 모델을 첫 페이지 자료로 만들었습니다.
안정적인 확산 : 잠재 확산 모델을 사용한 고해상도 이미지 합성 [2021년 12월] — DM을 민주화하는 데 도움이 되는 코드를 오픈 소스로 만들었습니다. 계산 복잡성을 개선하는 데 도움이 되었습니다. Cross-attention 등을 통한 컨디셔닝 Stable Diffusion에 대한 자세한 이해 — The Illustrated Stable Diffusion .
Dall-E 2 : CLIP Latents를 사용한 계층적 텍스트 조건부 이미지 생성 [2022년 4월] — 오픈 소스가 아니라 온라인 데모입니다. 텍스트 CLIP 임베딩을 이미지 임베딩으로 변환하기 전에 CLIP 이미지 임베딩을 조건 및 사전에 사용하는 추가 단계를 추가했습니다.
Imagen : 심층 언어 이해를 통한 사실적인 텍스트-이미지 확산 모델 [2022년 5월] — 다음 수정 사항이 포함된 Google의 논문 — 텍스트 전용 임베딩(T5), 임계값 안내, 계단식 모델 사용.
7단계: 2022년 10월까지 이미지 생성을 위한 기타 인기 확산 논문[선택 사항]
- SDEdit: 확률적 미분 방정식을 사용한 가이드 이미지 합성 및 편집 [2021년 8월]
- 팔레트: 이미지 대 이미지 확산 모델 [2021년 11월]
- GLIDE: 텍스트 안내 확산 모델을 사용한 사실적인 이미지 생성 및 편집을 향하여 [2021년 12월]
- 확산 모델을 통한 시맨틱 이미지 합성 [2022년 6월]
- 이미지는 한 단어의 가치가 있습니다: 텍스트 반전을 사용하여 텍스트 대 이미지 생성 개인화 [2022년 8월][텍스트 반전]
- DreamBooth: 주제 중심 생성을 위한 미세 조정 텍스트-이미지 확산 모델 [2022년 8월]
- Cross Attention Control을 사용한 Prompt-to-Prompt 이미지 편집 [2022년 8월]
- Imagic: 확산 모델을 사용한 텍스트 기반 실제 이미지 편집 [2022년 10월]
- MagicMix: 확산 모델을 사용한 시맨틱 혼합 [2022년 10월]
그게 다야. 행복한 확산.
나는 빅뱅 방사선 으로 이미지를 만드는 이 마법 같은 여정을 정말 즐겼습니다 . 보급 열차에 온보딩하는 데 도움이 된 문서/블로그/비디오가 있다고 생각되면 공유해 주세요.
감사 의 말: 이 탐험에 도움을 주고 때때로 올바른 방향을 알려준 Sen He , Jerry Wu , Tao Xiang 에게 진심으로 감사드립니다 .
최종 참고 사항 : 짧은 시간 내에 이 지식을 쌓았기 때문에 이해에 약간의 오류가 있을 수 있습니다. 제가 여기서 말한 내용이 사실과 다르다면 알려주시기 바랍니다.