DDPM 논문 정리 글 공유 드립니다.

안녕하세요.

스테이블 디퓨전 공개 1주년 기념?으로 디퓨전 모델 학습의 출발점이라 할 수 있는 DDPM에 대한 내용을 정리해봤습니다. 나온지는 꽤 된 논문인데 최근에도 생성모델에 입문하시는 분들께서 공부하시는 것 같기도하고 저도 내용을 정리도 할 겸 공유라는 탈을 쓰고 홍보해봅니다.
지난번 굿즈도 너무 잘 받았고 꼭 보답을 하고 싶어서 파이토치 한국 사용자 모임에도 공유 드립니다.

보통 수준의 딥러닝 학습자가 읽을 수 있도록 가능한 수식을 자세히 풀어서 설명을 했고 다양한 코딩 실험을 통해서 식의 의미가 직관적으로 이해될 수 있도록 하고자 했습니다. 그리고 여러 인터넷 자료에서 잘 다루지 않는 3.3:마지막 시간단계에 대한 손실, 3.4:손실함수 간략화에 대한 내용도 다양한 실험과 시각화를 시도해서 이해들 돕고자 해봤습니다. 아마 인터넷상에 검색되는 내용중 가장 자세한 내용이 아닐까...(죄송합니다.)..아래 링크를 통해 볼 수 있고 코랩에서 실행하면서 읽을 수 도 있습니다.
https://metamath1.github.io/blog/posts/diffusion/ddpm_part1.html

그리고 학습 내용을 파이토치로 각가 구현해서 실습코드도 만들어봤습니다. 코딩에 대한 기술적인 부분이 핵심을 이해하는데 방해가 되지 않도록 하기 위해 가능한 직관적이고 간단한 모델을 이용해서 구현했고 기타 잡다한 테크닉은 일절 사용하지않아 코드 보시기도 편하시리라 생각합니다.(사실 화려한 테크닉을 잘 모릅니다. ㅠㅠ) JAX/Flax로도 구현해보고 싶은데.. 아직 잘 할 줄 몰라서 공부하면 곧 만들어보도록 하겠습니다.
파이토치: ML simple works - A Gentle Introduction to Diffusion Model: Part 2-2 DDPM Hands-on with Pytorch

ddpm

선선해지는 날씨에 재미있는 읽을 거리가 되었으면 하고 또 생성모델 공부하시는데 조금이라도 도움이 되었으면 좋겠습니다.

감사합니다.

1개의 좋아요

우왓, 잘 보겠습니다!!!

감사합니다!!! :bowing_man:

1개의 좋아요

재미있게 읽어주시면 제가 더 감사하죠.

1개의 좋아요