
이상치, 적대적 및 드리프트 탐지 알고리즘
Alibi Detect는 이상치(outlier), 적대적(adversarial) 및 드리프트(drift) 탐지에 중점을 둔 소스 공개 Python 라이브러리입니다. 이 패키지는 테이블형 데이터, 텍스트, 이미지 및 시계열을 위한 온라인 및 오프라인 탐지기를 모두 지원하는 것을 목표로 합니다. 드리프트 탐지에는 TensorFlow 및 PyTorch 백엔드가 모두 지원됩니다.
프로덕션 환경에서 이상치와 분포를 모니터링하는 중요성에 대한 자세한 배경은 ICML 2020 워크숍 Challenges in Deploying and Monitoring Machine Learning Systems의 이 강연을 확인하세요. 이 강연은 논문 Monitoring and explainability of models in production을 기반으로 하며 Alibi Detect를 참조합니다.
드리프트 탐지에 대한 심층적인 소개는 Protecting Your Machine Learning Against Drift: An Introduction을 확인하세요. 이 강연에서는 드리프트가 무엇인지, 왜 탐지하는 것이 유익한지, 다양한 드리프트 유형, 원칙적인 방식으로 탐지하는 방법을 다루며 드리프트 탐지기의 구조(anatomy)도 설명합니다.
alibi-detect 패키지는 다음에서 설치할 수 있습니다:
pip 사용)conda/mamba 사용)
Prophet 시계열 이상치 탐지기를 사용하려면: ```bash
pip install alibi-detect[prophet]
conda-forge에서 설치하려면 mamba를 사용하는 것이 좋으며, 이는 base conda 환경에 다음과 같이 설치할 수 있습니다:```bash conda install mamba -n base -c conda-forge
alibi-detect를 설치하려면:```bash
mamba install -c conda-forge alibi-detect
API를 설명하기 위해 VAE 이상치 탐지기를 사용하겠습니다.```python from alibi_detect.od import OutlierVAE from alibi_detect.saving import save_detector, load_detector
od = OutlierVAE(threshold=0.1, encoder_net=encoder_net, decoder_net=decoder_net, latent_dim=1024) od.fit(x_train)
preds = od.predict(x_test)
filepath = './my_detector/' save_detector(od, filepath) od = load_detector(filepath)
예측 결과는 `meta`와 `data`를 키로 하는 딕셔너리로 반환됩니다. `meta`에는 탐지기의 메타데이터가 포함되며, `data`는 실제 예측 결과를 담고 있는 또 다른 딕셔너리입니다. 여기에는 이상치, 적대적 또는 드리프트 점수와 임계값뿐만 아니라 인스턴스가 예를 들어 이상치인지 여부에 대한 예측도 포함됩니다. 정확한 세부 사항은 방법에 따라 약간 다를 수 있으므로, 독자께서는 [지원되는 알고리즘 유형](https://docs.seldon.io/projects/alibi-detect/en/stable/overview/algorithms.html)을 숙지하시기를 권장합니다.
## 지원되는 알고리즘
다음 표는 각 알고리즘에 대해 권장되는 사용 사례를 보여줍니다. *피처 수준* 열은 예를 들어 이미지의 픽셀 단위와 같이 피처 수준에서 탐지가 가능한지 여부를 나타냅니다. 문서 및 원본 논문 링크와 각 탐지기의 예제를 포함한 자세한 정보는 [알고리즘 참조 목록](#reference-list)을 참조하세요.
### 이상치 탐지
| 탐지기 | 테이블 형식 | 이미지 | 시계열 | 텍스트 | 범주형 피처 | 온라인 | 피처 수준 |
|:---------------------|:-------:|:-----:|:-----------:|:----:|:--------------------:|:------:|:-------------:|
| Isolation Forest | ✔ | | | | ✔ | | |
| Mahalanobis Distance | ✔ | | | | ✔ | ✔ | |
| AE | ✔ | ✔ | | | | | ✔ |
| VAE | ✔ | ✔ | | | | | ✔ |
| AEGMM | ✔ | ✔ | | | | | |
| VAEGMM | ✔ | ✔ | | | | | |
| Likelihood Ratios | ✔ | ✔ | ✔ | | ✔ | | ✔ |
| Prophet | | | ✔ | | | | |
| Spectral Residual | | | ✔ | | | ✔ | ✔ |
| Seq2Seq | | | ✔ | | | | ✔ |
### 적대적 탐지
| 탐지기 | 테이블 형식 | 이미지 | 시계열 | 텍스트 | 범주형 피처 | 온라인 | 피처 수준 |
| :--- | :---: | :---: |:-----------:|:----:|:--------------------:|:------:|:-------------:|
| Adversarial AE | ✔ | ✔ | | | | | |
| Model distillation | ✔ | ✔ | ✔ | ✔ | ✔ | | |
### 드리프트 탐지