NVIDIA Deep Learning Institute(DLI)에서 이상 탐지(anomaly detection)용 AI 애플리케이션의 구축법을 익힐 수 있는 전문가 주도 실습 워크숍을 진행합니다.
이상 탐지는 데이터세트 내에서 비정상적 흐름을 보이는 데이터를 식별하는 프로세스입니다. 통계적 이상치를 식별하는 보다 단순한 프로세스와 달리 이상 탐지는 맥락상 정상으로 간주돼서는 안 될 데이터의 발견에 집중하죠.
이때 이상 패턴에는 이미 캡처/라벨링이 되어 있는 이상 상태와 유사한 데이터, 다른 맥락에서는 정상에 해당하나 해당 맥락에서는 정상으로 간주할 수 없는 데이터, 훈련된 뉴럴네트워크의 인사이트를 통해서만 이상으로 이해될 수 있는 데이터가 포함됩니다.
여러 산업과 연구에서 이상 탐지는 강력하고도 중요한 툴로 활용됩니다. 헬스케어 전문가들은 이상 탐지를 통해 질병의 징후를 조기에, 더욱 효과적으로 식별합니다. 각 기업의 IT와 데브옵스(DevOps) 담당팀은 성능 저하나 서비스 손실로 이어질 수 있는 사례들을 파악하기도 하죠. 마케팅과 재무 관련 부서에서 이상 탐지는 자사의 핵심성과지표(KPI)에 막대한 영향을 미치는 특수 상황들의 구분에 응용됩니다.
즉, 목표와 유관한 데이터에서 특수 사례를 식별하는 프로세스가 도움이 되는 분야라면 어디나 효과적인 이상 탐지의 활약을 기대해볼 수 있습니다.
이상 탐지 프로세스의 접근법
이처럼 중요한 분야에서 다양하게 활용되고 있는 만큼 이상 탐지의 수행에는 여러 접근법이 적용됩니다. 주어진 시나리오에 가장 효과적인 접근법을 결정할 때 유용한 요소는 비정상으로 라벨링된 기존 데이터가 존재하는지 여부입니다. 이상 상태로 규정이 가능하고 대표 데이터가 충분하다면 지도형 학습(Supervised Learning) 기법을 활용할 수 있습니다. 라벨링된 데이터가 없는 상황에서 새로운 이상 상태의 탐지가 필요한 경우라면 비지도형 학습(Unsupervised Learning)이 요구됩니다.
DLI의 이상 탐지용 AI 애플리케이션 워크숍은 지도형 학습(Supervised Learning)과 비지도형 학습(Unsupervised Learning)이 필요한 사례를 모두 다룹니다. 지도형 XGBoost 모델은 비정상적 네트워크 트래픽 감지에 KDD 네트워크 침입 데이터세트를 사용합니다. 아직 발견되지 않은 이상 데이터를 공격의 일환으로 분류하는 동시에 그 공격의 종류까지 식별하도록 훈련되죠.
비지도형 학습(Unsupervised Learning)에는 두 가지 접근법이 있습니다. 심층 오토인코더(autoencoder) 뉴럴네트워크를 훈련하거나 2-네트워크 방식의 생성적 적대 뉴럴네트워크(GAN)을 도입해 구성요소 판별 네트워크로 이상 탐지를 수행하는 것입니다. 지금부터 각 접근법을 자세히 살펴보겠습니다.
XGBoost 접근법
XGBoost는 다양한 분야에 맞춰 최적화된 그래디언트 부스팅(gradient-boosting) 알고리즘입니다. 광범위한 실제 활용 사례 외에도 캐글(Kaggle) 데이터 사이언스 대회에서 폭넓고 효과적인 성능을 입증하며 명성을 쌓아왔죠. 훈련용으로 라벨링된 데이터가 있는 경우의 이상 탐지는 훈련을 거친 XGBoost 모델이 홀드아웃(holdout) 검증 데이터에서 이상 상태를 식별하는 분류 프로세스를 의미합니다. 이때 NVIDIA GPU는 1차적으로 이진(binary) 분류기, 2차적으로 다중 클래스 분류기로 작용해 이상 유형 식별 훈련을 병렬화하고 XGBoost를 가속합니다.
오토인코더 접근법
심층 오토인코더는 2개의 대칭부로 구성됩니다. 인코더로 불리는 첫 번째 부분은 데이터를 저차원의 잠재적 표현형(latent representation)으로 압축 또는 “인코딩”합니다. 두 번째 부분인 디코더는 인코더가 생성한 잠재적 벡터로 원본 인풋의 재구성을 시도합니다. 이 훈련 중에 인코더와 디코더 모두가 인풋 데이터의 필수적 측면들을 보다 훌륭히 캡처한 잠재적 표현형을 생성하도록 최적화되죠. 이상 상태의 비율이 낮은 상황에서 훈련을 진행하면 잠재 벡터는 이상 데이터보다 정상 데이터의 풍부한 샘플을 더 훌륭히 표현할 수 있게 됩니다. 따라서 디코더가 재구성하는 아웃풋의 경우에도 이상 데이터보다 정상 데이터의 신뢰도가 더 높습니다. 정상 데이터를 오토인코더로 전달하면 이상 상태보다 재구성 오류가 상대적으로 낮아지며, 이 오류에 임계값을 설정하는 방식으로 분류가 진행됩니다.
GAN 접근법
생성적 적대 뉴럴네트워크(GAN)는 서로 경쟁하여 전반적 성능을 개선하는 2개의 뉴럴네트워크로 구성됩니다. 첫 번째 뉴럴네트워크인 ‘생성기’는 무작위 시드를 가져오고 훈련용 데이터세트와 동일한 분포에서 추출한 인공 데이터 샘플을 생성하는 방법을 학습합니다. 두 번째 뉴럴네트워크인 ‘분류기’는 훈련용 데이터세트의 샘플과 생성기가 생산한 샘플을 구분하는 방법을 배우죠.
훈련이 제대로 진행된다면 생성기는 진짜처럼 보이는 인공 데이터 샘플을 제공하는 법을 학습하는 반면 분류기는 그 같은 데이터를 훈련용 세트에서 정확히 식별해낼 수 있게 됩니다. 이상 흐름이 없는 데이터의 데이터 표현형으로 훈련을 진행할 시 생성기는 정상 데이터를 닮은 새로운 데이터를 만들고, 분류기는 정상처럼 보이는 샘플들을 구분할 수 있게 됩니다.
일반적으로 생성적 적대 뉴럴네트워크는 생성기를 사용해 새롭고 진짜처럼 보이는 데이터 샘플을 생산하면서 분류기는 배제하는 것을 목표로 훈련됩니다. 하지만 이상 탐지의 경우, 생성기를 제외해둔 상황에서 분류기를 활용해 미지의 인풋 데이터가 정상인지 여부를 판별합니다.
더 알아보기
AI 기반 이상 탐지는 다양한 분야에서 풍부하고 때로는 필수적인 것으로 간주되는 기능들을 제공합니다. 이상 탐지에 적용 가능한 기법들은 또한 다른 AI 영역에서도 상당히 효과적으로 활용될 수 있죠.
이상 탐지에 관심이 있다면, 또는 전문가와 함께하는 핸즈온 인터랙티브 실습을 통해 여러분의 딥 러닝 기술을 확장하고 싶다면, NVIDIA DLI의 이상 탐지용 AI 애플리케이션 워크숍에 등록하세요. 기관 단위의 워크숍도 가능합니다.