张量网络算法基础(八、张量网络机器学习【上】) MapReduce 简介 Python爬虫入门教程 81-100 小众爬虫框架looter,框架作者竟然在官方手册开车 机器人二维导航教程汇总 mapper 使用示例 Redis的概念及关系型与非关系型数据库对比 MySQL必知必会:使用WHERE、正则表达式、通配符过滤数据 Solr的增量更新和全量更新对比 MYSQL数据库维护 MATLAB与Mysql数据库连接并数据交换(基于ODBC) 数据库:PostgreSQL:基础功能使用介绍 MYSQL 5.7 高级SQL语句(3)——数据库函数和存储过程 mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决) SpringBoot升级/指定jackson版本 JAVA - EnumMap与EnumSet简单总结 js获取主机mac等信息【亲测有效】-- 附执行结果&代码 [记录六] Vue(全家桶)+node+koa2+mysql+nginx+redis,博客全栈项目之node后台连接mysql和redis,登陆接口的编写 C# 读取XML配置文件 MongoDB数据库设置密码 Redis之重设密码及开启远程访问 本地Navicat连接阿里云MySQL数据库注意要点 PHP Windows系统实现定时任务的两种方式bat版 面试官让我手写promise,我这样写,他很满意 超级码力在线编程大赛初赛 第二场 UML类图的依赖和关联详解(含代码) 【C语言】新手实现简单的石头剪刀布人机对战 Codeforces Round #666 (Div. 2)题解ABC Codeforces Round #666 (Div. 2)E Monster Invaders 华为今年不会推出运行鸿蒙OS的手机;Deno 1.3.2发布|极客头条 异或在笔试题中的超神表现 超级码力在线编程大赛初赛 第2场 T1-T4题解 1397D. Stoned Game(博弈) Codeforces Round #666(Div.2)A~D题题解 高性能微服务架构技术选型 阿里饿了么Java4面:(数据结构+框架源码+JVM+分布式) 2020java面试总结 使用ffmpeg提取mp4内部日期重命名文件(需lua) 【剑指Offer】56.2 数组中只出现一次的数字,其他出现3次 JAVA二三事-使用IO+Properties实现动态读取文本信息 排序算法的C语言实现C代码(未更完) RT-Thread 内核学习--信号量的初步使用 【剑指Offer】57.2 和为S的连续正数序列 Qt三方库开发技术:QXlsx介绍、编译和使用 4G DTU模块的作用和功能说明 【Tips】- Wifi模块和4G无线通信 【5G核心网】 Identifiers 身份标识 DPDK支持的硬件:CPU、网卡NIC、加密引擎、基带加速器 如何根据普通ip地址获取当前地理位置 人工智能能力提升指导总结 520了,用32做个简单的小程序
您的位置:首页 >运维 >

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

张量网络机器学习

一、机器学习基本思想二、希尔伯特空间、特征映射与量子概率三、等概率先验假设与量子懒惰学习
我是一只正在不断学习、希望早日成为小白的小小白,有什么错误欢迎大家批评指正,喜欢的请点个赞哦!
在这里插入图片描述

一、机器学习基本思想

机器学习模型可以看作是一个黑盒子,接受输入信息之后,信息接受一系列的操作输出目标信息。从数学的角度来讲,机器学习可以看作是数学映射fff,映射的变量就是输入信息xxx,且包含变分参数www,输出信息yyy为目标信息,形式上可写成 y=f(x;w)y=f(x;w)y=f(x;w)

在这里插入图片描述
举几个生活中常见的例子:在自动驾驶中,输入驾驶环境信息及交通规则等,输出驾驶操作动作;在图形识别中,输入图片信息,输出图像分类;在棋类游戏中,输入棋盘信息及游戏规则,输出如何进行下一步棋……

机器学习中最著名的模型为神经网络,以2层全连接层构成的前馈神经网络为例,其函数可以写成

f=σ2(W^σ1(W^x+b1)+b2)f={{\sigma }_{2}}(\hat{W}{{\sigma }_{1}}(\hat{W}x+{{b}_{1}})+{{b}_{2}})f=σ2​(W^σ1​(W^x+b1​)+b2​)

其中W^\hat{W}W^为第n个全连接层的权重矩阵,bn{{b}_{n}}bn​为偏置项,σn{{\sigma }_{n}}σn​为激活函数。第n层的输入向量与该层的权重矩阵作乘积,所得到的向量加上偏置向量后,输入到该层的激活函数,最终得到的向量为该层的输出。例如下图的神经网络示意图,输入xxx为4维向量,由4个特征构成,比如4个像素值,2层的权重矩阵维数分别为4×6、6×3,偏置项维数分别为6维、3维,输出yyy为3维向量。

在这里插入图片描述
张量网络机器学习实质就是,利用张量网络建立输入到输出的映射fff,并使用张量网络算法实现变分参数的更新。张量网络机器学习的基本步骤:将数据编码/嵌入到量子希尔伯特空间,利用张量网络在该空间进行映射获得输出。

二、希尔伯特空间、特征映射与量子概率

在这里插入图片描述

张量网络机器学习第一步,将数据映射到量子多体态对应的希尔伯特空间,这个是方法不唯一,感兴趣的可以自己尝试下其它映射方法。通过特征映射将一个样本映射成L个qubit的直积态,其中L为特征的个数。以图像为例,设第 n 张图片的第lll个像素值为xl[n](0xl[n]1)x_{l}^{[n]}(0\le x_{l}^{[n]}\le 1)xl[n]​(0≤xl[n]​≤1),将其映射为单个qubit态:

xl[n]=cosxl[n]π20+sinxl[n]π21\left| x_{l}^{[n]} \right\rangle =\cos \frac{x_{l}^{[n]}\pi }{2}\left| 0 \right\rangle +\sin \frac{x_{l}^{[n]}\pi }{2}\left| 1 \right\rangle∣∣∣​xl[n]​⟩=cos2xl[n]​π​∣0⟩+sin2xl[n]​π​∣1⟩

由此可见,不同灰度值的像素被映射出不同“倾角”的自旋态,一整张图片被映射为由个qubit构成的直积态
S[n]=l=1Lxi[n]\left| {{S}^{[n]}} \right\rangle =\prod\limits_{\otimes l=1}^{L}{\left| {{x}_{i}}^{[n]} \right\rangle }∣∣∣​S[n]⟩=⊗l=1∏L​∣∣∣​xi​[n]⟩

在这里插入图片描述

为什么要做这样的映射呢?后面要做的量子概率,只有这样映射完以后,根据量子测量来定义一张图片出现在我的量子概率模型和张量网络模型里面的概率,刚好就等于我根据这个直积态对张量网络量子态测量得到的概率,为下一步用张量网络量子态来表示这个图片出现的概率服务。不懂也没关系,我们继续往下看就会慢慢明白了!

量子态化后的图片,其系数为2L{{2}^{L}}2L阶的向量,也就是该张量所处矢量空间的维数关于像素个数指数增大。由于维数增大,任意两张不同图片对应的量子态其内积大小也会随着像素个数指数减小,所以任意两张不同图片对应的量子态是近似正交的,也就是内积近似等于0,用X[m]X[n]δmn\left\langle{{X}^{[m]}} | {{X}^{[n]}} \right\rangle \approx {{\delta }_{mn}}⟨X[m]∣X[n]⟩≈δmn​来表示,这也是所谓的“正交灾难”,但是实际上这并不是灾难,为什么呢?可以一边往下看一边思考,答案最后揭晓。这样的性质可以和量子态概率诠释结合,得到新的基于量子概率的张量网络机器学习模型。

对于具备 L 个像素的图片集而言,我们假设其联合概率分布是由L个qubit构成的多体态描述,记为ψ\left| \psi\right\rangle∣ψ⟩,满足:

P(y1,,yL)=(l=1Lylψ)P({{y}_{1}},\ldots ,{{y}_{L}})=(\prod\limits_{\otimes l=1}^{L}{\left\langle{{y}_{l}} | \psi\right\rangle })P(y1​,…,yL​)=(⊗l=1∏L​⟨yl​∣ψ⟩)

其中P(y1,,yL)P({{y}_{1}},\ldots ,{{y}_{L}})P(y1​,…,yL​)表示该概率分布给出的样本Y=(y1,,yL)Y=({{y}_{1}},\ldots ,{{y}_{L}})Y=(y1​,…,yL​)出现的概率。在定义了量子态ψ\left| \psi\right\rangle∣ψ⟩之后,可以计算出任何样本出现的概率。推论:单张图片经过特征映射获得的量子态可用于定义联合概率分布ψ=X[n]\left| \psi\right\rangle =\left| {{X}^{[n]}} \right\rangle∣ψ⟩=∣∣​X[n]⟩。由于正交灾难,另外一张不同的图片在该概率分布中出现的概率几乎为0。看到这,对于为什么正交灾难其实不是灾难这个问题是否有思绪了?我们继续往下看。

前面我们将一个特征映射成一个qubit的量子态,该量子态的空间的维数d=2,一个特征量的取值个数D可能等于或大于2,例如灰度图中一个像素可以取D=256个不同的灰度值,黑白图中一个像素可以取黑(1)、白(0)两个值。如果局域量子空间维数等于特征取值个数,即d=D,则不同的样本对应的量子态完全正交,有X[m]X[n]=δmn\left\langle{{X}^{[m]}} | {{X}^{[n]}} \right\rangle ={{\delta }_{mn}}⟨X[m]∣X[n]⟩=δmn​,例如黑白图,只要有一个像素不一样,那么这两张图片对应的量子态的内积就是0.这也就意味着,用其中一张图片去定义量子态ψ\left| \psi\right\rangle∣ψ⟩,与之不同的图片出现的概率为0。当d=D时,全空间所有的样本概率之和等于1,由基底的正交完备性
y1,,yL=1Dl=1Lylyl=I\sum_{y_{1}, \ldots, y_{L}=1}^{D} \prod_{\otimes l=1}^{L}\left|y_{l}\right\rangle\left\langle y_{l}\right|=Iy1​,…,yL​=1∑D​⊗l=1∏L​∣yl​⟩⟨yl​∣=I

我们可以得到:

y1,,yL=1DP(y1,,yL)=y1,,yL=1Dl=1Lψylylψ=l=1Lψψ=1\sum\limits_{{{y}_{1}},\ldots ,{{y}_{L}}=1}^{D}{\text{P}}\left( {{y}_{1}},\ldots ,{{y}_{L}} \right)=\sum\limits_{{{y}_{1}},\ldots ,{{y}_{L}}=1}^{D}{\prod\limits_{\otimes l=1}^{L}{\left| \left\langle \psi \mid {{y}_{l}} \right\rangle \left\langle {{y}_{l}}\mid \psi\right\rangle\right|}}=\prod\limits_{\otimes l=1}^{L}{|}\langle \psi \mid \psi \rangle |=1y1​,…,yL​=1∑D​P(y1​,…,yL​)=y1​,…,yL​=1∑D​⊗l=1∏L​∣⟨ψ∣yl​⟩⟨yl​∣ψ⟩∣=⊗l=1∏L​∣⟨ψ∣ψ⟩∣=1

子体系的联合概率和整个体系的联合概率之间的关系,将特征量分为两部分

{xl}={xm[A]}{xn[B]}\left\{ {{x}_{l}} \right\}=\left\{ x_{m}^{[A]} \right\}\cup \left\{ x_{n}^{[\text{B}]} \right\}{xl​}={xm[A]​}∪{xn[B]​}

由概率公式P({xn[B]})={xm[A]}P({xm[A]}{xn[B]})P\left(\left\{x_{n}^{[\mathrm{B}]}\right\}\right)=\sum_{\left\{x_{m}^{[\mathrm{A}]}\right\}} \mathrm{P}\left(\left\{x_{m}^{[\mathrm{A}]}\right\} \cup\left\{x_{n}^{[\mathrm{B}]}\right\}\right)P({xn[B]​})=∑{xm[A]​}​P({xm[A]​}∪{xn[B]​})直接对{xm[A]}\left\{ x_{m}^{[A]} \right\}{xm[A]​}的自由度求和。可得,某一子部分的概率密度P({xn[B]}),{xn[B]}\mathrm{P}\left( \left\{ \mathrm{x}_{\mathrm{n}}^{[\mathrm{B}]} \right\} \right)\text{ , }\left\{ \mathrm{x}_{\mathrm{n}}^{[\mathrm{B}]} \right\}P({xn[B]​}),{xn[B]​}对应的qubit的约化密度矩阵给出:

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

如下图所示,对对{xm[A]}\left\{ x_{m}^{[A]} \right\}{xm[A]​}的自由度求和也就是对绿色的张量进行求和,得到的张量就是对{xm[B]}\left\{ x_{m}^{[B]} \right\}{xm[B]​}的自由度求和对应的约化密度矩阵。

在这里插入图片描述
子部分的概率密度:

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]​})=⊗n∏​⟨xn[B]​∣∣∣​ρ^​[B]∣∣∣​xn[B]​⟩

在这里插入图片描述
我们可以尝试去证明上面的式子,证明过程下篇博客揭晓!

三、等概率先验假设与量子懒惰学习

对于一大类图片集x\text{x}x ,例如0到9的手写数字集,如下图所示:
在这里插入图片描述
我们可以通过不断训练,得到一个量子态,使得该数字集中每一张图片出现的概率非零且相等,即:
P(X)=(l=1Lxlψ)2=const.Xx\mathrm{P}(\boldsymbol{X})=\left(\prod_{\otimes l=1}^{L}\left|\left\langle x_{l} \mid \psi\right\rangle\right|\right)^{2}=\text { const. } \forall \mathbf{X} \propto \mathrm{x}P(X)=(⊗l=1∏L​∣⟨xl​∣ψ⟩∣)2=const.∀X∝x

等概率假设:当上式成立时,我们认为ψ\left| \psi\right\rangle∣ψ⟩给出的联合概率分布P(X)P(X)P(X)接近该类图片x\text{x}x给出的像素联合概率分布。实际上,当我们已知x\text{x}x时,我们可以直接写成一种满足等概率假设的量子态:
ψlazy=1xXxl=1Lxl\left| {{\psi }^{\text{lazy }}} \right\rangle =\frac{1}{\sqrt{|\text{x}|}}\sum\limits_{X\propto \text{x}}{\prod\limits_{\otimes l=1}^{L}{\left| {{x}_{l}} \right\rangle }}∣∣​ψlazy⟩=∣x∣​1​X∝x∑​⊗l=1∏L​∣xl​⟩

其中x\left| \text{x} \right|∣x∣代表x\text{x}x中图片的数量。得到的量子态被称为lazy态。
因为
ψlazyψlazy=1xX,XXXX1XX,XXδX,X=1\left\langle {{\psi }^{\text{lazy }}}\mid {{\psi }^{\text{lazy }}} \right\rangle =\frac{1}{|x|}\sum\limits_{X,{{X}^{\prime }}{{\propto }_{X}}}{\left\langle X\mid {{X}^{\prime }} \right\rangle }\approx \frac{1}{|\mathbb{X}|}\sum\limits_{X,{{X}^{\prime }}{{\propto }_{X}}}{{{\delta }_{X,{{X}^{\prime }}}}}=1⟨ψlazy∣ψlazy⟩=∣x∣1​X,X′∝X​∑​⟨X∣X′⟩≈∣X∣1​X,X′∝X​∑​δX,X′​=1

可以得出lazy态满足概率归一条件。由此我们可以知道,只要知道训练集 ,即可以通过特征映射计算出ψlazy\left| {{\psi }^{\text{lazy }}} \right\rangle∣∣​ψlazy⟩。不需要通过任何训练过程,ψlazy\left| {{\psi }^{\text{lazy }}} \right\rangle∣∣​ψlazy⟩中也不包含任何变分参数,因此通过lazy态实现机器学习任务的过程被称为量子懒惰学习。

例如,我们可以通过lazy实现监督性分类。以MNIST为例,对于训练集10类图片,定义10个lazy态:
ψklazy=1xkXxkl=1Lxl\left| \psi _{k}^{\text{lazy}} \right\rangle =\frac{1}{\sqrt{\left| {{\text{x}}_{k}} \right|}}\sum\limits_{\text{X}\propto {{\text{x}}_{k}}}{\prod\limits_{\otimes l=1}^{L}{\left| {{x}_{l}} \right\rangle }}∣∣∣​ψklazy​⟩=∣xk​∣​1​X∝xk​∑​⊗l=1∏L​∣xl​⟩

其中xk{{\text{x}}_{k}}xk​ 代表第k类训练集样本。根据这10个lazy态,我们可以根据量子概率定义,估计任意图片Y出现在第k类的概率:

Pk(Y)=Yψklazy2{{P}_{k}}(\mathbf{Y})=|\left\langle \mathbf{Y}\mid \psi _{k}^{\text{lazy}} \right\rangle {{|}^{2}}Pk​(Y)=∣⟨Y∣ψklazy​⟩∣2

概率最大的那个类即为分类器{ψklazy}\{\left| \psi _{k}^{\text{lazy}} \right\rangle \}{∣∣∣​ψklazy​⟩} 给出的该图片的分类预测,用这种非参数的方法可以得到不错的分类结果,但是这种非参数的机器学习一般的到的效果没有参数机器学习好。我们下期继续!

为什么正交灾难其实不是灾难?
在这里插入图片描述
看完这篇博客的小伙伴或多或少都有点头绪了吧?如果我们要判断两张图片是不是一样的,就可以先用其中一张图片定义量子态ψ\left| \psi\right\rangle∣ψ⟩,利用P(y1,,yL)=(l=1Lylψ)P({{y}_{1}},\ldots ,{{y}_{L}})=(\prod\limits_{\otimes l=1}^{L}{\left\langle{{y}_{l}} | \psi\right\rangle })P(y1​,…,yL​)=(⊗l=1∏L​⟨yl​∣ψ⟩)计算另外一张图片出现的概率,若等于1则两张图片一样,若等于0,则两张图片不一样。是不是很神奇!
在这里插入图片描述

我是一只正在不断学习、希望早日成为小白的小小白,有什么错误欢迎大家批评指正,喜欢的请点个赞哦!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。