본문 바로가기
anomaly detection

HRN: A Holistic Approach to One Class Learning. NIPS. 2020

by sungwool 2021. 7. 26.

HRN: H-Regularization with 2-Norm instance level normalization


 

1. Background

1.1 One-Class Learning 

  \( \mathcal{X} \)를 모든 data라고 하자. 이 때, \( X\subseteq \mathcal{X} \)는 특정 class에 속한 모든 instance들의 집합이라고 하자. One-class learning에서는 training dataset \( T \subseteq X \)이 주어진 상황에서 one-class classifier \( f(x) : \mathcal{X} \rightarrow \{ 0, 1 \} \)를 학습하고자 한다. 여기서 \( f(x)=1 \)는 \( x \in X \)인 경우이고, 관측한 class의 instance임을 뜻한다. 반대로 \( f(x) = 0 \)인 경우는 관측한 class의 instance가 아니며, anomaly한 경우를 뜻한다. 대다수의 선행 기법은 threshold를 두어 입력 \( x \)가 training class에 속하는지 혹은 anomaly한 경우인지를 판단했다. 이러한 기법들은 binary decision problem보다 score function을 구하는데 초점을 맞췄다. 

 

  본 논문에서는 auto-encoder 혹은 adversarial training technique를 사용한 이전의 연구들과 다른 one-class learning 기법을 다룬다. 저자들은 주어진 class의 일부 instance들에 편향된 특징을 학습하는 것은 치명적일 수 있다고 주장하며 제안한 regularization의 중요성을 강조한다. 제안한 one-class loss는 negative log likelihood와 더불어 holistic regularization을 포함한다. 이 holistic regularization은 one class를 전체적으로 아울러 학습하는 기능을 가진다. 추가적으로 각 instance들을 normalization하는 2-norm instance-level normalization을 적용하여 기법을 HRN(H-Regularization with 2-Norm instance-level normalization)이라고 부른다.  

 

2. Methodology

2.1 Empirical Risk Minimization

  일반적으로 supervised-learning을 통한 machine learning model은 사전에 정의된 방법을 사용해 구한 error를 training data를 거쳐 최소화하고자 한다. 이러한 절차를 empirical risk minimization이라고 한다. 즉, training data \( X \)와 label set \( Y \), \( \theta \)로 parameterized된 model \( f(\cdot) \)를 사용해 \( f(\boldsymbol{X})\)와 \( Y \) 사이의 error를 최소화하도록 학습한다:

$$ \min_\theta \mathcal{L}(f(\boldsymbol{X}), Y) $$

이 model \( f(\cdot) \)은 loss function과 optimizer의 도움으로 \( \boldsymbol{X} \)를 \( Y \)로 mapping하는 방법을 학습한다. 하지만, 이러한 classic supervised learning paradigm은 적어도 두 개 이상의 class를 학습과정에서 필요로 한다. 

 

  본 논문에서 제안하는 HRN을 사용하기 위해 architecture \( f(\cdot) \)로 이미 높은 성능을 보였던 임의의 neural network가 사용할 수 있다. 제안 기법을 설명하기 위해서는 single output unit를 갖는 간단한 MLP를 예로 든다. 수식적으로 MLP의 \( i \)번째 layer의 연산은 다음과 같이 나타낸다:

$$ \boldsymbol{y}_i = \sigma(\boldsymbol{x}_i) $$

여기서 \( \sigma \)는 activation function을 의미한다. 또한, \( \boldsymbol{x}_i \)는 \( i \)번째 layer의 입력을 의미하고 마지막 layer의 output에는 activation function 대신에 sigmoid function이 사용된다.

 

2.2 One-Class Loss

  주어진 training data에 속하는 class \( C \)와 함께, 제안하는 one-class loss는 다음과 같다:

$$ \mathcal{L} = \mathbb{E}_{\boldsymbol{x} \sim \mathbb{P}_{\boldsymbol{x}}} [ -\log(\text{Sigmoid}(f(\boldsymbol{x}))) ] + \lambda \cdot \mathbb{E}_{\boldsymbol{x} \sim \mathbb{P}_{\boldsymbol{x}}} \| \nabla_{\boldsymbol{x}} f(\boldsymbol{x}) \|^{n}_{2}$$

여기서 \( \mathbb{P}_{\boldsymbol{x}} \)는 class C의 data distribution을 의미하며, exponent \( n \)과 \( \lambda \)는 각각 penalty의 강도와 regularization의 균형을 위한 hyper-parameter들이다. 첫 항에서의 \(\text{Sigmoid}(f(\boldsymbol{x}))\)는 0과 1의 사잇값을 가지며, 이는 \( \boldsymbol{x}\)가 class \( C \)에 포함될 확률로 해석할 수 있다.

 

2.3 NLL (Negative Log Likelihood for One-Class)

  학습 중에 NLL을 최소화한다는 것은 model \( f(\cdot) \)이 training data에 대해 큰 값을 출력하도록 한다. 하지만, 단일 class의 data를 사용하는 경우에는 크게 두 가지의 문제점이 발생할 수 있다.

  • Problem 1. uncontrollable \(f(\boldsymbol{x})\) output. NLL을 단순히 최소화하는 것은 \(\text{Sigmoid}(f(\cdot))\)이 항상 1을 출력하는 수렴된 값을 가지게 할 수 있다. 즉, \(f(\cdot)\)의 값이 무작정 커지는 것을 통제하지 못하면 Sigmoid 함수의 평활한 영역으로부터 항상 고정된 값을 갖는다. 그러므로 NLL을 최소화하는 것은 malformed parameter를 초래할 위험이 있다. 예를 들어, 모든 parameter들은 임의 크기의 매우 큰 절대값을 가질 수 있으며, 이는 anomaly 또는 noise에 대해서도 큰 값의 \( f(\cdot) \)을 갖는 의도치 않은 결과를 도출한다.
  • Problem 2. Feature bias. 높은 값을 갖는 data의 feature들은 head에 의해 강조될 가능성이 매우 높고, 관련 parameter들이 매우 큰 값을 갖도록 할 가능성이 높다. 그러나 이러한 feature들은 입력된 instance가 지정된 class에 속하는지에 관한 여부를 결정하는데 중요하지 않을 수 있다. 따라서 이러한 경우 정확도가 떨어질 우려가 있다. 이는 지정된 class의 most discriminative feature를 식별하기 위한 다른 class들의 정보가 없기 때문에 발생한다. 

2.4 H-regularization (holistic regularization)

  H-regularization은 언급된 NLL 최소화의 두 가지 문제점을 해결한다. 먼저 problem 1을 위해서, class C를 위한 head로 두 개의 layer로 구성되고 single output unit을 갖는 MLP를 사용한다고 가정하자. 이는 \( f(\boldsymbol{x} = \boldsymbol{w}_2 \cdot \sigma(\boldsymbol{w}_1\boldsymbol{x})) \)로 표현할 수 있다. 그러면 H-regularization은 다음과 같이 표현된다:

$$ \mathbb{E}_{\boldsymbol{x} \sim \mathbb{P}^{C}_{\boldsymbol{x}}} \| \nabla_{\boldsymbol{x}} f(\boldsymbol{x}) \|^{n}_{2} = \mathbb{E}_{\boldsymbol{x} \sim \mathbb{P}^{C}_{\boldsymbol{x}}} \| \boldsymbol{w}_2 \cdot \nabla_{\boldsymbol{w}_1\boldsymbol{x}}\sigma(\boldsymbol{w}_1\boldsymbol{x}\cdot \boldsymbol{w}_1) \|^{2}_{n}$$ 

 

  더욱 정확한 표현은 activation function에 의해 결정된다. 예를 들어, HRN에 사용되는 ReLU의 경우에는 \( \nabla_{\boldsymbol{w}_1\boldsymbol{x}} \sigma(\boldsymbol{w}_1\boldsymbol{x}) \)이 \( \text{ReLU}(\boldsymbol{w}_1\boldsymbol{x}) > 0 \)에서 1을 갖고, \( \text{ReLU}(\boldsymbol{w}_1\boldsymbol{x}) \le 0 \)에서 0을 갖는다. 먼저 \(\nabla_(\boldsymbol{w}_1\boldsymbol{x}) \equiv 1\)의 경우를 고려하자:

$$  \mathbb{E}_{\boldsymbol{x} \sim \mathbb{P}_{\boldsymbol{x}}^{C}} \| \nabla_{\boldsymbol{x}}f(\boldsymbol{x}) \|^n_2 = \|  \boldsymbol{w}_2 \cdot \boldsymbol{w}_1 \|^n_2$$

따라서 자명하게도 H-regularization은 \( \boldsymbol{w}_1\)과 \( \boldsymbol{w}_2\)의 값과 이에 더해 \( f(\cdot)\)의 값이 커지는 것을 방지한다. 정리하자면 큰 값의 parameter들은 \(f(\cdot)\)이 큰 값을 갖도록하며, 이는 낮은 NLL을 의미한다. 하지만 이 경우 H-regularization에 의한 값도 동시에 커지게 된다. 이로써 one-class loss는 \(f(\cdot)\)이 가능한 낮은 값의 parameter를 가지면서 높은 값의 output을 갖도록 유도된다.  반대로 \(\nabla_(\boldsymbol{w}_1\boldsymbol{x}) \equiv 0\)인 neuron 혹은 unit은 결과에 영향을 미치지 않았기 때문에 H-regularization에 의해 아무런 penalty를 받지 않는다. 

 

  다음으로 problem 2를 살펴보자. 미분 \( \nabla_{\boldsymbol{x}} f(\boldsymbol{x}) \)는 \( \boldsymbol{x} \)에 속한 각 feature들의 중요도를 나타낸다. 큰 값의 미분값을 갖는 feature는 최종 output에 기여한 바가 크기 때문에 이들의 자그마한 변화는 \( f(\boldsymbol{x}) \)에 지대한 영향을 미친다. 따라서 이들은 H-regularization에 의해 큰 penalty를 받는다. 이 경우에는 H-regularization을 최소화함으로써 \(f(\cdot)\)이 \( \boldsymbol{x} \)의 특정 feature들에 지나치게 의존하는 현상을 방지할 수 있다. 

 

  H-regularization은 \( \boldsymbol{w}_1 \cdot \boldsymbol{w}_2 \)의 dimension이 input의 동일한 feature dimension에 기여함으로써 위와 같은 결론에 접근할 수 있다. 이 접근에서는 \(f(\cdot)\)은 input의 특정 feature dimension에 의존하지 않기 때문에 output은 포화되지 않을 것이라고 해석할 수 있다. 또한, L2 norm의 기본적인 특성에 따라 낮은 값의 feature에는 작은 penalty를 주고 큰 값의 feature에는 큰 penalty를 부여한다. 이로써 parameter들은 보다 더 균형을 갖추게 된다. 이러한 이유로 본 기법이 일부 feature에 bias를 갖지 않고, 전체 input data를 holistically하려는 경향이 있기 때문에, H-regularization이라는 이름을 갖는다.

 

2.5 2-Norm Instance-Level Data Normalization

  각 data instance들의 다양한 feature scale은 \( f(\cdot)\)이 불안정한 값을 가지는 위험을 초래한다. 앞서 설정한 가정에서와 같이 \( f(\cdot) \)이 두 개의 layer로 구성된 MLP라고 하자. 이 때, \( f(\boldsymbol{x}) \)는 \(  \boldsymbol{w}_2 \cdot \text{ReLU}(\boldsymbol{w}_1\boldsymbol{x})\)로 표현된다. 

 

$$ \| f(\boldsymbol{x}) \|_2 = \| \boldsymbol{w}_2 \cdot \text{ReLU}(\boldsymbol{w}_1\boldsymbol{x}) \|_2 \le \| \boldsymbol{w}_2\|_2 \cdot \| \text{ReLU}(\boldsymbol{w}_1\boldsymbol{x}) \|_2 $$ $$ \le  \| \boldsymbol{w}_2\|_2 \cdot \| \boldsymbol{w}_1\boldsymbol{x} \|_2 \le \| \boldsymbol{w}_2\|_2 \cdot \| \boldsymbol{w}_1\|_2 \cdot \| \boldsymbol{x}\|_2 $$ 

위 수식은 \( \| AB \|_2 \le \|A\|_2 \|B\|_2\)와 \( \| \text{ReLU}(\boldsymbol{x}) \|_2 \le \| \boldsymbol{x} \|_2 \)를 사용하여 간단하게 전개하여 얻어진다. 위 수식은 instance \( \boldsymbol{x}\)의 scale이 \( f(\boldsymbol{x})\)의 upper bound에 영향을 미칠 수 있음을 보여준다. 이 문제를 해결하기 위해 \( \boldsymbol{x} \)를 L2 norm을 사용해 normalize 해준다, \( \boldsymbol{x} := \boldsymbol{x} / \| \boldsymbol{x} \|_2 \). 이 전처리 과정을 2-norm instance normalization이라고 부른다. 추가로 \( \boldsymbol{x} \)가 zero-mean을 갖도록 평균값을 빼준다.

 

3. Summary

  1. 본 논문은 regularization만을 사용해 one-class learning 기법을 제안한다.
  2. 제안 기법은 model이 일부 instance 혹은 feature dimension에 biased되는 것을 방지하는데 초점을 맞춘다.
  3. NLL을 최소화하여 normal sample에 대해 큰 값의 output을 갖도록 한다.
  4. H-regularization으로 output이 Sigmoid에 의해 평활한 영역에 saturation되는 것을 방지한다.
  5. 큰 값의 feature dimension이 큰 영향을 주는 것을 방지하기 위해 normalization, zero-mean 전처리를 수행한다.

 

댓글