"However, since these models typically operate directly in pixel space, optimization of powerful DMs often consumes hundreds of GPU days and inference is expensive due to sequential evaluations."
"In contrast to previous work, training diffusion models on such a representation allows for the first time to reach a near-optimal point between complexity reduction and detail preservation, greatly boosting visual fidelity."
By introducing cross-attention layers into the model architecture, ...
Latent Diffusion의 경우 다른 모델들과 다르게 요구 리소스가 대폭 줄어들었다.
이는 Pixel Space가 아닌 Latent Space에서 동작을 하였기 때문이다.
Latent Space에서 Diffusion을 적용한 방법은 다음과 같다.
먼저 미리 학습한 AE의 Encoder를 통해 고차원의 데이터를 저차원 space(latent space)로 맵핑시킨다.
이에 latent space에 들어가는 변수를 latent variable이라 하며 Decoder에서는 latent variable을 받아 이미지를 복원시킨다.
해당 모델에서 사용된 AE의 매커니즘은 VAE의 매커니즘(lower bound)과 비슷하다.
참고 : Why diffusion model always use U-Net?
또한 UNet을 사용하는데 이는 UNet의 Inductive bias를 활용하기 위해서라고 적혀있는데 이는 업샘플링을 이야기하는 것으로 추측한다.
자세한 작동 과정은 illustrated-stable-diffusion 해당 블로그에서 알기 쉽게 설명되어있다.
정리하자면
이는 다음과 같이 해석할 수 있다.
해당 Latent Diffusion 모델을 기반으로 StabilityAI에서 자사 데이터를 기반으로 Stable Diffusion 모델이 출시되었다.
앞서 언급한 Stable Diffusion 모델을 기반으로 스펙토그램을 학습한 모델이다.
"This is the v1.5 stable diffusion model with no modifications, just fine-tuned on images of spectrograms paired with text"
해당 모델은 오디오에 STFT(Short-time Fourier transform), Griffin-Lim, Mel scale을 적용하여 스펙토그램을 만들었고 이를 text와 함께 학습한 모델이다.
"With diffusion models, it is possible to condition their creations not only on a text prompt but also on other images"
Riffusion은 text prompt을 통한 condition 뿐만 아닌 image를 통한 condition을 지원한다.
해당 기능은 Seed Image를 통해 사용할 수 있다.
Riffusion 저자들은 짧은 음악이 아닌 "infinite AI-generated jams"을 원했다.
하지만 이에는 요구되는 resource가 상당히 크다. (A100 기준 30초 이상 inference가 힘듦)
그렇기에 저자들은 분할된 음악을 연결하는 방안을 고안했다.
"Our strategy is to pick one initial image and generate variations of it by running image-to-image generation with different seeds and prompts"
즉 하나의 초기 이미지(Seed Image)를 Prompt 혹은 seed를 통해 Image to Image를 수행하여 연결할 수 있는 비슷한 분위기의 음악을 생성하고자 하였다.
하지만 같은 시드와 프롬프트를 사용해도 멜로디와 분위기가 사뭇 다른 결과가 많이 발생하였고 이를 해결하기 위해 latent space에서 Interpolation을 시도하였고 결과는 성공적이였다.
그렇기에 이를 통해 typing to jazz와 같이 사뭇 다른 소리를 자연스럽게 연결시킬 수 있었다.
저자들은 다른 Diffusion 계열의 모델과 같이 해당 모델도 Prompt에 성능이 크게 좌우된다라고 명시하였다.
Prompt의 구성 요소로는 다음과 같다.
(vocals:1.2)
-> Vocals 영향력 1.2배 강화[vocals:1.2]
-> Vocals 영향력 1.2배 약화참고 : Stable Diffusion 논문 리뷰, Stable Diffusion이 대체 무엇일까?
출처 : Riffusion