张量网络算法基础(九、张量网络机器学习【下】)

暑假的接近尾声,这个系列也要结束了,这是这个系列的最后一篇。我们接着上篇继续讲!
张量网络算法基础(九、张量网络机器学习【下】)

一、监督/非监督张量网络机器学习

ψ\left| \psi \right\rangle 是一个L-qubit的量子态,它的参数复杂度会随着特征个数 L 呈指数上升,张量网络机器学习的中心思想之一就是将ψ\left| \psi \right\rangle用张量网络表示,从而使参数复杂度降低到多项式级。

在给定N个训练样本{X[n]}\left\{ {{X}^{[n]}} \right\}后,我们可以训练量子态,使其满足等概率假设:

P(X[1])=P(X[2])=\boldsymbol{P}\left(\boldsymbol{X}^{[\mathbf{1}]}\right)=\boldsymbol{P}\left(\boldsymbol{X}^{[2]}\right)=\cdots

这被称为MPS非监督机器学习。

定义交叉熵损失函数

f({X[n]})=1Nn=1NlnP(X[n])=1Nn=1Nln(l=1Lxl[n]ψ)2f\left(\left\{X^{[n]}\right\}\right)=-\frac{1}{N} \sum_{n=1}^{N} \ln P\left(X^{[n]}\right)=-\frac{1}{N} \sum_{n=1}^{N} \ln \left(\prod_{\otimes l=1}^{L}\left|\left\langle x_{l}^{[n]} \mid \psi\right\rangle\right|\right)^{2}

其中N为训练集样本个数,当且仅当P(X[1])=P(X[2])=\boldsymbol{P}\left(\boldsymbol{X}^{[\mathbf{1}]}\right)=\boldsymbol{P}\left(\boldsymbol{X}^{[2]}\right)=\cdots时,ff达到极小。

在MPS表示下损失函数如下图所示:

张量网络算法基础(九、张量网络机器学习【下】)
定义损失函数后,我们可以通过梯度更新方法,更新张量网络中的张量,使得损失函数降到极低,梯度更新的公式为

A(l)A(l)ηfA(l)A^{(l)} \leftarrow A^{(l)}-\eta \frac{\partial f}{\partial A^{(l)}}

使用MPS表示ψ\left| \psi \right\rangle时,可利用MPS中心正交形式,逐个更新各个张量,步骤如下:
a) 更新第ll 个张量A(l)A(l)ηfA(l)A^{(l)} \leftarrow A^{(l)}-\eta \frac{\partial f}{\partial A^{(l)}}时,将正交中心移动至该张量;
b) 利用张量网络的微分法则求出损失函数关于A(l)A(l)ηfA(l)A^{(l)} \leftarrow A^{(l)}-\eta \frac{\partial f}{\partial A^{(l)}}的梯度;

张量网络算法基础(九、张量网络机器学习【下】)
仔细看看上面这幅图,有用到之前学过的知识。忘记了?没事,再回顾下张量网络的梯度更新

张量网络算法基础(九、张量网络机器学习【下】)

二、张量网络图片生成与压缩

当得到量子态ψ\left| \psi \right\rangle后,可以求出像素的联合概率密度,还可以计算条件概率。将图片中部分已知像素记为{xm[A]}\left\{ x_{m}^{[A]} \right\},剩余未知像素记为{xn[B]}\left\{ x_{n}^{[B]} \right\},其概率分布可由条件概率给出:

P({xn[B]}{xm[A]})=(nxn[B]ψ~)2\boldsymbol{P}\left(\left\{\boldsymbol{x}_{\boldsymbol{n}}^{[\boldsymbol{B}]}\right\} \mid\left\{\boldsymbol{x}_{\boldsymbol{m}}^{[\boldsymbol{A}]}\right\}\right)=\left(\prod_{\otimes \boldsymbol{n}}\left\langle\boldsymbol{x}_{\boldsymbol{n}}^{[\boldsymbol{B}]} \mid \tilde{\boldsymbol{\psi}}\right\rangle\right)^{2}

其中,量子态ψ~\left| {\tilde{\psi }} \right\rangle是通过对ψ\left| \psi \right\rangle的投影测量获得:

ψ~=1Zmxm[A]ψ|\tilde{\psi}\rangle=\frac{1}{Z} \prod_{\otimes m}\left\langle x_{m}^{[A]} \mid \psi\right\rangle

其中Z为归一化系数,如下图所示:

张量网络算法基础(九、张量网络机器学习【下】)
上述条件概率的定义与之前子系统概率公式自洽。根据概率公式:

P({xn[B]})={xm(A)}P({xm[A]}{xn[B]})={xm(A)}P({xn[B]}{xm[A]})P({xm[A]})P\left(\left\{x_{n}^{[B]}\right\}\right)=\sum_{\left\{x_{m}^{(A)}\right\}} P\left(\left\{x_{m}^{[A]}\right\} \cup\left\{x_{n}^{[B]}\right\}\right)=\sum_{\left\{x_{m}^{(A)}\right\}} P\left(\left\{x_{n}^{[B]}\right\} \mid\left\{x_{m}^{[A]}\right\}\right) P\left(\left\{x_{m}^{[A]}\right\}\right)

上篇博客留下的证明题在这!
张量网络算法基础(九、张量网络机器学习【下】)

在等概率的先验分布前提下,先验分布近似为等概率分布,有:

P({xn[B]})=1Z{xm[A]}P({xn[B]}{xm[A]})P\left(\left\{x_{n}^{[B]}\right\}\right)=\frac{1}{Z} \sum_{\left\{x_{m}^{[A]}\right\}} P\left(\left\{x_{n}^{[B]}\right\} \mid\left\{x_{m}^{[A]}\right\}\right)

由于:
P({xn[B]}{xm[A]})=(nxn[B]ψ~)2\boldsymbol{P}\left(\left\{\boldsymbol{x}_{\boldsymbol{n}}^{[\boldsymbol{B}]}\right\} \mid\left\{\boldsymbol{x}_{\boldsymbol{m}}^{[\boldsymbol{A}]}\right\}\right)=\left(\prod_{\otimes \boldsymbol{n}}\left\langle\boldsymbol{x}_{\boldsymbol{n}}^{[\boldsymbol{B}]} \mid \tilde{\boldsymbol{\psi}}\right\rangle\right)^{2}

所以

P({xn[B]}{xm[A]})=1z(Πnxn[B]Πmxm[A]ψ)2P\left(\left\{x_{n}^{[B]}\right\} \mid\left\{x_{m}^{[A]}\right\}\right)=\frac{1}{z}\left(\Pi_{\otimes n}\left\langle x_{n}^{[B]}\left|\Pi_{\otimes m}\left\langle x_{m}^{[A]} \mid \psi\right\rangle\right)^{2}\right.\right.

代入条件概率公式得:

P({xn[B]})=nTr{xm[A]}xn[B]φφxn[B]=nxn[B]Tr{xm(A)}φφxn[B]\mathrm{P}\left(\left\{x_{n}^{[\mathrm{B}]}\right\}\right)=\prod_{\otimes n} \operatorname{Tr}_{\left\{x_{m}^{[\mathrm{A}]}\right\}}\left\langle x_{n}^{[\mathrm{B}]} \mid \varphi\right\rangle\left\langle\varphi \mid x_{n}^{[\mathrm{B}]}\right\rangle=\prod_{\otimes n}\left\langle x_{n}^{[\mathrm{B}]}\left|\operatorname{Tr}_{\left\{x_{m}^{(\mathrm{A})}\right\}}\right| \varphi\right\rangle\left\langle\varphi \mid x_{n}^{[\mathrm{B}]}\right\rangle

又因为

ρ^[B]=Tr{xm[A]}φφ\hat{\rho}^{[B]}=\operatorname{Tr}_{\left\{x_{m}^{[\mathrm{A}]}\right\}}|\varphi\rangle\langle\varphi|

由此上篇学过的概率公式P({xn[B]})=nxn[B]ρ^[B]xn[B]\text{P}\left( \left\{ x_{n}^{[\text{B}]} \right\} \right)=\prod\limits_{\otimes n}{\left\langle x_{n}^{[\text{B}]}\left| {{{\hat{\rho }}}^{[B]}} \right|x_{n}^{[\text{B}]} \right\rangle }得证。

采用逐点生成的方法避免指数级复杂度:

P({xn[B]}{xm[A]})=1z(Πnxn[B]Πmxm[A]ψ)2P\left(\left\{x_{n}^{[B]}\right\} \mid\left\{x_{m}^{[A]}\right\}\right)=\frac{1}{z}\left(\Pi_{\otimes n}\left\langle x_{n}^{[B]}\left|\Pi_{\otimes m}\left\langle x_{m}^{[A]} \mid \psi\right\rangle\right)^{2}\right.\right.

步骤如下:

  1. 通过ψ\left| \psi \right\rangle与已知像素{xm[A]}\left\{ x_{m}^{[A]} \right\},利用投影公式ψ~=1Zmxm[A]ψ|\tilde{\psi}\rangle=\frac{1}{Z} \prod_{\otimes m}\left\langle x_{m}^{[A]} \mid \psi\right\rangle计算描述未知像素对应的量子态,记为ψ~0\left| {{{\tilde{\psi }}}^{\text{0}}} \right\rangle
  2. 利用ψ~t1\left| {{{\tilde{\psi }}}^{t-1}} \right\rangle计算第t个未知像素xt[B]x_{t}^{[B]}对应的qubit的约化密度矩阵ρ^[t1]\hat{\rho }_{{}}^{[t-1]},计算该像素的概率分布P(x)=xρ^[t1]xP(x)=\left\langle x\left|\hat{\rho}^{[t-1]}\right| x\right\rangle,并根据该概率分布进行采样,生成该像素xt[B]x_{t}^{[B]}
  3. 如果仍有未知像素,则根据生成的像素对ψ~t1\left| {{{\tilde{\psi }}}^{t-1}} \right\rangle进行投影得到
    ψ~t=1zxtBψ~(t1)\left| {{{\tilde{\psi }}}^{t}} \right\rangle =\frac{1}{z}\left\langle x_{t}^{B} | {{{\tilde{\psi }}}^{(t-1)}} \right\rangle,并执行步骤 2

建议:上面的的内容有点难懂,当某个地方没有看懂的时候建议往上看看相应的公式,或许这样能好懂许多。

如果仅知道ψ\left| \psi \right\rangle而不知道任何像素,{xm[A]}\left\{ x_{m}^{[A]} \right\}可以把看成空集,也可以通过逐点生成法生成图片。每次通过约化密度矩阵计算出单个像素概率分布后,可通过随机采样生成该像素。可以在获得单个像素概率分布后,计算最概然的像素值作为生成的像素,采用此方法,每个量子态ψ\left| \psi \right\rangle仅生成一张最概然的图片,被称为量子平均图。

张量网络压缩感知:利用最概然生成法,对图片进行压缩采样,即通过保留尽量少的像素,利用量子态恢复重构出原始图片。其中采样的方法被称为纠缠次序采样协议(EOSP),核心思想是利用纠缠熵衡量不同像素携带的信息量的大小,以此采样纠缠熵大的像素。

张量网络算法基础(九、张量网络机器学习【下】)

三、监督性张量网络机器学习

以分类任务为例,我们需要使用张量网络建立从数据{x}\{x\}到分类标签κ\kappa的的函数映射ff,对于概率模型而言,该映射可以由条件概率P给出:

f:{x}κP(κ{x})f:\{x\} \rightarrow \kappa \Rightarrow P(\kappa \mid\{x\})

利用张量网络建立条件概率,一种常用的方法就是采用非监督机器学习的方法获得ψ\left| {\overset{\scriptscriptstyle\smile}{\psi }} \right\rangle并计算联合概率分布,再通过投影计算获得条件概率。ψ\left| {\overset{\scriptscriptstyle\smile}{\psi }} \right\rangle中含有(L+1)个qubit,其中L个qubit对应于图片像素,一个qubit对应于分类标签,因此MPS中含有(L+1)个物理指标。
张量网络算法基础(九、张量网络机器学习【下】)
进行监督学习的具体方法:

  1. 将分类标签κ\kappa也当作是特征量,利用训练集进行非监督机器学习,训练量子态ψ\left| {\overset{\scriptscriptstyle\smile}{\psi }} \right\rangle
  2. 利用投影计算条件概率P(κ{x})=(κn(xnψ~)2P(\kappa \mid \{x\})=\left( \left\langle \kappa \right|\prod\limits_{\otimes n}{{{\left( {{x}_{n}}|\tilde{\psi }\rangle \right)}^{2}}} \right.,分类结果即为最概然的标签值argmaxκ_{\kappa }P(κ{x})=(n(xnψ~)2P(\kappa \mid\{x\})=\left(\prod_{\otimes n}\left(x_{n}|\tilde{\psi}\rangle\right)^{2}\right.

注意:量子态归一化条件是张量网络量子概率可解释性的核心

我是一只正在不断学习、希望早日成为小白的小小白,有什么错误欢迎大家批评指正,喜欢的请点个赞哦!
张量网络算法基础(九、张量网络机器学习【下】)