<EulerAncestralDiscreteScheduler를 사용해 생성한 고양이 이미지>

1. stable diffusion 이란

Stable Diffusion은 이미지 생성을 위한 텍스트-투-이미지 딥러닝 모델로, CompVis, Stability AI 및 LAION의 연구자와 엔지니어들이 개발한 모델이다. 이 모델은 Diffusers 라이브러리와 함께 사용하여 효과적이고 효율적인 이미지 생성을 가능하게 한다.

Stable Diffusion은 크게 두 가지 핵심 아이디어를 기반으로 한다.

1) Latent Diffusion: 이 모델은 이미지 생성을 위한 Latent Diffusion이라는 특별한 유형의 확산 모델을 기반으로 한다. 이는 높은 해상도의 이미지 생성을 위해 저차원 잠재 공간에서 확산 과정을 수행하여 연산 및 메모리 복잡성을 줄일 수 있도록 설계되었다.

2) CLIP Text Encoder: Stable Diffusion은 이미지 생성 과정에서 CLIP (Contrastive Language-Image Pretraining) 모델의 텍스트 인코더를 사용한다. 이를 통해 텍스트 정보를 활용하여 이미지 생성을 조절하고, 이미지와 텍스트 간의 관계를 고려하여 이미지를 생성할 수 있다.

2. Stable Diffusion의 작동 원리

1) VAE (Variational Autoencoder): 이미지를 저차원 잠재 표현으로 변환하는 인코더와, 잠재 표현을 다시 이미지로 디코딩하는 디코더로 구성된 VAE 모델이 있다. 학습 중에는 확산 과정의 정방향 과정에서 이미지를 잠재 공간으로 변환하는 데 사용되며, 추론 중에는 역방향 확산 과정으로 생성된 잠재 표현을 디코딩하여 이미지를 생성한다.

2) U-Net 및 Text Encoder: U-Net 아키텍처는 저차원 잠재 표현을 생성하는 모델로 사용된다. 또한 CLIP 텍스트 인코더를 통해 텍스트 정보가 이미지 생성 과정에 반영된다.

3) Diffusion Process: 이미지 생성은 확산 과정을 통해 이루어집니다. 랜덤한 가우시안 노이즈를 점진적으로 추가하여 이미지를 생성하고, 이 과정을 여러 단계에 걸쳐 반복한다.

따라서 요약하면 다음과 같다. Stable Diffusion은 사용자가 입력한 텍스트 프롬프트를 기반으로 이미지를 생성하며, 다양한 파라미터와 스케일을 조절하여 원하는 결과물을 얻을 수 있다. 또한, Diffusers 라이브러리를 통해 각종 설정 및 파라미터를 조정하고 사용자의 요구에 맞게 커스터마이징할 수 있다. 이를 통해 고품질의 이미지 생성 및 다양한 스타일의 이미지 제작이 가능하다. 다음 포스팅에서는 Diffusers의 파이프라인을 커스터마이징하여 다양한 이미지를 생성해보도록 하겠다.

profile
"Data whisperer, unraveling the secrets of AI, one byte at a time"

2개의 댓글

comment-user-thumbnail
2023년 8월 28일

contact: kimyeongchaee@gmail.com

답글 달기
comment-user-thumbnail
2023년 8월 28일

정말 유익하네요ㅎㅎ 앞으로도 잘 부탁드려요 ㅎㅎ 파이팅❤️

답글 달기