量子机器学习(Quantum ML)是量子力学和机器学习的一门交叉学科。两者间像一种共生关系,我们可以利用量子计算的力量生成机器学习算法的量子版本,并应用经典机器学习算法分析量子系统。
在这篇文章中,计算机科学硕士Reena Shaw将用通俗的语言和形象的比喻带你入门量子机器学习。
在2017年的微软Ignite大会上,微软CEO Satya Nadella用玉米迷宫的形象比喻解释了经典计算机和量子计算机之间的差异——
为了找到迷宫的出口,经典计算机先开启一条搜索路径,遇到障碍物后会沿原路返回。之后再次探寻新路,直到遇障返回或找到了正确出口。虽然最终能找到一个结果,但这种方法相当耗时。
对比之下,量子计算机“解锁了神奇的并行性。它们同时探寻玉米迷宫中的每一条路。”因此,量子计算机可能指数级减少解决问题的步骤。
这种并行性正是起源于量子物理中“量子位(qubit)”、“叠加(superposition)”和“纠缠(entanglement)”等理论。
这其中的神奇之处远不止如此,还得继续往下看。
量子是任何物理实体(比如能量和质量等)的最小可能单位。1900年,德国物理学家、量子力学创始人马克斯·普朗克(Max Planck)提出,在原子和亚原子水平,一个物体的能量被包含在叫做量子(quanta)的离散数据包中。
波粒二象性(Wave-particle duality)是量子粒子的特征,它是指微观粒子基于不同的环境,有时会表现出波动性,而有时表现出粒子性。
量子理论的特点是找到给定点x在空间中存在的概率,而不是它的确切位置。
△ 光具有例子和波的双重性质
经典计算机通过经典的“位(bit)”执行操作,这些位不是0就是1,而量子计算机借住的是“量子位(qubits)”。
量子位可被表示为绕核旋转的电子和光子。光子的偏振态和电子的自旋态可用|1>和|0>分别表示。
量子位同时以0和1的形式存在,这种现象被称为“叠加”。
虽然粒子能存在于多个量子态中,一旦我们确定了粒子的能量或位置,叠加就至此消失,它只能存在一个状态。
△ 量子位被定义为一对指向单位球面中一个点的复杂向量。一般来说,直指上方(正轴)的量子位表示为列向量|0>,指向下方(负轴)的量子位为行向量|1>。
“量子纠缠”指的是量子粒子之间的相互作用。即使粒子间相隔甚远,它们依然相互作用、相互参照,而不是独立的。
在测量时,如果一对纠缠的量子被决定处于箭头向下的自旋态(能量最低状态),则当电子与它的磁场保持一致时,这个状态就会被传递到另一个相关的箭头向上的相对自旋态的例子上。
量子纠缠允许相隔很远的量子位彼此之间及时相互作用。
讲完这四个基本概念,可能会有个疑问,量子计算是怎样释放出巨大的并行性的?
两个相互作用的经典位有四种状态,即00、01、10或11。每个信息的两个组成成分(第一个位和第二个位)组合起来仅表示给定时间内的二进制结构。向普通计算机添加更多的位仍表示二进制结构。
△ 在测量前的叠加中的量子位具有“自旋向上”和“自旋向下”的概率
一个量子位可同时存在0和1这两种状态。因此,两个相互作用的量子位可被同时存储为4个二进制结构。一般来说,‘n’ 量子位可同时代表 ‘2n’个经典二进制结构。
因此,一个300量子位的量子计算机能同时探索2n种可能的结果,因此带来了巨大的并行性。所以,在量子计算机中加入更多的量子位会成倍增加计算能力。
目前,我们的技术还无法实现真正意义上的量子计算机,因为添加更多的量子位和处理亚原子需要低于-452华氏度的低温环境。
因此,微软通过量子模拟器LIQUi|>模拟40量子位的操作,通过微软Azure云计算资源扩展。
量子计算可解决专业的科学问题,如分子建模、高温超导体的产生、药物建模和测试、分子的选择以及有机电池的制造。对于看视频或写Word文档等一般用途的任务,它并不是最佳选择。
寻找巨型矩阵的特征值和特征向量:
一种方式是,执行经典的PCA(主成分分析)算法的方法之一是取数据协方差矩阵的特征值分解。然而,这在高维数据的情况下并不是很有效。
一个未知的低密度矩阵量子PCA能够揭示与大特征值相关的量子特征,与线性规模的经典算法相比速度呈指数级增长。
在量子计算机上找到近邻
用监督学习和无监督学习计算近邻的量子算法,是将查询数量的上限设置为计算距离指标所需的输入数据,如欧几里得距离和内积。
相关论文地址:
https://arxiv.org/abs/1401.2142
量子方法改进希格斯玻色子实验
在希格斯玻色子(Higgs Boson)的实验中,希格斯玻色子粒子在产生后几乎立刻就衰变为小型粒子的集合。最常见的衰减大致是以下这些:
在解决“希格斯粒子信号对抗背景”机器学习优化问题时,很多研究人员尝试将信号与背景分开。此外,量子退火法与经典退火法相结合对机器学习方法最有利。
求解线性方程组的量子算法:
一些量子技术也能在解决机器学习问题中的子程序中起作用,比如矩阵求逆。
这个问题可被表述,为一个A矩阵和一个向量b想找到向量x满足Ax=b。为了用量子算法求解线性方程组,我们无需了解x解的本身,而是一个与x有关的对某些算子近似的期望值。
机器学习分析量子系统
经典的机器学习算法已被利用、控制和展示量子现象的基准系统,比如玻色-爱因斯坦凝聚(Bose–Einstein condensate,BEC)。
BEC是一种物质的状态,在这种状态下,玻色子原子的稀释气体被冷却到接近绝对零度,大多数的玻色子都为基态。
量子效应在宏观层面上会消失,但BEC却在宏观层面上显示出了量子效应。科学家发明了一种机器学习者,可以发现最理想的蒸发坡道(evaporation ramp),来创造高品质BEC。
此外,我们需要好好裂解优化BEC的过程,因为学习过的机器学习模型决定了在BEC创建过程中哪些参数是必不可少的。
在量子设备的设计中,很多构建模块是在机器学习算法帮助下完成的。
机器学习算法在很多问题上起到了重要作用,比如:
检测量子变化点:
量子器件(quantum device)可在特定状态下发射不同状态的粒子。为了检测这一状态变化点,科学家们将局部测量的性能与总体测量的性能进行了比较。
局部测量:测量每个粒子到达探测器的状态。
总体测量:待所有粒子到达探测器时最后测量
对于局部测量,Masahide Sasaki在之前的一篇论文中构建了一种未知状态系统的分类作为监督学习的一种形式。最后研究人员发现,在检测突然的量子变化时,总体测量的表现优于局部测量。
论文地址:
https://arxiv.org/abs/quant-ph/0202173
量子位状态的二元分类:
科学家们训练了一种量子学习机器,将量子位的状态分为0和1,经典记忆的增长只随训练量子位的的数量成对数增长、即使在一个组成变化的足够大的训练集下,它也能表现得很好。
量子退相干:
当量子系统不是完全孤立时,就有些系统信息丢失在环境中,导致量子行为的丢失,这被称为量子退相干。
机器学习技术可以用来了解更多的量子位上的随机移相过程,来预测量子退相干,稳定量子位未来的移相。
重新创建热力学可观测值的值:
利用玻尔兹曼机的递归神经网络,可以再现能量、比热和磁等热力学可观测的性能。该机器使用蒙特卡洛抽样生成的数据集进行训练。
如想获取更多量子机器学习的知识,我有两份不错的资料可以推荐给你:
https://uwaterloo.ca/institute-for-quantum-computing/blog/post/quantum-computational-intelligence
https://www.nature.com/news/quantum-machine-goes-in-search-of-the-higgs-boson-1.22860
— 完 —
加入社群
量子位AI社群13群开始招募啦,欢迎对AI感兴趣的同学,加小助手微信qbitbot5入群;
此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。
进群请加小助手微信号qbitbot5,并务必备注相应群的关键词~通过审核后我们将邀请进群。(专业群审核较严,敬请谅解)
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态