十二、张量网络机器学习(一)


1. 机器学习基本思想


       简单来说,机器学习可以看成是一个接受输入信息后,输出想要得到的目标信息的一种模型。我们进行机器学习的目的就是找到这种模型,让这种模型能够进行这种信息的转换。
在这里插入图片描述

       机器学习的几个常见的例子如下:

  • 图形识别中,输入图片信息,输出图像分类
  • 语言翻译中,输入源语言文字,输出翻译后语言文字
  • 自动驾驶中,输入驾驶环境信息及交通规则等,输出驾驶操作
  • 棋类游戏中,输入棋盘信息及游戏规则,输出如何走下一步棋

       从更加数学的角度来讲,机器学习模型可以看作是一个数学映射 f f f ,该映射的变量是 输入信息 x \pmb{x} xxx (由特征值构成的向量)和 变分参数 w \pmb{w} www ,映射的输出为目标信息,可以用公式表示为:
y = f ( x ; w ) \pmb{y}=f(\pmb{x};\pmb{w}) yyy=f(xxx;www)

其中 y \pmb{y} yyy 为输出值构成的向量。

       机器学习中最著名的模型为神经网络,我们以两层全连接层构成的前馈神经网络为例,其映射函数可以表示为:
f = σ 2 ( W ^ 2 σ 1 ( W ^ 1 x + b 1 ) + b 2 ) f=\sigma_{2}\left(\widehat{W}_{2} \sigma_{1}\left(\widehat{W}_{1} \boldsymbol{x}+\boldsymbol{b}_{1}\right)+\boldsymbol{b}_{2}\right) f=σ2(W 2σ1(W 1x+b1)+b2)

其中, W ^ n \widehat{W}_n W n 为第 n n n 个全连接层的 权重矩阵 b n \pmb{b}_n bbbn偏置项 σ n \sigma_n σn激活函数

       该映射的过程为,第 n n n 层的输入向量与该层的权重矩阵做矩阵乘积,所得的向量加上偏置项后,输入到该层的激活函数,得到该层的输出 ,本层的输出作为下一层的输入。

       下图为一个三分器的神经网络的示意图,该神经网络可以将输入信息分为三类,其中输入 x \pmb{x} xxx 为四维向量,由四个特征值组成,可以用四个像素的值来表示。下图中的黄线代表权重矩阵,两个权重矩阵的维数分别为 4 × 6 4\times 6 4×6 6 × 3 6 \times 3 6×3 ,偏置项的维数分别为 6 6 6 维 和 3 3 3 维,输出的 y \pmb{y} yyy 为三维向量。其作用的过程为,首先将 4 4 4 维特征向量和 4 × 6 4\times 6 4×6 的权重矩阵相乘,得到一个 6 6 6 维的向量,将该 6 6 6 维向量和偏置项相加,得到的结果为 6 6 6 维向量,然后用激活函数作用,得到结果,将结果与 6 × 3 6 \times 3 6×3 的权重矩阵相乘,得到三维向量,重复作用偏置项和激活函数,得到输出向量,分类的结果可以使用向量 y \pmb{y} yyy 中的某一个元素来表示。
在这里插入图片描述

       机器学习的核心要素包括:

  • 学习任务性质:包括监督学习、半监督学习、非监督学习、强化学习等。
  • 机器学习的模型:包括神经网络、玻尔兹曼机、支持向量机、非参数模型等。
  • 模型的优化算法:包括反向传播算法、贪婪更新法等。

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


       我们利用张量网络进行机器学习的实质就是,利用张量网络来建立输入到输出的映射,也就是上面的 f f f ,同时我们使用张量网络的算法实现映射中变分参数的更新。

       我们利用张量网络进行机器学习的步骤为:

  1. 将数据 编码/嵌入 到量子多体态对应的量子希尔伯特空间。这样就可以使用张量网络模型作用到这些数据上。

  2. 利用张量网络在该空间进行 映射 获得输出的结果。也就是将张量网络作用到第一步的数据。

       张量网络机器学习是一种概率型模型进行机器学习的方法,其相比于其他的方法,有着较高的精度和更强的可解释性,但是其精度和效率还有待提高。

       进行张量网络机器学习的第一步是将数据映射到量子多体态对应的空间。其基本思想为:通过 特征映射 ,将一个样本映射成 L L L 个 qubit 的直积态( L L L 为特征的个数)。特征映射与后面要定义的量子概率有关,这样映射过之后,我们就可以根据量子测量来定义一张图片出现在量子概率模型(张量网络模型)里的概率,其概率等价于根据直积态对张量网络量子态测量得到的概率。

       以图像为例,我们假设第 n n n 张图片的第 l l l 个像素的值为 x l [ n ] ( 0 ≤ x l [ n ] ≤ 1 ) x_l^{[n]}(0\leq x_l^{[n]} \leq 1) xl[n](0xl[n]1) ,将其映射为单个 qubit 态 ∣ x l [ n ] ⟩ \left|x_{l}^{[n]}\right\rangle xl[n]
∣ x l [ n ] ⟩ = cos ⁡ x l [ n ] π 2 ∣ 0 ⟩ + sin ⁡ x l [ n ] π 2 ∣ 1 ⟩ \left|x_{l}^{[n]}\right\rangle=\cos \frac{x_{l}^{[n]} \pi}{2}|0\rangle+\sin \frac{x_{l}^{[n]} \pi}{2}|1\rangle xl[n]=cos2xl[n]π0+sin2xl[n]π1

其中不同灰度值的像素被映射除不同倾斜角的自旋态。

如下图所示,全黑的像素被映射为量子态 ∣ 1 ⟩ |1\rangle 1 ,灰色的像素被映射为 1 2 ∣ 0 ⟩ + 1 2 ∣ 1 ⟩ \frac{1}{\sqrt{2}}|0\rangle+\frac{1}{\sqrt{2}}|1\rangle 2 10+2 11 ,全白的像素被映射为量子态 ∣ 0 ⟩ |0\rangle 0

在这里插入图片描述

若一整张图片有 L L L 个像素,那么第 n n n 张图片可以表示为 L L L 个 qubit 构成的直积态,它是一个 2 L 2^L 2L 的高维张量,即:
∣ s [ n ] ∣ = ∏ ⊗ l = 1 L ∣ x l [ n ] ⟩ \left|s^{[n]}\right|=\prod_{\otimes l=1}^{L}\left|x_{l}^{[n]}\right\rangle s[n]=l=1Lxl[n]

       量子态化后的图片,其系数为 2 l 2^l 2l 维的向量,也就是该量子态所处矢量空间的维数随着像素个数呈指数增大,该数据是指数大的,也就是我们之前学习的指数墙问题,用经典计算机是很难解决的,这也是使用张量网络处理量子态化的图片的主要动机之一。并且我们可以很自然的和量子计算结合起来,可以使用量子计算机对量子态化的图片进行处理。

       由于量子态化的图片其维数呈指数大,那么任意两张不同图片对应的量子态,其内积大小(也称为保真度)也会随着像素的个数呈指数减小。所以,任意两张不同图片对应的量子态是近似正交的(其内积为 0),相同图片的内积为 1 ,可以用公式表示为:
⟨ X [ m ] ∣ X [ n ] ⟩ ≈ δ m n \left\langle X^{[m]} \mid X^{[n]}\right\rangle \approx \delta_{m n} X[m]X[n]δmn

这被称为 "正交灾难”。但是我们可以利用这样的 “灾难” 和量子态概率诠释相结合,得到新的基于量子概率的张量网络机器学习模型。

       对于具备 L L L 个像素的图片集,我们假设其联合概率分布由 L L L 个 qubit 构成的多体态(记为 ∣ ψ ⟩ |\psi\rangle ψ )描述,该联合概率分布满足:
P ( y 1 , … , y L ) = ( ∏ ⊗ l = 1 L ∣ ⟨ y l ∣ ψ ⟩ ∣ ) 2 \mathrm{P}\left(y_{1}, \ldots, y_{L}\right)= \left(\prod_{\otimes l=1}^{L}\left|\left\langle y_{l} \mid \psi\right\rangle\right|\right)^{2} P(y1,,yL)=(l=1Lylψ)2

其中 P ( y 1 , … , y L ) \mathrm{P}\left(y_{1}, \ldots, y_{L}\right) P(y1,,yL) 表示该概率分布给出的样本 Y = ( y 1 , … , y L ) \mathrm{Y}=\left(y_{1}, \ldots, y_{L}\right) Y=(y1,,yL) 出现的概率。我们用特征映射得到的量子多体态 y l y_l yl 和预先给定的量子态 ∣ ψ ⟩ |\psi\rangle ψ 做内积之后取模方,我们就可以计算出任意样本出现的概率。上面的公式用图形表示如下,也就是将图片的每个矩阵化的像素作用到多体态上得到该图片是某种样本的概率,张量网络机器学习的目标就是寻找并优化多体态 ∣ ψ ⟩ |\psi\rangle ψ

在这里插入图片描述

       这个联合概率实际就是多体态 ∣ ψ ⟩ |\psi\rangle ψ 在给定图片进行特征映射得到的 y 1 y_1 y1 y L y_L yL 这个基底下进行测量的概率。给定量子态后我们要得到某个构型,其概率就是测量得到 y 1 y_1 y1 y L y_L yL 的概率。

       推论:单张图片经过特征映射获得的量子态可以用来定义联合概率分布为:
∣ ψ ⟩ = ∣ X [ n ] ⟩ |\psi\rangle=\left|X^{[n]}\right\rangle ψ=X[n]

正是由于正交灾难,另一张不同的图片在该概率分布中出现的概率几乎为 0 。所以该推论是合理的。

       上面我们考虑了将一个特征映射成一个 qubit 的量子态,该量子态的空间(局域量子空间,也就是将一个像素映射为几维向量)的维数 d = 2 d=2 d=2 。一个特征量的取值个数 D D D 可能等于或大于 2 ,例如,在灰度图中,一个像素可以取 D = 256 D=256 D=256 个不同的灰度值,二值图中一个像素可以取 0(白)或 1 (黑)两个值。

       如果局域量子空间维数等于特征取值的个数 d = D d=D d=D ,那么不同样本对应的量子态完全正交,有:
⟨ X [ m ] ∣ X [ n ] ⟩ = δ m n \left\langle X^{[m]} \mid X^{[n]}\right\rangle=\delta_{m n} X[m]X[n]=δmn

这意味着,一张图片量子态对应的概率分布中,出现与之不同的图片的概率为 0 。

       但是大量的计算表明,我们要求绝对正交性的意义并不大,大部分情况下反而会使得计算复杂度大大增大,因为维数过大的 MPS 态进行裁剪时需要保留的截断维数会非常大。就算对于 D = 256 D=256 D=256 的灰度图,使用 d = 2 d=2 d=2 的 qubit 态仍然可以取得较高的精度。

       在 d = D d=D d=D 时的另一个简明之处是概率归一性的严格满足,也就是全空间所有样本的概率之和为 1 ,即:
∑ y 1 , … , y L = 1 D P ( y 1 , … , y L ) = ∑ y 1 , … , y L = 1 D ∏ ⊗ l = 1 L ∣ ⟨ ψ ∣ y l ⟩ ⟨ y l ∣ ψ ⟩ ∣ = ∏ ⊗ l = 1 L ∣ ⟨ ψ ∣ ψ ⟩ ∣ = 1 \sum_{y_{1}, \ldots, y_{L}=1}^{D} \mathrm{P}\left(y_{1}, \ldots, y_{L}\right) =\sum_{y_{1}, \ldots, y_{L}=1}^{D} \prod_{\otimes l=1}^{L}\left|\left\langle\psi \mid y_{l}\right\rangle\left\langle y_{l} \mid \psi\right\rangle\right| =\prod_{\otimes l=1}^{L}|\langle\psi \mid \psi\rangle|=1 y1,,yL=1DP(y1,,yL)=y1,,yL=1Dl=1Lψylylψ=l=1Lψψ=1

上式的计算中用到了基底的正交完备性:
∑ y 1 , … , y L = 1 D ∏ ⊗ l = 1 L ∣ y l ⟩ ⟨ y l ∣ = I \sum_{y_{1}, \ldots, y_{L}=1}^{D} \prod_{\otimes l=1}^{L}\left|y_{l}\right\rangle\left\langle y_{l}\right|=I y1,,yL=1Dl=1Lylyl=I

也就是 y l y_l yl 构成了一组正交完备基底,因为不同的图片严格正交。

       如果 d < D d<D d<D ,有
∑ y 1 , … , y L = 1 D P ( y 1 , … , y L ) > 1 \sum_{y_{1}, \ldots, y_{L}=1}^{D} \mathrm{P}\left(y_{1}, \ldots, y_{L}\right)>1 y1,,yL=1DP(y1,,yL)>1

也就是概率的归一性被违背,但好在同时有
∑ y 1 , … , y L = 1 D ∏ ⊗ l = 1 L ∣ y l ⟩ ⟨ y l ∣ ∝ I \sum_{y_{1}, \ldots, y_{L}=1}^{D} \prod_{\otimes l=1}^{L}\left|y_{l}\right\rangle\left\langle y_{l}\right| \propto I y1,,yL=1Dl=1LylylI

也就是上面的求和近似正比于单位阵,和单位阵相当差一个正比系数。因此,归一性的违背仅等价于引入了一个大于 1 的归一化因子,它并没有破坏概率性的描述。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐