목차
이번 포스팅에서는 생성 모델 중 하나인 autoregressive model에 대해 알아보자.
다음은 다양한 deep generative model 의 비교 표이다.

Autoregressive Models
Autoregressive model(ARM)은 말그대로 autoregressive, 즉 이전 input data를 활용하여 현재 input과 관련된 연산(modeling probability distribution)을 하는 방법으로
: 번째 인덱스 이전의 들을 말한다.
이는 이미지로 따지자면 이전 픽셀 정보를 통해 주어진 픽셀을 예측하는 개념으로 볼 수 있다. 그런데 모든
Modeling with MLP
예를 들어 conditional model의 메모리가 한정되어있어 각 variable이 이전의 두 개 variable까지만 dependent하다고 가정하자(finite memory).
가장 간단히 MLP로
: hidden unit 개수
이러한 방법으로 non-linear하면서도 parameterization이 쉬운(학습할 weight이 적은) 모델을 고안해볼 수 있다. 하지만, memory가 한정적이라는 단점이 있다. 실제로는 long-range memory가 필요한 경우가 매우 많다. (예를 들어, 이미지에서의 픽셀 수만 따져봐도 이전 두 개 정보로는 성능이 매우 떨어질 것이다.)
Modeling with RNN
따라서 MLP 대신 RNN을 활용해볼 수 있다. 그러면 conditional distribution은 다음과 같이 모델링할 수 있다.
: hidden state
즉, history
RNN
RNN을 간단히 복습해보자.

- Summary update :
→ (time step 까지의 'summary' 개념) - Prediction :
→ 으로 conditional 의 parameter 결정 - Summary initialization :
이를 통해 long-range memory에 대해 간단하게 parameterize할 수 있으나, 다음과 같은 문제점을 갖는다.
- Sequential : 학습이 매우 느리다.
- Gradient vanishing or exploding : Weight matrix의 eigenvalue가 1보다 크거나 작은 경우 RNN이 갖는 단점으로, 결국 long-range dependency를 놓치기 쉽다.
Modeling with CNN
이러한 단점을 해결하기 위해 CNN을 활용해볼 수 있다. 특히 sequential data를 다루기 위해서는 1차원 convolutional layer, 즉 Conv1D를 활용한다.

CNN을 활용하면 다음과 같은 장점이 있다.
- Parameter sharing : Kernel을 공유하므로 parameterization에 효율적이다.
- Parallel computation : 연산을 parallel하게 할 수 있어 효율적인 계산이 가능하다.
- Layer를 많이 쌓아 network를 깊게 구성할 수 있다.
하지만, 일반적인 Conv1D를 autoregressive model에 사용할 수는 없고, causal convolution을 사용해야 한다. Causal이란 단어는 Conv1D layer가 이전

위 사진에서 첫 번째 CausalConv1D layer의 kernel size는 2이고, 두 번째와 세 번째는 각각 dilation(연산을 진행하는 간격의 개념)을 2, 3으로 적용하였다.
CausalConv1D (A)와 (B)의 차이는 각각
이러한 원리를 WaveNet, PixelCNN 등에서 활용한다.
Examples of Autoregressive Models
Autoregressive model의 예시를 좀 더 자세히 알아보자.
Fully Visible Sigmoid Belief Network (FVSBN)
Bernoulli 분포를 따르는 conditional variables

Joint distribution
위에서 MLP를 활용한 Autoregressive model보다 더 간단하게 logistic regression을 통해 memory limit 없이 모든 이전 condition을 활용하는 모델이다.
Neural Autoregressive Density Estimation (NADE)
NADE 모델은 FVSBN의 logistic regression을 neural network(1 layer)로 바꾼 모델이다.
: Neural network (1 layer)


General discrete distributions
만약 random variable
: Categorical distribution
위(binary distribution)에서보다 일반적인 distribution을 모델링하는 것이다.
Real-valued Neural Autoregressive Density Estimation (RNADE)
RNADE는 NADE의 variants 중 하나로, Gaussian distribution(즉

이때
또한 앞에서와 마찬가지로 neural network로
여기서
최근댓글