量子计算机的工作之一:提升人工智能智能化水平

来源:新华网  06-12 14:16

  90年代早期,美国威奇塔州立大学的物理学教授Elizabeth Behrman开始致力于将量子物理与人工智能相结合,特别是当时还较为新奇的神经网络技术。大多数人形容她这是在试图将水和火融为一体。“我在出版上花费了很多时间”,她回忆说:“神经网络期刊会说:‘这里的量子力学是指什么?’,物理期刊则会说:‘这个神经网络是什么垃圾?’”。

  在今天,这二者的混合运用已成为一种潮流。神经网络和其他机器学习系统已成为21世纪最具颠覆性的技术。它们在很多方面超过了人类,除了国际象棋和数据提炼等领域外,一些原本只有大脑才擅长的领域,例如面部识别、语言翻译和停车等,神经网络的表现也媲美人类。人工神经网络的成功得益于计算能力的大幅提升。而科技公司也在寻找计算力更强更新型的计算机。

  经过数十年的研究,量子计算机已经有了足够的优势来执行任何其他计算机所无力执行的计算。它们的杀手级应用程序通常被认为是分解海量的数字因子的关键,而后者是现代加密技术的关键。

  不过,量子计算机要想达到成熟至少还需要十年的时间。但今天初级的量子处理器也能满足很多机器学习的需求。它们通过操作大数据,一步到位的识别出传统计算机所无法识别的微妙模式,而且不会被不完整或不确定的数据所阻碍。“量子计算的内在数据特性与机器学习是天生一对。”位于加利福利亚伯克利的量子计算机公司Rigetti Computing的物理学家Johannes Otterbach如此说道。

  如今的量子计算研究已经大面积展开。谷歌、微软、IBM和其它科技巨头纷纷投入大量资金研发量子机器学习。位于多伦多大学的一家创业孵化器也致力于此。“‘机器学习’已经越来越是一个流行词汇了”,莫斯科斯科尔科沃科学与技术学院的量子物理学家Jacob Biamonte说道:“当‘机器学习’和‘量子’放在一起时,它就成了一个超级流行词”。

  然而“量子”这个词的实际含义似乎和它给人留下的印象并不一致。尽管你可能认为量子机器的学习系统是十分强大的,但它却有一种闭锁综合征。它是在量子状态下,而非人类可读的数据上运作的。但若在这两种状态间进行翻译则可能会消耗掉它明显的优势。它就像一部iPhone X一样,虽然有着使人印象深刻的高规格参数,但因为和以前一样糟糕的网络,它的运行最终还是像旧手机一样的慢。对于一小部分特殊情况,物理学家是可以克服这种投入产出瓶颈的,但这些情况是否会出现在实际的机器学习任务中仍是个未知数。“我们至今还没有明确的答案”,来自奥斯汀德克萨斯大学的计算机科学家Scott Aaronson如此说道。每当谈到量子计算机时,他一直都是发出清醒声音的那个。“人们在判断这些算法是否会提高速度时往往是十分随意的”。

  量子神经元

  对于一个神经网络来说,无论是在传统计算机上还是在量子计算机上,它们的主要工作都是识别模式。受人类大脑的启发,神经元是量子计算机的基础计算单元。每一个量子神经元的使用都像开关设备一样简单。如果有足够多的量子神经元被开启,一个用来监督其它神经元产出结果的神经元也会被开启——就像进行投票时那样。通常情况下量子神经元以层为单位进行排列。初始层接受输入(比如图像像素),中间层为输入的数据创建不同的组合(表征像边缘和几何形状等结构),最后一层输出结果(对图像内容的高级描述)。

  最关键的是,这套系统并不是事先设定好的。它会在反复试验和试错的过程中不断进行调整的。这套网络可能会被输入带有“小猫”或“小狗”标识的图像。每一个图像都会被分配一个标签以检查其是否正确。如果不正确则会进而调整神经元连接。这种排列猜想在最开始是随机的,但会逐步被改善。差不多经过10,000次之后量子计算机就可能知道这是它的宠物了。一个典型的神经网络可能会有十亿个连接,而所有的这些连接都需要进行调整。

  对于传统计算机而言,所有的这些互连都由一个庞大的数字矩阵来表示。运行网络也就意味着解矩阵代数。通常情况下这些矩阵运算都被外包给像图形处理单元等专用芯片来完成。但没有什么比量子计算机更适合进行矩阵运算了。“量子计算机上的大型矩阵和大型矢量的运算速度按指数增快”,来自麻省理工学院的物理学家和量子计算先驱Seth Lloyd如此说道。

  对于这项任务而言,量子计算机可以充分利用量子系统的在指数上的天然优势。量子系统的信息存储容量的大部分并不在于其各个数据单元(量子比特是传统计算机存储单位比特的量子对应物),而是在这些量子比特的集合之中。两个量子比特能组成四种不同的状态:关闭关闭、开启开启、关闭开启、开启关闭。每种组合都有特定的权重(或者说振幅)从而代表一个神经元。如果加上第三个量子比特,组合便会有8种;加上第四个组合则会有16种。机器容量的增长会随着量子比特数量的增加呈指数性增长。事实上,量子神经元遍布在在量子系统各处。当你以4量子比特的状态进行操作时,一次便可以处理16个数字,而传统计算机只能一个个逐步计算。

  Lloyd预计只需要有60个量子比特便足以编码出人类社会一年内产生的数据量,而300个量子比特就可以传达已经观测到的宇宙的全部经典信息。(目前最大的量子计算机是由IBM、英特尔和谷歌构建的,拥有50个量子比特。)而这还是在假设每个振幅仅有一个传统比特运算能力的前提下的。事实上,振幅是连续量(更准确的说是复数)。即使是要达到合理的实验上的精度,也可以存储多达15个比特的信息量。Aaronson如此说道。

  但是量子计算机高效的信息存储能力并没有使它运行的更快。因为它的前提是你可以使用这些量子比特。在2008年,来自麻省理工学院的物理学家Aram Harrow和以色列希伯来大学的计算机科学家Avinatan Hassidim展示了如何进行矩阵求逆的关键代数运算。他们将其分解为可以在量子计算机上执行的一系列逻辑运算。其算法也适用于各种机器学习技术。他们的算法并不需要像许多算法那样分解大量的数据。一台量子计算机可以在不产生杂讯(当今科技发展的一大限制因素)的情况下进行分类压缩,而杂讯有可能污染整个数据。“你可能在拥有完全通用的、容错率高的量子计算机之前就可以享受到量子带来的优势”,IBM的Thomas J. Watson研究中心的Kristan Temme这样说道。

  运用天生特性解决问题

  然而到目前为止,基于量子矩阵代数的机器学习仅在拥有四个量子比特的机器上得到了验证。量子机器学习大部分的成功的实验都采取了不同的方法。这其中量子系统不仅仅是在模仿神经网络——它本身就是神经网络。每个量子比特都代表一个神经元。虽然缺乏像取幂这种功能,此种设备仍然可以利用量子物理的其他特性。

D-wave系统

  位于不列颠哥伦比亚省温哥华附近的D-Wave Systems公司生产的量子处理器是相关器件中最大的一个。它能容纳约2000个量子比特。它不是大多人认为的那种电脑。其不是从输入一些数据开始,执行一系列操作并显示输出,而是通过查找内部一致性来工作。它的每个量子比特都是一个超导电子回路,作为微电磁体朝上下左右移动叠加。量子比特通过磁性互动的方式“串”在了一起。

  为了运行该系统,首先要施加一个水平磁场来将量子比特初始化为相等的上下叠加(就像干净的黑板一样)。有好几种输入数据的方法。在某些情况下,你可以将一层量子比特固定到所需的输入值之中。更通行的做法则是将输入的数据与交互的强度合二为一,然后再使量子比特进行交互。有些量子比特会试图沿着相同的方向排列,有些则沿着相反的方向。并且在水平场的影响下它们会转向自己喜欢的方向。这样做了之后他们可能触发其他的量子比特发生翻转。由于很多量子比特在最开始时都没有对齐,这种情况在一开始会很常见。但随着时间的推移它们则会安定下来,此时我们也可以关闭水平域以将其锁定在恰当的位置。此时的量子比特就处于上下移动的模式以输出的数据来自于输入数据。

  量子比特排列的最终状态是什么样的目前尚不清楚,而这恰好就是要点。量子系统只是通过自然的行为自然而然的解决了普通计算机会遇到的问题。“我们不需要算法”,开发了D-Wave机器运行的原理的东京理工学院的物理学家Hidetoshi Nishimori解释说:“这与传统编程完全不同。 大自然解决了这个问题。”

  量子翻转为量子隧穿效应所推动。它是量子系统必须寻找其最佳(都不是哪怕次佳)配置的自然趋势。你可以建立一个以类似原理为基础的经典网络,使用随机抖动而不是隧穿效应来获的量子比特的翻转。在某些情况下,这种做法甚至会有更好的效果。但有趣的是,对于机器学习过程中所遇到的类型化的问题,量子网络似乎总会更快的达到最佳配置。

  同时也有人批评D-Wave量子机器。因为它会产生许多杂讯,且在目前阶段仅能执行十分有限的菜单操作。但机器学习算法的天性就具有抗杂讯能力。这项能力十分有用,因为这样它们就可以理解杂乱的现实,并将小猫从小狗和红鲱鱼的背景中分拣出来。“神经网络在处理杂讯上十分有效。” Behrman这样说道。

  Google的计算机科学家Hartmut Neven是增强现实领域的先行者,也是Google Glass项目的共同创始人。他在2009年领导的一个团队开始研究量子计算信息处理,并展示了一台早期的D-Wave机器如何完成可敬的机器学习任务的。它们基本将它看作单层的神经单元,并从含有20,000张街景图片的数据库中将图像分为两类:“汽车”或“没有汽车”。这个机器只有53个工作的量子比特,这使得其几乎无法输入一整个图像(需要记住的是:D-Wave机与2018年上线的50比特的系统类型完全不同)。所以Neven的团队将该机器和一台传统的计算机相结合。该计算机用于分析图像的各项统计数值,并计算出这些数值对汽车存在的状况的敏感程度。虽然这种做法效率并不是很高,但至少比量子计算随机投币般的算法更好。这些数值的某些结合但可以可靠的发现汽车的存在。虽然它尚且不能够辨认汽车的型号,但这毕竟是网络的工作。

  团队为每个数值赋予了一个量子比特位。如果该量子比特位的是1,则标记相应的数值为有用;如果为0,则表示该数值以后不会被用上。量子比特的磁性交互作用会依据问题的要求进行编码,例如仅将最具有辨识性的数值囊括其中以保证最终选择结果尽可能的简洁紧凑。最终的实验做到了使机器将汽车辨认出来。

  去年,由加州理工学院粒子物理学家玛丽亚Spiropulu和南加州大学的物理学家Daniel Lidar领导的小组将该算法应用于一个实际的物理问题——将质子碰撞分类为“希格斯玻色子”或“无希格斯玻色子”。 他们将注意力仅限于吐出光子的碰撞,并使用基本粒子理论来预测哪些光子性质可能会出现希格斯粒子转瞬即逝的存在。如果动量超过某种阈值是否会出现这种现象呢?他们考虑了8种特性和28种组合,并以此组成36个候选信号。依据这种方法,南加州大学的一个新型模型D-Wave找到最佳选择。它确定了16个有用的变量和三个绝对最好的变量。量子机器跟普通程序相比,其仅需要更少的数据就可以执行准确的识别。“在训练集很小的情况下,量子方法确实比高能物理学界使用的传统方法具有更高的精度优势,”Lidar这样说道说。

加利福尼亚理工学院的物理学家Maria Spiropulu曾使用量子机器学习来寻求发现希格斯玻色子

  去年十二月,Rigetti展示了一种使用具有19个量子比特位的通用量子计算机进行自动的对象分组的方法。研究人员相当于为机器提供了一份城市名单和它们之间的距离,并要求它将城市分为两个地理区域。这个问题难在一个城市的定位必须取决于其它城市的定位,由此你就必须一次性解决整个系统的问题。

  Rigetti团队成功地为每个城市分配了一个量子比特,并指出它分配给了哪个组。 通过量子比特的相互作用(在Rigetti的系统中,它们是电子而不是磁性的),每对量子比特寻求相反的值(当它们这样做时,它们的能量被最小化)。显然对于由两个以上量子比特的系统,某些量子比特会被分在同一个组。相隔较近的城市更容易被分在同一个组,因为它们在同一组的能源成本相比于较远的城市会更低。

  为了使系统达到最低的功耗,Rigetti团队在某种程度上采用了类似于D-Wave退火炉的方法。他们将量子位初始化为所有可能的群集分配的叠加。 他们允许量子比特短暂地相互作用,这使它们偏向于假定相同或相反的值。然后他们模拟水平磁场,使得量子比特在倾斜的情况下就会发生翻转,从而让系统达到最低功耗状态。他们在系统达到最低功耗前反复重复这两个步骤:交互,然后量子翻转,并由此将城市分为两个不同的区域。

  这些分类任务很有用,但很简单。机器学习的真正前沿在于生成模型。这不是简单的识别小猫或小狗,而是进一步生成新的动物原型——一种从未存在过,但和小猫小狗一样可爱的动物。它们甚至可以自己发现“小猫”和“小狗”的种类,或者重建有关它们的缺乏尾巴或爪子的图像。“这些技术十分强大,对机器也很有用,但它们很难。”D-Wave的首席科学家Mohammad Amin这样说道。量子协助可能是最受欢迎的做法。

  D-Wave和其他研究团队已经接受了这个挑战。 训练这样一种模型意味着要调整量比特之间的磁性或者电力相互作用,这样网络才可以再现一些样本数据。 要做到这一点,你需要将网络与普通电脑连接起来。 网络负责处理繁重的工作-确定所给的交互选择对于最终的网络配置意味着什么-其合作伙伴计算机则负责用这些信息来调节这种交互。 在去年的一次示范中,NASA量子人工智能实验室的研究人员Alejandro Perdomo-Ortiz和他的团队用D-Wave系统来识别手写的数字。 系统辨别出有10个类别,以数字0到9来分别与之匹配,并生成了系统自己的潦草的数字。

  *量子隧穿效应*瓶颈

  这当然是个好消息。然而不好的一点则是如果你无法将数据输入,不管你的处理器的性能多好都是没用的。 在矩阵代数算法中,单个操作可能会操纵含有16个数字的矩阵,但它仍然需要16个操作来加载矩阵。 量子计算创业公司Xanadu的研究员,最早获得量子机器学习博士学位人员之一的Maria Schuld说:“量子态的制备- 将经典数据转化为量子态-被完全回避了,而我认为这恰是最重要的一部分。 以物理形式陈列的机器学习系统也遇到了类似的难题:如何在量子比特网络中嵌入问题并使量子比特按它本该的方式相互作用。

  一旦你设法输入数据,你就需要以一种量子系统能交互作用却不影响正在进行的计算的方式进行存储。Lloyd和他的同事们提出了一种使用光子的量子RAM,但对超导量子位或囚禁离子,并没有人在领先的量子计算机中发明类似的技术装置。“这是在自我构建量子计算机这个问题之外的一个很大的技术问题,”Aaronson说。 “和我交流的那些实验物理学家们给我一种他们很害怕的感觉。他们根本不知道如何开始着手这项工作。“

  最后,我们应当如何将数据进行输出呢?这项工作意味着要测量机器的量子态,但测量不仅每次只能随机抽取且返回一个数字,它还可能会使整个状态崩溃,甚至在你有机会进行检索之前就清除掉其余数据。您不得不反反复复地运行算法才能提取出所有的信息。

  然而量子计算机也并非一无是处。某些问题我们是可以用量子干涉技术来解决的。 也就是说,你可以编排好运算方式,让错误的答案能自行剔除,正确的答案自我加强; 这样,当你去计算量子态时,它就会给你想要的答案而不只是一个随机值了。 但是只有少数几种算法(如穷尽搜索算法)才能够很好地运用量子干涉,而且带来的速度上的提升也很有限。

  在一些案例中,研究人员找到了输入、输出数据的捷径。2015年,加拿大滑铁卢大学的Silvao Garnerone以及南加州大学的Paolo Zanardi表明,对于某些类型的统计分析,你没有必要去输入或存储整个数据集。同样的,如果有几个关键值就足够了的话,你也不需要读取所有的数据。例如,根据消费者习惯的庞大矩阵利,科技公司会利用机器学习提供观看什么节目或购买什么东西的建议。 “如果你是Netflix或亚马逊或其他什么公司,实际上你并不需要写那么多矩阵。“Aaronson说,“你只需要为用户生成一条建议就好了。”

  所有的这些情况都引出了这样一个问题:如果量子机器仅在特殊情况下才有着极其强大的效用,那么在这些特殊情况下传统机器是否也同样强大呢?这是该领域内尚未解决的一个主要问题。 普通电脑毕竟还是非常能干的。 我们处理大数据集的常用方法- 随机抽样- 实际上与量子计算机的实质就非常相似:无论在其内部发生什么,量子计算机最终都会返回一个随机结果。Schuld评论说:“我做了很多的算法后觉得‘这真是太不可思议了,我们大大提升了速度,'后来出于乐趣我给传统计算机也写了一个抽样技术,发现可以用抽样做同样的事情。

  回顾量子机器学习迄今为止所取得的那些成就,你会发现它们都得打一点折扣。以D-Wave机器为例。在对汽车图像和希格斯玻色子进行分类时,它并不比传统机器更快。“本文中我们没有提及的其中一件事就是量子加速比。” Alex Mott这样说道,他是Google 深度学习项目的一名计算机科学家,也是Higgs研究小组成员之一。矩阵代数方法如Harrow-Hassidim-Lloyd算法仅在矩阵稀疏的情况下- 基本布满了零-才显示加速比。Schuld也指出“从来没有人问过,机器学习中稀疏数据集是否真的有意思?”。

  量子智能

  从另一个角度而言,即使是偶尔改进现有技术也会使科技公司感到高兴。 “你最终看到的这些优势是很微小的,它们虽然不是指数式的迅猛发展,但它们也是二次方程式的发展,“微软研究院的量子计算研究员Nathan Wiebe这样说道。“只要能提供足够大并且足够快的量子计算机,我们就可以将机器学习的许多领域彻底改变。”在使用这些系统的过程中,计算机科学家可能还会解决理论上的一个难题,即它们是否本身就更快呢?原因又是什么呢?

  Schuld还看到了软件方面的创新空间。 机器学习不仅仅只是一堆计算,它是一系列有自己特定结构的复杂问题的集合。她说:“人们所构建的算法被从那些使机器学习变得有趣和美丽的事物中移除出去了。这就是为什么我开始反过来思考:如果我们早就有了这些小规模的量子计算机,那它会实施什么样的机器学习模型呢? 或许会是一个我们尚未发明的模型。“如果物理学家想要给机器学习专家们留下深刻印象,他们需要做的还有很多,不能仅是制作现有模型的量子版本。

  正如现在许多神经系统科学家所认为的那样,人类思维的结构反映了身体的需求。同样地,机器学习系统也体现了这一点。图像,语言以及大多数流经它们的其他数据都来自于物质世界并能反映其特性。量子机器学习同样也体现了这一点,但是在比我们更丰富的世界之中。在处理已经量子化了的数据的领域里,量子机器学习技术将毫无疑问地脱颖而出。当数据不再是图像,而是物理或化学实验的产物时,量子机器将成为它们的基本要素。输入问题解决了,传统计算机也终将被淘汰。

  在一个灵活的自我参照循环中,第一个量子机器学习系统可能会有助于后面的设计。 Wiebe说:“实际上,我们认为使用这些系统的方式之一就是让量子计算机进行自行构建。对于某些调试任务来说,这是唯一的方法。甚至,他们也可能会反过来调试我们。撇开高度争议的人脑是否是量子计算机的问题不谈,人脑有时就像一个量子计算机一样。人类行为是出了名的情景化的; 我们的喜好是由给我们的那些选择,以一种无视逻辑的方式所形成的。在这里,我们就像量子粒子。 “你提出问题的方式和顺序都很关键,而这正是在量子数据集中非常典型的特征,”Perdomo-Ortiz这样说道。所以量子机器学习系统可能是天生的用于研究人类认知偏差的工具。

  神经网络和量子处理器有一个共同点:二者居然都可以实际运行。从来没有明显迹象表明网络可以被训练。几十年来大多数人都怀疑这是否是可能的。同样,也从来没有明显迹象表明可以利用量子物理学来做计算,因为量子物理学的独特作用对我们来说是非常隐蔽的。然而,两者都能有效运行。虽然并非总是如此,但也比我们所设想的要好多了。照此情况来看,这两者的联合似乎日后在科学界也会有一席之地。

  本文编译自WIRED,原标题为JOB ONE FOR QUANTUM COMPUTERS: BOOST ARTIFICIAL INTELLIGENCE,编译陈立编辑杜雪。