量子机器学习入门科普:解读量子力学和机器学习的共生关系

简介:

本文来自AI新媒体量子位(QbitAI)


量子机器学习(Quantum ML)是量子力学和机器学习的一门交叉学科。两者间像一种共生关系,我们可以利用量子计算的力量生成机器学习算法的量子版本,并应用经典机器学习算法分析量子系统。

在这篇文章中,计算机科学硕士Reena Shaw将用通俗的语言和形象的比喻带你入门量子机器学习。

 本文作者Reena Shaw

在2017年的微软Ignite大会上,微软CEO Satya Nadella用玉米迷宫的形象比喻解释了经典计算机和量子计算机之间的差异——

为了找到迷宫的出口,经典计算机先开启一条搜索路径,遇到障碍物后会沿原路返回。之后再次探寻新路,直到遇障返回或找到了正确出口。虽然最终能找到一个结果,但这种方法相当耗时。

对比之下,量子计算机“解锁了神奇的并行性。它们同时探寻玉米迷宫中的每一条路。”因此,量子计算机可能指数级减少解决问题的步骤。

这种并行性正是起源于量子物理中“量子位(qubit)”、“叠加(superposition)”和“纠缠(entanglement)”等理论。

这其中的神奇之处远不止如此,还得继续往下看。

量子计算

量子(Quantum)

量子是任何物理实体(比如能量和质量等)的最小可能单位。1900年,德国物理学家、量子力学创始人马克斯·普朗克(Max Planck)提出,在原子和亚原子水平,一个物体的能量被包含在叫做量子(quanta)的离散数据包中。

波粒二象性(Wave-particle duality)是量子粒子的特征,它是指微观粒子基于不同的环境,有时会表现出波动性,而有时表现出粒子性。

量子理论的特点是找到给定点x在空间中存在的概率,而不是它的确切位置。

 光具有例子和波的双重性质

量子位(Qubit)

经典计算机通过经典的“位(bit)”执行操作,这些位不是0就是1,而量子计算机借住的是“量子位(qubits)”。

量子位可被表示为绕核旋转的电子和光子。光子的偏振态和电子的自旋态可用|1>和|0>分别表示。

叠加(Superposition)

量子位同时以0和1的形式存在,这种现象被称为“叠加”。

虽然粒子能存在于多个量子态中,一旦我们确定了粒子的能量或位置,叠加就至此消失,它只能存在一个状态。

 量子位被定义为一对指向单位球面中一个点的复杂向量。一般来说,直指上方(正轴)的量子位表示为列向量|0>,指向下方(负轴)的量子位为行向量|1>。

纠缠(Entanglement)

“量子纠缠”指的是量子粒子之间的相互作用。即使粒子间相隔甚远,它们依然相互作用、相互参照,而不是独立的。

在测量时,如果一对纠缠的量子被决定处于箭头向下的自旋态(能量最低状态),则当电子与它的磁场保持一致时,这个状态就会被传递到另一个相关的箭头向上的相对自旋态的例子上。

量子纠缠允许相隔很远的量子位彼此之间及时相互作用。

讲完这四个基本概念,可能会有个疑问,量子计算是怎样释放出巨大的并行性的?

两个相互作用的经典位有四种状态,即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

本文作者:安妮 编译自 KDnuggets

原文发布时间:2018-01-22

相关文章
|
1月前
|
机器学习/深度学习 数据采集 算法
深入了解机器学习:从入门到应用
【10月更文挑战第6天】深入了解机器学习:从入门到应用
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的奥秘:机器学习入门指南
【10月更文挑战第30天】本篇文章是一份初学者友好的机器学习入门指南,旨在帮助读者理解并开始实践机器学习。我们将介绍机器学习的基本概念,包括监督学习、无监督学习和强化学习等。我们还将提供一些实用的代码示例,以帮助读者更好地理解和应用这些概念。无论你是编程新手,还是有一定经验的开发者,这篇文章都将为你提供一个清晰的机器学习入门路径。
23 2
|
14天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
24 1
|
25天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第12天】本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型训练和评估等步骤,并提供了代码示例。通过本文,读者可以掌握机器学习的基本流程,并为深入学习打下坚实基础。
18 1
|
27天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型选择与训练、模型评估及交叉验证等关键步骤。通过本文,初学者可以快速上手并掌握机器学习的基本技能。
47 2
|
1月前
|
机器学习/深度学习 人工智能 数据挖掘
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第6天】在人工智能领域,机器学习已成为核心技术。本文指导初学者使用Python与Scikit-learn入门机器学习,涵盖基本概念、环境搭建、数据处理、模型训练及评估等环节。Python因简洁性及其生态系统成为首选语言,而Scikit-learn则提供了丰富工具,简化数据挖掘与分析流程。通过实践示例,帮助读者快速掌握基础知识,为进一步深入研究奠定坚实基础。
23 4
|
1月前
|
机器学习/深度学习 自然语言处理 前端开发
前端大模型入门:Transformer.js 和 Xenova-引领浏览器端的机器学习变革
除了调用API接口使用Transformer技术,你是否想过在浏览器中运行大模型?Xenova团队推出的Transformer.js,基于JavaScript,让开发者能在浏览器中本地加载和执行预训练模型,无需依赖服务器。该库利用WebAssembly和WebGPU技术,大幅提升性能,尤其适合隐私保护、离线应用和低延迟交互场景。无论是NLP任务还是实时文本生成,Transformer.js都提供了强大支持,成为构建浏览器AI应用的核心工具。
377 1
|
1月前
|
机器学习/深度学习 算法 API
机器学习入门(六):分类模型评估方法
机器学习入门(六):分类模型评估方法
|
1月前
|
机器学习/深度学习 算法
机器学习入门(三):K近邻算法原理 | KNN算法原理
机器学习入门(三):K近邻算法原理 | KNN算法原理
|
1月前
|
机器学习/深度学习 算法 数据挖掘
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合