据国外媒体报道,美国著名科技媒体《连线》撰文分析了量子计算在机器学习系统中应用的优势、弊端以及现有范例,表示两者的结合或终将修成正果,解决人工智能等诸多问题。
早在上世纪90年代,威奇塔州立大学的物理学教授伊丽莎白⋅贝尔曼(Elizabeth Behrman)开始致力于研究量子物理与人工智能的结合,而其中的神经网络在当时还堪称是特立独行的技术。大多数人认为她在把油和水进行混合。她回忆说:“我花了很长时间才把论文出版。与神经网络相关的期刊会说,’量子力学是什么?’,物理期刊会说,’神经网络是什么?’”
但到今天,两者之间的结合似乎成了世界上最自然的事情。神经网络和其他机器学习系统已成为21世纪最具破坏性的技术。它们的能力远超出人类,不仅在国际象棋和数据挖掘等方面表现出众,而且在人类大脑所擅长的面部识别、语言翻译等方面进展迅速。通过后台的强大算力,这些系统的价值不断凸显。对于科技公司来说,寻找更大算力的新型计算机不可避免。
经过数十年的研究,量子计算机相比于其他类型计算机已经具有足够的优势来执行超越地球上任何其他计算机的计算。通常认为其上运行的杀手级应用程序能够解析大数据,这也是现代加密技术的关键问题。
但这一技术要落地依旧还需要十多年的时间。在今天,初级量子处理器完全能够匹配机器学习的需求,这种计算机通过对大量数据的操作,解析出传统计算机无法识别的细微模式,并且不会因数据的不完整或不确定性而受到影响。 “量子计算的内在统计特性与机器学习技术之间有着天然的耦合性,”位于加利福尼亚州伯克利的量子计算机公司Rigetti Computing物理学家约翰奥特巴赫(Johannes Otterbach)如是指出。
可以说,关于量子技术发展的钟摆正处于一端的高点。谷歌,微软,IBM以及其他科技巨头纷纷投入量子机器学习,而多伦多大学的创业孵化器也致力于此。 “‘机器学习'正在成为业界的一种流行语,”莫斯科斯科尔科沃科学与技术学院的量子物理学家雅各伯⋅比亚蒙特(Jacob Biamonte)说,“当你把它与‘量子'结合在一起时,它就成了一个超级流行词。”
然而,“量子”这个词本身并没有任何意义。即便你或许会认为量子机器学习系统应该是强大的,但它却受到了类似于闭锁综合症的影响。它需要在量子状态下运行,而非在人类可读的数据上进行操作,而两者之间的转换可能会抹杀其最大的优势。就像现有的iPhone X一样,虽然配置很高,功能很强,但如果网络不好的话,也会和旧手机一样慢。在特定的情况下,物理学家或许可以克服这种输入输出的瓶颈,但是在实际的机器学习任务中如何解决相关问题我们仍然是不得而知。 “我们还没有明确的答案,”奥斯汀得克萨斯大学计算机科学家斯科特⋅阿伦森(Scott Aaronson)说,其在量子计算方面一直保持着清醒的头脑, “人们往往并不在乎这些算法是否会加快处理速度。”
量子神经元
无论是传统神经网络还是量子神经网络,其主要工作都是识别模式。这种技术主要由人类大脑启发而来,是由所谓“神经元”构成的网络。每个基本神经元像开关一样简单,而一个神经元能够监视多个其他神经元的输出,如果有足够多的神经元开启,它也就会转换状态。通常神经元排列成层,初始层接受诸如图像像素等输入,中间层创建表示图形边缘和几何形状等结构的各种输入组合,而最后一层则产生诸如关于图像的高级描述等输出内容。
图示:神经网络结构图
至关重要的是,这种结构并不是事先确定的,而是在反复试验的过程中进行相应调整。神经网络可能会被输入标有“小猫”或“小狗”等定义的图像。对于每个输入的图像,它会分配一个标签,检查结构是否与图像匹配,如果不是则调整神经元连接。起初机器等这种“猜测”是随机的,但会越来越好;比如在处理10000个学习样例后,神经网络能够达到更好的效果。一个大型神经网络可能有十亿个互连,所有这些都需要在训练中进行反复调整。
在经典的计算机上,所有这些互连都由一个巨大的数字矩阵表示,运行神经网络实际上意味着做矩阵代数。通常,这些矩阵处理是由诸如图形处理单元的专用芯片所完成的。但是没有什么能够像量子计算机一样处理矩阵。麻省理工学院物理学家、量子计算先驱赛斯⋅劳埃德(Seth Lloyd)表示:“在量子计算机上处理大型矩阵和大型矢量的速度更快。”
量子计算机能够利用量子系统的指数性质进行矩阵运算。在量子计算机中,与传统计算机中最小的数据存储单位比特所对应的是量子比特,但量子系统的信息存储容量并不依赖于其单个的数据单元 ,而是这些量子比特的表征叠加。两个量子比特共有四个叠加状态:00,01,10,11。每个都代表一定的权重或“偏振度”,可以代表一个神经元。如果有三个量子位,则可以代表八个神经元,以此类推,四个量子比特就可以代表16个神经元。机器的容量呈指数级增长。实际上整个神经网络系统中的神经元都处于一种游离态。结果就是,当量子计算机在四个量子比特的状态下工作时,一次能够处理16个数字,而一台传统计算机则必须逐个处理这些数字。
劳埃德估计,60个量子比特所编码的数据量就可以超过全人类一年所产生的数据量,而300个量子比特可以处理全宇宙的所有信息量。目前世界上最大的量子计算机由IBM,英特尔和谷歌联合开发,拥有大约50个量子比特。阿伦森称,如果假设一个传统比特只是一个振幅的话,量子比特的振幅是连续量。实际中为了合理的实验精度,一个量子比特可以存储的位数多达15位。
但量子计算机强大的信息存储能力并没有让它变得更快。你首先需要能够利用这些量子位。 2008年,麻省理工学院物理学家阿兰姆哈罗(Aram Harrow)和以色列巴伊兰Bar-Ilan大学计算机科学家Avinatan Hassidim展示了如何用量子计算机完成矩阵求逆的关键代数运算。他们把其分解成可以在量子计算机上执行的一系列逻辑运算,两位科学家所开发的算法适用于各种机器学习技术,并不需要像诸如数据分解等算法步骤。计算机可以在筛除噪声之前通过分类任务进行数据压缩——这也是当今技术的一个主要限制因素——或许会解决运算问题。 IBM托马斯⋅J⋅沃森(Thomas J. Watson)研究中心的克里斯坦⋅特米(Kristan Temme)表示:“或许在拥有完全通用的容错量子计算机之前,我们可能利用量子优势。
用自然解决问题
然而到目前为止,基于量子矩阵代数的机器学习算法仅在仅有四个量子位的机器上得到了验证。迄今为止有关量子机器学习的大部分实验成功都采用了不同的方法,其中的量子系统不仅仅模拟神经网络;它本身就是网络。每个量子比特代表一个神经元。虽然这种设备还缺乏取幂的强大运算力量,但像其也可以利用量子物理的其他特性。
目前最强大的这种设备有约2000个量子位,它是由位于不列颠哥伦比亚省温哥华附近的D-Wave Systems公司生产的量子处理器。这并不是大多数人所认为的那种传统电脑。传统电脑输入数据,通过执行一系列操作并显示输出。相比之下,这种量子处理器通过查找内部一致性来工作。它的每个量子比特都是一个超导电子回路,你可以把它看作一个微小的电磁体,能够朝上,朝下或上下移动,同时显现出叠加状态。不同的量子比特以磁性方式进行交互,从而“连接”在一起。
为了运行该系统,首先需要施加一个水平磁场,将量子比特初始化为上下对等的叠加——这相当于没有输入。目前有几种输入数据的方法。在某些情况下,您可以将一层量子位排列成所需的输入值;研究人员更常用的方式是将输入融入耦合磁场,然后让量子比特进行互动。在电磁场的作用下,有些量子比特会沿着相同的方向排列,而有些则会沿着相反的方向排列,并且在水平磁场的影响下发生转向。这样一来,受影响的量子比特可能会触发其他量子比特的翻转。输入耦合磁场后量子比特会发生偏移,但随着时间的推移,它们会逐步稳定,你可以关闭水平磁场以锁定量子比特的状态。此时,量子比特塌缩成01状态,从而获得最终解。
关键在于量子比特的最终排列是什么并不确定。该系统只是通过自然的方法去解决一个普通计算机会遇到的问题。 “我们不需要算法,”东京理工学院物理学家Hidetoshi Nishimori解释说,他创造了D-Wave机器运行的原理。 “这与传统编程完全不同。大自然解决了这个问题。”
该量子比特的翻转依赖于量子隧穿效应,也就是量子系统必须自行找出最佳配置。当然,你完全可以用同样的原理构建一个传统网络,说不准利用随机轻摇所获得得结果要比量子隧穿效应更好。但有趣的是,对于机器学习中出现的问题类型,量子网络似乎能够更快地达到最佳状态。
关于D-Wave机器也有不少质疑者。其结果包含过多的噪声,并且在目前的模型下其执行的操作相当有限。然而机器学习算法本质上具有抗噪声能力。它们之所以有用正是因为它们可以理解杂乱的现实,将小猫从小狗的背景中分拣出来。 贝尔曼说:“神经网络对处理噪声非常有效。”
谷歌计算机科学家Hartmut Neven曾负责增强现实技术研究,他创立了谷歌眼镜项目。2009年,其领导的一个团队展示了早期的D-Wave机器如何完成机器学习任务。他们将其用于单层神经网络,将待处理的图像分成两类:“有车”或“无车”,其中包含了20,000个街道场景的图书馆中。该机器只有52个可运行量子比特,对于处理所有图像来说尚显乏力。(需要清楚的是:D-Wave机器与2018年上线的具有50个量子比特的量子计算机完全不同)。因此Neven的团队将D-Wave机器与传统计算机相结合,用传统计算机分析各种统计量并计算这些量对汽车存在的敏感程度 - 通常并不是很高。通过这些量的某些组合可以发现汽车,但并不明显。接下来是量子神经网络的工作,找出答案。
团队为每个数量分配一个量子比特。如果该量子比特的数值为1,则标记相应数量对汽车存在有影响; 0则表示没有影响。团队根据问题的要求对量子比特的相互磁力作用进行了编码,例如只保留最具有鉴别性的量,以便尽可能简化最终选择,结果是D-Wave机器可以识别出汽车。
去年,由加利福尼亚理工学院粒子物理学家玛丽亚斯皮罗普鲁(Maria Spiropulu)和南加利福尼亚大学(University of Southern California)物理学家丹尼尔里达(Daniel Lidar)领导的小组将该算法应用于解决一个实际物理问题:将在质子碰撞中产生的光子分为“希格斯玻色子”或“不是希格斯玻色子” 。“他们将注意力集中在激发光子的碰撞上,用基本粒子理论来预测哪些光子属性可能会表明希格斯玻色子的存在,比如说超过某个动量的阈值。他们考虑了8种粒子属性和由此产生的28种属性组合,总共确定了36个候选信号。研究人员让南加州大学的D-Wave机器找到最佳选择。机器确定了16个有用变量,3个最佳变量。相比于标准程序,量子机器执行准确判别所需要的数据量更小。 “如果训练集很小,那么量子方法的精确度确实比高能物理学界惯常使用的传统方法更高”里达表示。
图示:加州理工学院粒子物理学家玛丽亚斯皮罗普鲁(Maria Spiropulu)利用量子机器学习系统解决寻找希格斯玻色子的问题。
去年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)指出:“量子态制备工作 ——也即是将传统数据转化为量子态完全被忽略了,我认为这恰恰是最重要的工作之一。”斯库德曾获得了量子机器学习博士学位。事实上,基于物理实体的机器学习系统在应用量子计算时,常常面临着如何在量子比特网络中嵌入问题以及如何使量子比特相互作用等多重问题。
一旦数据能够载入,就需要把数据存储起来,同时确保量子系统与数据交互时不会影响正在进行的计算。劳埃德和他的同事们提出了一种使用光子的量子RAM,但目前并没有诸如超导量子比特或囚禁离子等类的装置,这是量子计算领域的尖端技术。 “除开发量子计算机本身之外,这又是一个难题,”阿伦森表示, “从我和实验主义者鹅谈话得知,他们望而生畏。他们不知道如何开始开发这样的技术。”
最后的问题还有你如何导出数据?这意味着要检测机器的量子状态,一次检测不能只返回一个随机抽取的数字,因为检测会导致量子状态的塌缩,从而清楚其他所有数据。你必须反复运行算法,来提取出所有信息。
然而还有一线希望。解决某些类型的问题完全可以利用量子干涉。也就是说,你可以编排操作过程,让错误的答案自行消失,让正确答案自我强化;这样,当你去检测量子态时,它不会给你任何随机值,而是你想要的答案。但只有少数算法(如蛮力搜索)可以很好地利用量子干涉,并且加速效果有限。
在某些情况下,研究人员发现了获取数据的捷径。 2015年,劳埃德和加拿大滑铁卢大学的Silvano Garnerone以及南加利福尼亚大学的Paolo Zanardi研究表明,对于某些类型的统计分析,并不需要输入或存储整个数据集。同样,只要几个关键值满足需求时,就不需要读出所有的数据。例如,科技公司根据消费者的习惯数据,利用机器学习的庞大矩阵来推送节目或商品。 阿伦森称:“Netflix或亚马逊实际上并不需要到处生成的矩阵,“真正需要的只是为用户提供建议。”
所有这些都引出了这样一个问题:如果量子计算机仅在特殊情况下才具有强大功能,那么在这些情况下传统计算机是否也可以发挥出强大的作用?这是该领域尚未解决的主要问题。普通电脑毕竟算力有限。而处理大量数据集的常用方法,比如随机抽样实际上与量子计算机的运行机制非常相似——也就是无论在系统内部发生了什么,都会返回随机结果。 斯库德评论说:“我完成的很多算法都让我感觉’这很棒,我们可以提升运算速度,’然后我只是为了好玩,也会为传统计算机编写一个同样的抽样算法,也能够实现相同的效果。”
如果回顾迄今为止量子机器学习所取得的成功,它们都带着引号。以D-Wave机器为例,在对汽车图像和希格斯玻色子进行分类时,它的速度并不比传统机器快。 “谷歌DeepMind项目计算机科学家、希格斯玻色子研究小组成员之一的亚历克斯莫特(Alex Mott)强调:”本文中我们没有提到的一件事是量子加速。”诸如Harrow-Hassidim-Lloyd算法等矩阵代数方法只有在稀疏矩阵的情况下才能够实现量子加速。 “从来没有人问过,机器学习中稀疏数据集是否真正有意义?”斯库德如是指出。
量子智能
但从另一方面讲,现有技术即便偶有改进,也会让科技公司非常兴奋。 “你最终看到的这些优势都不大;它们不是指数级的,但至少是二次型的,“微软研究院量子计算研究员弥敦韦博(Nathan Wiebe)表示。 “如果量子计算机功能足够强大,计算速度也足够快,我们可以彻底改变机器学习应用的许多领域。”在应用这些系统的过程中,计算机科学家或许可以解决理论上的难题,也就是它们能否更快,以及为什么。
斯库德也看到了量子计算在软件方面的创新空间。机器学习并不仅仅是计算问题,其中很多复杂的问题也有着自己的特定结构。她说:“人们构建的算法并没有使机器学习变得有趣和美观。这就是为什么我开始反过来思考的原因:如果有这样一台真正的量子计算机,那么实际上可以使用什么机器学习模型?也许这种模型还尚未发明出来。”如果物理学家想要打动机器学习专家,除了构建现有模型的量子版本外,他们需要做的更多。
现在许多神经科学家认为人类思维的结构反映了身体的要求,机器学习系统同样也体现了这一点。所处理的图像,语言和大多数其他数据都源自真实世界,并反映其特征。量子机器学习系统也同样如此,但所反映的世界要更为丰富。毫无疑问其最为擅长的就是处理量子数据。当数据不再是图像,而是物理或化学实验的产物时,量子机器将应对自如。如果输入问题得以解决,传统计算机将会被尘封在历史中。
在完整的自我参照循环中,第一批量子机器学习系统有助于开发新一代系统。韦博指出:“我们真正想要的是让这些系统自行构建量子计算机。对于一些调试任务,这是我们唯一的方法。”撇开人脑是否是量子计算机这个极具争议的问题不谈 ,也许这种系统甚至可以为我们纠错。众所周知,人类的行为取决于情境;特定的选择决定了我们的偏好,其方式无视逻辑。从这方面看,我们就像量子粒子。 “人类提出问题的方式和次序,都是量子数据集中非常典型的特征,”Perdomo-Ortiz如是指出。所以说,量子机器学习系统或许是研究人类认知偏差的一种方式。
神经网络和量子处理器还有一个共同点:它们都神话般地实现了。训练神经网络并非易事,几十年来大多数人都怀疑它是否能够成为现实。同样,量子物理学用于计算也未置可否,因为量子物理学的独特作用对我们来说依旧是管中窥豹。然而,两者都已经实现了。虽然并没有成为常态,但却超出我们的期待。并非总是如此,而是比我们有权期待的更多。考虑到这一点,两者的结合或许会修成正果。