Diffusion Paper List

Deep Unsupervised Learning using Nonequilibrium Thermodynamics

Abstract

기계학습에서 복잡한 데이터셋을 모델링하기 위해서는 고도로 유연한 확률 분포 수식을 사용해야한다.

본 논문은 비평형 통계 물리학Nonequilibrium Thermodynamics에서 영감을 받은 핵심 아이디어를 적용하여 해결한다.

1. Introduction

확률적 모델에서는 처리 가능성tractability과 유연성flexibility 사이의 Trade-off 문제가 발생한다.

  • 처리 가능성이 높은 모델:
    • 정의
      • Tractable한 모델은 계산이 비교적 간단하고 효율적으로 처리될 수 있는 모델을 의미한다. 이러한 모델은 일반적으로 해석 가능한 수학적인 특성을 가지며, 모델의 매개변수를 추정하는 것이 비교적 쉽고 빠르게 이루어질 수 있다.

      • 수학적인 방법이나 해석적인 접근을 사용하여 모델의 성능이나 특성을 분석하고 평가할 수 있고(analytically evaluated) 데이터를 쉽게 맞출 수 있다(easily fit to data).

    • 단점
      • Tractable한 모델들이 가우시안이나 라플라스 분포와 같은 단순한 분포로 데이터를 적합시키는 것은 가능하지만, 구조적으로 복잡한 데이터셋에 대해서는 적절한 설명을 제공하기 어렵다.

      • 예를 들어, 풍부한 구조를 가진 데이터셋은 비선형 관계, 상호작용, 비선형성, 잡음 등을 포함할 수 있다. 이러한 복잡성을 적절히 모델링하려면 더 복잡한 모델이 필요하다.

  • 유연성이 높은 모델:
    • 정의
      • Flexibility한 모델은 임의의 데이터 구조에 맞게 조정될 수 있다. 어떤 (음이 아닌) 함수 $\phi(x)$에 따라 모델을 정의할 수 있다. 이 모델은 유연한 분포 $p(x) = \frac{\phi(x)}{Z}$를 생성한다. 여기서 $Z$는 정규화 상수(normalization constant)이다.

      • 유연한 모델에서는 데이터 구조에 따라 모델을 적절하게 맞출 수 있기 때문에 다양한 종류의 데이터에 유용하게 사용될 수 있다. 이는 모델이 주어진 데이터에 더 적합하게 되므로 예측 또는 분석의 정확성을 향상시킬 수 있다.

    • 단점
      • 정규화 상수 Z를 계산하는 것은 일반적으로 어려운 문제이다. 정규화 상수는 분포의 총 합이 1이 되도록 만들어줍니다. 이 계산은 데이터 공간의 크기와 복잡성에 따라 지수적으로 증가할 수 있기 때문에 계산적으로 비효율적이다. 따라서 일반적으로 이 정규화 상수를 직접 계산하기보다는 근사적인 방법이나 샘플링을 사용하여 추정한다.

1.1. Diffusion probabilistic models (DPMs)

본 논문이 제안하는 확률적 모델을 정의하는 새로운 방법은 다음과 같은 기능을 갖춘다.

  1. 모델 구조에서 극도의 유연성extreme flexibility in model structure
    • 일반적으로 기계 학습 모델은 입력 데이터를 처리하고 출력을 생성하는 여러 계층이 포함된 구조로 구성된다. 이러한 계층들은 모델의 아키텍처를 결정하며, 예를 들어 인공 신경망에서는 입력층, 은닉층 및 출력층이 있을 수 있다. 여기서 flexibility model structure는 계층들의 수, 유형, 크기 및 상호 연결 방식 등을 매우 유연하게 조정할 수 있는 능력을 가지는 것을 의미한다.

    • 이러한 유연성은 다양한 종류의 문제에 대해 최적화된 모델을 구축하는 데 도움이 된다. 예를 들어, 이미지 분류 문제에는 대규모의 합성곱 신경망(CNN)을 사용하는 것이 일반적이지만, 텍스트 분류 문제에는 순환 신경망(RNN)이나 변형된 트랜스포머 모델을 사용하는 것이 더 적합할 수 있다. 유연한 모델 구조를 사용하면 이러한 다양한 요구 사항에 맞추어 적합한 아키텍처를 선택하고 조정할 수 있다.

  2. 정확한 샘플링exact sampling
    • 일반적으로, 확률 분포에서 샘플을 추출하는 것은 해석적으로 불가능한 경우가 많습니다. 따라서 확률 분포로부터 샘플을 추출하기 위해 다양한 확률적인 알고리즘이 사용된다. 이러한 알고리즘들은 근사적인 샘플링 방법을 사용하여 확률 분포에 가까운 값을 생성하려고 한다.

    • 반면, exact sampling은 이러한 근사적인 방법을 사용하지 않고, 주어진 확률 분포를 정확하게 따르는 값을 생성하는 것을 목표로 한다. 이는 주어진 확률 분포의 분포 함수를 직접 계산하고, 그에 따라 값을 선택하여 정확한 샘플을 얻는 것을 의미한다.

    • Exact sampling은 몇 가지 확률 분포에 대해서만 가능하며, 일부 분포에서는 계산적인 어려움으로 인해 정확한 샘플링이 어려울 수 있다. 그러나 가능한 경우에는 정확한 샘플링은 확률 분포의 특성을 보다 정확하게 반영할 수 있다.

  3. 다른 분포와 쉽게 곱셈 가능, 예를 들어 사후확률 계산에 사용
    • 베이즈 통계학에서는 사전 분포(prior distribution)와 관측 데이터를 이용하여 사후 분포(posterior distribution)를 계산하는 작업을 자주 수행한다. 이때, 사전 분포와 관측 데이터의 곱셈이 필요한데, 이 곱셈은 모델링과 통계적 추론에서 중요한 연산이다.

    • 사전 분포와 관측 데이터를 곱셈하여 사후 분포를 계산할 수 있다. 이런 계산은 베이지안 추론의 핵심인 사전 지식을 통한 업데이트를 통해 더 정확한 추론을 수행하는 데 사용된다.

    • 예로, 사전 분포가 정규 분포이고 관측 데이터가 또 다른 정규 분포일 경우, 정규 분포의 곱셈에 관한 특성을 이용하여 사후 분포를 계산할 수 있다.

  4. 모델 로그 우도와 개별 상태의 확률을 비용 효율적으로 평가 가능
    • 로그 가능도는 통계 모델이 주어진 데이터를 설명하는 정도를 나타내는 지표이다. 일반적으로 모델의 파라미터에 대한 로그 가능도를 최대화하는 것이 모델 학습의 목표이다. 로그 가능도를 계산하려면 주어진 데이터셋에 대한 모델 예측값과 실제 값 간의 차이를 계산하고, 그것을 확률적으로 모델링된 분포와 비교해야 한다.

    • “비용 효율적으로 평가할 수 있다”는 표현은 로그 가능도와 개별 상태의 확률을 계산하는 것이 상대적으로 저비용으로 이루어진다는 것을 의미한다. 이는 모델의 계산 성능과 관련이 있다. 효율적인 계산은 모델 학습, 추론 또는 평가 등 다양한 작업에서 중요한다.

DPMs는 마르코프 체인을 사용하여 한 분포를 다른 분포로 점진적으로 변환하는 것으로 확률적 모델을 정의한다.

이 아이디어는 비평형 통계 물리학non-equilibrium statistical physics (Jarzynski, 1997)과 순차 몬테카를로sequential Monte Carlo (Neal, 2001)에서 사용되었다.

우리는 주어진 초기 분포(예: 가우시안 분포)를 목표 데이터 분포로 변환하기 위해 확산 프로세스(diffusion process)를 사용하여 생성하는 생성적 마르코프 체인을 구축하려고 한다.

마르코프 체인을 사용하여 미리 정의된 모델을 근사적으로 평가하는 대신, 확률적 모델을 명시적으로 마르코프 체인의 최종 결과물로 정의하는 방식을 선택한다.

확산 체인의 각 단계에는 분석적으로 평가 가능한 확률이 있기 때문에 전체 체인도 분석적으로 평가할 수 있다.

DPMs의 학습은 확산 과정에 대한 작은 변동(1 time)을 추정하는 과정을 포함합니다. 작은 변동을 추정하는 것은 단일하고 해석적으로 정규화되지 않는 잠재 함수로 전체 분포를 명시적으로 설명하는 것보다 추론하기 더 용이하다.

2. Algorithm

Figure-1

  • Forward diffusion process
    • 입력 데이터 $x^{(0)}$의 분포 $q(x^{(0)})$를 통계적인 분석이나 계산을 수행하기 용이한 형태의 분포 $\pi(y)$로 변환한다.

    • 최종 분포 $\pi(y)$로 변환하기 위해서 Markov diffusion kernel $T_{\pi}(y\vert{}y’;\beta)$을 사용하여 $q(x^{(0)})$을 점진적으로 $\pi(y)$로 변환한다.

    • $\beta$는 확산 속도 매개변수로 사용하며 변환의 속도를 조절한다.

\[q(x^{(t)} \vert{} x^{(t-1)}) = T_{\pi}(x^{(t)} \vert x^{(t-1)}; \beta{}_t).\] \[q(x^{(0\cdots{}T)})=q(x^{(0)}) \sum_{t=1}^{T}q(x^{(t)} \vert x^{(t-1)})\]
  • Reverse diffusion process
    • Forward process를 통해 $x^{0}$의 분포 $q(x^{0})$이 $q(x^{T})$가 되었고 이는 가우시안(이항) 분포를 따른다.

    • Forward process 1T step $q(x^{(t-1)} \vert x^{(t)})$은 가우시안 분포를 따르며, 반대로 $q(x^{(t)} \vert x^{(t-1)})$ 또한 가우시안 분포를 따를 것이다.

    • 우리는 분포 $q(x^{T})$를 분포 $q(x^{0})$로 되돌리기 위해 딥러닝 모델을 사용하여 학습하게 된다.

2.3. Model Probability

\[p(x^{(0)}) = \int{dx^{(1\cdots{}T)}p(x^{(0\cdots{} T)})}.\] \[p(x^{(0)}) = \int{dx^{(1\cdots{}T)}p(x^{(0\cdots{}T)})\frac{q(x^{(1\cdots{}T)}\vert{}x^{(0)})}{q(x^{(1\cdots{}T)}\vert{}x^{(0)})}}\] \[= \int{dx^{(1\cdots{}T)}p(x^{(1\cdots{}T)} \vert{} x^{(0)})\frac{q(x^{(0\cdots{}T)})}{q(x^{(1\cdots{}T)}\vert{}x^{(0)})}}\] \[= \int{dx^{(1\cdots{}T)}p(x^{(1\cdots{}T)} \vert{} x^{(0)})} \cdot p(x^{(T)})\prod_{t=1}^{T}\frac{p(x^{(t-1)}\vert x^{(t)})}{q(x^{(t)}\vert x^{(t-1)})}\]