Gaegul's devlog

[논문리뷰] Autogressive Generative Model _ Pixel CNN++ & GLOW (Out Of Distribution(OOD) Detection With Computer Vision_Ver.3) 본문

Artificial Intelligence/Research Paper 리뷰 📖

[논문리뷰] Autogressive Generative Model _ Pixel CNN++ & GLOW (Out Of Distribution(OOD) Detection With Computer Vision_Ver.3)

부지런깨꾹이 2021. 1. 21. 23:14
728x90
반응형

이번 포스팅도 이어서 OOD Detection의 3탄!! OOD Detection를 위한 Autogressive Generative Model를 알아보고자 합니다.

함께 START ☞

 

 

PIXEL CNN ++ : IMPROVING THE PIXELCNN WITH DISCRETIZED LOGISTIC MIXTURE LIKELIHOOD AND OTHER MODIFICATIONS / Tim Salimans, Andrej Karpathy.. (ICLR 2017)

PIXEL CNN++의 간략한 원리는 이미지 데이터 내의 픽셀이 다음에 올 픽셀과 밀접한 관계가 있다고 보고 그 다음 픽셀을 예측하여 생성하는 방법이라고 할 수 있다. 밀접한 지 알아 보는 지표는 Discretized Logistic Mixture Likelihood이다.

이전의 Computer Vision 에서 이미지 분류와 같은 분야는 거의 data와 label과의 관계를 이용해 예측하는 식이었다. 하지만,  label이 없는 상황에서 training sample의 분포를 예측해 내는 것을 Generative는 Density Modeling(밀도 기반 모델링) 이라고 한다. 즉, 데이터의 특성으로 데이터를 예측한다고 생각할 수 있다.

 

Autogressive는 자기 자신을 input으로 하여 자기 자신을 예측하는 모델이며, 이전 상태의 정보들을 기반하여 조건부 예측을 수행한다. 결론적으로, 픽셀을 생성하는 과정에서 각 픽셀값의 정답(Ground Truth)을 가지고 있을 텐데 이러한 과정의 likelihood를 최대화하는 것과 같다. (낮은 likelihood를 가지면 OOD가 되겠다,)

 Maximize Likelihood of training images

1) PIXEL CNN Model

PIXEL CNN은 PIXEL 하나 하나를 일련의 sequence라고 생각하고 생성한다. 이미지에 있는 임의의 픽셀은 왼쪽 위(이미지의 특성을 반영)의 픽셀로 부터 영향을 받는다. 이미지의 채널 간의 순서는 R-G-B 순서로 정의한다.

그림 1. Autogressive 원리 / 그림 2. 3*3 Masked Conv
RGB 채널 순서

본 논문에서는 다음과 같은 5가지 modifications을 거쳐 성능을 높혔다.

  • Discretized logistic mixture likelihood on the pixels.
  • Condition on whole pixels.
  • Use downsampling to efficiently capture structure at multiple resolutions.
  • short-cut connection to speed up optimizaiton. (Input : 32*32 / 6 blocks of 5 ResNet Layers)
  • Use drop-out to regularize the model.

하지만, 모든 sequence를 모두 계산하여 반영하기에는 시간이 오래 걸린다. (too much computational cost) 

그래서 convolution 연산만을 사용하여 모델을 구축한다. 그림 2와 같이 3*3 mask를 씌운 Convolution 연산으로 생성하는 방법이다.

 

 

*Masked Convolution 이란

오른쪽 아래(미래) 정보를 반영하지 않기 위해 왼쪽 위의 정보만 반영한다. 

Convolution 연산이 수행되기 전에 반영하지 않을 영역에 0을 곱해서 제외 시킨다.

 

2) Discrete Softmax Distribution

이미지의 각 픽셀은 0~255에 해당하는 정수 값을 갖음. Autoregressive 모델이므로 매 step마다 새로운 input은 정수값으로 들어가야 함. 수치 예측을 수행하는 대신, 256개의 클래스를 갖는 softmax layer를 사용한다.  

 

 

 

----------------------------------------------------------------------------------------------------------------------------

GLOW : GENERATIVE FLOW WITH INVERTIBLE 1*1 CONVOLUTIONS / DIEDERIK P.KINGMA , PRAFULLA DHARIWAL 

GLOW도 Autogressive Model 중 하나이다. Flow-based generative model이며 연속적인 역변환을 통해서 생성하고 데이터의 분포에서 학습하는 방식이다. 이 모델은 명시적으로 데이터의 확률분포 p(x)를 학습한다.  Flow-based generative model 경우에는 이런 어려운 문제를 normalizing flow라는 것으로 정복하려고 한다. loss는 Negative log-likelihood를 사용한다.

* Negative Log-Likelihood ?

Feature space상에서의 likelihood를 최대화 하는 것이 목적이 된다. 그렇기 때문에 loss로 변환하면 negative를 취해야하고, 모든 데이터에 대해 연산해야하기 때문에 평균값을 취한다.

 

 

---------------------------------------------------------------------------------------------------------------------------

INPUT COMPLEXITY  AND OUT-OF-DISTRIBUTION DETECTION WITH LIKELIHOOD-BASED GENERATIVE MODELS / Joan Serra, David Alvarez ..(ICLR 2020)

본 논문은 위에서 사용한 Autogressive Generative Model로 부터 구해진 likelihood 값은 in-distribution데이터 셋과 out-of-distribution 데이터 셋을 잘 구분하지 못한다는 문제가 발생한다.

 

그림 1. Generative Model으로 만든 sample들의 likelihood로 OOD를 탐지했을 때 문제점

 

예를 들어 보자. 그림 1은 Glow Model로 CIFAR-10을 학습시켜 나온 likelihood 이다.  CIFAR-10으로 학습을 한 뒤, CIFAR-10, TrafficSign, SVHN 등으로 테스트를 하는 경우에, Generative Model 이  ID (in-distribution) 데이터 셋인 CIFAR-10보다 OOD (out-of-distribution) 데이터 셋인 SVHN에서 더 높은 likelihood 값을 가진다. 또한, TrafficSign은 낮은 likelihood를 가지는 등 일관적이지 못한 문제점이 발견 되었다.

 

이를 개선하기 위한 논문이 본 논문인데, input image의 복잡도가 클수록 likelihood가 낮게 나온다는 것을 발견하였다. 이를 통해 먼저 input의 복잡도를 계산한 후에 이를 활용하여 OOD 점수를 내는 방법을 고안했다.

 

본 논문의 고안해낸 OOD 점수 Definition 은 다음과 같다. 음의 log-likelihood를 사용하기 때문에 S가 높을수록 입력 x가 더 많은 OOD를 얻을 수 있다.

OOD Score

 

 

 

 

To Be Continue

.

.

728x90
반응형
Comments