前段时间在组里分享了张量分解相关的知识,现在想把它整理成一个系列,供有需要的同学阅读。
张量分解系列:
张量分解(一):基础知识
张量分解(二):CP分解
张量分解(三):Tucker分解
张量分解(四):Tensor-train Decomposition
张量分解(五):Tensorizing Neural Network
张量分解(六):TTRNN model for video classification
下文根据Tensor Decompositions and Applications∗ 整理,原文比较长,我主要整理了一些比较常用的,有需要的同学可以直接阅读原文。
我们知道,一维的数组叫向量,二维的叫矩阵,三维及三维以上的就是张量了。
如下图,就是一个三阶张量:
以下为一些张量相关的基础知识:
1)张量的范数:所有元素的平方和的平方根(类似于矩阵的F范数)
2)张量内积:两个相同大小的张量的内积为它们对应元素的乘积之和
3)Rank-one tensors:一种特殊的张量类型,如果一个N阶的张量能以N个向量的外积来表示,那么这就是一个Rank-one tensors,具体如下图:
4)Diagonal tensors:
5)张量乘法:
6)Kronecker product:
7)Khatri-Rao product:其实就是Kronecker product列元素上的匹配:
8)Hadamard product:按元素相乘,因此两个tensor的维度必须相同:
以上,便是张量分解领域部分比较常见的知识点,下一篇文章,我将讲解一个常见的张量分解算法:CP decomposition.