상호작용 기반 희소 임베딩으로 효율적인 추천 학습
초록
본 논문은 대규모 추천 시스템의 초기 후보 검색 단계에서 고차원 희소 임베딩을 학습하는 새로운 훈련 전략을 제안한다. 기존의 밀집( dense) 임베딩을 대체해 메모리와 연산량을 크게 줄이면서도 정확도 손실을 최소화한다. ELSA 자동인코더에 적용한 결과, 임베딩 크기를 10배까지 감소시켜도 nDCG@100 성능이 유지되며, 100배 압축 시에도 2.5% 이하의 성능 저하만 발생한다. 또한, 활성화된 차원은 해석 가능한 역인덱스 구조를 형성해 아이템 세그먼트와 직접 연결할 수 있다.
상세 분석
이 연구는 추천 시스템에서 가장 비용이 많이 드는 아이템 임베딩 테이블을 압축하는 방법론을 제시한다. 핵심 아이디어는 학습 과정에서 바로 행별(top‑k) 희소화를 적용해 밀집 임베딩을 고차원 희소 행렬로 전환하는 것이다. 이를 위해 저자들은 기존 ELSA(Linear AutoEncoder) 모델의 손실식 L(·)에 행별 마스크 연산 S_k를 삽입하고, 각 행을 ℓ2‑정규화한 뒤 역전파가 가능한 형태로 유지한다.
희소화는 고정된 k값을 바로 적용하면 ‘dead‑latent’ 현상이 발생할 위험이 있어, 단계적 프루닝 스케줄을 도입한다. 초기에는 완전한 밀집 상태(d = 4096)에서 시작해 에폭마다 k를 선형·지수·스텝 방식으로 감소시키며, 프루닝 후에는 원본 초기화로 재시작하거나 현재 파라미터를 이어 학습하는 두 가지 옵션을 실험한다. 실험 결과, 에폭마다 k를 감소시키는 것이 전체 수렴 후에 프루닝하는 것보다 정확도‑압축 비율이 우수했으며, 초기 파라미터 재시작이 약간의 성능 향상을 제공한다.
희소 임베딩의 저장 비용은 비제로 원소와 인덱스를 각각 4바이트씩 저장해 4 + 4 = 8 바이트가 소요된다. 따라서 k = 128인 경우 1 KB 정도가 필요해, 동일 메모리 예산에서 256차원 밀집 임베딩(1 KB) 대비 2배 이상의 차원을 활용할 수 있다. 추론 단계에서는 CSC 형식으로 전치 행렬을 함께 로드해 스파스 행렬‑벡터 곱(Sparse‑MV) 연산을 O(n k) 시간에 수행한다. 이는 메모리 절감뿐 아니라 실제 서비스 환경에서 레이턴시 감소 효과를 기대하게 한다.
또한, 각 아이템의 가장 큰 절대값 차원을 ‘지배 차원’이라 정의하고, 동일 차원·부호를 공유하는 아이템들을 초기 그룹으로 묶는다. 메타데이터를 활용해 그룹에 의미 라벨을 부여하고, 코사인 유사도가 높은 그룹을 병합해 최종 세그먼트를 만든다. 이렇게 형성된 세그먼트는 (ℓ, sign) 쌍만을 비제로로 갖는 행렬 B_s와 ℓ2‑정규화된 형태 \bar B_s 로 표현돼, 사용자 벡터 x 와 \bar A_s \bar B_s^T 의 곱을 통해 아이템과 세그먼트 모두에 대한 순위 점수를 동시에 산출한다. 실험에서는 Goodbooks‑10k 데이터셋에서 ‘어린이 클래식’, ‘추리소설’ 등 의미가 뚜렷한 세그먼트가 자동으로 형성되었으며, 사용자 활성화 패턴과 추천 세그먼트가 일치함을 시각화로 확인했다.
성능 평가에서는 Goodbooks‑10k, MovieLens‑20M, Netflix Prize 세 데이터셋에 대해 nDCG@100을 측정했다. 압축 비율이 10×(1 KB)일 때도 압축되지 않은 ELSA(0.489)와 거의 동일한 0.491을 기록했으며, 100×(64 B) 압축 시에도 0.469 수준을 유지해 기존 저차원 ELSA(0.357)와 비교해 큰 격차를 보였다. 또한, Pruned EASE와 ELSA+SAE 같은 사후 압축 기법보다 전반적으로 우수한 정확도‑크기 트레이드오프를 달성했다.
한계점으로는 희소화된 임베딩이 여전히 높은 차원(d = 4096)에서 시작해야 최적 성능을 얻으며, 초기 차원을 과도하게 늘리면 학습 비용이 급증한다는 점이다. 또한, 현재는 아이템 메타데이터를 세그먼트 라벨링에만 활용하고 있어, 완전한 무지도 학습 기반 세그먼트 해석에는 추가 연구가 필요하다.
댓글 및 학술 토론
Loading comments...
의견 남기기