社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

何为量子机器学习?

AI前线 • 7 年前 • 316 次点击  

作者|Reena Shaw,KDnuggets
译者|王纯超
编辑|Emily
AI 前线导读:量子机器学习(Quantum ML)是一个结合量子物理和机器学习(ML)的跨学科领域。它是一种互利互惠的结合——利用量子计算产生 ML 算法的量子版本,使用传统的 ML 算法分析量子系统。本文将介绍量子机器学习。

在 2017 年最近的一次大会上,微软 CEO Satya Nadella 使用玉米迷宫的类比,解释了传统计算机和量子计算机的计算方式的不同之处。在尝试寻找一条穿过迷宫的路径时,传统的计算机会找一条路径深入下去,遇到阻碍就返回;重新开始,再遇到阻碍就再返回,直到无路可走。这种方法尽管能找到答案,但是非常耗时。

相比之下,量子计算机“展现了惊人的并发性”,“它能同时探索玉米迷宫里的每一条路径”,因此,求解一个问题所需的步数指数级减少了。

并发性源自量子物理中的概念——量子位、量子叠加和量子纠缠。

更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front)
量子计算
量子

量子是任何物质(例如能量和质量)的最小可能的单元。在 1900 年,马克斯·普朗克提出,在原子和亚原子级别,物质的能量包含于称为量子的离散的包之中。

根据环境变化,量子有时候表现为波,有时候又表现为粒子,这种特性称为波粒二象性。量子论主要是要找到粒子出现在空间中给定点 x 的概率,而不是找到其具体位置。

图 1:光的波粒二象性

量子位

传统的计算机使用经典的位(0 或 1)执行运算。然而,量子计算机使用量子位执行运算。

量子位可以表示为:


  • 围绕原子核做轨道运动的电子:|1>和|0>分别表示激发态和基态。

  • 光子:|1>和|0>是两种光子的极化。

量子叠加

量子位同时表现为 0 和 1,这种现象称为量子叠加。

虽然一个粒子能同时处于多种量子态,但是一旦我们测量该粒子的能量或者位置,它的叠加状态就会丢失而只处于一种状态。

图 2:量子位被定义为指向单位球面上的点的一对复向量。传统上,直接向上(正半轴)的量子位被表示为列向量|0>,向下的向量被表示为|1>(例如,图中的量子位是|0>)。

量子纠缠

即使相距很远,量子粒子间也能彼此相互作用,参照彼此来描述,而不是相互独立,这种现象称为“量子纠缠”。

在测量时,如果一对纠缠粒子中的一个被确定为处于“向下”的自旋状态(即最低能态,电子与其磁场对齐时),则这个结果被传达给另一相关粒子,该粒子现在处于“向上”的相反旋转状态。量子纠缠使量子位彼此瞬间相互作用,即使它们相距遥远。

量子计算如何带来无穷的并发性?

两个相互作用的经典位有四种形式:00、01、10 和 11。信息的这两个组成部分中的每一个(第一个位和第二个位)在给定时间仅表示二进制中的一个值。向普通计算机添加更多位仍然只表示一个二进制数。

图 3:在测量之前,一个叠加状态的量子位的“向上自旋”和“向下自旋”的概率(图片来源:https://www.youtube.com/watch?v=g_IaVepNDT4)

一个量子位可以同时处于两个状态(0 和 1)。因此,两个相互作用的量子位可以同时存储全部 4 个二进制值。通常,“n”个量子位可以同时表示“2^n”个经典二进制值。因此,一个 300 量子位的量子计算机可以同时探索 2^300 个可能的解决方案,而不像传统计算机那样一次一个解决方案,这带来了巨大的并行性。给量子计算机增加更多的量子位将会指数级增加计算机的计算能力。

一台真正的量子计算机还没有实现,因为增加更多的量子位,并处理需要 -452°F 低温以保持稳定的亚原子粒子,这是一项艰巨的任务,而建造一台这样的计算机更是如此。因此,我们正在努力,使用微软的量子模拟器 LIQUi|>(微软的 Azure 云计算资源扩展自它)模拟 40 个量子位的运算。

量子计算可以解决专门的科学问题,如分子建模、高温超导体的创建、药物建模和测试及为有机电池的创建选择分子。对于诸如观看视频或编写 Word 文档等一般任务而言,量子计算并不是最佳选择。

那么,量子计算如何和机器学习结合在一起?

量子机器学习
ML 算法的量子版本

计算大型矩阵的特征值和特征向量

执行经典 PCA 算法的方法之一是对数据协方差矩阵进行特征值分解。但是,在高维数据的情况下,这效率低下。

一个未知的低秩密度矩阵的量子 PCA 可以揭示与大特征值相关的量子特征向量,比线性规模的经典算法快指数级倍。

使用量子计算机寻找近邻

在这里提出的用于计算监督学习和无监督学习中近邻的量子算法,为计算距离指标(例如欧几里德距离和内积)所需的输入数据的查询数量设置了上限。最好的情况是查询复杂度呈现指数式和超指数式降低,最坏的情况是查询复杂度呈多项式级降低。

量子方法改进希格斯玻色子实验

在希格斯玻色子实验中,希格斯玻色子粒子在产生后几乎立即衰变成各种质量较小的粒子集合。最常见的(我们可以观测到的)衰变是:

图片来源:http://www.particleadventure.org/the-higgs-boson-decays-into-other-particles.html

  • 信号:希格斯玻色子衰变产生的 4 轻子事件

  • 本底:非希格斯玻色子衰变产生的 4 轻子事件

在解决“希格斯信号与本底”ML 优化问题时,人们尝试将信号与本底分离开来。这项研究发现,混合使用量子退火和经典退火比最新的 ML 方法更有优势。

量子算法求解线性方程组

一些量子技术也有助于解决 ML 问题中的子问题,如矩阵求逆。

如果给定矩阵 A 和向量 b,找到一个向量 x,使得 Ax = b。对于求解一个线性方程组的量子算法,我们不需要知道解 x 本身,而是求解一个与 x 相关的某个算子的期望值的近似值,对于某个矩阵 M,即 x'Mx。

传统的 ML 分析量子系统

传统的 ML 算法已经被用来利用、控制和测量表现出了量子现象(如玻色 - 爱因斯坦凝聚体(BEC's))的系统。

BEC 是一种物质状态,在这种情况下,稀释的玻色子气体被冷却到非常接近绝对零度的温度。在 BEC 中,大多数玻色子处于基态。在宏观层面上,量子效应通常不会出现,但 BEC 在宏观层面能显示可见的量子效应。科学家创造了一个机器学习系统,发现创建高质量 BEC 的最佳蒸发速度。另外,优化的 BEC 创建过程更容易理解,因为机器学习模型确定了哪些参数对于创建 BEC 是必不可少的。

ML 算法有助于量子器件设计中的几个构建块。ML 算法有助于解决以下问题:

检测量子变化点

量子器件可以发射某种状态的粒子,在某个未知时刻开始发射不同状态的粒子。为了检测这个变化点,科学家比较了局部测量和全局测量的性能。

局部测量:每个粒子进入探测器之后立即测量其状态

全局测量:所有粒子进入探测器之后再行测量

对于局部测量,Sasaki 将未知状态的分类框定为一种监督学习。最后,发现在检测突然的量子变化时,全局测量比局部测量更胜一筹。

量子位状态二分类

科学家们训练了一个量子机器学习系统,将量子位状态分类为 0 和 1,内存只随着训练量子位数的呈对数增长。即使在一个足够大的训练集的组成变化下,它也表现良好。

量子去相干

当量子系统不完全隔离时,系统中的信息就会丢失到其环境中。这称为量子退相干,导致量子行为的损失。ML 技术被用来了解更多的关于量子位的随机相移过程,来预测量子位去相干和稳定未来的量子位相移。

重现热力学可观测值

利用称为玻尔兹曼机的递归神经网络可靠地再现了诸如能量、比热和磁性的热力学可观测量。玻尔兹曼机使用蒙特卡罗采样生成的数据集进行训练。

要获得关于量子 ML 及其最新进展的更多信息,可以参考以下链接:

量子计算智能——滑铁卢大学

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

查看英文原文:

https://www.kdnuggets.com/2018/01/quantum-machine-learning-overview.html



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/YBApwuTThR
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/5691