2018研读营之张量网络与机器学习
(本页面在逐步完善中......) 主讲人为张潘。作为外行主讲,这次的风格会和2016年尤亦庄主讲的张量网络不大相同,大家请同时参考2016研读营之张量网络
数据与张量
- 数据表示为希尔伯特空间中的一个向量,不同的特征映射方式会给出不同的希尔伯特空间。
- 对数据的线性操作表示为希尔伯特空间的一个算符。高维空间的线性操作可以对应低维空间的非线性操作。核方法(Kernel method),表示理论(representation theorem)。
- 无论是向量还是算符,我们可以统一地用张量(高维数组)来表示它。
- 维数灾难(curse of dimensionality) -> 希尔伯特空间维度非常大->张量的参数数目非常多->我们无法轻易表达这个张量
- 张量降维 = 希尔伯特空间压缩 = 张量网络
张量网络的应用
- 张量网络与概率图模型:张量缩并对应隐变量求和(积分)
- 在物理中,张量网络常常
- 缩并掉虚拟指标,表达一个波函数
- 缩并掉所有指标,表达经典系统的配分函数
- 在应用数学中,张量网络被用来拟合一个函数或另一个张量,或用来预测未知张量(或矩阵)元素
- 在机器学习中(新),张量网络可以被用来做分类器,也可以利用量子力学的Born法则表达一个概率分布,构造一个生成模型(今天的主要内容)。
- 张量网络在不同的领域中的应用基本上概括为
- 量子物理:优化
- 应用数学:拟合
- 机器学习:泛化
张量网络(张量分解)
秩为1的张量:直积态
- 最简单的张量网络: 秩为1的张量或者说是直积态,可分解(Factorized)纯态。它的参数数目最少,参数数目线性正比与组分数目,组分之间互相独立。
- 一个量子比特,两个本征态:
- 第一个本征态(类似像素黑)表示成 [math]\displaystyle{ | {\uparrow } \rang =|0\rangle=\left(\begin{matrix}1\\0\end{matrix}\right) }[/math],
- 第二个本征态(类似像素白)表示成 [math]\displaystyle{ |{\downarrow }\rangle=|1\rangle=\left(\begin{matrix}0\\1\end{matrix}\right) }[/math],
- 灰度值为0.8的像素表示成两个本征态的叠加 [math]\displaystyle{ |\Psi\rangle=\sqrt{0.8}|{\uparrow }\rangle+\sqrt{0.2}|{\downarrow }\rangle=\left(\begin{matrix}\sqrt{0.8}\\\sqrt{0.2}\end{matrix}\right) }[/math]
- 两个量子比特(qubit)的直积态:[math]\displaystyle{ |\Psi\rangle =|{\uparrow }\rangle|{\downarrow }\rangle=\left(\begin{matrix}1\\0\end{matrix}\right)\otimes \left(\begin{matrix}0\\1\end{matrix}\right)=\left(\begin{matrix}0\\1\\0\\0\end{matrix}\right)=\left(\begin{matrix}0&0\\1&0\end{matrix}\right) }[/math]
- 两个量子比特的直积态:[math]\displaystyle{ |\Psi\rangle =|{\uparrow }\rangle\left(\frac{1}{\sqrt{2}}|{\uparrow }\rangle+\frac{1}{\sqrt{2}}|{\downarrow }\rangle\right) }[/math]
- 一个量子比特,两个本征态:
- 秩为1的张量作为模型可以用来拟合任意的张量(当然误差可能非常大),或者说提取任意张量的“最重要”的信息,但它的缺点是参数数目太少,表达能力十分有限。n个量子比特,精确描述可能需要 [math]\displaystyle{ 2^n }[/math]个参数( [math]\displaystyle{ 2^n-1 }[/math]个自由参数),但是秩为1对张量只有 [math]\displaystyle{ 2n }[/math]个参数([math]\displaystyle{ n }[/math]个自由参数)。
- 秩为1张量的推广
- CP分解,Canonical rank, 参数数目ndr
- Tucker分解,参数数目(ndr+r^n)
- 矩阵乘积态,也叫做Tensor Train,ndr^2
秩大于1的张量:纠缠态
- 不可分解的纯态
- 两个量子比特的纠缠态: [math]\displaystyle{ \frac{1}{\sqrt{2}}|{\uparrow }\rangle|{\downarrow }\rangle-\frac{1}{\sqrt{2}}|{\downarrow }\rangle|{\uparrow }\rangle }[/math],在任何基下都不能写成直积态,纠缠来源于(anti)相关性。
- EPR对: [math]\displaystyle{ \frac{1}{\sqrt{2}}|{\uparrow }\rangle|{\uparrow }\rangle+\frac{1}{\sqrt{2}}|{\downarrow }\rangle|{\downarrow }\rangle }[/math], 它的rank是多少?
- [math]\displaystyle{ |\textrm{GHZ}\rangle=\frac{1}{\sqrt{2}}\left( |{\uparrow }\rang^{\otimes n}+ | {\downarrow }\rangle^{\otimes n}\right) }[/math]
- 秩与纠缠
- 秩为1->没有纠缠。
- 秩越大,通常纠缠越多,通过纠缠熵(Entanglement entropy)来定量刻画。
- 纠缠意味着一些信息被两个量子比特共享,单独看其中一个会损失信息!
- 张量展开成 [math]\displaystyle{ 2\times 2 }[/math]矩阵的rank=这个矩阵Singular value非零元素个数 = 约化密度矩阵非零本征值数目
- 为什么是SVD?因为SVD = Schmidt decomposition,天然的正交二分方法。
- 多个(例如7个)量子比特怎么看两个子系统(例如前3个和后4个)之间有没有纠缠?
- 同样是把维度为 [math]\displaystyle{ 2^7 }[/math]的张量需要展开成维度为 [math]\displaystyle{ 2^3\times 2^4 }[/math]的矩阵,然后看这个矩阵的秩。
- 这个矩阵的奇异值平方=约化密度矩阵的本征值。
- 大家回想一下Singular Values的定义,实际上求解一个矩阵的SVD的一个方法就是去求解这个矩阵所对应的协方差矩阵的本征值问题。
- 这个 [math]\displaystyle{ 2^7 }[/math]的张量有很多种展开成矩阵的方法,这实际对应着不同的permute -> reshape 操作。对任意张量如果可以这么操作(有无限大内存和计算量),这会给出纠缠的准确度量,给出DMRG所需的最大bond dimension。
- 小测试:[math]\displaystyle{ |\Psi\rangle=\frac{1}{ {2}}|{\uparrow }\rangle|{\uparrow }\rangle+\frac{1}{ {2}}|{\downarrow }\rangle|{\downarrow }\rangle+\frac{1}{ {2}}|{\uparrow }\rangle|{\downarrow }\rangle+\frac{1}{ {2}}|{\downarrow }\rangle|{\uparrow }\rangle }[/math]有没有纠缠?
- 纠缠熵
- 纠缠熵定义为约化密度矩阵的熵。
- 密度矩阵[math]\displaystyle{ \rho=|\Psi\rangle\langle\Psi| }[/math] (对于纯态波函数[math]\displaystyle{ \Psi }[/math])秩为1。
- 约化密度矩阵[math]\displaystyle{ \rho_A=\textrm{Tr}_B|\Psi\rangle\langle\Psi| }[/math]的秩是否大于1决定A系统和B系统有无纠缠。
- [math]\displaystyle{ \psi_{AB} }[/math]是[math]\displaystyle{ \Psi }[/math]被reshape后得到的矩阵。有[math]\displaystyle{ \rho_A=\psi_{AB}\psi_{AB}^\dagger }[/math], 因此[math]\displaystyle{ \rho_A }[/math]的秩等于[math]\displaystyle{ \rho_B }[/math]的秩等于[math]\displaystyle{ \psi_{AB} }[/math]的秩。
- [math]\displaystyle{ \rho_A }[/math]的本征值等于[math]\displaystyle{ \rho_B }[/math]的本征值等于[math]\displaystyle{ \psi_{AB} }[/math]的奇异值平方。
- 纠缠熵定义为[math]\displaystyle{ S(\rho_A)=S(U\rho_A U^\dagger)=S(P(\{\lambda_i\}))=\sum_i\lambda_i\log(\lambda_i) }[/math],其中U是酉矩阵,[math]\displaystyle{ P(\{\lambda_i)\} }[/math]是约化密度矩阵的本征值的概率分布。
- 纠缠熵定义为约化密度矩阵的熵。
物理中常用的张量网络
- 矩阵乘积态(Matrix Product States), 在应用数学中称为Tensor Train
- 常被用于(一维)量子系统
- 缩并很简单
- 关联指数衰减
- Projected Entanglement Pair State (PEPS), 二维的MPS
- 天然对应二维系统
- 缩并指数难
- Tree Tensor Network, 在应用数学中Hierarchical Tucker Decomposition
- 和mps差不多,但是有着关联长度的优势
- Multi Entanglement Renormalization Ansatz
- 常用语描述临界系统,关联power law衰减