矩阵乘积算符-MPO

当MPO遇到神经网络

全连接层

全连接层可以用如下函数表示:

\[y = W^TX + b \]

其中,W为权重参数,X为输入数据,
根据我们前面所学的知识:一维哈密顿量的基态可以用矩阵乘积态来表示,多自旋量子态的系数算符可以用矩阵乘积态表示为矩阵乘积算符(MPO) , 至此 ,就将指数爆炸增长的问题转移为参数成线性增加的多项式增加模型!所以 ,如果我们能用这样的思想来代替深度学习中全连接层中的 大量参数,那么我们的图像数据问题 相关的计算难度会瞬间降低!

矩阵乘积算符

多体量子态可以用MPS表示:一个量子态可以用一个完备基矢表示的波函数表示,例如对于N体波函数的\(|\Psi⟩\),可以表示为:

\[|\Psi⟩ = \sum_{i_{1},i_{2},i_3,...,i_N}Ci_1,i_2,i_3,...,i_N|i_1i_2i_3...i_N⟩ \]

其实,这里就是基矢的一个叠加,其对应的权重系数也就是张量元素 \(Ci_1i_2i_3...i_N\)
对应的物理算符系数就是

\[\hat O = \sum_{i1\,i_2\,...\,i_N,\,j_1\,j_2\,...j_N}O_{i_1\,i_2\,i_3\,...i_N\,j_1\,j_2\,...j_N\,|j_1\,j_2\,...j_N⟩⟨i_1\,i_2\,...\,i_N\,|} \]

显然,(a) 是权重张量C和它的矩阵乘积态表示,(b) 就是物理算符系数O和它的矩阵乘积态表示!

全连接层与MPO的结合

对于全连接层来说,输入 x 和输出 y 元素个数分别为 N 和 M ,那么权重参数矩阵W WW 中元素就会是 \(N*M\)
先将 \(W\) 中的大量参数分成 \(W_{ij} = W_{i_1\,i_2\,...\,i_n,j_1\,j_2\,...\,j_n}\),显然满足:

\[\prod_{i=1}^nI_i = N,\,\prod_{i=1}^nJ_i = M, \]

将全连接层的权重系数 用MPO来表示为:

\[W_{i_{1} i_{2} \ldots i_{n}, j_{1} j_{2} \ldots j_{n}}=\sum_{k_{1} k_{2} \ldots k_{(n-1)}} \omega_{k_{1}}^{(1)}\left[i_{1} j_{1}\right] \omega_{k_{1} k_{2}}^{(2)}\left[i_{2} j_{2}\right] \ldots \omega_{k_{(n-1)}}^{(n)}\left[i_{n} j_{n}\right] \]

参考文献

posted @ 2021-11-08 22:13  topbookcc  阅读(682)  评论(0编辑  收藏  举报
/* 鼠标点击求赞文字特效 */