
기존 Image → Noise 추가 → Noise image → 기존 image로 복원
📌 이미지에 노이즈를 주고 이를 다시 역산하여 신경망에 노이즈 이미지에서 일반 이미지를 복원시키도록 학습시킨 후, 이 신경망에 노이즈만 들어있는 이미지와 적절한 힌트를 주면 해당 힌트에 맞는 이미지를 출력한다.https://arxiv.org/pdf/2112.10752.pdf
https://pitas.tistory.com/9#article-1--stable-diffusion-이란?
https://devocean.sk.com/blog/techBoardDetail.do?ID=164319
https://www.sktenterprise.com/bizInsight/blogDetail/dev/2498
https://velog.io/@yeonheedong/RUS-High-Resolution-Image-Synthesis-with-Latent-Diffusion-Models
Latent Diffusion과 마찬가지로 노이즈에서 복원하는 것은 같지만 이미지를 바로 복원하는 것이 아니라 Latent vector를 복원한 후, 이 Latent vector가 다시 VAE를 거쳐야 이미지가 되는 것이다.
prompt 텍스트를 입력받고 그 텍스트에 맞는 이미지를 출력함
트랜스포머를 기반으로 한 CLIP 모델의 텍스트 인코더를 사용
Tokenizer를 이용해서 문장에서 단어를 추출하여 숫자로 변환
이 숫자를 latent vector의 형태인 text embedding로 만든다.
text embedding으로 변환하는 이 과정을 거쳐야 비로소 text가 이미지를 생성하는 Unet에 Conditioning을 할 수 있게 되기 때문이다.
Input Prompt로 들어오는 텍스트를 단어 및 토큰을 대표하는 벡터로 변환
해당 정보가 이미지 생성 모델로 전달
https://devocean.sk.com/blog/techBoardDetail.do?ID=164217&boardType=writer
Text Encoder에서 만들어진 embedding 은 U-net으로 전달된다.
U-net 에서는 text embedding에 따라 조건화(Conditioning)된 채로 random latent vector를 n번 반복하여 denoise 하는 과정을 거친다.
바로 여기서 랜덤한 노이즈에서 이미지를 생성하는 부분이 초반부에 설명했던 Diffusion 모델의 원리이다.과정을 거치게 된다.
저해상도의(위 예제에서는 64x64) latent vector 값이 생성되게 된다. 이 값은 마지막으로 VAE로 전달되게 된다.
VAE에서 encoder는 어떤 값을 수학적 원리를 통해 그 값의 특징을 추출하여 학습하고 decoder는 임의의 값 z(특징에 대한 latent vector)가 주어지면 그 값을 바탕으로 원래 데이터로 복원하는 역할을 한다.
Latent Diffusion 모델 : U-net에서 학습되고 이를 바탕으로 생성된 값 자체가 Diffusion 모델 처럼 이미지의 픽셀과 같은 원본 값이 들어간게 아니라 VAE에 의하여 Encode 되어 latent vector화 된 값을 U-net에 학습해 주었기 때문에 U-net에서 복원되어 나온 저해상도의 Latent vector를 VAE로 다시 Decode하여 고해상도의 그림으로 만들어 주는 것
기존의 DALL:E 나 IMAGEN 과 같은 모델들에 비해 더 좋은 성능을 내는 이유가 바로 이미지 생성 모델에 숨겨져 있음
https://arxiv.org/abs/2208.12242
https://www.sktenterprise.com/bizInsight/blogDetail/dev/2494
https://ostin.tistory.com/127
https://smilegate.ai/2022/09/04/dreambooth-personalized-text-to-image-diffusion-model/
Latent Diffusion 모델에서는 학습가능한 파라미터의 영역은 크게 텍스트 인코더와 U-net 영역이 있으며, 드림부스는 두가지 파라미터 모두를 학습한다.
기존 2가지 문제점 해결함
https://arxiv.org/abs/2212.04488
https://arca.live/b/hypernetworks/64894214?p=1
https://bbs.ruliweb.com/userboard/board/700315/read/3059
https://bbs.ruliweb.com/userboard/board/700315/read/3146
https://github.com/adobe-research/custom-diffusion
https://velog.io/@deepdiv/Multi-Concept-Customization-of-Text-to-Image-Diffusion