머신 러닝 시스템의 신뢰성과 안전성을 위한 OOD 탐지란?
OOD(Out-of-Distribution) 탐지는 머신 러닝 시스템의 신뢰성과 안전성을 확보하기 위한 중요한 기술입니다. 예를 들어, 자율 주행 시스템에서는 훈련 중에 보지 못한 낯선 장면이나 객체를 탐지하면 경고를 울리고 인간이 개입할 수 있도록 해야 합니다. 이런 기술은 2017년에 처음 주목받기 시작했고, 이후 연구 커뮤니티에서 활발히 연구되며 다양한 방법론이 개발되고 있습니다. 여기에는 분류 기반, 밀도 기반, 거리 기반 방법론 등이 포함됩니다.
일반화된 OOD 탐지 (Generalized OOD Detection)
일반화된 OOD 탐지 프레임워크는 이상 탐지(Anomaly Detection, AD), 새로움 탐지(Novelty Detection, ND), 오픈셋 인식(Open Set Recognition, OSR), OOD 탐지(Out-of-Distribution Detection), 이상치 탐지(Outlier Detection)라는 다섯 가지 관련 주제를 통합하여 제안된 프레임워크입니다.
이 서브 토픽들은 공통적으로 "In-Distribution" 데이터를 정의하고, 이를 기준으로 "Open-World 환경에서 OOD 샘플을 탐지"하는 것을 목표로 합니다.
하지만 각 서브 토픽은 정의와 특성 면에서 미묘한 차이를 보이며, 데이터 유형 간의 관계에 따라 구체적인 구분이 필요합니다.
분포 변화 (Distribution Shift) 이해하기
분포 변화란 데이터가 학습 중에 본 것과는 달라지는 현상을 말합니다. 이는 머신러닝 모델이 학습한 환경과 실제로 사용하는 환경이 다를 때 발생하며, 특히 OOD(Out-of-Distribution) 탐지에서 중요한 개념입니다. 크게 공변량 변화(Covariate Shift)와 의미 변화(Semantic Shift)로 나뉩니다. 두 개념은 데이터의 어떤 부분이 변했는지에 따라 다르게 나뉘며, 이를 이해하는 것이 OOD 문제를 해결하는 데 핵심입니다.
1. 공변량 변화(Covariate Shift)
공변량 변화는 데이터의 입력 값(예: 이미지의 픽셀, 센서 데이터 등)이 변하지만, 정답 레이블(예: 개, 고양이 같은 카테고리)은 변하지 않는 경우입니다.
쉽게 말해, "같은 대상이지만 관점이 달라진 상황"입니다.
- 고양이 사진을 다른 각도에서 찍은 경우
- 동일한 물체지만 조명이나 배경이 달라진 경우
- 필터가 적용된 이미지
모델은 여전히 정답을 유지해야 하지만, 새로운 환경에 적응할 수 있어야 합니다.
2. 의미 변화(Semantic Shift)
의미 변화는 정답 레이블 자체가 바뀌거나 새로운 카테고리가 추가되는 경우를 말합니다.
쉽게 말해, "새로운 대상이나 의미가 생긴 상황"입니다.
- 기존에는 본 적 없는 동물이 등장한 경우
- '고양이'라는 카테고리가 새로 추가된 경우
- '강아지'로만 학습했는데 '늑대' 같은 유사한 동물이 등장한 경우
의미 변화는 모델에게 더 큰 도전 과제를 제시합니다. 모델은 이러한 데이터를 봤을 때 '모른다'고 판단하거나, 새로운 상황에 적응할 수 있어야 합니다.
왜 중요한가요?
- 공변량 변화는 모델의 일반화 능력을 평가하는 데 사용됩니다. 모델이 환경이 조금 달라져도 잘 작동해야 하기 때문입니다.
- 반면, 의미 변화는 모델이 모르는 데이터를 탐지할 수 있는 능력을 평가합니다. 자율 주행 차가 새로운 도로 상황을 인지하거나, 보안 시스템이 새로운 위협을 감지해야 하는 경우와 같습니다.
1. Anomaly Detection (이상 탐지)
- 목표: 정상 데이터와 비정상 데이터를 구분.
- 특징:
- 정상 데이터를 명확히 정의하고, 그 기준에서 벗어난 데이터를 탐지.
- 주로 오류, 사기, 또는 예상치 못한 데이터(부정적 상황)를 감지.
- 예시:
- 공장에서의 결함 탐지.
- 신용카드 사기 탐지.
- 프레임워크 내 위치:
- 센서리 AD는 입력 데이터의 변화(Covariate Shift)를 다루고, 의미적 AD는 레이블의 변화(Semantic Shift)를 처리.
2. Novelty Detection (새로움 탐지)
- 목표: 훈련 데이터에서 본 적 없는 새로운 데이터를 탐지.
- 특징:
- 새로운 데이터(Positive Learning)로 간주하여 추가 학습에 활용 가능.
- 의미적 변화(Semantic Shift)를 주로 다룸.
- 예시:
- 새로운 제품 카테고리 감지.
- 학습되지 않은 동물 종 탐지.
- 프레임워크 내 위치:
- "알려지지 않은 클래스"를 탐지하며, 의미적 이상 탐지(Semantic AD)와 유사.
3. Open Set Recognition (OSR)
- 목표: 훈련된 클래스(알려진 클래스)를 정확히 분류하면서, 훈련되지 않은 클래스(알려지지 않은 클래스)를 탐지.
- 특징:
- 다중 클래스 분류(Multi-Class Classification)에서 사용.
- "알려진 클래스"와 "알려지지 않은 클래스"의 구분에 중점.
- 예시:
- 자율주행에서 새롭게 등장한 표지판 감지.
- 프레임워크 내 위치:
- OOD 탐지와 유사하나, 훈련된 클래스의 정확한 분류를 추가적으로 요구.
4. Out-of-Distribution Detection (OOD 탐지)
- 목표: 훈련 데이터와 분포가 다른 테스트 데이터를 감지.
- 특징:
- 훈련 데이터와의 레이블 분포가 겹치지 않는 경우에 초점.
- 모델이 훈련된 분포 밖의 데이터에서 과잉 자신감을 가지지 않도록 방지.
- 예시:
- 자율 주행 차량에서 훈련되지 않은 장애물 감지.
- 프레임워크 내 위치:
- OSR과 유사하며, 주로 의미 변화(Semantic Shift)를 처리.
5. Outlier Detection (이상치 탐지)
- 목표: 데이터 세트 내에서 대다수의 데이터와 다른 샘플을 감지.
- 특징:
- 훈련 데이터와의 비교가 아닌, 현재 관측된 데이터 세트를 기준으로 이상 데이터를 탐지.
- 공변량 변화(Covariate Shift)와 의미 변화(Semantic Shift) 모두 다룸.
- 예시:
- 센서 오류 탐지.
- 금융 데이터에서 비정상 거래 감지.
- 프레임워크 내 위치:
- "in-distribution"은 데이터 세트의 대다수를 기준으로 정의됨.
요약
탐지 기법 | 목표 | 특징 | 주요 다루는 변화 |
Anomaly Detection | 정상/비정상 데이터 구분 | 부정적 데이터(오류, 사기) 탐지 | Covariate, Semantic |
Novelty Detection | 새로운 데이터 탐지 | 긍정적 학습 기회로 활용 가능 | Semantic |
Open Set Recognition | 훈련된/훈련되지 않은 클래스 구분 | 다중 클래스에서 ID와 OOD 정확히 구분 | Semantic |
OOD Detection | 훈련 분포와 다른 테스트 데이터 탐지 | 훈련 데이터와 분포가 겹치지 않는 경우 처리 | Semantic |
Outlier Detection | 데이터 세트 내 이상치 탐지 | 훈련 없이 현재 관측 데이터 기준으로 탐지 | Covariate, Semantic |
OOD 탐지: 방법론
1. Classification-Based Methods (분류 기반 방법)
핵심 아이디어
- 모델의 출력(예: 소프트맥스 점수)을 기반으로 ID와 OOD를 구분.
주요 방법
- Maximum Softmax Probability (Hendrycks & Gimpel, 2017):
소프트맥스 점수의 최대값을 기준으로 OOD를 탐지.- 예: 고양이와 개를 분류하는 모델에서, 훈련되지 않은 클래스(예: 토끼)에 대해 낮은 점수를 할당하면 이를 OOD로 간주.
- ODIN (Liang et al., 2018):
입력 데이터에 작은 노이즈(perturbation)를 추가하고 온도 조정을 통해 ID/OOD 간 소프트맥스 점수 차이를 증폭.- 예: 의료 이미지 모델에서 정상과 비정상을 분류할 때, 새로운 질병에 해당하는 이미지를 OOD로 탐지.
2. Outlier Exposure-Based Methods (이상치 노출 기반 방법)
핵심 아이디어
- 외부 OOD 데이터를 모델 학습에 사용하여 OOD 탐지 성능 향상.
주요 방법
- Outlier Exposure (OE):
외부에서 수집한 OOD 데이터를 훈련 데이터에 포함하여 OOD 구분 학습.- 예: 신용카드 사기 탐지 모델에서, 정상 거래와 비교할 수 있는 다양한 비정상 거래 데이터를 추가적으로 제공.
- MixOE (Zhang et al., 2023):
ID 데이터와 "가까운(near)" 또는 "먼(far)" OOD 데이터를 혼합하여 대표적 이상치 생성.- 예: 이미지 분류 모델에서 고양이 이미지와 유사한 "표범" 이미지를 탐지하도록 학습.
3. Gradient-Based Methods (그래디언트 기반 방법)
핵심 아이디어
- 입력 데이터의 그래디언트 정보를 활용해 ID/OOD를 구분.
주요 방법
- ODIN (Liang et al., 2018):
그래디언트를 활용한 입력 노이즈 추가로 OOD와 ID 간 차이를 증폭.- 예: 음성 인식 시스템에서, OOD 입력(예: 새로운 언어)을 탐지하기 위해 특징 차이를 강조.
- GradNorm (Huang et al., 2021):
그래디언트 크기를 계산하여 ID와 OOD를 구분.- 예: 금융 모델에서 과거 데이터와 극단적으로 다른 입력 데이터를 탐지.
4. Distance-Based Methods (거리 기반 방법)
핵심 아이디어
- ID 데이터의 특징 중심(centroids)으로부터의 거리로 OOD 여부를 판단.
주요 방법
- Mahalanobis Distance:
ID 클래스 중심으로부터 Mahalanobis 거리를 계산.- 예: 자율주행 차량이 훈련된 도로 환경(직선 도로)과 큰 차이를 보이는 산악 환경을 탐지.
- Cosine Similarity:
테스트 샘플과 클래스 특징 간 코사인 유사도를 계산.- 예: 자연어 처리에서, 훈련된 텍스트(영어)에 비해 큰 차이를 보이는 새로운 언어(독일어)를 탐지.
5. Density-Based Methods (밀도 기반 방법)
핵심 아이디어
- ID 데이터의 확률 분포를 모델링하고, 낮은 밀도 영역에 있는 데이터를 OOD로 간주.
주요 방법
- Likelihood Ratio:
입력 복잡성에 따른 가능도 편향을 보정.- 예: 훈련된 음성 데이터에서 극도로 왜곡된 음성을 OOD로 탐지.
- SEM Score (Yang et al., 2022):
저수준과 고수준 공간에서의 밀도 추정을 결합.- 예: 의료 이미지에서 정상적이지 않은 조직 구조를 밀도 기반으로 탐지.
6. Reconstruction-Based Methods (재구성 기반 방법)
핵심 아이디어
- ID 데이터를 학습한 모델은 ID를 잘 재구성하지만, OOD 데이터를 복원하는 데 실패.
주요 방법
- Autoencoder-Based Methods:
오토인코더가 OOD 데이터를 재구성하지 못하는 특성을 활용.- 예: 제조업에서 결함 없는 부품 이미지는 잘 복원되지만 결함이 있는 이미지는 복원 실패.
- MOOD (Li et al., 2023):
마스크드 이미지 모델링을 사용해 OOD 데이터를 효과적으로 탐지.- 예: 정상적인 X-ray와 결핵 증상이 포함된 X-ray를 비교하여 OOD로 탐지.
7. Bayesian Models (베이지안 모델)
핵심 아이디어
- 모델 예측의 불확실성을 측정하여 OOD 탐지.
주요 방법
- MC-Dropout:
드롭아웃을 활용해 예측 불확실성을 계산.- 예: 날씨 예측 모델에서 훈련된 지역과 큰 차이를 보이는 데이터를 탐지.
- Deep Ensembles:
여러 모델의 예측을 결합해 불확실성을 추론.- 예: 금융 예측에서 정상적이지 않은 거래 패턴을 탐지.
8. Foundation Models (기초 모델 기반 방법)
핵심 아이디어
- CLIP과 같은 대규모 사전 학습 모델을 활용하여 OOD를 탐지.
주요 방법
- Zero-Shot OOD Detection:
클래스 이름이나 텍스트 설명만으로 OOD 탐지.- 예: CLIP 모델을 사용해 새로운 동물 이미지를 OOD로 탐지.
출처: Yang, Jingkang, et al. "Generalized out-of-distribution detection: A survey." International Journal of Computer Vision (2024): 1-28.
'AI 모음' 카테고리의 다른 글
Feature Fusion (1) | 2022.10.03 |
---|---|
인공지능이란? (0) | 2022.06.01 |
댓글