본 문서에서는 KDD 2025 학회에 발표된 "PuzzleTensor: A Method-Agnostic Data Transformation for Compact Tensor Factorization" 논문을 소개합니다. 논문에 대한 상세한 정보는 다음과 같습니다.
- Title: PuzzleTensor: A Method-Agnostic Data Transformation for Compact Tensor Factorization
- Authors: Yong-chan Park, Kisoo Kim, and U Kang
- Conference: ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD) 2025
Tensor Decomposition
그림 1. 데이터 정렬이 저랭크 근사를 개선하는 예시 원본 데이터 의 경우, 랭크-1 근사 이 큰 오차를 보입니다. 그러나 각 열을 정렬하여 를 구성하면, 그 랭크-1 근사 은 현저히 낮은 오차를 달성합니다. 이는 데이터를 재구성함으로써 원본 형태에서는 드러나지 않던 저랭크 구조가 드러날 수 있음을 보여줍니다. |
Proposed Method
본 연구의 핵심 과제와 아이디어는 다음의 세 가지 측면으로 요약됩니다.
-
이산적 이동 연산 학습: 텐서의 특정 축을 따라 하이퍼슬라이스를 이동시키는 연산은 본질적으로 이산적(discrete) 성격을 가지므로, 경사 기반 최적화(gradient-based optimization)와의 결합이 어렵습니다. 이를 해결하기 위해 본 논문은 푸리에 변환(Fourier transform)의 성질을 활용합니다. 푸리에 변환을 통해 이산적 이동 연산을 실수 영역에서 연속적인 연산으로 완화할 수 있으며, 이를 주파수 영역에서 다시 정의함으로써 미분 가능성을 확보하고 표준 최적화 기법과 호환되도록 합니다.
-
저랭크 구조 변환: PuzzleTensor의 중요한 목표 중 하나는 입력 텐서를 저랭크 분해가 용이한 구조로 변환하는 것입니다. 하지만 텐서의 랭크를 직접 계산하는 것은 NP-hard 문제이므로, 이는 계산적으로 불가능합니다. 이를 극복하기 위해 본 논문은 텐서의 행렬화(matricization) 표현을 기반으로 한 새로운 목적 함수를 제안합니다. 이 목적 함수는 본질적인 저랭크 특성을 포착하도록 설계되었으며, 이 함수를 최적화할 경우 랭크를 최소화함을 이론적으로 보장합니다. 본 논문의 접근법은 저랭크 구조를 유도하는 변환을 학습하기 위한 원리적이고 계산 효율적인 방법을 제공합니다.
-
대규모 텐서를 위한 확장성: 입력 텐서가 매우 클 경우, 직접적으로 이동 연산을 학습하는 것은 메모리와 실행 시간 제약으로 인해 현실적으로 어렵습니다. 이러한 확장성 문제를 해결하기 위해 본 논문은 서브블록 분해(sub-block decomposition) 방법을 제시합니다. 이 방법에서는 입력 텐서를 작은 서브블록으로 나누고, 각 블록에 대해 독립적으로 이동 연산을 적용합니다. 서브블록 분해는 병렬 처리에 자연스럽게 적합하며, 각 블록이 독립적으로 이동 및 처리되기 때문에 대규모 텐서 환경에서 실행 시간을 크게 줄일 수 있습니다.
푸리에 기반 이동 연산 (Fourier-Based Shift Operation)
텐서의 하이퍼슬라이스를 이동시키는 과정은 본질적으로 이산적(discrete)이기 때문에, 경사 기반 최적화 기법에 상당한 어려움을 초래합니다. 실제로, 정수 값으로 정의된 이동 파라미터는 그래디언트의 흐름을 막아 표준 역전파(backpropagation)를 통해 최적의 이동을 학습하기 어렵게 만듭니다. 이러한 한계를 극복하기 위해 본 논문은 푸리에 변환의 성질을 활용합니다. 푸리에 변환을 이용하면 이산적 이동을 주파수 영역에서 연속적 변환으로 다룰 수 있습니다. 이를 통해 정수 이동 파라미터를 실수 값으로 완화함으로써 연산을 미분 가능하게 만들고, 기존 최적화 기법과 호환되도록 할 수 있습니다(그림 3).
그림 3. 푸리에 기반 이동 연산 입력 텐서는 모드- 하이퍼슬라이스에 대해 푸리에 변환을 통과한 뒤, 학습 가능한 위상 텐서(phase tensor)와의 원소별 곱을 거쳐 역 푸리에 변환을 통해 처리됩니다. |
저랭크 구조를 위한 최적화 (Optimization for Low-Rank Structures)
그림 4. 행렬화 기반 최적화 PuzzleTensor의 목적 함수는 입력 텐서 를 변환하여 텐서 를 얻은 후 이를 각 모드에 대해 행렬화하여 핵노름의 가중합으로 설계됩니다. |
서브블록 변환 (Sub-Block Shifting)
그림 5. 서브블록 변환 각 서브블록에 대한 이동 양은 다른 서브블록과 공유되지 않으며, 각 블록의 이동은 독립적으로 학습됩니다. 따라서 이동 연산이 병렬적으로 계산될 수 있으며, 이로 인해 대규모 데이터의 전체 실행 시간이 크게 단축됩니다. |
Experiments
표 1은 서로 다른 압축 크기에서 PuzzleTensor의 재구성 성능을 평가합니다. 각 데이터셋에 대해 여러 목표 압축 크기를 지정하고, 다양한 분해 방법을 적용하여 해당 재구성 오차를 측정합니다. 압축 크기는 PuzzleTensor의 파라미터 수와 분해 자체의 파라미터 수를 합산하여 계산합니다. 일반적으로 압축 크기가 커질수록 더 높은 랭크를 허용할 수 있으며, 이로 인해 정확도가 향상됩니다. 표 1에서 볼 수 있듯이 PuzzleTensor를 결합하면 모든 경우에서 재구성 오차가 줄어들며, 이는 하이퍼슬라이스 이동이 더 압축적이고 정밀한 표현을 인자분해가 포착할 수 있도록 돕는다는 점을 시사합니다. 더 나아가, 이러한 성능 향상은 서로 다른 텐서 분해 계열 전반에 걸쳐 일관되게 나타납니다.
그림 6. PuzzleTensor의 확장성 평가 |
Conclusion
본 문서에서는 KDD 2025에 발표된 “PuzzleTensor: A Method-Agnostic Data Transformation for Compact Tensor Factorization” 논문을 소개하였습니다. 해당 논문은 텐서의 하이퍼슬라이스를 이동시키는 PuzzleTensor 기법을 제안하며, 이를 통해 기존 분해 알고리즘과 결합 시 더 낮은 랭크에서 정확한 분해를 가능하게 합니다. PuzzleTensor는 푸리에 변환을 활용하여 이산적 이동 연산을 연속적으로 완화함으로써 최적화 가능성을 확보하였고, 새로운 목적 함수를 통해 저랭크 구조를 유도하며, 서브블록 분해 전략으로 대규모 텐서에도 확장성을 보장합니다. 실험 결과, PuzzleTensor는 CP, Tucker, TT 등 다양한 텐서 분해 계열 전반에서 일관된 성능 향상을 보였으며, 동일한 압축 크기 기준으로 재구성 오차를 크게 줄였습니다. 본 논문은 데이터 마이닝, 머신러닝, 추천 시스템, 신호 처리, 과학 계산 등 다양한 분야에서 활용되는 텐서 분해의 효율성과 정확성을 동시에 향상시킬 수 있는 새로운 방법론을 제안합니다. 제안된 방법을 통해 대규모 고차원 데이터 분석의 효율성을 높이고, 더 나아가 실제 응용 환경에서의 활용 가능성을 넓힐 수 있을 것으로 기대됩니다. 본 논문에 대한 자세한 정보는 [링크]에서 확인할 수 있습니다.