Stochastic Gradients for Large-Scale Tensor Decomposition

Abstract

Tensor decomposition is a well-known tool for multiway data analysis. This work proposes using stochastic gradients for efficient generalized canonical polyadic (GCP) tensor decomposition of large-scale tensors. GCP tensor decomposition is a recently proposed version of tensor decomposition that allows for a variety of loss functions such as Bernoulli loss for binary data or Huber loss for robust estimation. The stochastic gradient is formed from randomly sampled elements of the tensor and is efficient because it can be computed using the sparse matricized-tensor-times-Khatri-Rao product (MTTKRP) tensor kernel. For dense tensors, we simply use uniform sampling. For sparse tensors, we propose two types of stratified sampling that give precedence to sampling nonzeros. Numerical results demonstrate the advantages of the proposed approach and its scalability to large-scale problems.

Publication
SIAM Journal on Mathematics of Data Science
Date
Citation
T. G. Kolda, D. Hong. Stochastic Gradients for Large-Scale Tensor Decomposition. SIAM Journal on Mathematics of Data Science, Vol. 2, No. 4, pp. 1066-1095, 2020. https://doi.org/10.1137/19m1266265

Keywords

tensor decomposition, stochastic gradients, stochastic optimization, stratified sampling

BibTeX

@article{KoHo20,  
author = {Tamara G. Kolda and David Hong}, 
title = {Stochastic Gradients for Large-Scale Tensor Decomposition}, 
journal = {SIAM Journal on Mathematics of Data Science}, 
volume = {2}, 
number = {4}, 
pages = {1066--1095}, 
month = {October}, 
year = {2020},
doi = {10.1137/19m1266265},
eprint = {1906.01687},
}