In this paper, we develop a method which we call OnlineGCP for computing the Generalized Canonical Polyadic (GCP) tensor decomposition of streaming data. GCP differs from traditional canonical polyadic (CP) tensor decompositions as it allows for arbitrary objective functions which the CP model attempts to minimize. This approach can provide better fits and more interpretable models when the observed tensor data is strongly non-Gaussian. In the streaming case, tensor data is gradually observed over time and the algorithm must incrementally update a GCP factorization with limited access to prior data. In this work, we extend the GCP formalism to the streaming context by deriving a GCP optimization problem to be solved as new tensor data is observed, formulate a tunable history term to balance reconstruction of recently observed data with data observed in the past, develop a scalable solution strategy based on segregated solves using stochastic gradient descent methods, describe a software implementation that provides performance and portability to contemporary CPU and GPU architectures and integrates with Matlab for enhanced useability, and demonstrate the utility and performance of the approach and software on several synthetic and real tensor data sets.
@inproceedings{PhJoKo23,
author = {Eric T. Phipps and Nicholas T. Johnson and Tamara G. Kolda},
title = {Streaming Generalized Canonical Polyadic Tensor Decompositions},
booktitle = {Proceedings of Platform for Advanced Scientific Computing (PASC'23) Conference},
publisher = {ACM},
month = {June},
year = {2023},
doi = {10.1145/3592979.3593405},
eprint = {2110.14514},
}