利用树结构的张量网络进行机器学习

利用树结构的张量网络进行机器学习(Machine learning by unitary tensor network of hierarchical tree structure)


概要


应用在量子多体物理和机器学习之间相似的方法已经吸引力广泛的注意力。特别是在可以将张量网络应用到机器学习中的领域,张量网络和深度学习结构有特别很高的相似度。

过往的研究使用一维张量网络进行图片识别,但是其受限于可扩展性和灵活性。这里,我们训练二维的分级张量网络来解决图片识别问题,使用一种源自于 MERA 的算法。这种方法引入了量子多体物理、量子信息理论和机器学习之间的数学联系。

在训练阶段保持 TN 幺正态的同时,我们定义 TN态,之后将图像类编码成量子多体态。

我们还研究了张量状态的量子特征,包括量子纠缠与保真度。我们发现这些量可能是表示图像类以及机器学习任务的属性。

介绍


最近几年,在将量子理论和技术应用到现实的问题上取得了很大的进展,包括量子模拟器,量子计算机和量子机器学习的初步实验。对于某些领域,量子的能力受限于量子多体体系的属性。作为学习量子多体系统最有力的一种工具,张量网络已经吸引力很多的注意力。例如,张量网络最近被用来解决机器学习中的一些问题,比如数据降维,和手写字体识别。张量网络允许通过提供抽象层对不同物理的数值处理,深度学习利用分级表示,在自动特征提取和模式识别方向实现了相似的进展。这两种方法的相似度越来越高。在理论层面,在深度学习和重整化群之间有一个映射,他们将全息投影和深度学习联系起来,也可以从量子纠缠的角度来设计张量网络。反过来,神经网络也可以表示量子态。

在工作中,我们获得一种基于 MERA 算法被称为 TTN 的分级表示 的量子启发式算法。如下图所示,其表示将图片转换为一个 d L d^L dL 维的希尔伯特空间中的向量,然后将向量通过 TTN 来预测分类,进行输出。 L 是像素个数, d 是像素映射为向量的维数,D 是分类的个数。一个分层结构的 TTN 比一维的张量网络更加适合描述二维图片的性质,例如 MPS 。之后,我们明确地把机器学习和量子量联系起来,比如保真度和纠缠。
利用树结构的张量网络进行机器学习_第1张图片

另外,我们的算法允许使用单位门构造 TTN ,这样可以使用量子模拟器或量子计算来实施我们的方案。

这个算法用 MNIST (手写体识别)和 CIFAR (图像识别)数据库进行了测试。编码不同种类图片的量子多体态可以从 TTN 形式的 Ψ \Psi Ψ 来定义。这和概率图模型与张量网络的双重性类似。

结合一种常见的低维嵌入法 t - SNE ,我们发现抽象层次的变化和深度卷积神经网络或者深度信念网络相似。最高级别的层次带来更加明确的分类。最后我们研究训练状态的保真度和纠缠度。通过比较这两种分类器的准确度,我们的结果表明这两种分类器在分类上展现出了不同的保真度。纠缠是用来描述张量网络复杂度的一个重要因素,观测到适度的纠缠熵意味着 TTN 可以用有效地表示分类器。


树状张量网络和算法


我们的算法从映射每一个像素 x 到一个 d - 分量的向量 v(x) ,这就是所谓的特征图,它被定义为

v s ( x ) = ( d − 1 s − 1 ) ( cos ⁡ ( π 2 x ) ) d − s ( sin ⁡ ( π 2 x ) ) s − 1 v_{s}(x)=\sqrt{ \left(\begin{array}{c} d-1 \\ s-1 \end{array} \right)} \left(\cos \left(\frac{\pi}{2} x\right)\right)^{d-s} \left(\sin \left(\frac{\pi}{2} x\right)\right)^{s-1} vs(x)=(d1s1) (cos(2πx))ds(sin(2πx))s1

其中 s 从 1 变化到 d 。使用越大的 d ,树状张量网络有更逼近丰富分类函数的潜力。这个定义保证了向量的规范化,对任何 d 都满足 ∑ s ∣ v s ∣ 2 = 1 \sum_{s}\left|v^{s}\right|^{2}=1 svs2=1 。L 是像素个数, d 是像素映射为向量的维数,D 是分类的个数。

对于非线性的特征图,我们将灰度图像(标记为第 n 个实例)从标量空间投影到 d L d^L dL 维的向量空间,将图像表示为 L L L 个局部 d d d 维向量的直积态
∣ v [ n ] ⟩ = ∏ j = 1 L ∣ v [ n , j ] ⟩ \left|v^{[n]}\right\rangle=\prod_{j=1}^{L}\left|v^{[n, j]}\right\rangle v[n]=j=1Lv[n,j]

其中
∣ v [ n , j ] ⟩ = ∑ s v s [ n , j ] ( x ) ∣ s ⟩ \left|v^{[n, j]}\right\rangle=\sum_{s} v_{s}^{[n, j]}(x)|s\rangle v[n,j]=svs[n,j](x)s

表示第 n n n 张图片的第 j j j 个像素。 ∣ s ⟩ |s\rangle s 表示一个自旋的基矢,L 是图片像素的个数。

我们介绍 Ψ \Psi Ψ 是一个分层结构的 K K K 层的张量网络,其系数为:
Ψ ^ p , s 1 , 1 ⋯ s L K , 4 = ∑ { s } ∏ k = 1 K ∏ m = 1 L k T s k + 1 , m ′ s k , m 1 s k , m 2 s k , m 3 s k , m 4 [ k , m ] \hat{\Psi}_{p, s_{1,1} \cdots s_{L_{K}, 4}} =\sum_{\{s\}} \prod_{k=1}^{K} \prod_{m=1}^{L_{k}} T_{ s_{k+1, m{'}} s_{k, m_{1}} s_{k, m _2} s_{k, m 3} s_{k, m_{4}} } ^ {[k, m]} Ψ^p,s1,1sLK,4={s}k=1Km=1LkTsk+1,msk,m1sk,m2sk,m3sk,m4[k,m]

其中 L k L_k Lk 是第 k k k 层的 张量数, K K K 是层数。在我们的 TTN 中,每一个张量包括五个 bond ,这对应于每个 T T T 的五个下标。

如下图所示,和 ∣ v ∣ n , j ∣ ⟩ |v^{|n,j|}\rangle vn,j 收缩的指标被称为输入指标;图种的最右边的指标 p p p 是匹配标签,与其收缩的指标被称为输出指标。在这两个中间的指标称为虚拟指标。输出指标的维数和被识别的种类数相同。每个输入指标的维数为 d d d ,每个虚拟指标的维数记为 χ \chi χ 。虽然我们的方法适用于复数 TTN ,这里为了简单起见,我们假设所有的张量是实数。
利用树结构的张量网络进行机器学习_第2张图片

我们将 ∣ v [ n ] ⟩ |v^{[n]}\rangle v[n] 和 TTN 收缩得到的向量作为输出张量,即
∣ p ~ [ n ] ⟩ = Ψ ^ H ∣ v [ n ] ⟩ \left| \tilde{p} ^ {[n]} \right\rangle =\hat{\Psi} ^ H \left| v^{[n]} \right\rangle p~[n]=Ψ^Hv[n]

其中 ∣ p ~ [ n ] ⟩ \left| \tilde{p} ^ {[n]} \right\rangle p~[n] 是第 n n n 个样本的预测标签。在此基础上,我们得到了一种基于 MERA 的高效训练算法。我们定义需要最小化的损失函数为:
f = − ∑ n = 1 N ⟨ p ~ [ n ] ∣ p [ n ] ⟩ f= -\sum_{n=1}^{N} \left\langle \tilde{p}^{[n]} \mid p^{[n]} \right\rangle f=n=1Np~[n]p[n]

N N N 为样本总数, ∣ p [ n ] ⟩ |p^{[n]}\rangle p[n] 是图片的真实标签。其可以解释为 ∣ v [ n ] ⟩ |v^{[n]}\rangle v[n] ∣ p ~ [ n ] ⟩ \left| \tilde{p} ^ {[n]} \right\rangle p~[n](即 Ψ ^ ∣ p [ n ] ⟩ \hat{\Psi}|p^{[n]}\rangle Ψ^p[n]) 之间的内积,这使得我们可以使用 MERA 算法。

事实上,上述代价函数可以从平方误差的代价函数推导出来,即

f = ∑ n = 1 N ( ∣ p [ n ] ⟩ − ∣ p ~ [ n ] ⟩ ) 2 f= \sum_{n=1}^{N}\left(\left|p^{[n]}\right\rangle-\left|\tilde{p}^{[n]}\right\rangle\right)^{2} f=n=1N(p[n]p~[n])2

该式可以转换为如下形式:

f = ∑ n = 1 N ( ⟨ v [ n ] ∣ Ψ ^ Ψ ^ † ∣ v [ n ] ⟩ − 2 ⟨ v [ n ] ∣ Ψ ^ ∣ p [ n ] ⟩ + 1 ) f=\sum_{n=1}^{N}\left(\left\langle v^{[n]}\left|\hat{\Psi} \hat{\Psi}^{\dagger}\right| v^{[n]}\right\rangle-2\left\langle v^{[n]}|\hat{\Psi}| p^{[n]}\right\rangle+1\right) f=n=1N(v[n]Ψ^Ψ^v[n]2v[n]Ψ^p[n]+1)

上式第三个项是由于 ∣ p [ j ] ⟩ |p^{[j]}\rangle p[j] 的正则化,而且我们假设第二个项是实数。主要损失来自于第一个式子。我们借鉴 MERA 的方法,通过强制 Ψ ^ \hat{\Psi} Ψ^ 为酉矩阵来降低损失。然后用 Ψ ^ Ψ ^ † ≃ I \hat{\Psi} \hat{\Psi}^{\dagger} \simeq I Ψ^Ψ^I 优化 Ψ \Psi Ψ ,我们不需要从等式 Ψ ^ Ψ ^ † \hat{\Psi} \hat{\Psi}^{\dagger} Ψ^Ψ^ 来验证,而是在训练样本下用下式来表示,也就是第一项的结果为 1 , N N N 个 1 的叠加结果就是下式的结果:
∑ n = 1 N ⟨ v [ n ] ∣ Ψ ^ Ψ ^ † ∣ v [ n ] ⟩ ≃ ∑ n = 1 N ⟨ v [ n ] ∣ v [ n ] ⟩ = N \sum_{n=1}^{N}\left\langle v^{[n]}\left|\hat{\Psi} \hat{\Psi}^{\dagger}\right| v^{[n]}\right\rangle \simeq \sum_{n=1}^{N}\left\langle v^{[n]} \mid v^{[n]}\right\rangle=N n=1Nv[n]Ψ^Ψ^v[n]n=1Nv[n]v[n]=N

在 MERA 中,有一个更加严格的限制:TTN 中的所有张量被要求为幺正的,满足 T H T = I T^H T=I THT=I (也就是通过收缩 T 和 T的共轭的四个下标得到这个等式)。在这个约束下 TTN 作为一个整体满足幺正变换 Ψ ^ Ψ ^ † = I \hat{\Psi} \hat{\Psi}^{\dagger} = I Ψ^Ψ^=I

对于求解量子多体问题的TN算法,TTN通常给出一个实空间重整化群。幺正条件保证了重整化的无偏移实现,并保证了张量网络形式的量子状态是正则化的。注意,在张量网络基础算法的幺正条件的使用和讨论可以追溯到密度矩阵重整化群 (DMRG)这个论文。在我们的情形下,树状张量网络可以简单的看成将 d L d^L dL 维的空间压缩到 D 维。幺正条件就是第一项变成了常数的损失函数。我们仅仅需要处理第二项,损失函数变为:
f = − ∑ n = 1 N ⟨ v [ n ] ∣ Ψ ^ ∣ p [ n ] ⟩ f=-\sum_{n=1}^{N}\left\langle v^{[n]}|\hat{\Psi}| p^{[n]}\right\rangle f=n=1Nv[n]Ψ^p[n]

这也就是我们刚开始定义的损失函数, f f f 中的每一项简化为张量网络的收缩。
在这里插入图片描述


在我们定义了损失函数后,如果我们能够求出一个树状张量网络 Ψ ^ \hat{\Psi} Ψ^ ,该张量网络能够使损失函数取得最小值,即使下式最小,那么该张量网络就能够用来识别其他图片是否属于该分类。
f = − ∑ n = 1 N ⟨ v [ n ] ∣ Ψ ^ ∣ p [ n ] ⟩ f=-\sum_{n=1}^{N}\left\langle v^{[n]}|\hat{\Psi}| p^{[n]}\right\rangle f=n=1Nv[n]Ψ^p[n]


我们可以通过对树状张量网络中的张量交替更新以最小化上面的损失函数。以更新 T [ k , m ] T^{[k,m]} T[k,m] 为例,我们假设其他张量固定并且定义环境张量 E [ k , m ] E^{[k,m]} E[k,m] 为除 T [ k , m ] T^{[k,m]} T[k,m] 之外其他所有张量的收缩。之后等式 4 变成了:

f = − Tr ⁡ ( T [ k , m ] E [ k , m ] ) f=-\operatorname{Tr}\left(T^{[k, m]} E^{[k, m]}\right) f=Tr(T[k,m]E[k,m])

利用 T [ k , m ] T^{[k,m]} T[k,m] 是等距张量的性质和 Cauchy-Schwarz 不等式可以证明,在其它张量不变的情况下,当 T [ k , m ] = V U † T^{[k, m]}=V U^{\dagger} T[k,m]=VU f f f 取得最小值, V V V U U U 是对环境张量 E E E 进行 SVD 分解得到的结果,即
E [ k , m ] = U Λ V † E^{[k, m]}=U \Lambda V^{\dagger} E[k,m]=UΛV

之后我们得到 f = − ∑ a Λ a f=-\sum_a \Lambda_a f=aΛa

更新一个张量变成了计算环境张量和它的 SVD 分解。计算的复杂度是 O ( ( χ 5 + d 4 χ ) L N ) O\left(\left(\chi^{5}+d^{4} \chi\right) L N\right) O((χ5+d4χ)LN) χ \chi χ 是虚拟指标的维数,d 是输入指标的维数, L 是一个图片的像素个数,N 是训练样本数。

建立多种分类器的策略是灵活的。我们这里选择一对多的方案。对于每一类,我们用 是 和 否 标记样本,让 TTN 可以识别一个图片是否属于这个分类。输出为一个二维的向量。我们将标签是 记为 ∣ y e s ⟩ = [ 1 , 0 ] |yes\rangle=[1,0] yes=[1,0] 。如果有 p 类图像,我们需要 p 种 TTN 而且定义每种 TTN 为:
∣ ψ p ⟩ = Ψ ^ [ p ] ∣  yes  ⟩ \left|\psi_{p}\right\rangle=\hat{\Psi}^{[p]} \mid \text { yes }\rangle ψp=Ψ^[p] yes 

为了识别给定的样本,我们引入一个 p p p 维向量 F [ n ] F^{[n]} F[n],其中的每个元素 F p [ n ] = ∣ ⟨ v [ n ] ∣ ψ p ⟩ ∣ F_{p}^{[n]}=\left|\left\langle v^{[n]} \mid \psi_{p}\right\rangle\right| Fp[n]=v[n]ψp 他是 ψ p \psi_p ψp 和待分类的向量化的图片的保真度。最大元素的位置表明图像属于哪一类。

在我们的方案种, ∣ ψ p ⟩ |\psi_p\rangle ψp 可以被理解为近似于
∣ ψ ~ p ⟩ = ∑ n ∈ p  th class  ∣ v [ p ] ⟩ \left|\tilde{\psi}_{p}\right\rangle=\sum_{n \in p \text { th class }}\left|v^{[p]}\right\rangle ψ~p=np th class v[p]

的 TTN 形式的多体量子态(达到标准化因素)。在之前的工作中,TTN 形式被用在机器学习中的一些有用的方向。例如,TTN 通过张量分解,有效地逼近一个给定地高阶张量。利用delta张量,提出了TTN和卷积运算电路之间的一对一结构等价性,允许通过纠缠进行网络设计。这里我们不通过分解获取 TTN ,而是通过训练获取,也就是通过最小化损失函数。这与现有的方法有本质的不同,即:

  1. 我们的目的是进行分类,而不是进行张量近似。
  2. TTN 中的张量没有被限制为某个特定的形式(如 delte 张量),而是通过 MERA 算法进行更新。

即使我们有 ∣ ψ p ⟩ = ∣ ψ ~ p ⟩ \left|\psi_{p}\right\rangle=\left|\tilde{\psi}_{p}\right\rangle ψp=ψ~p ,当虚拟指标的维数足够大时,由于会产生过拟合,我们也不能给出最优分类。

这里我们对上述过程进行梳理:

  1. 首先我们通过预测标签和真实标签的差距定义了损失函数,如果想要使预测标签和真实标签差距最小,我们可以通过最小化损失函数的方式达到目的。

  2. 损失函数中包含树状张量网络,为了使损失函数最小,我们只能不断调整张量网络来达到损失函数的最小值。

  3. 通过数学方法可以推出,交替更新树状张量网络中的每一个张量可以使损失函数最小。跟新的方法是令每一个张量重新替换为对环境张量 SVD 分解得到的 U U U V V V 的乘积。

  4. 当损失函数收敛后,得到的 TTN 就能用来判断输入的向量化的图片是否属于该分类。


表示能力与推广


这里的表示能力表示 TN 实际上可以达到的参数空间,它是指 TN 能够实现什么样的功能。为了演示 TTN 的表示能力,我们使用 CIFAR-10 数据集,它包括 10 种五万张训练集 RGB 图像和 10000 张测试数据集。每一个 RGB 图像时原始的 32 × 32 32 \times 32 32×32 像素。我们将他们转换为灰度图来不失一般性的降低算法的复杂度。

下图的 (a) 展示了表示能力和 TTN 键的维数的关系。表示能力是由训练的准确度反应的(训练数据集的准确度)。考虑 Ψ ^ \hat{\Psi} Ψ^ 为一个映射,也就是将矩阵化的图片从 d L d^L dL 维的空间投影到 D 维空间, Ψ ^ \hat{\Psi} Ψ^ 的表示能力受限于 Ψ ^ \hat{\Psi} Ψ^ 的输入维数。同时 Ψ ^ \hat{\Psi} Ψ^ 可以被看成一个指数大映射的近似值,通过将其写成小张量的收缩。虚拟指标的维数决定了 Ψ ^ \hat{\Psi} Ψ^ 可以有多接近极限。
利用树结构的张量网络进行机器学习_第3张图片

卷积序列和池化层在深度学习的特征提取中被用来达到越来越高的抽象等级,这对于有判别性的学习更有效。这通常是通过使用t分布随机邻域嵌入在二维表示中来实现的,这是一种非常适合于高维数据集可视化的降维方法。如果可以在嵌入中清楚的进行分类,那么后续的分类器将会很容易进行高精度分类。我们在下图中为 TTN 中的每一层绘制嵌入。样品趋向于向高层次、不同区域聚集,最终在顶层之后被分离成两条曲线。
利用树结构的张量网络进行机器学习_第4张图片


泛化表示对新的不可见情况的预测能力。为了测试 TTN 的泛化能力,我们使用 MNIST 手写数字数据集。这个训练集包括 60000 (28 × 28) 灰度图,包括 10000 测试用例。为了简化编码,我们将它们重新缩放为(16×16)个图像,这样就可以方便地构建四层的 TTN 。

图表 2(b) 展示了不同数量的训练集的表示能力和泛化。我们发现,随着输入和虚拟键维数的增加,训练精度,也就是表示能力有了明显的提高。对泛化能力,我们可以通过测试精度来体现。由于过拟合,测试精度不一定随 χ \chi χ 的增加而增加。以1000 幅训练图像为例,较高 χ \chi χ 的TTN能更准确地捕获训练样本(即训练精度较高),但 χ > 4 \chi >4 χ>4 时测试精度下降。过拟合可以通过增加样本量为 4000 来降低。我们的结果反映了统计学习的理论原理。

下表展示了是对十类图片的分类的精度。
利用树结构的张量网络进行机器学习_第5张图片


保真度和纠缠


两种状态之间的保真度被定义为:
F p p ′ = ∣ ⟨ ψ p ∣ ψ p ′ ⟩ ∣ \mathcal{F}_{p p^{\prime}}=\left|\left\langle\psi_{p} \mid \psi_{p}^{\prime}\right\rangle\right| Fpp=ψpψp

这用来测量希尔伯特空间中的两个量子状态之间的距离,也就是两种状态之间的相似度。下图种 (a) 展示了从 MNIST 数据集训练的每两个 ∣ ψ p ⟩ |\psi_p\rangle ψp 之间的保真度。我们可以发现 F p p ′ \mathcal{F}_{p p^{\prime}} Fpp 在多数情况下保持很小。这表示 ∣ ψ p ⟩ |\psi_p\rangle ψp 几乎是正交的。

每两类的二进制测试精度在下图 (a) 中给出。我们发现保真度越高,准确率也就越低,意味着越难进行分类。例如,一个大的保真度为 F 4 , 9 ≃ 0.14 \mathcal{F}_{4,9} \simeq 0.14 F4,90.14 其相关的精确度 A 4 , 9 ≃ 0.95 \mathcal{A}_{4,9} \simeq 0.95 A4,90.95 ,我们推测这与TTN中数据实例的馈送和处理方式密切相关,TTN本质上给出了一个实空间重整化群流:输入向量按其在图像中的空间位置逐层排列和重整化,每个张量将四个相邻向量重新规范化为一个向量,因此,两个形状相似的图像类别将导致更大的保真度和更高的分类难度,作为对实空间分类的补充,在频率空间进行分类有助于进一步提高分类精度。

利用树结构的张量网络进行机器学习_第6张图片

另一个重要的概念是纠缠,纠缠通常由一个称为 Schmidt 系数的规范化正定向量给出(表示为 Λ \Lambda Λ)。在我们的情况中,这是状态 ∣ ψ p ⟩ |\psi_p\rangle ψp 的奇异值谱。对于 TTN 斯密特系数是以 T [ K , 1 ] T^{[K,1]} T[K,1] 为顶部张量的矩阵 M = T [ K , 1 ] ∣ p ⟩ M=T^{[K,1]}|p\rangle M=T[K,1]p 的奇异值。这是因为 TTN 中所有其他的张量都是幺正的。纠缠的强度用纠缠熵:
S = − ∑ a Λ a 2 ln ⁡ Λ a 2 S=-\sum_{a} \Lambda_{a}^{2} \ln \Lambda_{a}^{2} S=aΛa2lnΛa2

来表示,上图中 (b) 展示了用 MNIS 训练集训练的 ∣ ψ p ⟩ |\psi_p\rangle ψp 的纠缠熵。我们通过在 x , y x,y x,y 的中间裁剪图片计算两种纠缠熵。

第一个是上部分图像和下部分图像的纠缠。后面的表示左边和右边图像的纠缠。 注意,M 有四个指标,每个表示从矢量化图像的四分之一重新规范化的有效空间。因此,纠缠的二分性决定了在计算SVD之前如何将M的四个指数组合成两个更大的指数。

在量子物理中,纠缠熵 S 明确了虚拟指标达到一定精度所需要的维数。我们的结果表明 ∣ ψ p ⟩ |\psi_p\rangle ψp 实际上由很小的纠缠度,意味着 TTN 是分类器有效地表示方式。此外,在量子信息中,S 用来衡量一个子系统的信息量,可以通过其他的子系统获得。一个重要的类比是在知道图片的一部分和估量量子态的子系统的状态。因此,其暗示,我们可以通过已知的一部分图像,来估算另一部分图片所有的纠缠熵。在我们的例子中,X和Y切割的不同行为出现在一些具有明显不对称形状的特定数字上,即“4”、“6”、“7”和“9”,我们认为不对称的形状意味着不同程度的纠缠,因此导致不同结果的纠缠熵。当然,需要更多的定量研究来进一步揭示不同二分体的纠缠以及与所学经典数据的关系。


结论与展望


针对分层的二维 TTN ,本文提出了一种基于 MERA 的机器学习算法,其中的张量满足幺正性。通过该算法的数值实验,我们得出如下结论:

  1. TTN的表示能力上限(可学习性)取决于输入键维数,虚键维数决定TTN达到该极限的程度
  2. 层次化的TTN表现出类似于深卷积神经网络或深层信念网络的抽象程度的增加
  3. 基于我们的建议,我们展示了经典图像与量子态之间的自然联系,这意味着量子特性(保真度和纠缠度)可以用来描述经典数据和计算任务

此外,我们的工作有助于通过量子计算和模拟来实现机器学习。首先,人们已经知道幺正TTN对应于量子电路,称为 TN 电路,它被认为是可以在量子硬件上运行。其次,可以将训练后的TTN制备成量子态,并将其用于实现机器学习任务,如图像识别。我们注意到,TN态(特别是MPSs)的量子态层析已经被提出,这将有助于验证TTN态的机器学习。


附录A. TN和MERA


张量可以简单地定义为由几个索引标记的一组数字。每个数称为张量的一个元素。从图形上讲,张量是用键连接的块来表示的,每个键表示一个指标。一个自由指标的度被称为键的维数(通常用 d d d χ \chi χ 表示)。指标个数(通常称为张量秩)和键的维数决定了张量的复杂度,也就是元素的总数。

一个张量网络可以用指标用某种方式收缩的几个张量定义。通常情况下,TN的公式很难写出,因此我们使用图形表示法。在张量图示中,每一块代表一个张量,每个键表示一个指标。连接两个块的指标表示该指标被两个张量共享,也就是被收缩了。收缩一个指标意味着对它的自由度求和。

TN由张量元素的值和张量之间键的连接来定义。在张量网络算法中,张量元素通常被随机初始化,然后在算法中被优化。TN的体系结构通常是预先确定的。对于TN机器学习,一个典型架构被称为MPS ,它是具有指数衰减关联的一维带隙量子态的经典表示。在这次工作中,我们选择一个分级的树形结构的张量网络,称为 TTN。

相比于 MPS ,TTN 和深度神经网络更相似,因为两个都是分级结构。下图中 (d) 展示了三阶张量的 TTN 形式,这个 TTN 包含三层,从输入边到输出边(左到右),每一层内的张量以指数形式减少到前一层的一半。当然可以选择三阶张量以外的张量,例如用于量子多体模拟的三阶张量TTN 。TN机器学习的精度和计算复杂度如何随张量的阶数变化而变化,这一问题仍有待进一步研究。

附录B. MERA算法


MERA 最初由 G-Vidal 提出,用于量子多体系统的基态模拟,MERA 方法一般由两部分组成。一种是表示基态波函数的 TN ,MERA 的张量网络仍然有类似树结构。每一个张量满足正交条件,与原文中使用的 TTN 相同。不同的是,MERA-TN 包含名为解纠缠器的装置,这使得 TN 能够捕获更多的纠缠。

MERA 算法也被称为纠缠重整化。一般来说,它的实现如下。损失函数(标量)的最小化是通过收缩要 TN 来计算的。例如,代价函数可以是计算哈密顿量 H ^ \hat{H} H^ 基态的能量,即 f = ⟨ ψ ∣ H ^ ∣ ψ ⟩ f=\langle\psi|\hat{H}| \psi\rangle f=ψH^ψ

MERA-TN 中的张量是交替更新的。中心任务是计算环境张量(E)(下图(b)),它是通过去掉待更新张量(T)后收缩 剩余张量 f f f 的张量网络得到的。E 事实上是代表 ∂ f ∂ T \frac{\partial f}{\partial T} Tf。显然,E 和 T 有相同的指标维数。然后用原文中展示的相同方式实现 E E E S V D SVD SVD 来更新 T T T 。我们应该注意到,我们使用 TTN 代替 MERA 张量网络,但是使用相同的算法更新张量(通过环境张量的 SVD 分解)。
利用树结构的张量网络进行机器学习_第7张图片




原文连接:https://arxiv.org/abs/1710.04833v4

你可能感兴趣的:(论文,张量)