for textmining

Auto Regressive Models

|

이번 글에서는 Auto Regressive Model(AR)에 대해 살펴보도록 하겠습니다. 이 글은 전인수 서울대 박사과정이 2017년 12월에 진행한 패스트캠퍼스 강의와 위키피디아 등을 정리했음을 먼저 밝힙니다. 그럼 시작하겠습니다.

concept

자기 자신을 입력으로 하여 자기 자신을 예측하는 모형을 Auto Regressive Model(AR)이라고 합니다. 그 개념도와 likelihood 식은 다음과 같습니다.

\[\begin{align*} p\left( x \right) =&\coprod _{ i }^{ }{ p\left( { { x }_{ i } }|{ { x }_{ 1 },...,{ x }_{ i-1 } } \right) } \\ =&p\left( { x }_{ 1 } \right) p\left( { x }_{ 2 }|{ x }_{ 1 } \right) ...p\left( { { x }_{ i } }|{ { x }_{ 1 },...,{ x }_{ i-1 } } \right) \end{align*}\]

저해상도 이미지/영상을 고해상도로 변환하는 작업을 Super Resolution(SR)이라고 합니다. SR을 AR modeling 관점에서 이해할 수 있습니다. 아래 그림처럼 고해상도 이미지/영상을 픽셀 단위로 예측하는 경우, $x_i$를 예측할 때는 이전의 모든 픽셀 예측 결과를 활용하게 됩니다.

앞으로 설명해드릴 PixelRNN과 PixelCNN은 SR을 AR modeling으로 해결해 보려는 시도들입니다.

PixelRNN

Recurrent Neural Network(RNN)는 시퀀스 데이터 처리에 특화된 아키텍처이므로 SR을 AR modeling으로 풀 때 적용해 봄직한 시도입니다. 아래 그림의 빨간색 픽셀을 예측할 때 이전의 모든 시퀀스 정보를 RNN 아키텍처에 넣어서 예측이 가능합니다.

PixelCNN

Convolutional Neural Network(CNN)는 본래 시퀀스 데이터 처리와는 직접 관련이 없으나 아래 그림처럼 Masked Convolution Filter를 사용하면 AR modeling이 가능합니다. 예측해야 하는 시점의 픽셀(아래 행렬의 정중앙 픽셀)과 아직 예측하지 않은 시점의 픽셀에 해당하는 필터 값을 0으로 설정해 두고, 이를 일반적인 conv layer에 적용하면 CNN을 가지고 AR modeling을 할 수 있습니다.

WaveNet

WaveNet은 음성 생성에 Masked Convolution Filter를 활용한 사례입니다. conv filter를 아래처럼 설정해 두면 현 시점 예측 때 과거 다양한 시점의 데이터를 사용하게 됩니다.



Comments