D-Wave的量子计算机,到底能不能进行量子计算?

最近Google宣布在量子计算领域取得了突破性进展,他们用D-Wave量子计算机在解决某些问题上比传统计算机过程快了1亿倍。果真这样,它将带来人工智能技术的巨大进步。但也有专家对此表示质疑,认为这些说法夸大其词了。那么D-Wave所谓的量子计算机,到底能不能做量子计算,这一亿倍的加速又是怎么回事?

让我们在计算机的新时代即将到来的亢奋情绪中先冷静下来,看看Google究竟做了些什么。

加拿大的D-Wave公司被称为世界第一家量子计算机公司,推出了第一个商用量子计算机。但D-Wave的机器在学术界一直存在争议,其所谓更快的计算速度一直受到质疑。2013年,Google从D-Wave系统公司购买了这样一台量子计算机,现在,他们宣布其运行速度比普通计算快一亿倍,那么这台D-Wave计算机究竟是如何工作的呢?

D-Wave的计算机其实是一个被称之为量子退火炉的一个专门设备,它的目标是发展一种快速的下山算法。所谓“下山算法”,打个比方说,就是要发现一种办法可以在充满丘陵和山谷的山区,找到最低的位置。或者说,就是如何让计算机从一组随机起伏的数据中找到最小值。如果数据组成一个平滑的曲面,那么下山算法就是一种可以让计算机找出曲面上的最小值的算法工具(如图1)。它要先设定一个起始点,比较起始点附近数据的差别,不断判断选择"下山"方向,直到到达一个任意方向都无法往下走的最低点。从而找到曲面上的一个极小值,或称势能最低点,所以下山算法是一种实现数据最优化的方法。

D-Wave的量子计算机,到底能不能进行量子计算?_第1张图片
图1 箭头表示局域极小值,黑点表示全局极小值


可是下山算法只能找到局部的最低点,并无法有效地找到全局的最低点。当数据非常不平滑的时候,会有很多很多局域最低点(如图2),这时候要寻找全局的最低点,就非常困难。这是计算科学中一个有名的难题,上面讲的下山算法无法解决这个难题。


D-Wave的量子计算机,到底能不能进行量子计算?_第2张图片
图2 有很多局域最低点时,寻找一个全局最低点就很困难


于是人们又发明了模拟退火算法,比下山算法有所改进,但还是不能完全解决这个难题。而D-Wave公司采用量子退火技术解决了上述最优化难题。即使当数据非常不平滑的时候,该方法也非常奏效。


退火的概念起源于金属加工技术,指将金属加温到某个高于再结晶温度的一点并维持此温度一段时间,再将其缓慢冷却。经典模拟退火算法和量子退火算法采用的解决最优化问题的步骤和思路,与金属的退火确实有着异曲同工的妙处。

和经典退火算法相比,D-Wave量子退火算法有非常大的加速。要理解这一点,还需要知道一点神秘的“量子隧穿效应”。这种效应指的是,微观粒子有一种能力可以穿过不可能穿越的壁障,出现在壁障的另一端,就如图2中大的蓝色箭头所示,微观粒子从一个极小值直接穿越到另一个极小值。

在我们的现实世界中,比如玩滑板运动,想要越过某个高坡,你必须加速到一定的速度,使你在低点位置的动能大于最高位的势能,才有可能滑过这个高坡。但对于一个量子的微观粒子来说,它不需要那么大的能量就能穿过壁障,因为一个微观量子并不存在一个精确的能量值,而是以一定概率分布在一片区域,也许它平均能力很低,大多数时候这个微观粒子处于低能量,无法翻越壁障,但虽然概率小,但总有机会处于高能量而穿过壁障。

D-Wave正是利用所谓的量子隧穿使D-Wave量子比特(微观粒子)寻找最低的量子势,理论上它可以让粒子更快找到量子势的最低点。当铌被冷却到低于9.2 K而成为超导体时,它就开始显示出量子力学效应。D-Wave的量子处理器是由排列于整齐格子中的金属铌的微小电流环(超导线圈)构成的,每个环是一个量子比特。让电流环的电流顺时针或逆时针旋转,超导量子比特发射向下或向上指向的磁场,编码比特1或0。在量子退火时,电流环的电流同时进行顺时针和逆时针方向流动。这使量子比特处于一种“叠加”状态,就是说,一个既是0又是1的状态。

为了从一个单个的量子比特发展成多量子比特处理器,每个量子比特必须被连接在一起以交换信息。这是通过使用被称为耦合器的元件(或称量子格子)实现的,耦合器也是由超导线圈实现的。使用许多量子比特和耦合器,并用电路控制管理磁场产生就可以实现可编程的量子器件结构。 D-Wave是由上千个量子比特和几千个耦合器构成的电路网格。为了达到这一规模,其量子处理器包含超过10万个约瑟夫森结(Josephson Junctions),可以说是有史以来最复杂的超导集成电路。

D-Wave首先制备好这样一系列量子比特,设置好他们的初始位置和自旋状态,并通过耦合器为这些量子比特设置好三维的算法模型。随后,通过向超导电路加特殊电流,设置耦合电场,减弱量子比特间的相互作用,量子隧穿效应发生,量子比特就进入了自旋的叠加状态,相当于同时具有 0 和 1 状态的比特。然后进行”退火”, 慢慢撤去耦合磁场,增强相互作用,最终,量子比特稳定下来,给出最终解。在量子退火结束后,量子比特“塌缩”成两种状态之一,或是0或是1。

可以看出,量子退火其实是让大自然自己去进行计算,我们等着看结果:最终稳定下来的量子,一定是在这个三维算法模型中,相互间能量最小的状态。即只要模型设置得当,我们就有非常大的机率让量子比特落到最低的“山谷”当中。三维算法模型相当于我们现实的丘陵地貌,大量的量子比特就像大量降下的雨水,落在地上的水自然会在山谷中流动(隧穿效应),最终流向最低的地方。不同于普通计算机,D-Wave做的是并行计算,有一点像人脑,在寻找一条曲线的最低点时是通过观察整体曲线,立即就可以发现曲线最低点,而不像普通计算机,从盲目的起点出发,逐点计算,一个点一个点地比较,然后才找到最小点。

那么Google一亿倍的速度提升是如何得出的呢?Google的团队将D-Wave与在普通电脑上演绎的模拟退火技术进行了比较,就是在普通计算机上运行一个下山算法的软件。不同于D-Wave,它没有隧穿效应,当然运行很慢。经过比较,Google的团队声称在涉及 1000个以上二元变量的问题时,量子退火显著优于经典计算机,它比在单核上运行的模拟退火算法快了1亿倍。

那么其他专家们又是怎么看待Google的这个结论呢?瑞士苏黎世联邦理工学院的Matthias Troyer 说:“你需要仔细理解他们的说法,他们首先选了一个特别的问题,这个问题用经典算法特别困难,而D-Wave恰巧在这个特别问题上具有优势,所以它取得了比普通计算机快1亿倍的骄人成绩。” 换句话说,D-Wave是在具有巨大的主场优势的条件下获得遥遥领先的成绩的。也就是说D-Wave是一个专用量子计算机,只能算优化问题。它利用量子退火算法取得了高速,因为它本身就是一个量子退火系统。

Troyer表示,如果让普通计算机采用更好的模拟退火算法,D-Wave的优势就会大打折扣,也许只比普通计算机快100倍左右。而如果在普通计算机上运行其他更复杂的算法,其运算速度甚至可以完全击败D-Wave。所以声称1亿倍的高速实在有些误导人。

再则,D-Wave只是个专门硬件,只能计算优化问题,成本达千万美金以上。Google团队在对他们工作进行详细报道时也承认,目前某些专门针对优化问题的非量子计算设备的确可以实现和D-Wave计算机相同的计算速度。但他们认为这不值得讨论,因为如果进一步发展大规模的量子计算机,它将很快取得远高于现在水平的计算速度和功能。

这样看来,Google最近宣布快一亿倍的突破性进展是否只为博人眼球? 倒也不竟然是这样,量子隧穿效应所带来的加速是真实的。尽管现在其它经典算法甚至可以比D-Wave更快,但随着量子计算机量子比特的增加,经典计算的优势的确会很快消失。

当然也有人不相信,麻省理工学院的Scott Aaronson就认为,Google目前的成绩虽然是D-Wave至今取得的最令人印象深刻的进步,但这还不足以证明它将最终达到所谓的“真正的量子计算速度”。D-Wave仅仅是一个专门量子计算机,只能加速计算优化问题;它不是一个通用量子计算机,可以加速计算各种各样的问题。人们还需要开发新的硬件,去寻找实现真正通用量子计算机的可能性。

D-Wave一直致力于将量子计算机尽可能快地推向市场,而国际上还有其他几个小组一直采用保守而稳健的步伐推进以基于量子芯片技术为基础的量子计算机开发。与量子芯片技术相比,D-Wave的“量子相干性”一直逊色于前者,而这对量子计算至关重要。Google现在也是两面下注,它已经聘请研究人员建立了自己的量子芯片技术研发团队。而IBM最近也获得政府资助开发量子芯片技术。情况令人鼓舞,真正实现量子计算机的时间也许比我们预期的要快,但我们仍然需要从市场营销的嗡嗡闹声中清醒认识到现在我们究竟走到哪一步了。


原文发布时间为:2016-03-17
本文作者:樟君
本文来源:量子趣谈,如需转载请联系原作者。

你可能感兴趣的:(数据结构与算法,人工智能)