Generative Model 시리즈2

알고가기

  • Diffusion 이란 무엇인가?

    • 일상 속의 확산

      확산은 우리의 삶에서 매우 익숙하다. 향도 그렇고, 위의 사진처럼 액상을 떨어뜨렸을때 어디로 갈지에 대해 볼 수 도있다. 우리는 생성모델에서 이를 활용하고자 한다. 확산이 어디로 갈지에 대해 예측하는 것은 매우 어렵기에 확률적으로 예측하는 것이다.

      💡 Diffusion model : 확률적으로 확산이 어떻게 되는지를 예측하는 모델
    • Diffusion model의 두 가지 약속

      Diffusion model은 크게 2 가지의 가정(=Assumption)이 있다.

    1. 이산 마코프 가정(Discrete Markov Process Assumption

      → 첫 번쨰 가정은 일상생활 속에서 대다수 사람들이 식사 메뉴를 먹기 전 가장 고려하는 부분인 이전 식사 메뉴에 대해 떠올리는 일을 생각하면 된다. 첫이산 마코프 가정에서는 저녁메뉴를 고르기 위해 그날 점심 메뉴를 고려하는 것처럼 이전 단계에서의 나의 옵션을 고려하는 가정을 의미한다.

      💡 Markov 성질 : “특정 상태의 확률(t+1)은 현재상태(t)에 의존한다.
    2. 정규분포(Normal Distribution)

      → 두 번째로 우리가 살펴볼 사항은 정규분포(Normal Distribution)입니다. Diffusion Model 뿐 아니라 많은 머신러닝, 통계 모델에서 ‘특정 데이터가 정규분포를 따를것이다’ 라는 정규성 가정을 많이 활용한다. 정규성 가정이라 함은 데이터가 다음과 같은 형태의 분포를 따를것이라 가정하는 것이다. 다양한 복잡한 분포가 있지만 우리가 이미 특성을 잘 이해하고 있는 가장 대표적인 분포인 정규분포만을 고려한다고 하면 우리가 풀어야 하는 문제가 상당히 간단 명료해지는 아주 큰 장점이 있다.

    • 두 가지의 가정의 합치는 방법

    • Diffusion model을 사용하기 위해 데이터 분포를 정규분포 형태로 나타내는 것은 데이터 분포에 따라 정말 어렵다.

      → 데이터의 간단한 분포를 수십 수백 층으로 더많게는 수천 층으로 쌓아올린다면 복잡한 데이터 분포를 표현할 수 있을 것이다.

본문 내용

  • Diffusion Model의 Forward Process(방 어지르기)와 Reverse Process(방 치우기) 과정

Forward Process : 방을 일부러 어지럽힌다 = 데이터에 노이즈를 주입한다.

Reverse Process : 어지럽혀진 방을 치운다 = 데이터에서 노이즈를 제거한다.

→ 반복적으로 Forward / Reverse Process 과정을 거치면서 꺠끗한 이미지가 무엇인지 모델이 학습하게 함.

  • Forward Process & Reverse Process 수학적 과정

    Forward Process를 하면 노이즈가 생긴다는 것을 알게 되었다. → 노이즈는 어떤 방식으로 줄끼?

    → Diffusion Model의 큰 두가지 가정 중 Normal Distribution에 대해 알아보았다. 정규 분포를 띠는 임의의 가우시안 노이즈(Gaussian Noise)가 주입된다. → Gaussian 노이즈를 한,두차례 주입할떄는 원래 데이터를 보존하지만 이것이 반복되면 형태를 알아볼 수 없을 정도의 노이즈가 생겨버린다.

    Forward Process를 하면서 이전 단계(t-1)에서 다음단계 (t)로 노이즈가 주입되며 변화되는 과정은 다음과 같이 표현된다.

    위의 수식이 조건부 확률분포를 나타내고 있다

    Reverse Process를 하면 노이즈가 지워진다. → 그러나 완벽히 지우지는 못할 것이다. 아래의 그림처럼 지워지지 않고, 완벽히 같지는 않지만 최대한 유사한 분포 P를 대신해서 찾게 된다.

출처 및 참고문헌

What is Diffsuion Models?
https://lilianweng.github.io/posts/2021-07-11-diffusion-models/

profile
제 노션에 더욱 유익한 정보가 많습니다. 많이 놀러와주세요.

0개의 댓글