Stable Diffusion 이란 대략적으로 노이즈에서 이미지를 생성하는 기법이라고 대충 알고 넘어가시면 되겠습니다. 우리는 논문적인 접근보다는 이미지 한번 생성해 보는게 중요하니까요! 하지만 Stable Diffusion을 접하면 자주 보이는데 생소한 용어들이 있습니다. 전체적인 흐름을 알기 위해 중요한 용어부터 먼저 알아보겠습니다.
Stable Diffusion WebUI Stable Diffusion은 독일 뮌헨 대학교 Machine Vision & Learning Group (CompVis) 연구실의 "잠재 확산 모델을 이용한 고해상도 이미지 합성 연구"를 기반으로 하여, Stability AI와 Runway ML 등의 지원을 받아 개발된 딥러닝 인공지능 모델입니다. 이것을 활용하여 일반인들도 쉽게 사용할 수 있도록 UI 형태로 AUTOMATION1111이라는 개발자가 개발해서 배포한 것이 Stable Diffusion WebUI입니다.
반응형
Checkpoint
이름은 Checkpoint이지만 좀 더 쉽게 이해하기 위해 인공지능 모델이라고 생각하면 되겠습니다. 앞으로 Stable Diffusion WebUI를 사용할 때 원하는 모델을 다운 받아서 입맛대로 바꿔가며 사용할 수 있습니다. 어떤 모델을 선택해서 이미지를 생성하느냐에 따라서 일러스트풍, 실제 사진 같은 느낌, 반실사 등 생성할 수 있습니다.
아래는 Stable Diffusion WebUI에서 Checkpoint를 설정하는 곳을 보여주는 예시입니다.
VAE
VAE는 Variational Autoencoder의 약자입니다. VAE를 쓰냐 안 쓰냐에 따라서 이미지가 흐릿하거나 퀄리티가 많이 떨어집니다. 따라서 필수 기능 중에 하나이며 대략적으로 그림을 보정하는 기능이라고 생각하시면 되겠습니다.
아래는 Stable Diffusion WebUI에서 VAE를 설정하는 곳을 보여주는 예시입니다.
Embedding
Textual inversion이라고 불리기도하는 Embedding은 모델을 다운 받아서 Textual inversion에서 클릭 시 적용되며 모델에 영향을 주지 않고 프롬프트에서 원하는 이미지를 묘사하는 것을 압축적으로 넣어주는 역할을 합니다. 사실 잘 쓰지는 않는 기능이므로 그냥 그렇구나~ 하고 넘어가시면 되겠습니다.
Hyper Network
Embedding과 비슷한 기능을 하며 특정 사진들을 가지고 학습시켜 해당 사진들의 특징을 모으는 방법입니다. Lora에 비해 학습 시간도 길고 영향력이 크지 않아 잘 쓰지는 않습니다. 이것도 그냥 그렇구나~ 하고 넘어 가시면 되겠습니다.
Lora
Lora, embedding, hyper network 이 세 가지는 생성할 그림에 스타일을 적용하는 기능입니다. 이 셋 중에서는 Lora를 주로 쓰고 나머지는 거의 안 쓴다고 보시면 됩니다.
Lora도 마찬가지로 데이터로 학습된 모델이며 Lora는 그림에 스타일을 적용하는데 가장 큰 영향력을 가진 기능이며 Low-Rank Adaptation의 약어입니다.
Lora를 쉽게 이해하려면 Checkpoint를 사람이라고 생각하시고 Lora를 옷이라고 생각하면 좀 이해가 편합니다. 어떤 사람에 어떤 옷을 입혀주느냐에 따라서 이미지가 다르잖아요? 비슷한 느낌이라고 생각하시면 됩니다.
아래는 Stable Diffusion WebUI에서 Checkpoint를 설정하는 곳을 보여주는 예시입니다.
이렇게 Checkpoint, VAE, Lora, Embedding, Hyper network에 대해 알아보았습니다. hires.fix, CFG Scale, Sampling steps.. 등 WebUI에서 보이는 용어는 따로 정리하도록 하겠습니다.