Unsupervised Learning TNCS

论文下载:这里

原文入口:这里

简单看了一下这篇论文,它介绍了一种TNCS(Tensor network compressed sensing)算法来进行图片压缩。算法的思路是这样的:首先通过TN机器学习算法来将信息(或像素)投影到(也被称为波恩机)上,然后可以将它传递给对方,对方再进行解码还可以恢复到原本的整体数据,整个算法过程如下

算法能够将所有的像素存在量子概率分布中:

从上图可以看出,仅传递40个像素,就能将这个图片传递的差不多了,极大的减小了传输开销。

二、FRQI算法代码

FRQI算法代码以彩色图像为列,进行量子态映射,代码的整体过程是这样的。第一步,先对图片的每一个像素进行rgb三元素映射(映射公式如下所示)

θ=π/2(r/16+g/162+b/163)θ=π/2(r/16+g/16^2 +b/16^3 )

其次,将表示像素的作为量子电路中cu3门的输入进行处理,设计的电路如下所示

其中,cu3门的算符代入参数后可以表示为

[cosθ12sinθ12sinθ12cosθ12]\left[\begin{array}{rr} \cos \frac{\theta_{1}}{2} & -\sin \frac{\theta_{1}}{2} \\ \sin \frac{\theta_{1}}{2} & \cos \frac{\theta_{1}}{2} \end{array}\right]

经过对这个电路的局部验证,最终能够与论文中提到的公式达成一致。我通过这次验证,也是较为清楚的理解了电路设计和实现的核心思想,从熊珏婵那里学到很多知识,验证过程如下:

可以看到这部分电路是基本组成,依次对各个套用这样的门电路处理,最终就能得到如下结果,即将图片的n个像素映射成为级别的qubit量子态来表示,极大的节省了空间,提高了处理效率

I(θ)=12ni=022n1(cosθi0+sinθi1)i=12[(cosθ00+sinθ01)00+(cosθ10+sinθ11)01+(cosθ20+sinθ21)10+(cosθ30+sinθ31)11]\begin{array}{r} |I(\theta)\rangle=\frac{1}{2^{n}} \sum_{i=0}^{2^{2 n}-1}\left(\cos \theta_{i}|0\rangle+\sin \theta_{i}|1\rangle\right) \otimes|i\rangle \\ =\frac{1}{2}\left[\begin{array}{c} \left(\cos \theta_{0}|0\rangle+\sin \theta_{0}|1\rangle\right) \otimes|00\rangle+ \\ \left(\cos \theta_{1}|0\rangle+\sin \theta_{1}|1\rangle\right) \otimes|01\rangle+ \\ \left(\cos \theta_{2}|0\rangle+\sin \theta_{2}|1\rangle\right) \otimes|10\rangle+ \\ \left(\cos \theta_{3}|0\rangle+\sin \theta_{3}|1\rangle\right) \otimes|11\rangle \end{array}\right] \end{array}

随之而来的一个问题就是,通过这样像素的映射,将对像素的操作转移到量子电路上来,能够对像素进行并行计算。**那么在将该映射方法套用到张量网络处理MNIST数据集时,如何将张量网络设计成处理电路?**这是一个比较重要的问题,一个关于将张量网络和量子态结合的问题。在tree
TN那篇文献的附加代码中,张量网络仍是基于传统电路的串行处理模式进行处理,接下来会继续回顾《Towards
quantum machine learning with tensor networks》这篇文章。

TTN那部分代码的测试集准确率仍比较低,最高达到90%,各种方法都尝试了,例如划分数据集、修改评估函数等,结果没有显著上升。我觉得能解决高维辅助指标的表示问题,或许能有所改善。

三、张量网络基础课程

3.1 张量网络的基本定义

张量网络其实表示一个大的张量,这个大张量的指标其实就是张量网络中的物理指标。一个高阶张量可以被表示成不同的张量网络,如下图

闭合张量网络:将张量网络中的所有几何指标求和之后表示一个标量,这类网络可以用来表示一大类问题,例如格点模型的配分函数,量子多体态的观测量等

3.2 张量网络的低秩近似

解决如下问题:在如下给定的张量网络中,如何裁减某一个几何指标的维数,使得裁减前后的误差极小?

一种可行的方案就是,将将张量网络reshape成一个大矩阵,矩阵的横向是s1,s2指标,纵向是s3,s4,s5指标,然后进行SVD分解(这样可能会改变网络结构)

另一种方案是引入非方的裁减矩阵(),与连接待裁减指标的张量进行收缩,实现该指标的维数裁减。

那么如何计算裁减矩阵呢,视频中给出了两种方法:

  1. 通过规范变化,将张量网络变换为中心正交形式,正交中心为连接待裁减指标的两个张量中的一个

  2. 对正交中心的张量进行奇异值分解,由前个奇异向量构成,且

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2015-2024 YuleZhang's Blog
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信