[Paper Review] LogBERT와 Deep SVDD의 수학적 원리 분석
LogBERT는 시스템 로그의 정상 패턴을 학습하여 이상을 탐지(Anomaly Detection)하는 모델입니다. 이 모델은 로그의 문맥을 파악하는 MLKP와, 정상 데이터의 분포를 학습하는 Deep SVDD 기반의 VHM이라는 두 가지 핵심 과제를 동시에 수행하며 학습됩니다.
최종적인 손실 함수(Loss Function)는 다음과 같이 정의됩니다.
LossTotal=LossMLKP+λ⋅LossVHM
이 글에서는 LogBERT의 핵심인 VHM(Volume of Hypersphere Minimization)의 이론적 배경이 되는 Deep SVDD에 대해 깊이 있게 다뤄봅니다.
1. Deep SVDD란?
기본 아이디어: 데이터 매핑 (Data Mapping)
우리의 목표는 입력 공간 X (예: 로그 데이터)에 존재하는 정상 데이터들을 모두 감싸는 '가장 작은 구(Hypersphere)'를 찾는 것입니다.
하지만 원본 데이터는 매우 복잡하게 얽혀 있어(Non-linear), 원본 공간에서 단순히 구를 그리는 것만으로는 정상과 비정상을 구분하기 어렵습니다. 따라서 신경망 ϕ를 이용해 데이터를 더 구분하기 쉬운 잠재 공간(Latent Feature Space F)으로 매핑합니다.
- 입력 데이터: x∈X (차원 D)
- 매핑 함수 (신경망): ϕ(⋅;W):X→F
- W: 학습할 신경망의 가중치(Weights)
- 잠재 공간의 데이터: z=ϕ(x;W)
💡 핵심 비교: SVDD vs Deep SVDD
기존의 SVDD는 데이터를 고차원 공간으로 보내기 위해 커널 트릭(Kernel Trick)을 사용했습니다. 반면, Deep SVDD는 커널 대신 신경망(Neural Network)을 사용하여 데이터를 최적의 공간으로 매핑한다는 점이 가장 큰 차이점입니다.
2. Deep SVDD의 두 가지 목적 함수 (Objective Function)
Deep SVDD는 학습 데이터에 대한 가정(Assumption)에 따라 두 가지 형태의 목적 함수를 가집니다. LogBERT와 같은 최신 로그 분석 모델은 주로 두 번째 방식인 One-Class Deep SVDD를 채택합니다.
① Soft-Boundary Deep SVDD (전통적 방식)
학습 데이터에 약간의 이상치(Noise)가 섞여 있다고 가정할 때 사용하는 방식입니다.
Key Idea: "대부분은 구(Hypersphere) 안에 넣되, 경계에서 좀 튀는 녀석들은 어느 정도 봐주자 (Slack Variable 허용)."
R,WminR2+νn1i=1∑nmax(0,∥ϕ(xi;W)−c∥2−R2)+2λ∥W∥F2
- R: 초구(Hypersphere)의 반지름. (변수이므로 최소화 대상)
- c: 초구의 중심 (고정되거나 최적화 가능).
- ∥ϕ(xi)−c∥2: i번째 데이터와 중심 사이의 거리.
- max(0,…): 데이터가 반지름 R 밖으로 튀어나갔을 때만 페널티(Loss)를 부과.
- ν (Nu): 허용할 이상치의 비율을 조절하는 하이퍼파라미터 (0<ν≤1).
- λ: 가중치 규제(Regularization) 항.
② One-Class Deep SVDD (LogBERT/VHM 방식)
학습 데이터가 "거의 다 깨끗한 정상 데이터이다"라고 가정할 때 사용하는 단순화된 버전입니다. 반지름 R을 따로 계산하지 않고, 그냥 모든 데이터를 중심 c로 최대한 밀어 넣는 것에 집중합니다.
Wminn1i=1∑n∥ϕ(xi;W)−c∥2+2λ∥W∥F2
- 의미: 반지름 R을 최적화하는 과정을 없애고, 중심과의 거리의 제곱합(Mean Squared Error)을 직접 최소화합니다.
- 특징: LogBERT의 VHM(Volume of Hypersphere Minimization) 로직이 바로 이 수식을 따릅니다.
- Code Mapping:
PyTorch 구현 시 loss_vhm = torch.mean(dist) 코드가 수식의 n1∑∥ϕ(xi)−c∥2 부분과 정확히 일치합니다.
3. 요약 (Conclusion)
LogBERT는 One-Class Deep SVDD 방식을 차용하여 VHM Loss를 설계했습니다.
즉, "정상 로그 데이터라면 특징 공간(Latent Space) 상에서 미리 정해둔 중심점 c 근처에 옹기종기 모여 있을 것이다"라는 가설을 바탕으로 모델을 학습시킵니다.
따라서 학습이 잘 된 LogBERT 모델에 새로운 로그를 넣었을 때, 중심점 c와 거리가 멀다면 이는 학습하지 못한 패턴, 즉 이상(Anomaly)으로 간주할 수 있게 됩니다.