在张量计算中,向量、矩阵以及张量之间的计算其实都可以用图形进行表示,这种表示方法可以直观生动地表现出运算规则,另外,它也是很多物理系统中常用的工具。今天,我们将介绍一些常见张量网络的图结构。
1 基本的张量网络图
我们知道:向量和矩阵都可以看作是张量,只不过它们都是低阶张量。在张量网络中,我们可以根据维度信息将向量和矩阵绘制成标准的图结构。
在图中,标量 (scalar) 是一个单一的节点,向量是由一个节点和一条表示向量大小为的边构成,矩阵则是由一个节点和两条表示矩阵大小为
的边构成。
2 张量计算的图结构
1) 向量-向量相乘:给定任意两个大小为的向量
,则可以得到一个标量
。
2) 矩阵-向量相乘:给定任意大小为的矩阵
和大小为
的向量
,则相乘之后可以得到一个大小为
的向量
。
3) 矩阵-矩阵相乘:给定两个大小分别为和
的矩阵A和矩阵B,则相乘之后会得到一个大小为
的矩阵AB。
4) 向量外积:给定两个大小分别为为和
的矩阵a和矩阵b,则向量外积得到一个大小为
的矩阵
。
5) 张量-向量相乘:给定任意大小为的三阶张量
和三个大小分别为
、
和
的向量a,b,c,则相乘之后可以得到一个标量,记作
。
在图结构中,四个节点分别表示张量和向量,三条边对应着张量-向量相乘。我们也能将这一运算泛化到任意阶张量上,如下图。
6) 张量-矩阵混合乘积:混合乘积满足上述运算规则。
3 一些张量网络模型案例
1) 张量链式分解 (tensor train decomposition),基本表示可参考机器学习 | 张量链式分解。
2) 树形张量网络 (tree tensor network),也是多层Tucker分解。
3) 张量环式分解 (tensor ring decomposition)。
参考资料
- 日本RIKEN赵启斌教授的汇报slides:Tensor Networks in Machine Learning: Recent Advances and Frontiers