- 2023년 12월 15일 오전 7:58
- 조회수: 27332
INFORMATION
- 2023년 12월 15일
- 오후 12시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
청취자 후기

[ICML 2023] Consistency Models
- 저자인 Yang Song 의 이전 논문 "[ICLR 2021] Score-Based Generative Modeling Through Stochastic Differential Equations"을 어느 정도 알고 있으면 이해하기 편할 것 같음.
- Forward stochastic differential equation(SDE)를 probability flow ODE(PF ODE)로 변환하는 방식이, 이전 논문에서는 계산이 빠른 ODE solver를 쓸 수 있다거나, data manipulation이 용이하도록 하는 용도 정도로만 생각했는데 아이디어 발전시킨 것 같음.
- ODE trajectories 를 사용하면 ODE 특성상 deterministic 하기 때문에, 하나의 trajectory 관점에서 생각하면 어떠한 time step t에 대해서도 consistency function를 통과한 이미지가 x(0) 원본 이미지와 같도록 한다는 설계가 직관적으로 잘 이해됨.
- Consistency distillation(CD)과 consistency training(CT)에서 CT가 새로운 형태의 생성모델이라는 점은 아직 논문을 제대로 보지 않아 이해가 되진 않음.
- 논문보면 Appendix에 수식을 열정적으로 정리해두었다는 것을 느낌.
- OpenAI 에서 현실적으로 서비스할 때 필요한 연구를 했다는 느낌을 받음. 실제로 DALL.E를 써보면 inference step들 때문에 시간이 꽤 걸리는 문제가 있음.
[Arxiv 2023] Latent Consistency Models
- Latent diffusion models처럼 latent space에서 진행했구나 정도로 이해
- Augmented PF ODE에서 기존 score function이 들어가는 unconditional 부분에 CFG 형태로 변형된 term 을 넣어줬다는 아이디어 확인.
[Arxiv 2023] UFOGen:You Forward Once Large Scale Text-to-Image Generation via Diffusion GANs
-모델 구조나 어떻게 학습을 시키겠다는 것인지는 어느정도 이해됨.
- Objective를 보면 모든 term이 t-1로 표현되어 있는데, 결국 만들고 싶은 t=0 일 때와의 어떤 관계가 있는지 아는 것이 중요한 것 같음.
- Appendix에 A.2.1 Adversarial term은 Divergence가 0이 됨을 이용해서 p,q의 t-1에서의 align이 t=0에서의 align과 같다고 증명함.
- Appendix에 A.2.2 KL term 은 diffusion models에서 t-1번째 x의 값을 t=0의 x값으로 표현할 수 있는 점을 활용하여 x,x'의 t-1에서의 KLD가 x,x'의 t=0에서의 차이 제곱과 같음을 수식적으로 보임.
조한샘 연구원의 세미나를 들을 때마다 느끼는 것은 설명을 참 잘해줘서 이해가 잘 된다는 점입니다. 그러려면 설명하는 내용보다 훨씬 많이 알고 있어야 하는데, 그런 부분이 참 대단한 것 같습니다. 이에 감사드립니다.

이번 세미나는 Diffusion 모델에서 Sampling(Inference) 속도를 향상시키는 연구들에 대해 진행되었다. Diffusion은 다양한 고품질의 이미지를 생성할 수 있는 반면, Inference 속도가 느리다는 단점을 갖는다. 이러한 한 가지 단점을 극복하기 위하여 최근 여러 연구들이 진행되고 있으며, 본 세미나에서는 이러한 3가지 연구 사례들을 소개한다.
[1] Consistency Model: 핵심은 어떤 시점의 값이 들어오더라도, 동일한 x0를 뱉도록 하는 Self-consistency 성질이다. 따라서 x(t)가 들어오던 x(t-1)이 들어오던, Output은 동일해야 한다. Consistency Model은 이처럼 x(t) 또는 x(t-1)을 Input으로 받을 때, 두 Output의 차이가 적어지도록 학습하는 원리이다. 이러한 Consistency Model은 사전학습된 Diffusion 모델을 활용하는 경우(Consistency Distillation)와 그렇지 않는 경우(Consistency Training)로 구분 가능하다. Consistency Distillation은 Forward Process로 (t)시점 Noisy 이미지를 얻은 후, 사전학습된 Diffusion Model로 (t-1)시점 이미지를 얻는다. 이후 두 모델을 Consistency Model에 넣어 두 Output의 차이가 적어지도록 학습한다. 반면 Consistency Training은 사전학습된 Diffusion Model의 개입없이 Forward Process에서 나온 t번째와 (t-1)번째 이미지를 바로 Consistency Model에 넣어 동일한 원리로 학습한다. 더불어 이러한 Consistency Model들은 Multistep Sampling도 가능하다고 한다. 1step으로는 다소 불완전할 수 있기에, Forwarding을 추가적으로 수행하여 Multistep을 거치면 더 좋은 결과를 얻을 수 있다.
[2] Latent Consistency Model: “DDPM : LDM = Consistency Model : Latent Consistency Model” 비례식으로 설명한다면 이런 느낌일 것이다. 일반적인 DDPM은 연산상에 비효율성이 있기에, 저차원 벡터로 압축하는 Encoder와 고차원 벡터로 Mapping하는 Decoder는 Freeze하고, 저차원의 내부 알고리즘만 학습하는 LDM의 원리를 그대로 가져온 것으로 이해했다. 즉, Consistency Model에서도 큰 이미지를 Latent Vector로 줄이는 Encoder와 Latent Vector를 이미지 크기만큼 키우는 Decoder가 있을 텐데, 이러한 Encoder / Decoder는 Freeze하고 Latent Vector 부분만 학습하겠다는 것이다. 뿐만 아니라, 본 논문에서는 CFG개념을 추가한다. 이미지 퀄리티를 향상하기 위해 Conditional Diffusion Model에 큰 가중치를 주어 학습하기 위함이며, PF ODE에 CFG 식을 적용하여 이를 구현하였다.
[3] Hybrid Approach (UFOGen): GAN과 Diffusion이 만났다. 기본 구조는 DDGAN에서 출발하며, DDGAN의 Loss를 고도화한 SIDDM의 Loss를 설명하는 느낌의 Paper이다. DDGAN은 x0에서 Forward를 통해 x(t-1)의 Noisy Real Image를 만들며, 이에 추가로 Forward 후 x(t)에서 완전한 Noise를 생성한다. 이후 Reverse과정을 거쳐 x’0을 구성하며, Generator는 x’0에서 Noisy Fake Image x’(t-1)을 만든다. 이렇게 x(t-1)와 x’(t-1)를 잘 구성했다면, Discriminator가 x(t-1)와 x’(t-1)의 진/위 여부를 판단하도록 학습한다. Generator의 Loss Function을 살펴보면 실제 이미지와 가짜 이미지의 분포의 유사성을 판단하는 부분과 Reconstruction Loss로 구성된다.
본 세미나를 통해 Diffusion Sampling 속도 향상을 위한 논문들을 살펴볼 수 있었다. 개인적으로는 Consistency Training이 가장 와닿았다. 정말 직관적인 느낌을 받았으며, 향후 Diffusion의 연구 방향이 되지 않을까 생각했다. 특히 논문 내용과 별개로, 이처럼 최신 논문을 잘 이해하는 능력이 대단하다고 생각한다. 최신 논문이 궁금하긴 하나,,, 이해하려고 하면 지레 겁이 나는데,,, 오늘도 자극을 받고 간다. 유익한 세미나를 준비해준 조한샘 연구원님께 고맙다는 말을 전하며 세미나 후기를 마친다.

Diffusion 모델의 샘플링 속도를 개선하기 위해 연구된 (Latent) Consistency Model과 UFOGen에 대해 자세히 알 수 있었다. Consistency Model은 Diffusion reverse process 과정 속에서 (Reverse ODE trajectories라는 선 상에서) 임의의 t 시점에 주어진 데이터를 입력 받아 항상 동일한 원본 데이터를 출력하도록 학습한 모델이다. 때문에, 여러 스텝을 밟아가면서 데이터를 차근차근 생성하는 기존 Diffusion 모델보다 더 빠른 데이터 샘플링이 가능하다. 그리고, 이해한 바에 따르면, Consistency Model은 학습이 완료된 Diffusion 모델의 reverse process 과정 내에서 일관성을 가진 별도의 모델로 생각할 수도 있고, Consistency Training이라는 과정을 통해 스스로 생성 모델 역할을 해낼 수 도 있다.
UFOGen이라는 모델도 참 재미있게 청취하였다. Diffusion 모델의 Reverse process 과정은 제거해야 할? 노이즈?가 가우시안 분포를 따르고 있다는 가정을 가지고 있는데, Step size가 커짐에 따라 노이즈가 가우시안 분포보다 복잡한 형태의 노이즈임을 연구진들이 실험적으로 밝혀냈다. 이러한 문제 상황을 타개하기 위해, 제거할 노이즈를 Gan 모델로 직접 추정면서 Diffusion 데이터 샘플링 과정을 개선하였다. 재구축 오차같은 요소들도 도입하여 학습의 안정성을 높였고, 29쪽 장표와 한샘이 설명을 들으면 야무지게 이해할 수 있다.
좋은 세미나를 준비하느라 고생했을 한샘이에게 감사의 말씀을 전하며 세미나 후기를 마치도록 한다.
(제가 물음표 한 부분,,, 혹시 잘못된 이해한 부분이면 알려주세요 ^^)

이번 세미나는 Diffusion Model에 관하여 진행되었다. 특히 Diffusion Model은 굉장히 높은 품질의 이미지를 생성할 수 있지만 샘플링 속도가 느리다는 단점이 있는데 최근에는 샘플링 속도를 획기적으로 개선한 모델이 나오면서 점차 그 한계를 극복하고 있으며 본 세미나의 주제이다. 첫번째로 Consistency Models을 소개하였다. 기본적으로 Diffusion Model은 원본 이미지에 노이즈를 추가하는 과정과 노이즈를 제거하는 과정을 수행하면서 이미지를 생성하게 되는데 이러한 과정은 Discrete 하게 이루어진다. 이때 이 과정을 연속한 과정으로 확장한 논문이 Score-SDE 방법론이고 이 방법론의 PF ODE가 Consistency의 출발이 된다고 한다. Cossistency의 이름처럼 일관됨을 가지는데 어떤 시점의 값을 넣더라도 원본의 이미지를 출력할 수 있는 Consistency Function을 정의하고 방법론을 설계하게 된다. Consistency Model은 결과적으로 어느 시점의 데이터를 입력하여도 이미지를 1 step으로 생성할 수 있게 되면서 이미지 생성 뿐만 아니라 이미지 Editing으로도 사용될 수 있다는 것이 인상깊었다. 특히 대략적인 이미지를 입력하여 실제와 유사한 수준으로 이미지를 생성하는 예제는 굉장히 흥미로웠다. 두번째는 Latent Consistency Models를 소개하였다. 이는 앞서 설명했던 방법론에서 고화질 이미지를 효율적으로 생성하기 위한 Latent Space 개념이 추가되고 Text-to-Image가 추가된 것이라고 한다. 마지막으로 GAN과 Diffusion의 개념이 섞인 방법론들을 설명하였다. 앞서 방법론들이 1 step으로 이미지를 생성하는데 이때는 가우시안 분포라는 가정이 깨지기 때문에 이를 보완하기 위하여 GAN의 구조를 추가한 것이다. 학습 과정은 1 step으로 생성한 이미지에 다시 노이즈를 부여하여 생성한 이미지와 원본 이미지에서 노이즈가 부여된 이미지를 구별하는 GAN의 구조를 추가하여 구성하였다. Diffusion Model은 매번 볼때마다 엄청나게 빠른속도로 발전하는 것이 체감되고 또한 그 성능도 어마어마한것 같다. 샘플링 속도가 느리다는 단점이 있었는데 이제는 그 단점조차 극복하여 이미지 생성에서는 독보적인것 같고 생성 뿐만 아니라 Text를 활용한 Task들, 그리고 Editing 등 활용가능성이 무궁무진한것 같다. 이번 세미나를 통해서 샘플링 속도를 어떤식으로 개선하는지에 대한 최신 연구 흐름을 확인할 수 있어서 굉장히 유익하였다. 개인연구를 진행하면서 실험하고, 논문을 작성하면서 새로운 연구가 어떤것들이 이루어지고 있는지 탐색이 부족했었는데 조한샘 연구원의 세미나를 청취하며 연구원으로써 연구에 대한 많은것을 느낄수 있었다. 이처럼 유익한 세미나를 준비해준 조한샘 연구원에게 고맙다는 말을 전하며 이상으로 세미나 후기를 마친다.

해당 세미나는 디퓨젼 모델의 약점으로 지적 받는 샘플링 속도를 해결한 여러 방법들에 대해 소개하였다. 디퓨젼 모델은 고품질의 이미지를 생성하지만 여러 번 denoising을 거쳐 생성 속도가 느리다는 문제가 존재하는데 이를 해결한 3가지 방법론에 대한 내용을 다루었다.
[1] Consistency Model: PF-ODE trajectory상의 어떤 시점의 x_t를 입력받던 x_0를 생성할 수 있음을 증명하였다. 이때 두가지 방식을 통해 consistency model을 학습할 수 있는데, 첫번째 방식은 사전 학습된 디퓨젼 모델을 사용한 Consistency Distillation 방법이다. 이때 이미지에 noise를 가한 x_t를 사전 학습된 디퓨젼 모델로 denoise하여 x_{t-1} 을 만든 후 x_t와 x_{t-1}이 유사하도록 학습을 진행한다. 두번째 방법은 사전학습된 디퓨젼 모델을 사용하지 않는 Consistency Training 방법인데, 이는 원본이미지 x_0에 forward diffusion으로 noise가 추가된 x_t와 x_{t-1}을 각각 만들어 x_t와 x_{t-1}이 유사하도록 학습한다. Consistency Model의 핵심은 바로 어떤 방법이든 x_t와 x_{t-1}이 비슷하도록 학습을 진행한다는 것이라고 이해하였다.
[2] Latent Consistency Model: 디퓨젼 모델에 autoencoder를 결합하여 이미지 공간에서 동작하던 디퓨젼 모델을 잠재공간으로 옮겨 이미지를 생성하도록한 latent diffusion model이 있는데, 이를 consistency model에 적용한 것이다. 즉 consistency model과 autoencoder를 결합한 것이다. 더하여 기존 디퓨젼 모델에서 condition을 줄 때 CFG를 사용하는데, PF-ODE 식을 변형하여 CFG를 consistency model에 적용하였다.
[3] Hybrid Approach: 마지막으로 디퓨젼 모델과 GAN을 결합한 UFOGEN은 reverse process가 time step이 늘어날 수록 gaussian distribution을 갖는 가정이 깨지게 된다. 따라서 generator를 통해 해당 분포를 추정한다는 것을 DDGAN에서 제안하였고, 이에 대한 loss를 보완한 SIDDM의 아이디어를 적용한 논문이 UFOGEN이라 이해하였다.
근래 종현형과 한샘형이 consistency model에 대해 이야기를 하면서 “이게 되네?”라고 했던 기억이 있다. 본 세미나를 시청하며 디퓨젼 분야에서 연구가 정말 빠르게 진행되고 있다 다시금 느꼈으며 나 역시도 분발해야겠다 생각이 들었다. 유익한 세미나를 준비해준 한샘형에게 감사의 말을 전하며 세미나 후기를 마친다.

Diffusion은 GAN과 VAE와 달리 고품질의 다양한 이미지를 생성할 수 있지만, 상대적으로 느린 샘플링 속도가 한계점이다. 이를 개선한 연구인 consistency model과 hybrid approach에 관한 소개가 중점적으로 이뤄지고 있다.
①Consistency model은 reverse process 과정에서 임의의 시점(t)에서 주어진 데이터를 입력받았을 때 깨끗한 원본 데이터를 출력하도록 학습된 모델이다. 사전 학습된 모델 사용 유무에 따라 consistency distillation과 consistency training으로 구분이 가능하며, 두 가지 조건(self consistency, boudary condition)을 만족하는 consistency function이 활용된다. self consistency의 경우, 임의의 시점에서 샘플링된 데이터에 대한 모델의 출력이 동일해야 한다는 조건이다. ②Latent consistency model은 입력 데이터의 사이즈가 커지게 됨에 따라 모델 사이즈도 커져 효율적인 이미지를 생성하기 어렵다는 한계점에서 시작되었으며, diffusion 과정을 latent space 상에서 진행하기 위해 autoencoder를 적용하였다. 그뿐만 아니라, condition을 주기 위해 기존에 사용했던 PF ODE 식에 CFG를 적용하여 이미지의 질을 더욱 향상시켰다. ③마지막으로 UFOGen은 reverse process에서 step 사이즈가 커지면 가우시안 분포가 아닌 복잡한 데이터 분포를 따른다는 문제를 실험적으로 확인했으며, 복잡한 데이터 분포를 추정해서 샘플링을 진행하게 된다면 샘플링 속도가 향상될 수 있다는 점에서부터 연구가 시작되었다. 이를 위해, GAN과 diffusion 모델을 결합하였다. 결국, 학습에 사용되는 손실 함수를 살펴보면, Generator가 만들어내는 원본 이미지와 실제 원본 이미지 간의 reconstruction loss와 Discriminator를 통해 Generator가 만들어낸 가짜 이미지(noise 추가)와 진짜 이미지(noise 추가) 분포를 align하기 위한 adversarial loss가 사용되고 있다.
한샘이가 매일 연구실에서 diffusion model의 샘플링 속도를 향상하기 위한 연구에 눈이 유독 간다고 했는데, 그 이유가 뭔지 알 것 같다(재밌네). 세미나를 준비하느라 고생한 한샘이에게 고맙다는 말을 전하며 이상으로 세미나 후기를 마친다.

기존의 diffusion model은 샘플 품질이 높고 다양하게 생성할 수 있으나, 속도가 느리다는 단점이 꾸준히 지적되어 왔다. 하지만 최근 나오는 diffusion model들은 샘플링 속도도 GAN에 가까워질 정도로 빨라졌다. 이와 관련하여 본 세미나에서는 크게 두 가지, consistency model과 hybrid approach에 대해서 소개한다.
Consistency model은 consistency model과 latent consistency model로 구분하여 설명한다. Probability Flow ODE(PFODE)는 Forward SDE와 동일한 확률 분포를 갖는 ODE인데, 동일한 PFODE trajectory에 위치하는 x(t)가 consistency function을 통과하면 x(0)로 간다. 따라서 모든 x에 대해 output이 동일해지는 self consistency 라는 특성을 갖는다. x(t)와 그로부터 얻은 x(t-1)을 consistency model에 넣고 두 모델의 차이를 최소화 하는 distillation과 사전 학습된 모델 없이 x(0)를 x(t)와 x(t-1)로 만들어 모델이 넣어 두 모델의 차이를 최소화 하는 training 방식의 학습이 가능하고, 두 방법의 loss가 동일함을 증명했다. Latent consistency model의 경우 고해상도 이미지를 생성하기 위해 diffusion 과정을 latent space에서 진행하는데, text condition을 받아서 diffusion model을 수행하는 CFG가 포함된 diffusion model의 아웃풋을 활용하여 CD 진행한다. 기존 diffusion model 처럼 CFG scale에 따라 이미지 퀄리티가 높아진다.
Hybrid 방법으로는 UFOGen을 설명한다. 이 모델은 diffusion model과 GAN이 결합된 형태인데, SIDDM에서 generator를 통해 생성된 이미지와 실제 이미지 간 reconstruction error를 통해 학습하는 것이 더 좋다는 것을 보여준다. Generator를 통해 생성된 noise 이미지와 실제 데이터의 noise 이미지의 real/fake 판별을 통해 학습을 진행한다.
이 내용을 모두 설명하려면 해당 논문에 대한 이해 뿐 아니라 훨씬 더 많은 양의 지식에 대해 이해하고 있어야 한다. Diffusion model을 학습하면서 빠르게 진행되는 다양한 연구와 기존 연구의 이해를 바탕으로 follow up 하는 것도 쉽지 않은데, 다양한 이해를 바탕으로 잘 설명해준 조한샘 연구원을 보며 더 열심히 공부해야겠다는 자극을 받았다. 좋은 세미나를 들려준 조한샘 연구원께 고맙다는 말을 전하며 세미나 후기를 마친다.