0. 시작하기 전에 — 왜 '큰 그림'부터 보는가Diffusion을 다룬 글은 대부분 이걸 "노이즈를 넣었다가 다시 지우는 학습 기법"으로 소개합니다. 그 설명만으로도 코드는 돌아갑니다. 하지만 거기서 멈추면 시야가 좁아집니다. 왜 하필 noise를 쓰는지, 왜 분포가 아니라 score를 배우는지, 그 손실함수는 어디서 튀어나왔는지를 모른 채 레시피만 외우게 됩니다. 그러면 막상 응용하거나 새로운 연구로 확장하려 할 때 손에 잡히는 게 없습니다. "denoise하는 과정"에만 익숙해진 채로 advanced한 작업에 들어가 길을 잃는 경우가 그래서 많습니다. 여기서 작성하는 Diffusion관련 내용은 순서를 뒤집어 서술합니다.. Diffusion을 '생성 모델'이라는 더 큰 문제의 한 가지 해법으로 놓고..