Stable Diffusion 이해를 위한 자료 모음

Stable Diffusion 이해를 위한 자료 모음

Diffusion Model

https://arxiv.org/abs/1503.03585

2015년 발표

Diffusion(확산)은 액체나 기체에 다른 물질이 섞이고, 그것이 조금씩 번져가다가 마지막에는 일률적인 농도로 바뀌는 현상이다. 위키피디아

확산

물리의 확산 현상에 영감을 받아 모델을 설계

가우시안 노이즈

마르코프 체인(특정 상태의 확률은 오직 과거의 기인한다)

디퓨전모델

Denoising Diffusion Probabilistic Models (DDPM)

https://arxiv.org/abs/2006.11239

유넷을 활용 → 정답 상태를 유추

정답만 유추 하기 때문에 좀더 간단해짐 → 노이즈 성분을 예측하니깐 조금 더 품질이 좋아짐

해결 컨셉은 노이즈화 할때의 수식을 조금 다르게 수정

문제점 : 너무 느리다 스텝이 1000 사용해야 됨(GAN 은 1번)

Denoising Diffusion Implicit Models (DDIM)

https://arxiv.org/abs/2010.02502

아이디어 느리니깐 스템을 10, 20, 50 ,100 1000 으로 사용해도 크게 나빠지지 않는다.

DDIM

VariationalAutoEncoder (VAE)

  • supervised learning : 데이터와 라벨이 페어
    • classification
    • object detection
    • semantic segmentation
    • image captioning
  • unsupervised learning : 데이터만 존재
    • clustering
    • dimensionality reduction
    • feature learning
    • density estimation

이미지를 넣어서 차원이 작은 벡터를 나오면 이것으로 이미지를 만든다

explicit density estimation : 확률밀도함수를 직접적으로 구하는 방법

implicit density estimation : 확률밀도함수를 직접적으로 구하지 않고, 확률밀도함수를 구하는 것을 목적으로 하지 않는 방법

작은 차원에 피처만으로 이미지를 만들수 있다

최대 가능도를 써서 트레이닝을 시킨다

문제는 계산을 할수가 없다 실제 값을 아는게 아니라 샘플링만 가능

LDM

  • denoising 과정에서 autoencoder를 사용
  • denoising이 pixel space 가 아닌 latent space 에서 일어남(픽셀단위가 아니라 인코딩된 잠재공간 내에서 노이즈를 추가 제거)
  • cross-attention layers를(transformer 아키텍처?) 도입함으로 다른 도메인 conditioning 을 같이 사용할수 있게됨 ->

참조