728x90
반응형

논문 링크 : Residual Flow
Deep Residual Flow for Out of Distribution Detection 논문 리뷰입니다.

Introduction

  • Deep Neural Network는 컴퓨터 비전, 음성 및 오디오 인식, 언어 처리와 같은 다양한 작업에서 높은 성능을 달성하는 강력한 모델이다. 그러나 DNN은 익숙하지 않은 분포로부터의 input을 만났을 때 , 예측할 수 없는 행동을 하는 경향이 있다. 이러한 경우 OOD input은 대다수의 모델이 잘못된 예측을 하게 하며, 종종 높은 확신을 가지고 잘못 예측한다.
  • 분류 불확실성을 예측하기 위한 현대 연구는 학습된 Network의 feature space에 기반한 confidence score를 구성하는 접근 방식을 채택한다. softmax score를 사용하는 방법, softmax score에 temperature scaling, input preprocessing 등 여러가지 방법이 사용되었다.
  • 본 논문의 방법 이전의 SOTA는 학습된 Network의 다양한 layer에서 feature distribution을 LDA가정(다른 class들에 대해 다른 평균값을 가지지만, 동일한 공분산을 가진 분포) 하에 Gaussian distribution으로 모델링하고, 각 layer에 대해 LDA모델의 posterior distribution에 기반한 confidence score를 형성하며, 이를 여러 layer에 걸쳐 평균을 구한다.
  • 본 논문에서는 Network의 중간 layer에서의 feature가 반드시 정확한 Gaussian distribution을 따를 이유가 없으며, 더 표현력있는 모델이 그것들의 분포를 더 정확하게 포착할 수 있을 것이라고 기대한다.
  • OOD detection을 위한 새로운 방법을 제안한다. 학습된 Network의 feature space distribution을 모델링하기 위해 deep normalizing flow를 기반으로 한 더 표현력있는 밀도함수를 제안한다.
  • 먼저, Network의 feature space에서 linear flow로 학습하는 것이 Gaussian distirbution을 맞추는 것과 같다는 가정을 하고, 이 속성을 활용하여 비선형 residual을 추가하여 더 표현력있는 mapping을 생성하는 새로운 flow architecture를 제안한다.
    • residual flow 모델은 대략적으로 Gaussian distribution을 따르는 모든 data에 효과적일 수 있다.
  • image classification에서 OOD detection을 위해 Network activation을 Gaussian distribution에서의 residual로 모델링함으로써 기존의 방법에 비해 원칙적인 개선을 이룰 수 있으며, 몇몇의 경우에는 큰 차이로 성능을 향상시킬 수 있다. 또한, 제안된 Residual flow모델은 class 조건부 밀도 학습을 가능하게 하여, 제한된 학습 예제를 가진 상황에서도 성능을 향상시킨다.

Background

Normalizing Flows for Density Estimation

Normalizing Flow는 고차원 데이터 분포를 효과적으로 모델링하는 방법으로 원래는 고전 통계학에서 연구되었으며, 최근 딥러닝에서 주목받고 있다.(NICE, RealNVP, GLOW)

  • $x \in X$ : 알려지지 않은 분포 $x \sim p_{X}(x)$ 에서 샘플링된 data

Normalizing Flow의 주요 아이디어는 Gaussian distribution $z\sim p_{Z}(z)=\mathcal{N}(0,I)$ 를 변환하여 $p_{X}(x)$로 표현하는 것이다. 즉, $x=g(z)$이며, 이 변환이 전단사함수(bijective)라고 가정한다.

  • $x=g(z)=f^{-1}(x)$ 로 나타낼 수 있다.

이에 따라, data의 log-likelihood는 아래의 수식으로 주어진다.
$$
\log(p_{X}(x))=\log(p_{Z}(f(x)))+\log \left(\left \vert \det \left(
\frac{\partial f(x)}{\partial x^{T}}
\right)\right \vert \right) \tag{1}
$$

  • $\frac{\partial f(x)}{\partial x^{T}}$ : $f(x)$의 Jacobian(자코비안)

$f,g$는 maximum likelihood를 통해 학습되며, 전단사 함수 가정은 역전파를 통해 Deep Neural Network와 같은 표현력이 높은 mapping을 학습할 수 있게 한다.

각 affine coupling transformation에서 input vector $x\in\mathbb{R}^{d}$는 상위 절반과 하위 절반으로 나뉜다. 즉 $x_{1},x_{2} \in \mathbb{R}^{d/2}$이다. 이러한 벡터들은 아래와 같은 변환에 입력되며, 이 변환을 single flow-block $f_{i}$라고 한다.
$$
z_{1}=x_{1}, \quad z_{2}= x_{2} \circ \exp(s_{i}(x_{1}))+t_{i}(x_{1}) \tag{2}
$$

  • $\circ$ : 각 원소별 곱을 의미한다.
  • $s_{i}, t_{i}$ : non-linear mapping(deep neural network)

즉 이 변환에서 $x_1$은 그대로 $z_1$으로 전달되고, $x_2$는 $x_1$에 의해 조정된 비선형 변환을 통해 $z_2$로 변환된다.

Residual Flow for OOD Detection

본 논문에서의 목표는 이미 학습된 Network를 활용하여 OOD example을 탐지하는 것이다. 이를 위해 학습단계에서 관측된 유효한 ID input을 기반으로 Network의 다양한 layer에서 feature space의 분포를 학습한다.

Gaussian model을 non-Gaussian distribution으로 확장할 수 있는 Normalizing Flow architecture를 제안한다.

일반적인 Network layer의 activation이 반드시 Gaussian distribution을 따르지 않는다고 가정하며, 따라서 더 표현력이 있는 모델이 OOD Detection 성능을 향상시킬 수 있을 것이다.

모델은 Linear component와 Non-linear component로 구성된다. linear component는 Gaussian model과 동등하며, non-linear residual component는 deep neural network flow를 사용하여 더 표현력 있는 분포에 맞출 수 있도록 한다.

Linear Flow Model

Gaussian model의 maximum-likelihood estimate와 linear flow간의 간단한 관계를 수립한다.
다음의 proposition은 linear flow model에서 maximum likelihood parameter는 데이터의 경험적 평균과 공분산이 동일하다는 것을 보여준다.

Proposition 1.

$X = \{x_{1},x_{2}, \dots , x_{N}\}$ : $\mathbb{R}^{d}$의 벡터들로 구성된 dataset

  • 즉, $\forall i : x_{i}\in \mathbb{R}^{d}$
  • $X=AZ+b$
    • $Z \sim \mathcal{N}(0,I)$, $A\in \mathbb{R}^{d \times d}$, $b \in \mathbb{R}^{d}$

linear normalizing flow에서 $x_{i}$의 확률을 $p_{A,b}(x_{i})$라고 하자.

이 모델에서 데이터셋 $X$의 likelihood를 최대화하는 parameter는 아래와 같은 조건을 만족한다.

  • $b=\frac{1}{N}\sum_{n=1}^{N}x_{i}=\hat \mu$ : empirical mean
  • $AA^{T}=\frac{1}{N}\sum_{n=1}^{N}(x_{i}-\hat \mu)(x_{i}-\hat \mu)^{T}=\hat \Sigma$ : empirical covariance of the data $X$

Proof.

$X$는 $Z\sim \mathcal{N}(0,I)$의 선형 변환이므로 $X$의 확률을 아래와 같이 주어진다.
$$
p_{A,b}(x_{i})\sim \mathcal{N}(b, AA^{T})\tag{3}
$$

Gaussian distribution 가정 하에 MLE인 $\tilde \mu$와 $\tilde \Sigma$는 아래와 같이 경험적 평균과 분산으로 알려져 있다.
$$
\tilde \mu = \frac{1}{N}\sum_{n=1}^{N}x_{i}=\hat \mu , \tilde \Sigma=\frac{1}{N}\sum_{n=1}^{N}(x_{i}-\hat \mu)(x_{i}- \hat\mu)^{T}=\hat \Sigma \tag{4}
$$
(3)과 (4)를 통해 원하는 결과를 얻을 수 있다. $\square$

linear flow 변환 $A$는 symmetric positive semi-definite matrix $\hat \Sigma=QDQ^{T}$의 스펙트럴 분해를 통해 얻을 수 있다.

  • $Q$ : $\hat\Sigma$의 고유벡터로 구성된 직교행렬
  • $D$ : 고유값들로 구성된 대각행렬

결과적으로 data $X$에 대한 invertible linear flow 변환은 아래와 같이 쓸 수 있다.
$$
X=AZ+b,\quad Z=A^{-1}(X-b)
$$

  • $b=\hat\mu$
  • $A=QD^{\frac{1}{2}}$
  • $A^{-1}=D^{-\frac{1}{2}}Q^{T}$

Residual Flow Model

linear flow를 residual flow 모델과 결합하여 아래와 같이 구성한다.
$$
f^{res}=p_{k}\cdot f_{k}^{non-lin}\cdot p_{k-1} \cdots p_{2}\cdot f_{2}^{non-lin} \cdot p_{1} \cdot f_{1}^{non-lin}\cdot A^{-1}
$$
여기서 log determinant는 아래와 같이 표현된다.
$$
\log \left(\left \vert \det \left(\frac{\partial f(x)}{\partial x^{T}} \right)\right \vert \right)=\log(\vert \det(A^{-1})\vert)+\sum_{i}\log
\left(\left \vert \det \left(\frac{\partial f_{i}^{non-lin}(x)}{\partial x^{T}} \right)\right \vert \right)
$$

Eq2. 에서 $s_{i}$와 $t_{i}$를 0으로 설정하면, $f_{i}^{non-lin}$는 identity map으로 축소된다. 이 경우에 permutation 항은 영향을 주지 않으며 residual flow $f^{res}$는 linear flow $f^{lin}=A^{-1}$와 동등하다. 따라서 Network에서 $s_{i}$와 $t_{i}$를 0으로 고정하고 $A$를 계산하여 residual flow를 초기화할 수 있다. (실제로는 network의 마지막 layer에서만 $s_{i}$와 $t_{i}$를 0으로 설정하는 것만으로도 초기화 단계에 충분하다.)

permutation term $p_{i}$가 non-linear component들의 input을 다양화 하는데 중요한 기여를 하기때문에 위 그림과 같이 홀수항에는 random permutation, 짝수항에는 switch permutation을 적용하였다.

Degenerate case

만약 $\hat \Sigma$가 full rank가 아니라면, 다변량 정규분포는 degenerate된다. 이는 벡터의 성분들이 선형 종속이고 공분산 행렬이 $d$차원 공간에서 밀도함수로 동작하지 않는다는 것을 의미한다.

이러한 상황에서 $Z=A^{\dagger}X$를 $k$차원 vector로 설정하여 $k$차원 Gaussian distribution을 따르도록 한다.

  • $A^{\dagger}=D^{-\frac{1}{2}}Q^{T}$ , $A^{\dagger}\in\mathbb{R}^{k\times d}$
    • $D^{-\frac{1}{2}} \in \mathbb{R}^{k\times k}$ : 공분산 행렬 $\Sigma$의 0이 아닌 고유값의 역 제곱근을 대각원소로 가지는 행렬
    • $Q^{T}\in \mathbb{R}^{k\times k}$ : $D^{-\frac{1}{2}}$의 대각원소와 대응하는 고유벡터들로 이루어진 행렬

이 논문에서는 $A^{\dagger}$를 degenerated vectors $X$에 대한 linear flow 변환으로 간주한다.

선형 차원 축소가 적용된 후 residual flow model을 적용하여 결과로 얻어진 $k$차원 벡터 $Z$를 처리한다. 비선형 종속성은 처리하지 않고, feature 요소들 간의 선형 종속성만 제거하였다. 하지만 실험적으로 충분한 성능을 발휘하였다.

Residual flow model은 일반적인 normalizing flow architecture로 데이터가 대략 Gaussian distribution에 맞는 경우 잘 작동할 것으로 기대된다.

Residual Flow Applied to OOD Detection

  1. 각 network layer $l$에 대해 training data에서 각 class label에 대한 평균 activation 값 $\mu_{l,c}$를 추출한다.
  2. training data의 각 sample $x$에 대해, Network layer $l$에서의 activation $\phi_{l}(x)$를 추출하고, 해당 class의 평균 $\mu_{l,c}$를 빼 중심화된 feature training set $\hat \phi_{l}(x)$를 얻는다.
  3. 각 layer에 대한 linear flow model을 구성하여 중심화된 data에 Gaussian distribution을 적합한다.
    • 모든 class에 대해 단일 공분산 행렬을 사용하는 것 처럼, 단일 선형 모델을 구성한다.
  4. 마지막으로, 각 layer $l$과 각 class $c$에 대해 non-linear flow block $f_{i}^{non-lin}$을 학습하여 residual flow모델을 학습하고, linear block $f_{i}^{lin}$의 가중치는 고정한다.

Residual flow block 학습의 종료기준은 별도의 validation set을 통해 data의 log-likelihood로 검증한다.

이 모델은 하나의 linear flow block $f^{lin}=A^{-1}$와 10개의 non-linear flow blocks $f^{non-lin}$으로 구성되며, 총 11개의 flow block을 통해 residual flow map $f^{res}$를 생성한다.
$f^{non-lin}$을 연결하는 permutation layer $p_{i}$는 switch permutation과 random permutation을 교대로 사용한다. 각 non-linear block에서 $s_{i}$와 $t_{i}$는 3개의 fully-connected layer로 구성되며 중간 layer에서는 Leaky ReLU activation function을 사용한다.

Input pre-processing

ODIN과 Mahalanobis에서 영감을 받아 본 논문에서도 input pre-processing을 적용하였다.
$$
\tilde x = x + \epsilon \cdot \text{sign}(\nabla_{x}\log p(\phi_{l}(x);\hat c))\tag{5}
$$

  • $\hat c = \underset {c\in C} {\text{argmax }}p(\phi_{l}(x);c)$이며, $p(\phi_{l}(x);c)$는 flow model이 학습한 class $\hat c$의 $l$번째 layer의 feature space의 확률 분포이다. 이 score는 ID data의 확률을 증가시키는 것을 목표로 한다.

OOD Detection Algorithm

  1. training data를 사용하여 각 layer와 각 class에 대한 residual flow를 학습한다.($\{f_{l,c}^{res}:\forall l, c\}$)
  2. test example $x$가 주어지면, layer들의 activation 값 $\{\phi_{l}(x) : \forall l\}$을 추출하고, 각 층에서 가장 적합한 class $\hat c_{l}$를 계산한다.
  3. $\hat c_{l}$을 사용하여 전처리된 input $\tilde x$를 계산하고, 각 층의 activation 값 $\{\phi_{l}(\tilde x) : \forall l \}$을 다시 계산한다.
  4. 가장 확률이 높은 class의 확률은 layer의 score로 사용되며, $S_l=\underset{c}{\max}p_{c}(\phi_{l}(\tilde x)-\hat \mu_{l,c})$로 계산된다.
  5. 마지막으로, 효과적인 score는 각 layer의 score들의 가중 평균 $\sum_{l}\alpha_{l}S_{l}$로 계산된다.
    • 각 layer의 가중치 $\alpha_{l}$은 validation set에서 logisitic regression detector를 학습하여 얻어진다.

Experiment

실험에서 다음 질문에 답하는 것을 목표로 한다.

  1. Residual flow 모델은 기존의 flow model과 Gaussian model에 비해 어떠한 성능을 보이는가?
  2. 최신 기법과 비교하여 OOD detection 방법은 어떠한 성능을 보이는가?

OOD detection 평가는 3개의 training dataset : {CIFAR-10, CIFAR-100, SVHN}과 OOD dataset : {CIFAR-10, Tiny Image Net, SVHN, LSUN}으로 구성된다.

Residual Flow vs. Regular Flow

Residual flow model 학습과 일반적인 non-linear flow model 학습간의 성능을 비교한다.


먼저, CIFAR-100에서 학습된 ResNet의 첫번째 layer를 기반으로 ID와 OOD를 구별하는 작업에서 제안된 접근 방식의 성능을 점검한다. (OOD : Tiny ImageNet)
위의 그림 (a)에서 Residual flow model과 일반적인 Non-linear model, linear-flow/Mahalanobis density모델링과 비교한다. 세가지 방법 중 ROC Curve 비교를 보여주며 Residual flow 모델이 feature layer분포를 모델링하는데 우수함을 입증한다.

그림 (b)에서 iteration에 따른 AUROC를 평가한다.
linear flow는 기본 Gaussian density모델과 동일한 AUROC로 수렴한다. 그러나 Residual flow는 기본 성능에서 시작하여, non-linear component들이 data 모델링을 향상시킴에 따라 꾸준히 성능이 개선된다.

위 실험에서 Residual Flow model이 더 안정적이고 성능이 뛰어남을 보여준다.

OOD Detection Evaluation

실험에서 DenseNet (100 layer), ResNet (34 layer)를 target Network로 사용하고, CIFAR-10, CIFAR-100, SVHN 중 하나에서 Network를 훈련시킨다.

먼저 target network의 특정 layer의 output을 추출하고, 공간 영역에서 평균을 내어 해당 layer의 feature map 수와 일치하는 1차원 feature vector를 생성한다. 선택된 층은 DenseNet의 각 dense-block(ResNet의 residual-block)의 마지막 층이다.

그 다음, 기존 dataset에서 나온 전체 class의 예시들로 activate된 output을 사용하여 target network의 모든 class에 대한 residual flow network를 학습한다. training set의 일부는 validation set으로 사용하여 과적합을 방지한다.

이 과정은 모든 class와 target network의 모든 end-block layer에서 반복되어, 학습된 residual flow set이 생성된다.

이후 test 단계에서 Algorithm 1과 같이 최종 score를 계산한다.

Table1은 OOD validation set이 제공된 경우, 모든 ID, OOD dataset 쌍에 대해 Mahalanobis와 비교한 성능을 요약하였다.

Table2는 FGSM을 사용하여 validation set을 구성했을 때 성능을 비교하였다.

  • OOD sample로 구성된 validation set이 없는 경우 FGSM으로부터 생성된 adversarial sample을 OOD로 간주하여 validation set을 사용해 hyperparameter를 조정하였다.

Table1과 Tabel2는 본 논문의 방법이 현재 최신 방법을 능가하며, input pre-processing이 없어도 Mahalanobis 접근 방식을 상당히 초과하는 성능을 보임을 명확히 보여준다.

요약하자면 Residual Flow model은 더 나은 feature activation 모델링을 통해 OOD detection 성능을 크게 향상시킨다.

Conclusion

  • 이 논문에서의 방법은 Network를 retrain하거나 기본 architecture를 수정하지 않으며, ID data에 대한 정확도를 저하시키지 않는다.
  • Residual flow는 non-linear normalizing flow를 사용하여 Gaussian distribution model을 확장한 것이며, 대략적으로 Gaussian 분포를 따르는 data 분포를 모델링하는데 가장 적합하다.
728x90
반응형