矩阵乘积算符-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\,|}
\]
全连接层与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,
\]
\[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]
\]