编者按:量子计算与机器学习的融合已经成为一个蓬勃发展的研究领域,它能否达到人们对其的期望呢?《量子》杂志发表了一篇文章详细介绍了量子计算机的发展状况及其在机器学习中的运用。
上世纪90年代初,威奇托州立大学的物理学教授伊丽莎白·贝尔曼(Elizabeth Behrman)开始致力于将量子物理与人工智能(特别是当时备受争议的神经网络技术)结合起来的时候, 大多数人都认为她是在将水和油混合在一起。“我花了好长时间才将论文发表出来,” 她回忆说。“ 神经网络期刊会问,‘量子力学是什么?’ 物理期刊会问,‘神经网络是什么?’”
今天,两者的结合似乎是世界上最自然的事情。 神经网络和其他机器学习系统已经成为21世纪***颠覆性的技术。它们 不仅在大多数人类都不擅长的任务中打败我们,比如下棋和数据挖掘,而且还在我们的大脑的工作上超越了我们,例如识别人脸,翻译语言等。 这些系统因为巨大的计算能力而成为现实,因此,科技公司不可避免地会去寻找那些不仅规模更大的计算机,而且还会致力于开发出一种全新的机器。
经过几十年的研究,量子计算机已经有了足够的计算能力,超越了地球上所有的计算机。它们 的杀手级应用通常被认为是处理大量数据,这是现代加密技术的关键。不过,这 至少还有10年的时间。 但即使是今天最基本的量子处理器,也与机器学习的需求惊人地匹配。 它们在一个步骤中处理大量数据,挑选出传统的计算机所忽略的微妙模式,而且不会因不完整或不确定的数据而宕机。“量子计算的内在统计特性和机器学习之间存在着一种自然的结合,” 加州伯克利的量子计算机公司 Rigetti Computing 的物理学家约翰内斯·奥特巴赫(Johannes Otterbach )说。
如果说有什么不同的话,那就是钟摆已经摆到了另一个极端。 谷歌、微软、IBM和其他科技巨头都在向量子机器学习投入大量资金,多伦多大学的创业孵化器也致力于此。 “机器学习”正在成为一个时髦词汇,”莫斯科斯科尔科沃(Skolkovo)科技研究所的量子物理学家雅各布·比昂特(Jacob Biamonte)说。 “当你把它和量子结合在一起的时候,它就变成了一个超级时髦词汇。”
然而,其中的“量子”这个词,并不是我们所想的那样。 尽管你可能认为量子机器学习系统应该是强大的,但它却受到某种闭锁综合征的影响。 它在量子态上运行,而不是在人类可读的数据上,在两者之间的转换中,其明显的优势也被抵消了。 它就像iPhone X一样,尽管它的规格令人印象深刻,如果你用的手机运营商网络非常差的话,它会和你的旧手机一样慢。 对于一些特殊的情况,物理学家可以克服这个“输入-输出”的瓶颈,但是这种情况能否出现在实际的机器学习任务中仍然是未知的。 “我们还没有明确的答案,”德克萨斯大学奥斯汀分校的计算机科学家斯科特 · 阿隆森(Scott Aaronson)说, “ 人们常常对这些算法是否能够提高计算速度表现得非常漫不经心。 ”
量子神经元
无论是传统的神经网络,还是量子神经网络,其主要工作都是识别模式。 受到人类大脑的启发,神经网络由基本的计算单元(即“神经元”)构成。 每一个都可以像一个开关装置一样简单。一个神经元监控其他多个神经元的输出,就像进行投票一样,如果有足够多的神经元处于激活状态,神经网络就会启动。 通常,神经元是按层排列的。 初始层接受输入(如图像像素),中间层创建各种输入(表示结构,如边和几何形状),***一层生成输出(图像内容的高级描述)。
至关重要的是,线路不是预先固定的,而是在不断试错的过程中进行的。 这个网络可能会被输入标有"小猫"或"小狗"的图像, 对于每张图像,神经网络会分配一个标签,检查它是否匹配正确,如果不正确,就调整神经元连接。 起初,它的猜测是随机的,但随后会变得更好;在大约1万个例子之后,它的准确性就大大提高了。 一个严肃的神经网络可以有十亿个相互连接,所有这些都需要调整。
在传统的计算机上,所有这些相互连接都用一个极大的数字矩阵来表示,而运行网络则意味着要做矩阵代数。 按照惯例,这些矩阵操作被外包给一个专门的芯片,比如一个GPU。 但是没有什么比量子计算机做得更好的了。“在量子计算机上,对大矩阵和大向量的处理速度要快得多,能够出现指数级增长,” 麻省理工学院的物理学家、量子计算的先驱塞思·劳埃德(Seth Lloyd)说。
对于这项任务,量子计算机能够利用量子系统的指数特性。 量子系统的大量信息存储容量不在于它的单个数据单位——量子位(qubit)——经典计算机bit的量子对应物——而在于这些量子位的集体特性。 两个量子位有四个关节状态:开/开、关/关、开/关、关/开。 每一个都有一定的权重,或者“幅值”,可以代表一个神经元。 如果你添加第三个量子位,你可以表示八个神经元,第四个的话,神经元能有16个。 机器的容量呈指数增长。 实际上,神经元被涂抹在整个系统上。当你在一个四个量子位的状态下行动时, 你一下子就处理了16个数字, 而一台传统的计算机则必须一个接一个地检查这些数字。
劳埃德 估计,60个量子位足以编码相当于人类一年所产生的数据量,而300个量子位可以携带可观测宇宙的经典信息内容。 (目前***的量子计算机由IBM、英特尔和谷歌制造,拥有50个量子位元。) 这是假设每个幅值只是一个单一的bit位。 事实上,幅值是连续的(实际上是一个复数),而且,为获得可信的试验精度,可以储存15 bit的信息,阿隆森说。
但是量子计算机的存储信息的能力并不能使它运行得更快。 如何才能使用这些量子位才是关键。 2008年,麻省理工学院的物理学家阿拉姆·哈罗(Aram Harrow)和以色列巴伊兰大学的计算机科学家阿维纳坦·哈西丁(Avinatan Hassidim),展示了如何进行逆矩阵运算的关键代数运算。他们将其分解成一系列逻辑运算,可以在量子计算机上执行。 他们的算法适用于各种机器学习技术。 而且它不需要像大部分算法那样需要大量的算法步骤。 计算机可以在“噪音”出现之前完成分类任务——这是当今技术的***限制因素——有可能使计算发生混乱。“在拥有完全通用的容错量子计算机之前,你可能拥有量子优势,” IBM公司Thomas j.Watson研究中心的 克里斯坦·泰姆( Kristan Temme)说。
让机器本身来解决问题
不过,到目前为止,基于量子矩阵代数的机器学习只在只有四个量子位的机器上得到了证明。量子计算机迄今为止的大部分实验成功都采用了不同的方法,量子系统不仅模拟了网络,它本身就是网络。 每一个量子位代表一个神经元。 尽管缺乏指数运算的能力,像这样的设备可以利用量子物理的其他特性。
***的这类设备,有大约2,000个量子位,是由D-Wave Systems制造的量子处理器,位于不列颠哥伦比亚省的温哥华附近。 和大多数人观念中的计算机不同, 它不是从一些输入数据开始,执行一系列操作并显示输出,而是通过找到内部一致性来工作。 它的每一个量子位都是一个超导电环,它充当一个微小的电磁体,向上、向下、向上或向下,这是一个叠加态。 量子位通过允许它们发生磁性相互作用而“连接”在一起。
D-Wave系统的处理器被用于机器学习应用。
要运行这个系统,首先要施加一个水平磁场,这个磁场将量子位初始化为上下相等的叠加态——相当于一块空白的状态。 有几种方法可以输入数据。 在某些情况下,您将一层量子位固定到所需的输入值;更常见的情况是,您将输入合并到交互的强度中。 然后让量子位相互作用。 有些量子位寻求朝着相同的方向, 有些在相反的方向, 在水平场的影响下, 它们会翻转到它们选择的方向。 这样做,它们可能会触发其他量子位翻转。 最初,这种情况经常发生,因为很多都是不合理的。 但随着时间的推移,它们会稳定下来,你可以关闭水平磁场来锁定它们。 在这一点上,量子位处于上下的模式中,以确保输出跟随着输入。
量子位的最终排列是什么很不明显,这就是问题的关键所在。 这个系统,仅仅是通过自然地去做一些事情,就解决了普通计算机可能会遇到的问题。 “我们不需要一个算法,”东京理工大学的物理学家Hidetoshi Nishimori解释说,他发明了D-Wave机器的操作原理。 “这与传统的编程完全不同。 自然解决了这个问题。”
量子位移是由量子穿隧效应驱动的,这是量子系统必须寻找***配置的自然趋势,而不是满足于次优结果。 你可以建立一个传统的网络,在类似的原理上工作,使用随机的抖动而不是隧道来让bit翻转,在某些情况下,它实际上会更好。 但有趣的是, 对于机器学习中出现的各种问题, 量子网络似乎能够更快达到***状态。
D-Wave机器也有它的批评者。 它非常“嘈杂”,而且在它目前的版本中,只能执行有限的操作。然而,机器学习算法的本质是可以容忍“噪音”的。 它们之所以有用,正是因为它们能让人理解混乱的现实,在干扰性背景中从区分小猫和小狗。 "众所周知, 神经网络对噪音有很强的鲁棒性,"贝尔曼说。
2009年,由谷歌的计算机科学家特穆特·奈文(Hartmut Neven)领导的一个团队,共同创立了谷歌眼镜项目, 随后开始进行量子信息处理, 展示了早期 D-Wave 机器如何能够完成一项令人尊敬的机器学习任务。 他们把它作为一个单层的神经网络,把图像分成两类:“汽车”或“非汽车”,在一个2万个街道场景的数据库里。 这台机器只有52个可以工作的量子位,太少了, 根本无法拍摄完整的图像。 (请记住: D-Wave 机器的类型与***进的50量位系统在2018年上线时截然不同。) 因此, 奈文 的团队将这台机器与一台传统计算机相结合,分析了这些图像的各种统计量,并计算出这些量对汽车的存在有多敏感——通常不是很精确,但至少比抛硬币要好。 这些量的一些组合可以一起可靠地识别出一辆汽车, 但不清楚是哪一种——这是神经网络的任务。
团队为每个量分配了一个量子位。 如果这个量固定值为1的话,那么它标记相应的数量是有用的;0意味着不用麻烦了。 量子位的磁性相互作用对问题的需求进行编码,例如只包括***辨识力的量,以便使最终的选择尽可能的简单。 结果是能够发现一辆汽车。
去年,由加州理工学院粒子物理学家玛丽亚·斯皮罗普鲁(Maria Spiropulu)和南加州大学物理学家丹尼尔·利达(Daniel Lidar)带领的一个小组将该算法应用到一个实际的物理问题上:将质子对撞归类为“希格斯玻色子”或“非希格斯玻色子”。 他们利用基本粒子理论来预测哪些光子特性可能会泄露出希格斯粒子的短暂存在,比如超过某个阈值的动量。 他们考虑了8种这样的属性和28种组合,总共36个候选信号,并让位于南加州大学的晚期模型D-Wave找到了***选择。 它确定了16个变量是有用的,3个是绝对***的。 量子计算机需要比标准程序更少的数据来进行准确的识别。 “如果训练集很小,那么量子方法确实比高能量物理社区使用的传统方法提供了一个精确的优势,”利达说。
加州理工学院的物理学家 玛丽亚·斯皮罗普鲁 使用量子机器学习来寻找希格斯玻色子。
去年12月,Rigetti演示了一种使用具有19个量子位的通用量子计算机自动对对象进行分组的方法。 研究人员向计算机输入了一系列城市和它们之间的距离的方法,并要求将城市分类为两个地理区域。 这个问题的困难之处在于,一座城市属于哪个地理区域取决于系统对其他城市的分类,所以你必须同时从整个系统出发。
Rigetti团队有效地给每个城市分配了一个量子位,指示它被分配给哪个组。 通过量子位的相互作用(在Rigetti的系统中,是电子而非磁性),每一对量子位都试图取相反的值——当它们这样做时,它们的能量被最小化了。 显然,对于任何超过两个量子位的系统,一些量子位必须同意被分配到同一组。 附近的城市更容易接受,因为它们在同一组的能量消耗低于更遥远的城市。
为了使系统达到***能量,Rigetti团队采用了类似于D-Wave程序的方法。 他们将量子位初始化为所有可能的集群分配的叠加。 他们允许量子位进行短暂的交互,这使他们倾向于假设相同或相反的值。 然后,他们应用了一个水平磁场的模拟,允许量子位在他们倾斜的情况下翻转,推动这个系统向它的***能量状态前进一点点。 他们重复了这两步过程——交互然后翻转——直到系统最小化能量,从而将城市划分为两个不同的区域。
这些分类任务很有用,但很简单。 机器学习的真正前沿是在生成模型中,它不仅能识别小狗和小猫,还能产生新的原型——从未存在过的动物,但和那些动物一样可爱。 他们甚至可以自己找出“小猫”和“小狗”的类别,或者重建丢失了尾巴或爪子的图像。“这些技术非常强大,在机器学习中非常有用,但它们非常困难。” D-Wave***科学家穆罕默德·阿明 (Mohammad Amin) 说。 量子辅助将是***的。
D-Wave和其他研究团队已经接受了这个挑战。 这种模型的训练意味着调整量子位之间的磁性或电子相互作用,使网络能够再现一些样本数据。 要做到这一点,你需要将网络与传统计算机结合起来。 网络做了大量的工作——弄清楚一个给定的交互选择对最终网络配置意味着什么——它的合作计算机使用这些信息来调整交互。 在去年的一次演示中,美国宇航局量子人工智能实验室的研究员亚历山大·奥尔蒂斯(Alejandro Perdomo-Ortiz)和他的团队将一个D-Wave系统运用在了手写数字的图像中。 它发现有10个类别,将数字0与9匹配,并生成了自己的手写数字。
量子计算机的瓶颈
好吧,好消息就是这样。 糟糕的是,如果你不能把你的数据输入到处理器中, 那么处理器有多棒并没有什么大不了的。 在矩阵代数算法中,单个操作可以操作16个数字的矩阵,但是仍然需要16个操作来加载矩阵。 “把传统数据放入量子态完全被回避了,我认为这是最重要的部分,”量子计算创业公司Xanadu的研究员玛利亚·考尔德(Maria Schuld)说,也是首批获得量子机器学习博士学位的人之一。 以物理形式提出的机器学习系统困难在于,如何将一个问题嵌入到量子位网络中并让量子位进行应有的交互。
一旦你成功地输入了你的数据,你需要将它存储在一个量子系统可以与之交互的方式中,而不会导致正在进行的计算崩溃。 劳埃德 和他的同事们已经提出了一种使用光子的量子随机存储器,但是没有人能像超导量子比特或被困的离子那样有一个类似的装置,这是在领先的量子计算机中发现的技术。 “这是建造量子计算机问题之外的又一个巨大的技术问题,”阿隆森说。 “我从实验主义者那里得到的印象是,他们害怕。 他们不知道如何开始建造这样的量子计算机。。”
***,如何输出数据呢? 这意味着测量机器的量子状态,不仅测量一次只返回一个数字,随机抽取,它会使整个状态崩溃,在你有机会取回数据之前就把其余的数据都擦掉了。 你必须一次又一次地运行这个算法来提取所有的信息。
然而,并不是没有希望。在 对于某些类型的问题,你可以利用量子干涉。 也就是说,你可以编排这些操作,这样错误的答案就会自动抵消,而正确的答案就会自我强化,这样,当你去测量量子态时,它不会给你任何随机的值,而是你想要的答案。 但是只有少数算法,比如暴力搜索,可以很好地利用干扰,而且速度通常是适度的。
在某些情况下,研究人员已经找到了获取数据的快捷方式。 在2015年,劳埃德、加拿大滑铁卢大学的Silvano Garnerone和南加州大学的Paolo Zanardi指出,对于某些统计分析,你不需要输入或存储整个数据集。 同样地,当几个关键值足够时,您不需要读取所有数据。 例如,科技公司利用机器学习的方法,根据消费者习惯的庞大矩阵来建议观看或购买东西。 “如果你是Netflix或亚马逊,或者其他公司,你实际上并不需要在任何地方写下这个矩阵,” 阿隆森 说。 “你真正需要的只是为用户生成推荐。”
所有这一切都引发了这样一个问题:如果一个量子计算机只有在特殊情况下才会强大,那么传统的机器在这种情况下是否也会强大呢? 这是该领域尚未解决的主要问题。 毕竟,传统的计算机是非常有能力的。 通常的处理大数据集的方法——随机抽样——实际上与量子计算机非常相似,无论它内部发生什么,最终都会返回一个随机结果。 “我做过很多算法,我觉得这太神奇了, 我们有了这个加速,然后我为一个经典的计算机写一个取样技术, 我意识到你也可以用同样的方法进行取样, ” 考尔德说。
如果你回顾一下量子机器学习到目前为止所取得的成功, 它们都是带有星号的。 以 D-Wave 机器为例 当对汽车图像和希格斯玻色子进行分类时,它并不比传统的机器快。 “我们在本文中没有提到的一件事是量子加速,”谷歌DeepMind的计算机科学家亚历克斯·莫特(Alex Mott)说。他是希格斯研究小组的成员之一。 矩阵代数方法,如哈罗-哈西迪-劳埃德(Harrow-Hassidim-Lloyd)算法,只有在矩阵稀疏、大部分都是零的情况下才会显示出加速效果。 “没有人会问,在机器学习中,稀疏数据集真的很有趣吗?” 考尔德 指出。
量子智能
另一方面,即使是对现有技术的偶尔改进,也会让科技公司感到高兴。“你最终看到的这些优势,它们是适度的;它们不是指数级的,但它们是二次的,” 微软研究院的量子计算研究员内森·维伯(Nathan Wiebe)说。 “如果有足够大、足够快的量子计算机,我们就能在机器学习领域掀起一场革命。”在使用这些系统的过程中, 计算机科学家可能会解决一个理论上的难题: 它们是否天生就更快, 又是为了什么。
考尔德 也看到了软件方面的创新空间。 机器学习不仅仅是一堆计算。 这是一个复杂的问题,有其独特的结构。“人们构建的算法会从使机器学习变得有趣和更美的东西中移除,” 她说。 “这就是我开始反过来思考的原因: 如果这台量子计算机已经存在ーー这些小规模的计算机ーー机器学习模型实际上能够实现什么? 也许这是一个尚未被发明的模型。 ” 如果物理学家想给机器学习专家留下深刻印象,他们需要做的不仅仅是制造现有模型的量子版本。
就像许多神经科学家现在认为人类思维的结构反映了身体的要求一样,所以, 机器学习系统也体现了这一点。 图像、语言和大多数其他的数据都来自于物理世界,反映了它们的特性。 量子机器学习也同样得到体现——但是在一个比我们更丰富的世界里。 毫无疑问,在处理已经是量子的数据时,它无疑会发光。 当数据不是图像,而是物理或化学实验的产物时,量子机器就会发挥出其强大的能力。 输入的问题消失了,传统的计算机将被遗忘在尘埃中。
在一个简洁的自我参照的循环中,***个量子机器学习系统可能会帮助设计他们的继任者。 “我们可能想要使用这些系统的一种方法是自己建造量子计算机,”维伯说。 “对于一些调试任务来说,这是我们唯一的方法。” 也许它们甚至可以调试我们。 姑且不论人脑是量子计算机——这是一个***争议的问题——它有时表现得好像它是一个。 人类的行为是非常情景化的,我们的偏好是由我们的选择形成的,这是违背逻辑的。 在这个过程中,我们就像量子粒子。 “你问问题和排序的方式很重要,这在量子数据集里是非常典型的,” 奥尔蒂斯 说。 因此,量子机器学习系统可能是研究人类认知偏差的一种自然方式。
神经网络和量子处理器有一个共同之处:它们的工作原理令人惊叹。 你可以训练一个网络,尽管几十年来,大多数人都怀疑这是不可能的。 同样地,量子物理学能被用于计算不可能的事情,因为量子物理的独特效应是如此地隐藏在我们的身上。 然而,这两项工作都已经有所成效,虽然并非总是如此,但往往比我们预期的要多。 考虑到这一点,量子物理学和神经网络的结合也可能会在未来令人惊叹不已。