(23)等概率假设、量子懒惰学习、监督/非监督张量网络机器学习

问题:如何求 ∣ ψ ⟩ |\psi\rangle ψ
注:只要我们知道 ∣ ψ ⟩ |\psi\rangle ψ,就可以求出联合概率密度


1.等概率假设

对于一大类图片 X \mathbb{X} X,例如0到9的手写体数字(见MNIST数据集),我们可以训练量子态 ∣ ψ ⟩ |\psi\rangle ψ使得该类中每一张图片(记为 X X X )出现的概率非零且相等,即:
P ( X ) = ( ∏ ⊗ l = 1 L ∣ ⟨ x l ∣ ψ ⟩ ∣ ) 2 =  const.  ∀ X ∝ X \mathrm{P}(X)=\left(\prod_{\otimes l=1}^{L}\left|\left\langle x_{l} \mid \psi\right\rangle\right|\right)^{2}=\text { const. } \forall \mathrm{X} \propto \mathbb{X} P(X)=(l=1Lxlψ)2= const. XX注:找到一个 ∣ ψ ⟩ |\psi\rangle ψ,使得 ∣ ψ ⟩ |\psi\rangle ψ对应的联合概率中每一个样本出现的概率都等于一个非零的常数
等概率假设:当上式成立时,我们认为 ∣ ψ ⟩ |\psi\rangle ψ给出的联合概率分布 P ( X ) \mathrm{P}(X) P(X) 接近该类图片 X \mathbb{X} X给出的像素的联合概率分布。

2.量子懒惰学习

实际上。如果已知 X \mathbb{X} X(例如MNIST训练集),我们可以直接写出一种满足等概率假设的量子态:
∣ ψ lazy  ⟩ = 1 ∣ X ∣ ∑ X ∝ X ∏ ⊗ l = 1 L ∣ x l ⟩ \left|\psi^{\text {lazy }}\right\rangle=\frac{1}{\sqrt{|\mathbb{X}|}} \sum_{X \propto \mathbb{X}} \prod_{\otimes l=1}^{L}\left|x_{l}\right\rangle ψlazy =X 1XXl=1Lxl其中| X \mathbb{X} X|代表 X \mathbb{X} X中图片数量。上态称之为lazy态
在这里插入图片描述


由于“正交灾难",容易看出lazy态满足概率归一条件
⟨ ψ l a z y ∣ ψ l a z y ⟩ = 1 ∣ X ∣ ∑ X , X ′ ∝ X ⟨ X ∣ X ′ ⟩ ≈ 1 ∣ X ∣ ∑ X , X ′ ∝ X δ X , X ′ = 1 \left\langle\psi^{\mathrm{lazy}} \mid \psi^{\mathrm{lazy}}\right\rangle=\frac{1}{|\mathbb{X}|} \sum_{X, X^{\prime} \propto \mathbb{X}}\left\langle X \mid X^{\prime}\right\rangle \approx \frac{1}{|\mathbb{X}|} \sum_{X, X^{\prime} \propto \mathbb{X}} \delta_{X, X^{\prime}}=1 ψlazyψlazy=X1X,XXXXX1X,XXδX,X=1只要知道训练集 X \mathbb{X} X,即可通过特征映射计算出 ∣ ψ l a z y ⟩ , \left|\psi^{\mathrm{lazy}}\right\rangle, ψlazy, 而不需要通过任何训练过程, ∣ ψ l a z y ⟩ \left|\psi^{\mathrm{lazy}}\right\rangle ψlazy 中也不包含任何变分参数, 因此通过lazy态实现机器学习任务被称为量子懒惰学习 (quantun lazy learning)。唯一可调的超参数为特征映射中的形式与参数。
例如:我们可以通过lazy态实现监督性分类。以MNIST为例,对于训练集10类图片,定义10个lazy态
∣ ψ k lazy  ⟩ = 1 ∣ X k ∣ ∑ X ∝ x k ∏ ⊗ l = 1 L ∣ x l ⟩ \left|\psi_{k}^{\text {lazy }}\right\rangle=\frac{1}{\sqrt{\left|\mathbb{X}_{k}\right|}} \sum_{\mathbf{X} \propto x_{k}} \prod_{\otimes l=1}^{L}\left|x_{l}\right\rangle ψklazy =Xk 1Xxkl=1Lxl其中 X k \mathbb{X}_{k} Xk 代表第k类训练集样本。
根据这10个lazy态 { ∣ ψ k lazy  ⟩ } , \left\{\left|\psi_{k}^{\text {lazy }}\right\rangle\right\}, {ψklazy }, 我们可以根据量子概率定义估计任意图片 ( ( (记为 Y Y Y) 出现在第k类的概率 P k ( Y ) = ∣ ⟨ Y ∣ ψ k lazy  ⟩ ∣ 2 P_{k}(\boldsymbol{Y})=|\left\langle\boldsymbol{Y} \mid \psi_{k}^{\text {lazy }}\right\rangle|^2 Pk(Y)=Yψklazy 2显然,该图片最概然的分类是argmax k ( P k ( Y ) ) _{k}\left(P_{k}(Y)\right) k(Pk(Y))
即概率最大的那个类即为分类器 { ∣ ψ k lazy  ⟩ } \left\{\left|\psi_{k}^{\text {lazy }}\right\rangle\right\} {ψklazy } 给出的该图片的分类预测
这种非参数的方法可以给出不错的分类结果:MNIST ∼ 97 % \sim 97 \% 97%, fashion-MNIST ∼ 85 % \sim85 \% 85%
量子懒惰学习的表现虽然不及神经网络,但是超过了其它非参数学习方法以及SVM(调非常多的参数),朴素贝叶斯等方法(更多与SVM联系的讨论见PRB 101, 075135(2020))

3.监督/非监督张量网络机器学习

显然, ∣ ψ ⟩ |\boldsymbol{\psi}\rangle ψ 的参数复杂度会随着特征个数 L L L指数上升,张量网络机器学习的中心思想之一就是 ∣ ψ ⟩ |\psi\rangle ψ用张量网络表示,从而使参数复杂度降低到多项式级
注:lazy态同样指数复杂,但计算概率 P ( X ) P(X) P(X) 的复杂度仅为多项式级


问题:如果我们想进一步提高精度,想要进行对 ∣ ψ ⟩ |\boldsymbol{\psi}\rangle ψ的优化,就需要将 ∣ ψ ⟩ |\boldsymbol{\psi}\rangle ψ 写出来


在给定N个训练集样本 { X [ n ] } \left\{X^{[n]}\right\} {X[n]} 后,我们可以训练量子态,使其满足等概率假设 P ( X [ 1 ] ) = P ( X [ 2 ] ) = ⋯   , \boldsymbol{P}\left(\boldsymbol{X}^{[1]}\right)=\boldsymbol{P}\left(\boldsymbol{X}^{[2]}\right)=\cdots, P(X[1])=P(X[2])=,这被称为MPS非监督机器学习

3.1定义交叉熵损失函数:

f ( { X [ n ] } ) = − 1 N ∑ n = 1 N ln ⁡ P ( X [ n ] ) = − 1 N ∑ n = 1 N ln ⁡ ( ∏ ⊗ l = 1 L ∣ ⟨ x l [ n ] ∣ ψ ⟩ ∣ ) 2 f\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} f({X[n]})=N1n=1NlnP(X[n])=N1n=1Nln(l=1Lxl[n]ψ)2其中 N N N 为训练集样本个数。显然, 当且仅当 P ( X [ 1 ] ) = P ( X [ 2 ] ) = ⋯ P\left(X^{[1]}\right)=P\left(X^{[2]}\right)=\cdots P(X[1])=P(X[2])= 时, f f f达到极小
MPS表示下损失函数如图:
在这里插入图片描述

3.2梯度更新方法

定义损失函数后, 我们可以通过梯度更新方法,更新张量网络中的张量, 使得损失函数降到极低,梯度更新公式为:
A ( l ) ← A ( l ) − η ∂ f ∂ A ( l ) A^{(l)} \leftarrow A^{(l)}-\eta \frac{\partial f}{\partial A^{(l)}} A(l)A(l)ηA(l)f梯度步长 η \eta η 又被称为学习率
使用MPS表示 ∣ ψ ⟩ |\psi\rangle ψ 时,可利用MPS中心正交形式,逐个更新各个张量, 步骤如下:
(1) 更新第 l l l个张量 A ( l ) A^{(l)} A(l) 时,将正交中心移动至该张量;
(2) 利用张量网络的微分法则求出损失函数关于 A ( l ) A^{(l)} A(l) 的梯度;
在这里插入图片描述
也可以考虑直接使用自动微分技术计算梯度, 以pytorch为例,设置MPS中张量的requires_grad=True, 即打开自动微分开关, 计算损失函数之后进行backward,所有打开了自动微分的张量的梯度, 将被自动计算出来。这样做可以同时更新所有张量,且不必保持MPS的中心正交形式。
同时, 可以使用torch.nn.optimizer进行学习了的自动优化,例如Adam, SGD等。
中心正则方式下逐个更新张量与自动微分同时更新所有张量相比,前者的精度与收致速度更好,这是由于前者的更新满足 “切空间更新原理",具体细节参考:PRE 102,012152(2020)
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值