소프트웨어 이상을 감지하는 로봇: 오직 '정상'만을 배우는 AI의 가능성
협업 로봇은 이제 제조업뿐 아니라 헬스케어, 가정용 서비스 등 다양한 분야로 빠르게 확산되고 있다. 하지만 이처럼 인간과 가까이에서 일하는 로봇에게 있어서 신뢰성은 단순한 효율 문제를 넘어 안전과 직결된다. 그중에서도 하드웨어보다 훨씬 더 탐지하기 어려운 것이 바로 소프트웨어 이상(anomalies)이다.
이번에 소개할 논문 "Detecting Software Anomalies in Robots by Means of One-class Classifiers"(Quintián et al., 2025)는 바로 이 복잡한 문제에 대해 도전하며, 일반적인 이상 탐지 알고리즘이 아닌 One-class Classification(단일 클래스 분류) 방법을 활용한 탐색을 제안한다. 이 방식은 '정상' 상태만 학습하고, '이상'은 직접적으로 학습하지 않아도 감지할 수 있다는 점에서 특히 로봇 시스템에 유용할 수 있다.
왜 소프트웨어 이상 감지가 중요한가?
하드웨어 고장은 눈에 보이는 경우가 많다. 로봇 팔이 멈추거나, 센서가 데이터를 보내지 않으면 곧바로 이상을 감지할 수 있다. 반면 소프트웨어 이상은 조용히 성능을 갉아먹으며, 장기적으로는 큰 사고나 다운타임을 유발할 수 있다. 예를 들어, 메모리 누수, 무한 루프, 리소스 과다 사용 등의 문제는 즉각적으로는 드러나지 않지만 시스템을 점차 마비시킨다.
이런 문제에도 불구하고, 그동안 연구는 하드웨어 이상 탐지에 집중되어 있었다. 본 논문은 이를 보완하고자 로봇 구성요소 단위(component-based)로 소프트웨어 이상을 감지할 수 있는 방법론을 실험적으로 제시한다.
One-Class Classification이란?
One-class Classification(OCC)은 일반적인 머신러닝처럼 여러 클래스를 학습하지 않는다. 오직 정상(normal) 데이터만 학습하여, 이후에 입력되는 데이터가 정상과 얼마나 다른지를 기반으로 이상 여부를 판단한다.
이 방식의 장점은 명확하다. 실제 로봇 운영환경에서 이상 데이터를 수집하는 건 쉽지 않고, 비정상 상태는 매우 다양하기 때문이다. 따라서 '정상'만 잘 학습해두고, 여기에 어긋나는 데이터를 이상으로 간주하면 된다.
본 논문에서는 다음의 6가지 OCC 기법을 적용했다:
- Approximate Convex Hull (ACH)
- Autoencoder Neural Network (AENN)
- K-Means
- K-Nearest Neighbors (K-NN)
- Principal Component Analysis (PCA)
- Support Vector Data Description (SVDD)
각 기법은 서로 다른 방식으로 '정상성'을 정의하고, 그 경계를 넘어서는 데이터를 이상으로 판단한다.
실험에 사용된 데이터셋과 구성요소
본 연구는 독일 Bielefeld 대학에서 제작한 공개 데이터셋을 활용했다. 이 데이터셋은 소프트웨어 이상이 유도된 로봇 동작 로그로 구성되며, 11개의 컴포넌트 중 3개(statamachine, facerec, objectbuilder)를 중심으로 분석이 이루어졌다.
각 컴포넌트에는 다음과 같은 이상이 주입되었다:
- bonsaiParticipantLeak: 사용하지 않는 RSB 참여자 미삭제 (statamachine)
- bonsaiTalkTimeout: 잘못된 RSB로 인한 통신 타임아웃 (statamachine)
- btlAngleAlgo: 사람 위치 계산 알고리즘 오류 (statamachine)
- facerecSkippable: CPU 부하 제한 제거 (facerec)
- objectBuilderSkippable: 중복된 위치 추정 수행 (objectbuilder)
이러한 이상은 시스템을 완전히 정지시키지 않지만, 리소스 낭비나 성능 저하를 유발한다는 점에서 조기 감지가 매우 중요하다.
핵심 결과: PCA의 탁월한 성능
가장 인상적인 결과는 PCA가 5개의 이상 유형 중 4개에서 최고 성능을 기록했다는 점이다. 예를 들어 facerecSkippable 이상에서는 98.3%의 AUC를 기록했으며, 이는 기존 논문(Wienke & Wrede, 2016)의 성능보다도 월등히 높다.
흥미롭게도, bonsaiParticipantLeak의 경우에는 K-NN이 가장 높은 95.4% AUC를 기록했다. 이는 이상 유형에 따라 OCC 기법의 적합성이 달라질 수 있음을 보여준다.
또한, 각 기법의 학습/추론 시간도 측정되었는데, Autoencoder는 가장 높은 학습 시간을, ACH는 가장 긴 추론 시간을 보였다. 반면, PCA는 속도와 정확도 모두에서 가장 균형 잡힌 성능을 보였다.
비판적 해석: OCC의 한계와 확장 가능성
이번 연구는 OCC 기반 이상 탐지의 실용성을 잘 보여주었지만, 일부 한계도 존재한다. 우선 OCC는 '정상'의 정의에 민감하다. 훈련 데이터가 불완전하거나 편향되면 오탐률이 높아질 수 있다.
또한, 소프트웨어 이상은 시간이 지남에 따라 점진적으로 나타날 수 있기 때문에, 시간적 패턴(Time Series) 분석 기법과의 결합이 필요해 보인다. 예를 들어 LSTM 기반의 오토인코더나, 시계열 기반 PCA 응용도 후속 연구로 적합하다.
개인적으로 가장 흥미로웠던 부분은 ACH 기법의 직관적 구조였다. 고차원 데이터를 다차원 랜덤 투영 후 각 평면에서 convex hull을 만드는 방식은 시각적으로도 설득력이 높으며, 적절히 최적화되면 실시간 감지 시스템에 활용 가능할 것으로 보인다.
실생활 적용 가능성 및 후속 연구 제언
이번 연구는 제조, 물류, 헬스케어 로봇 등 다양한 분야에서 응용될 수 있다. 예를 들어 병원 로봇이 얼굴 인식을 반복적으로 실패하거나, 이상한 위치 좌표를 생성한다면, 이를 PCA 기반 OCC로 조기 감지할 수 있다. 이는 단순한 성능 문제가 아닌 안전사고 예방으로 이어질 수 있다는 점에서 중요하다.
후속 연구에서는 다음과 같은 방향이 유의미할 것이다:
- Ensemble 기반 OCC 기법 개발: 각 기법의 강점을 결합한 혼합 모델.
- 이상 종류 분류(Classification) 확장: 단순 감지에서 구체적 이상 분류로 확장.
- 실시간 시스템 적용: 학습-추론 속도 최적화를 통해 실시간 이상 감지 시스템 구현.
결론: '정상만으로 이상을 찾다'
본 연구는 복잡한 로봇 시스템 내 소프트웨어 이상을 사전 감지하는 데 있어 One-class Classification의 가능성을 실증적으로 보여주었다. 특히 PCA 기반 기법은 높은 정확도와 효율성을 바탕으로, 로봇의 안정성 향상과 다운타임 최소화에 기여할 수 있음을 시사한다.
더 나아가 이 연구는 AI 시스템이 '정상'만을 학습해서도 유의미한 이상 탐지가 가능함을 보여주며, 다양한 분야에서 OCC 접근법의 응용 가능성을 넓히는 데 중요한 기여를 한다.