DDPM: Diffusion Models의 시작

Read time: 1 minute

📘 이 글은 실습용 Jupyter 노트북을 기반으로 작성되었습니다.

Diffusion이란?

Diffusion Models는 이미지에 점진적으로 노이즈를 추가하는 과정(forward)을 학습한 뒤, 그 과정을 역으로 실행(reverse)하여 노이즈에서 이미지를 생성합니다.

  • # Forward Process: 이미지 → 노이즈
    x_0 (이미지) → x_1 → x_2 → ... → x_T (순수 노이즈)
    
    # Reverse Process: 노이즈 → 이미지
    x_T (노이즈) → x_{T-1} → ... → x_1 → x_0 (이미지)

    Forward Process: 노이즈 추가

    Forward process는 Markov chain으로 정의됩니다. 매 스텝마다 작은 Gaussian noise를 추가합니다.

  • # Forward process at step t
    q(x_t | x_{t-1}) = N(x_t; √(1-β_t) · x_{t-1}, β_t·I)
    
    # 즉, x_t = √(1-β_t) · x_{t-1} + √β_t · ε
    # 여기서 ε ~ N(0, I)
    
    # Closed form (단축 공식)
    q(x_t | x_0) = N(x_t; √ᾱ_t · x_0, (1-ᾱ_t)·I)
    
    # 여기서:
    # α_t = 1 - β_t
    # ᾱ_t = ∏_{s=1}^t α_s

    구독하고 전체 내용 보기

    이 글의 나머지 부분을 읽으려면 구독이 필요합니다.

    모든 프리미엄 콘텐츠 무제한 열람
    Jupyter Notebook 및 실습 자료 다운로드
    새로운 콘텐츠 업데이트 시 이메일 알림

    월 9,900원 또는 연 99,000원 (17% 할인)