[논문 리뷰]_Pixel Recurrent Neural Network

코넬·2023년 9월 5일
0

PapersReview

목록 보기
23/35
post-thumbnail

Pixel Recurrent Neural Network

본 논문에서는 기존 이미지의 분포를 모델링하는 것이 비지도 학습에서 근본적인 문제를 발생시킨다고 합니다. 모델링 과정에서 한번에 표현이 가능하고, 다루기가 쉬우며, 확장 가능한 이미지 모델을 요구하게 되는데, 이를 위해

두 공간의 차원을 따라 이미지의 픽셀을 시계열적으로 예측하는 deep neural network를 제작하였다고합니다.

이 방식은 원본 픽셀 값의 이산 확률을 모델링하고, 이미지에서 완전한 세트의 종속성(y) (complete set of dependencies) 을 인코딩합니다.

구조적으로 빠른 2차원의 순환 신경망을 포함하고, 깊은 순환 신경망에서 잔차 연결을 효율적으로 사용하는 것이 이점이라고 하며, 이전 최고 성능의 모델보다 원본 이미지에서 더 높은 log-likelihood score를 달성하였다고 합니다.

Introduction

비지도 학습에서 생성 이미지 모델링의 중요 문제에 대해 이야기합니다. 확률 밀도 모델은 이미지 압축, 재구성(ex | 이미지 인페인팅 및 디블러링) 및 새로운 이미지 생성과 같은 다양한 작업에 사용될 수 있습니다. 모델이 외부 정보에 의해 조건화될 때, 가능한 응용 분야에는 텍스트 설명을 기반으로 이미지를 생성하거나 계획 작업에서 미래 프레임을 시뮬레이션하는 것도 포함됩니다.

저자들은 생성 모델링의 이점 중 하나로 학습에 사용할 수 있는 거의 무한한 양의 이미지 데이터가 있다는 것을 강조합니다. 그러나 이미지의 고차원성과 구조 때문에 자연 이미지의 분포를 추정하는 것은 극도로 어려운 문제임을 인정합니다.

전반적으로, 소개는 생성 이미지 모델링의 문제와 잠재적인 응용 분야, 그리고 이 분야에서 성공을 달성하기 위해 극복해야 할 과제를 소개함으로써 배경 등을 이야기합니다. (갑자기 너무 엇나가서 당황스러웠습니다..)

Model

모델 파트에서, Pixel Recurrent Neural Network (PixelRNN) 이라는 딥 뉴럴 네트워크 모델을 소개합니다. 이 모델은 이미지의 픽셀을 두 개의 공간 차원을 따라 예측할 수 있습니다. 이 모델은 표현력이 뛰어나고, 계산 가능하며, 확장 가능하여 비지도 학습에 대한 방법으로 자리 잡았습니다.

PixelRNN은 이미지의 각 픽셀을 예측하기 위해 이전 픽셀들을 모두 고려합니다. 이를 위해, PixelRNN 은 두 가지 종류의 순환 레이어를 사용합니다. 첫 번째는 Row LSTM 이라고 불리는 레이어로, 이전 픽셀들의 정보를 수직 방향으로 전달합니다. 두 번째는 Diagonal BiLSTM 이라고 불리는 레이어로, 이전 픽셀들의 정보를 대각선 방향으로 전달합니다. 이러한 레이어들은 픽셀 간의 의존성을 모델링하고, 이미지의 전체적인 분포를 추정하는 데 도움이 됩니다.

PixelRNN은 또한 깊은 재귀 네트워크에서 잔차 연결을 효과적으로 사용하는 것이 특징입니다. 이를 통해 모델의 학습이 더욱 안정적이고 빠르게 이루어질 수 있습니다.

마지막으로, PixelRNN은 ImageNet 32x32 데이터셋에서 학습되어, 자연 이미지에서 높은 로그 우도 점수를 달성하고, 생성된 이미지 샘플이 자연스러운 모습을 보이는 것으로 확인되었습니다. 또한, PixelRNN이미지의 색상 채널 간의 전체적인 의존성을 모델링하기 위해 마스크된 컨볼루션(masked convolution) 을 사용합니다. 이를 통해 PixelRNN은 RGB 색상 채널 간의 상호 작용을 모델링할 수 있습니다.

PixelRNN 모델은 또한 다양한 실험을 통해 개선되었습니다. 예를 들어, PixelRNN은 다양한 크기의 이미지를 처리할 수 있도록 확장되었으며, 더 깊은 네트워크를 사용하여 더 복잡한 이미지 분포를 모델링할 수 있게 되었습니다. 또한, PixelRNN은 다양한 데이터셋에서 학습되어, 다양한 종류의 이미지 생성에 적용될 수 있습니다.

PixelCNN + 도입한 LSTM 들

PixelRNN은 최대 12개의 빠른 2D LSTM 레이어로 구성되며, state에서 LSTM 단위를 사용한 후, 하나의 공간 차원을 따라 모든 state를 한 번에 계산하기 위해 컨볼루션을 적용합니다. 여기서는 2가지 유형의 LSTM layer가 있습니다.

  • Row LSTM - convolution applied along each row
  • Diagonal BiLSTM - convolution applied along diagonal of images

이 방식들은 왼 - 오로 가로 방향으로만 conv 를 적용하게되면, 서로 영향을 주고받는 것이 가로일 뿐, 세로에서는 이러한 영향을 받지 못하기 때문에 주변 영역의 영향을 받고자 이러한 LSTM 방식을 취하게 되었다고합니다.

기본 아키텍쳐는 PixelRNN동일한 핵심 구성 요소를 가집니다. CNN은 Masked convolution 을 사용하여 고정된 종속성을 가진 시퀀스 모델로도 사용될 수 있습니다.

PixelCNN 아키텍처는 레이어 전체에서 입력의 공간 해상도를 보존하고 각 위치에서 조건부 분포를 출력하는 15개 레이어로 구성된 fully convolutional network를 지니고 있습니다.

PixelRNN과 PixelCNN은 like latent variable models을 도입하지 않고 픽셀 상호 의존성을 나타내는데요, 종속성은 각 픽셀 내의 RGB 색상 값 간에도 유지되는 모습을 확인할 수 있습니다.

Generating Images

처음 Grayscale 이미지를 생성할 때는, 단순히 샘플링 작업만 진행합니다.
하지만 RGB 이미지를 생성할 때는, 위의 그림을 다시 한번 봐보면, 이미지 생성 시, 첫번째 과정에서 R, G, B 각각을 하나의 픽셀들을 계산하고, 그 이후 각각의 R, G, B 안에서 계산되는 것을 확인할 수 있으며, 이 과정 안에서도 R,G,B는 서로 영향을 받을 수 있습니다.

각각의 계산 방식을 그림으로 확인해보면 다음과 같습니다. 원래는 이전 하나의 값만을 영향받아 계산되었지만, 위의 부분은 hidden state, 아래 부분은 initial state 로 파란색의 Initial state 가 hidden state에 3개씩 묶어 영향을 받아 나온 결과이기 때문에, hidden state 의 파란 + 빨간색 부분과 initial state 의 파란색 부분의 영향을 받아 (conv 되어) initial state 의 빨간색 결과가 나오게 계산되는 과정입니다.

Diagonal BiLSTM 도 마찬가지로 hidden state 에서 가로 방향이 아닌 대각선 방향과 주위의 영향을 받아 계산이 되는 방식으로 그림에서 확인할 수 있습니다.

논문에서 이렇게 확인할 수 있습니다.

Results

매우 초기 논문이라 결과가 이전 결과이지만,
시각화로 확인해보면 나름 잘 나오는 생성 모델임을 확인할 수 있습니다.

Pixel Recurrent Neural Network - 논문 보기

profile
어서오세요.

0개의 댓글