다양성 기반 OOD 탐지를 위한 Vendi Novelty Score
초록
Vendi Novelty Score(VNS)는 Vendi Scores라는 유사도 기반 다양성 지표를 활용해 사후(OOD) 탐지를 수행한다. 클래스별 특징 행렬의 다양성 증가량을 로그 비율로 측정하고, 모델이 예측한 클래스 확률로 가중합하여 최종 OOD 점수를 산출한다. 코사인 커널과 ℓ2 정규화된 임베딩을 이용해 선형 시간 복잡도로 계산되며, 전역(데이터셋 전체)와 지역(클래스별) 다양성 신호를 동시에 반영한다. CIFAR‑10/100, ImageNet‑1K 등 다양한 이미지 벤치마크와 ResNet, ViT, Swin‑Transformer 등 여러 아키텍처에서 1 % 학습 데이터만 사용해도 최첨단 성능을 달성한다.
상세 분석
본 논문은 기존 OOD 탐지 방법이 모델 로그잇(logits)이나 밀도 추정에 의존하는 반면, 데이터 자체의 다양성(diversity)을 직접 측정하는 새로운 패러다임을 제시한다. 핵심 아이디어는 Vendi Scores(VS)라는 유사도 기반 엔트로피 지표를 활용해, 테스트 샘플이 인‑분포(ID) 특징 집합에 추가될 때 전체 다양성이 얼마나 증가하는지를 정량화하는 것이다.
VS는 입력 집합 X∈ℝ^{N×D}에 대해 양의 반정밀도 커널 k(·,·)를 정의하고, 정규화된 유사도 행렬 K의 고유값 λ_i를 이용해 Rényi 엔트로피 형태로 계산한다. 특히 q=2일 때 VS₂는 트레이스(K²)와 동일해, 코사인 커널과 ℓ2 정규화된 임베딩을 사용하면 K = XXᵀ/N 이고, 비제로 고유값은 D×D 그램 행렬 XᵀX/N 의 고유값과 일치한다. 따라서 O(N³) 대신 O(D²N + D³) 혹은 D에 비례하는 O(D) 연산으로 효율적으로 구할 수 있다.
클래스별 다양성 측정은 각 클래스 c의 임베딩 행렬 X_c 로부터 밀도 행렬 ρ_c = X_cᵀX_c / N_c 를 만든 뒤, 테스트 샘플 x의 임베딩 h(x)를 포함한 새로운 밀도 행렬 ρ’_c = (N_c ρ_c + h(x)h(x)ᵀ)/(N_c+1) 를 정의한다. 로그 차이 Δ_c(x)=log VS₂(ρ’_c)−log VS₂(ρ_c) 가 바로 클래스‑조건부 신규성 점수이다. 고유값 전체를 유지하는 대신, 가장 큰 고유값 λ_c와 그 고유벡터 u_c만을 사용해 근사하면 O(D) 시간에 Δ_c(x) 를 계산할 수 있다. 이는 작은 클래스에서 발생할 수 있는 잡음에 대한 민감도를 낮추고, 실험적으로 가장 좋은 성능을 보인다.
다음 단계는 모델이 출력한 클래스 확률 p_c(x)를 이용해 Δ_c(x)를 가중합하는 것이다. 상위 K개의 확률이 큰 클래스 집합 T_K(x) 를 선택하고, 지수 γ≥0 로 조절된 가중치 p_c(x)^γ 로 합산해 S_LOCAL‑OOD(x)=∑_{c∈T_K(x)} N_c p_c(x)^γ Δ_c(x) 를 얻는다. γ가 클수록 높은 확신을 가진 클래스에 더 집중하고, K를 작게 잡으면 계산 비용이 감소한다.
전역 다양성 신호는 전체 데이터셋의 밀도 행렬 ρ_global = XᵀX/N 에 대해 VS_∞(ρ) = 1/λ_max(ρ) 로 정의한다. 테스트 샘플이 추가될 때 λ_max 의 1차 근사 업데이트를 제시한 명제 3.1에 따라, λ_max(ρ’_global) ≈ N λ_max(ρ_global) + (u_maxᵀ h(x))²/(N+1) 로 근사한다. 이를 이용해 Δ_global(x) = −log
댓글 및 학술 토론
Loading comments...
의견 남기기