logBERT

이정훈·2026년 1월 6일

[Paper Review] LogBERT와 Deep SVDD의 수학적 원리 분석

LogBERT는 시스템 로그의 정상 패턴을 학습하여 이상을 탐지(Anomaly Detection)하는 모델입니다. 이 모델은 로그의 문맥을 파악하는 MLKP와, 정상 데이터의 분포를 학습하는 Deep SVDD 기반의 VHM이라는 두 가지 핵심 과제를 동시에 수행하며 학습됩니다.

최종적인 손실 함수(Loss Function)는 다음과 같이 정의됩니다.

LossTotal=LossMLKP+λLossVHMLoss_{Total} = Loss_{MLKP} + \lambda \cdot Loss_{VHM}

이 글에서는 LogBERT의 핵심인 VHM(Volume of Hypersphere Minimization)의 이론적 배경이 되는 Deep SVDD에 대해 깊이 있게 다뤄봅니다.


1. Deep SVDD란?

기본 아이디어: 데이터 매핑 (Data Mapping)

우리의 목표는 입력 공간 X\mathcal{X} (예: 로그 데이터)에 존재하는 정상 데이터들을 모두 감싸는 '가장 작은 구(Hypersphere)'를 찾는 것입니다.

하지만 원본 데이터는 매우 복잡하게 얽혀 있어(Non-linear), 원본 공간에서 단순히 구를 그리는 것만으로는 정상과 비정상을 구분하기 어렵습니다. 따라서 신경망 ϕ\phi를 이용해 데이터를 더 구분하기 쉬운 잠재 공간(Latent Feature Space F\mathcal{F})으로 매핑합니다.

  • 입력 데이터: xXx \in \mathcal{X} (차원 DD)
  • 매핑 함수 (신경망): ϕ(;W):XF\phi(\cdot; \mathcal{W}): \mathcal{X} \to \mathcal{F}
    • W\mathcal{W}: 학습할 신경망의 가중치(Weights)
  • 잠재 공간의 데이터: z=ϕ(x;W)z = \phi(x; \mathcal{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 허용)."

minR,WR2+1νni=1nmax(0,ϕ(xi;W)c2R2)+λ2WF2\min_{R, \mathcal{W}} R^2 + \frac{1}{\nu n} \sum_{i=1}^n \max(0, \|\phi(x_i; \mathcal{W}) - c\|^2 - R^2) + \frac{\lambda}{2} \|\mathcal{W}\|^2_F
  • RR: 초구(Hypersphere)의 반지름. (변수이므로 최소화 대상)
  • cc: 초구의 중심 (고정되거나 최적화 가능).
  • ϕ(xi)c2\|\phi(x_i) - c\|^2: ii번째 데이터와 중심 사이의 거리.
  • max(0,)\max(0, \dots): 데이터가 반지름 RR 밖으로 튀어나갔을 때만 페널티(Loss)를 부과.
  • ν\nu (Nu): 허용할 이상치의 비율을 조절하는 하이퍼파라미터 (0<ν10 < \nu \le 1).
  • λ\lambda: 가중치 규제(Regularization) 항.

② One-Class Deep SVDD (LogBERT/VHM 방식)

학습 데이터가 "거의 다 깨끗한 정상 데이터이다"라고 가정할 때 사용하는 단순화된 버전입니다. 반지름 RR을 따로 계산하지 않고, 그냥 모든 데이터를 중심 cc로 최대한 밀어 넣는 것에 집중합니다.

minW1ni=1nϕ(xi;W)c2+λ2WF2\min_{\mathcal{W}} \frac{1}{n} \sum_{i=1}^n \|\phi(x_i; \mathcal{W}) - c\|^2 + \frac{\lambda}{2} \|\mathcal{W}\|^2_F
  • 의미: 반지름 RR을 최적화하는 과정을 없애고, 중심과의 거리의 제곱합(Mean Squared Error)을 직접 최소화합니다.
  • 특징: LogBERT의 VHM(Volume of Hypersphere Minimization) 로직이 바로 이 수식을 따릅니다.
  • Code Mapping:
    PyTorch 구현 시 loss_vhm = torch.mean(dist) 코드가 수식의 1nϕ(xi)c2\frac{1}{n} \sum \|\phi(x_i) - c\|^2 부분과 정확히 일치합니다.

3. 요약 (Conclusion)

LogBERT는 One-Class Deep SVDD 방식을 차용하여 VHM Loss를 설계했습니다.
즉, "정상 로그 데이터라면 특징 공간(Latent Space) 상에서 미리 정해둔 중심점 cc 근처에 옹기종기 모여 있을 것이다"라는 가설을 바탕으로 모델을 학습시킵니다.

따라서 학습이 잘 된 LogBERT 모델에 새로운 로그를 넣었을 때, 중심점 cc와 거리가 멀다면 이는 학습하지 못한 패턴, 즉 이상(Anomaly)으로 간주할 수 있게 됩니다.

profile
AngDDo

0개의 댓글