Stochastic Gradients for Large-Scale Tensor Decomposition


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.

SIAM Journal on Mathematics of Data Science
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.


tensor decomposition, stochastic gradients, stochastic optimization, stratified sampling


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},