논문 링크 : ViM
ViM: Out-Of-Distribution with Virtual-logit Matching 논문 리뷰입니다.
Introduction
대부분의 이미지 분류 모델은 폐쇄된 환경에서 학습되기 때문에, 모델이 실제 환경에 배포되에 open world에서 들어오는 input을 처리할 때 out-of-distribution(OOD)문제가 발생한다. OOD detection은 분류를 보완하며, 자율주행, 의료분석, 산업검사 등의 분야에서 응용된다.
OOD detector의 핵심은 input feature $\pmb{x}$를 scalar ($\mathbb{R}$)로 매핑하여 해당 샘플이 OOD일 가능성을 나타내는 scoring function $\phi$이다.
input은 $\phi(\pmb{x})>\tau$일 때 OOD로 간주되며 그렇지 않은 경우는 ID로 간주된다. 여기서 $\tau$는 TPR이 95%로 유지되는 임계값이다. ID score가 필요한 경우 OOD score의 음수를 ID score로 간주할 수 있다.
이전의 연구들에서 ID 샘플이 자연스럽게 가지는 성질을 찾고 OOD 샘플이 이를 위반하는 방법으로 여러 scoring function을 설계했다.
- maximum softmax probability
- minimum KL-divergence
- maximum logit
- logsumexp function
- the norm of the residual (between feature and pre-image of its low-dimensional embedding)
- minimum Mahalanobis distance(between feature and the class centroid)
이러한 방법들은 OOD score를 기존 모델에서 re-train없이 직접 계산할 수 있어 배포가 용이하다.
하지만, 위 그림과 같이 source information이 하나인 경우 성능이 제한적이다.
- feature만 사용하면 class dependent information이 있는 분류 가중치를 무시하게 되고, logit이나 softmax만 사용하면 class agnostic information을 포함한 null space내의 변동을 놓치게 된다. 또한 softmax는 logit의 크기 정보를 버리기도 한다.
OOD 샘플이 나타내는 다양성에 대응하기 위해 여러 source를 사용하는 OOD score가 도움이 되는가?
이 논문에서는 이전 연구의 성공을 기반으로 ViM(Virtual-logit Matching) 이라는 새로운 scoring function을 설계하였다.
- ViM score는 feature와 기존 logit이 공동으로 결정하는 virtual OOD class의 logit을 생성하여 계산된 softmax score이다.
- 주성분 공간에 대한 특징의 잔차를 추출한다.
- 이를 평균 최대 logit에 맞춰 유효한 logit으로 변환한다.
- 제안된 OOD class의 softmax 확률이 OOD score로 사용된다.
ViM의 구조로부터, 원래 logit이 작고 residual이 클수록 해당 샘플이 OOD일 가능성이 커진다.
최근에는 large-scale space에서 OOD detection이 주목받고 있으며 이는 OOD detection을 real-world application으로 발전시키고 있다. 하지만 ID dataset에 대한 clean and realistic OOD dataset의 부족이 걸림돌이 되고 있다. 기존의 dataset은 작은 범위의 문제를 해결하는 데 성능 비교에 편향을 줄수있다. 이에 ImageNet-1K모델을 위한 새로운 OOD 벤치마크인 OpenImage-O를 구축하였다.
ImageNet-1K를 ID dataset으로 사용하여 다양한 모델에서 ViM을 평가하였다.
ResNet-50 / BiT / ViT-B16 / RepVGG / DeiT / Swin Transformer의 모델을 사용하였고, OpenImage-O, ImageNet-O, Texture, iNaturalist등 4가지 OOD dataset을 통해 ViM이 안정적으로 우수한 성능을 발휘하는 것을 확인했다.
Motivation: The Missing Info in Logits
logit 또는 softmax확률을 기반으로 한 OOD detection 방법들의 성능이 제한적이라는 것을 발견하였다.
Mahalanobis와 Residual과 같은 feature based OOD score들은 ImageNet-O에서 OOD를 잘 탐지하는 반면 logit/probability 기반의 방법들은 뒤쳐진다. 이는 우연이 아니며 아래의 사진에서도 확인할 수 있다.
KL Matching의 AUROC는 Texture dataset에서 feature based의 방법에 비해 낮은 것을 확인할 수 있다.
이러한 이유로, feature에서 logit으로 변환되는 과정에서 손실된 정보의 영향을 연구하고자 하였다.
C-class 분류모델을 생각해보면, logit $\pmb{l}\in\mathbb{R}^C$ 는 feature $\pmb{x}\in\mathbb{R}^{N}$으로부터 fully connected layer의 가중치와 편향 $\pmb{W}\in\mathbb{R}^{N\times C}$ and $\pmb{b}\in\mathbb{R}^C$을 통해 변환된다. 즉, $\pmb{l}=\pmb{W}^{T}\pmb{x}+\pmb{b}$ 이다. 예측된 확률은 $p(\pmb{x})=\text{softmax}(\pmb{l})$이다. 편의상 $\pmb{o}:=-(\pmb{W}^T)^{+}\pmb{b}$ 를 feature space의 새로운 좌표계의 원점으로 설정한다. $(\cdot)^{+}$ 은 Moore-penrose inverse이다.
$$
\pmb{l}=\pmb{W}^{T}\pmb{x}^{\prime}=\pmb{W}^{T}(\pmb{x}-\pmb{o}), \quad \forall \pmb{x}\tag{1}
$$
기하학적으로, 각 logit $l_{i}$는 feature $\pmb{x}^{\prime}$과 class vector $w_{i}$의 내적이다. 이후 logit을 가상 logit으로 일반화할 때, $w_i$를 subspace로 대체하고, 내적을 projection으로 대체할 것이다.
logit에는 class-dependent information이 포함되어 있지만 feature space에는 logit에서 복원할 수 없는 class-agnostic information이 존재한다. 이 section에서 null space와 principal space를 연구하고, NuSA와 Residual OOD score에 대해 논의한다.
OOD Score Based on Null Space
feature $\pmb{x}$는 $\pmb{x}=\pmb{x}^{W^\bot}+\pmb{x}^W$ 로 분해될 수 있다.
- $W$ : $\pmb{W}$의 column space
- $W^{\bot}$ : $\pmb{W}^{T}$의 null space
- $\pmb{x}^{W^{\bot}}$ : $W^\bot$로의 projection
- $\pmb{x}^{W}$ : $W$로의 projection
즉, $\pmb{W}^{T}\pmb{x}^{W^\bot}=\pmb{0}$ 이다.
$\pmb{x}^{W^{\bot}}$는 classification에 영향을 미치지는 않지만, OOD detection에는 영향을 준다.
NuSA에서 이미지를 강하게 변형하면서도 $W^\bot$에서의 특징 차이를 제한할 수 있음을 보여주었다. 그 결과 얻어진 outlier image는 어떤 ID image와도 유사하지 않지만, 여전히 높은 신뢰도를 가지고 분류된다.
$$
\text{NuSA}(\pmb{x})=\frac{\sqrt{\Vert\pmb{x}\Vert^{2}-\Vert \pmb{x}^{W^{\bot}}\Vert ^{2}}}{\Vert\pmb{x}\Vert}\tag{2}
$$
직관적으로 NuSA는 $\pmb{x}$와 $W$사이의 각도를 사용하여 OOD 여부를 나타낸다. 간단한 각도 정보만으로도 Texture dataset에서 OOD를 명확하게 구별할 수 있다. (Fig 2 참고)
OOD Score Based on Principal Space
일반적으로 feature들이 저차원 매니폴드에 놓여 있다고 가정한다. 간단하게, 원점 $\pmb{o}$를 지나는 linear subspace를 모델로 사용한다. principal space는 ID data 행렬 $\pmb{X}$의 $\pmb{X}^{T}\pmb{X}$의 가장 큰 $D$개의 고유값에 해당하는 고유벡터들로 생성된 D차원 부분공간 $P$로 정의된다. principal space에서 벗어난 feature들은 OOD일 가능성이 크다.
$$
\text{Residual}(\pmb{x})=\Vert\pmb{x}^{P^\bot}\Vert\tag{3}
$$
principal space에서 벗어난 정도를 위와같이 정의할 수 있다.
- $\pmb{x}=\pmb{x}^{P}+ \pmb{x}^{P^\bot}$
- $\pmb{x}^{P^{\bot}}$ : $P^\bot$에 대한 $\pmb{x}$의 projection
logit으로 투영된 후 이러한 벗어남은 손상된다. 그 이유는 $W^T$ 행렬이 feature space보다 더 낮은 차원으로 투영되기 때문이다.
Residual score가 NuSA score보다 더 나은 성능을 보여주며, feature based method와 logit/probability 방법 간의 성능차이를 더 두드러지게 한다.
Fusing Class-dependent and Class-agnostic Information
logit/probability method들과 달리 NuSA와 Residual은 ID class들의 구체적인 정보를 고려하지 않는다. 그 결과, 각 ID class와의 feature similarity를 무시하며, input이 어떤 class와 가장 유사한지 알 수 없다.
iNaturalist sample은 class간의 미세한 차이를 구별해야하기 때문에 NuSA와 Residual score가 iNaturalist OOD benchmark에서 더 나쁜 성능을 보인다.
따라서 feature space와 logit에서 얻은 정보를 합하여 detection 성능을 향상시킬수 있다고 가정한다.
Virtual-logit Matching
class-agnostic과 class-dependent information을 통합하기 위해 Virtual-logit Matching을 사용한 OOD score를 제안한다.
- feature $\pmb{x}$와 principal subspace $P$에 대한 잔차 $\pmb{x}^{P^\bot}$를 추출
- 잔차의 norm $\Vert \pmb{x}^{P^\bot}\Vert$ 를 rescaling하여 virtual logit으로 변환
- virtual logit의 softmax 확률을 ViM score로 출력
Principal Subspace and Residual
첫번째로, $\pmb{o}=-(\pmb{W}^T)^{+}\pmb{b}$ 라는 벡터로 feature space를 보정하여 logit 계산에서 bias가 없는 상태로 만든다. principal space $P$는 training set $X$에 의해 정의되며, 여기서 row들은 새로운 좌표계(원점 $\pmb{o}$)에서의 feature들이다.
행렬$\pmb{X}^{T}\pmb{X}$에 대한 고윳값 분해는 아래의 수식과 같다.
$$
\pmb{X}^{T}\pmb{X}=\pmb{Q}\Lambda\pmb{Q}^{-1}\tag{4}
$$
$\Lambda$의 고유값들은 내림차순 정렬된다.
처음부터 $D$개까지의 열에 의해 span되는 공간이 $D$ 차원 principal subspace $P$이다.
잔차 $\pmb{x}^{P^\bot}$는 $P^{\bot}$로 $\pmb{x}$의 projection이다.
$D+1$번재 열부터 마지막 열까지의 $Q$의 열들로 새로운 행렬 $\pmb{R}\in \mathbb{R}^{N\times(N-D)}$ 를 정의하면, $\pmb{x}^{P^\bot}=\pmb{R}\pmb{R}^{T}\pmb{x}$로 정의된다.
Virtual-logit Matching
virtual-logit은 residual의 norm을 모델별 상수 $\alpha$로 재조정한 값이다.
$$
l_{0}:=\alpha \Vert\pmb{x}^{P^{\bot}}\Vert=\alpha\sqrt{\pmb{x}^{T}\pmb{R}\pmb{R}^{T}\pmb{x}}\tag{5}
$$
residual의 norm $\Vert\pmb{x}^{P^{\bot}}\Vert$을 직접적으로 사용할 수 없는 이유는 softmax가 logit의 지수값에 대해 정규화하기 때문에 logit의 크기에 매우 민감하기 때문이다.
- 만약 잔차가 가장 큰 logit에 비해 매우 작다면, softmax를 거친 후 잔차는 다른 logit의 noise에 묻혀버린다.
따라서 virtual logit의 크기를 맞추기 위해 virtual logit의 평균 norm과 최대 logit의 평균을 계산한다.
$$
\alpha := \frac{\sum_{i=1}^{K} \max_{j=1, \dots, C} \{ l_{j}^{i} \}}{\sum_{i=1}^{K} \Vert x_{i}^{P^{\bot}} \Vert}\tag{6}
$$
- $x_1, x_2, \dots, x_K$ : 균등하게 샘플링된 $K$개의 training 샘플
- $l^{i}_{j}$ : $\pmb{x}_{i}$의 $j$번째 logit
- 분자 : $K$개의 training 샘플에서 가장 큰 logit값의 합
- 분모 : virtual logit의 norm의 합
위 수식을 통해 평균적으로 virtual logit의 크기가 원래 logit들의 최대값과 동일해진다.
The ViM Score
Virtual logit을 origin logit에 추가한 후 softmax를 계산한다. virtual logit에 해당하는 확률이 ViM으로 정의된다.
$$
\text{ViM}(\pmb{x}) = \frac{e^{\alpha\sqrt{\pmb{x}^{T}\pmb{R}\pmb{R}^{T}\pmb{x}}}}{\sum_{i=1}^{C}e^{l_{i}}+e^{\alpha\sqrt{\pmb{x}^{T}\pmb{R}\pmb{R}^{T}\pmb{x}}}} \tag{7}
$$
- $l_{i}$ : $\pmb{x}$의 $i$번재 logit
수식에서 기존의 logit이 크면 OOD일 가능성이 낮고, residual의 크기가 크면 OOD일 가능성이 크다.
ViM score에 $t(x) = -\ln(\frac{1}{x}-1)$을 적용하면 아래와 같은 수식으로 변환된다.
$$
\alpha\Vert\pmb{x}^{P^{\bot}}\Vert-\ln\sum_{i=1}^{C}e^{l_{i}}\tag{8}
$$
첫 번째 항은 가상 logit이고, 두 번째 항은 energy score다.
ViM은 feature로부터 추가적인 residual information을 제공하여 energy 방법을 완성한다.
OpenImage-O Dataset
ID dataset ImageNet-1K를 위해 OpenImage-v3 dataset을 기반으로 OpenImage-O라는 새로운 OOD dataset을 구축하였다. 기존의 OOD benchmark의 여러 단점을 극복하기 위해 만들어졌다.
test set의 모든 이미지에 대해, 사람이 해당 이미지가 OOD sample인지 여부를 결정하게 했다. ImageNet-1K 분류 모델이 예측한 상위 10개의 카테고리 중 어느 하나에도 속하지 않는다면 그 이미지를 OOD로 간주하도록 작업을 단순화했다.
- 평가자가 이미지가 상위 10개의 카테고리에 속하는지 여부를 결정할 수 없는 경우 "어려움"을 선택할 수 있다.
- 각 이미지는 두 명 이상의 평가자가 독립적으로 주석을 달았으며, 합의한 OOD image를 선택했다.
- 무작위로 검토를 하였다.
Experiment
- ImageNet-1k를 ID dataset으로 선택하였다.
- CNN based model / transformer based model 모두 benchmark하였다.
OOD dataset
- OpenImage-O
- Texture : ImageNet과 겹치는 4가지 {bubbly, honeycombed, cobwebbed, spiralled}제거
- iNaturalist
- ImageNet-O : OOD detector를 속이도록 적대적 필터링
실험에서 비교되는 알고리즘들은 re-train이 필요없기 때문에 ID accuracy는 영향을 받지 않는다.
principal space를 추정할 때, training set에서 20만개의 image를 무작위로 샘플링했다. feature space의 차원이 $N>1500$ 인 경우, principal space $D=1000$ 으로 설정하고, 그렇지 않은 경우 $D=512$로 설정하였다.
Baseline Method
ViM은 fine-tuning이 필요없는 MSP, Energy, ODIN, MaxLogit, KL Matching, Residual, ReAct, Mahalanobis와 비교하였다.
ViM vs. Baseline
BiT에서 OpenImage-O, Texture, ImageNet-O에서 ViM은 가장 높은 AUROC와 가장 낮은 FPR95를 기록했다. ViM은 Residual score와 Energy score를 의미있게 결합했다는 것을 알 수 있다.
The Effect of Hyperparameter
Matching Parameter $\alpha$
- 특정 OOD dataset 유형에 맞게 parameter를 조정하는 것은 쉽지만, 모든 dataset을 동시에 개선하는 것은 어렵다.
- 위 그림은 $\alpha$에 계수를 곱하여 조정한 결과이다.
- 계수가 클수록 feature space에서의 information이 더 큰 비중을 차지하고, 계수가 작을수록 logit에서의 정보가 중요해진다.
- 전반적으로 계수 조정없이 $\alpha$를 사용하는 것이 가장 좋은 선택이다.
Limitation of ViM
ViM은 residual이 작은 OOD dataset에서는 성능 향상이 덜 나타난다. 또한, ViM이 학습을 필요로 하지 않는다는 특성은 양날의 검이다. 이는 ViM이 원래 network의 quality에 의해 제한된다는 것을 의미한다.
Conclusion
- 이 논문에서는 새로운 OOD detection method인 Virtual-logit Matching (ViM) score를 제안한다.
- feature space와 logit에서 information을 결합하여 각각 class-agnostic information과 class-dependent information을 제공한다.
- CNN 기반의 모델과 transformer기반의 모델 모두에서 ViM을 테스트하여, 다양한 모델에서 robustness를 확인했다.
이 논문을 읽고, feature space에서의 residual을 이용해 정보를 얻을 수 있다는 사실을 알았다.
재학습 없이, 기존 모델이 학습한 결과를 통해 더 많은 정보를 얻어 OOD detection의 성능을 끌어올린점이 인상깊다.
'Paper Review' 카테고리의 다른 글
[Paper Review] Glow: Generative Flow with Invertible 1×1 Convolutions (0) | 2024.09.24 |
---|---|
[Paper Review] Deep Residual Flow for Out of Distribution Detection (0) | 2024.09.16 |
[Paper Review] Active Learning for Open-set Annotation (3) | 2024.09.03 |
[Paper Review] Energy-based Out-of-distribution Detection (0) | 2024.08.27 |
[Paper Review] DRAEM (0) | 2024.08.23 |