在我们描述21世纪刚刚过去的第二个十年的技术版图中,人工智能(AI)、大数据(Big Data)、云计算(Cloud)、物联网(IoT)是几个无论如何也绕不开的术语。在阐述科技发展趋势的文章里,如果不把这些术语作为开篇,简直都不好展开论述。
而在下一个十年,在这一长串的革命性技术的名单后面,可能还要再加一个量子计算。正如人工智能,因为大数据的喂养而使得神经网络算法得以成熟,因为云计算的加持才拥有了充沛的算力,因为和物联网的融合而使得万物产生智能。
那么,人工智能与量子计算的交往又能产生怎样的“剧烈反应”呢?
2017年,图灵奖得主姚期智教授在一次演讲时说:“如果能够把量子计算和AI放在一起,我们可能做出连大自然都没有想到的事情。”
这等“敢叫天地换新颜”的技术前景,对于大多数普通人而言可能还略显遥远,但量子计算和量子机器学习的技术研究早已在全球多家科研机构和科技巨头的实验室中落地开花,可以向外界和技术人员提供基础的算法工具和资源,让公众可以一睹量子与智能的神奇力量。
近日,百度飞桨官宣发布了量子机器学习开发工具Paddle Quantum——量桨,成为国内唯一支持量子机器学习的深度学习平台。量桨的作用就是提供了一套量子机器学习的工具集,开放给科研人员,进行量子神经网络的搭建测试以及量子人工智能的研究。
量桨的出现,到底能为量子机器学习带来多少显著进展,尚待时间检验,但一定程度上推动量子机器学习在我国的普及,为广大AI和量子计算的研究者提供了一条新的学习途径。
按捺不住学习热情的你,一定想到量子计算和人工智能的技术交汇处,一窥量子机器学习的究竟,来衡量下投身入局的可能吧?
为什么“量子计算”很配“人工智能”?
进入正题之前,我们不妨先来简单了解下量子计算的基础背景,来降低下代入难度。
先来看,量子为什么能够计算?
二十世纪,自然界的一个重大物理发现就是量子力学,而量子力学主要的发现是基本粒子有两种状态——叠加和纠缠。通俗来理解,叠加,就是量子同时既是这样又是那样,一旦被观察或测量就会变成其中的一个样子,这就是著名的“测不准”;纠缠,就是两个成对的量子粒子,即使相隔宇宙两端,也能发生暗戳戳的神秘互动,这就是大名鼎鼎的“量子纠缠”。
“叠加”决定了量子的并行计算的基础,“纠缠”决定了量子传输的基础。让量子的这些特性被用于计算时,就能用来处理非常复杂的数据计算。
我们知道,经典计算的基本单位是比特(Bit),比特只能在0和1两个状态之间切换。经典计算只能在0和1的开合中实现线性计算,只不过现在的计算力非常巨大,一秒钟可以进行数十亿甚至更高的计算。
而量子计算的基本单位的量子比特(Qubit),量子比特因为叠加效应就可以同时具有0和1的特征。随着量子比特数量的增加,量子比特的计算能力将会以指数级的方式增加。
也就是,一个量子比特可以同时处于两个状态(0 和 1)。因此,两个相互作用的量子比特可以同时存储全部4个二进制值。通常,“n”个量子比特可以同时表示“2的n次方”个经典二进制值。
我们用一个“玉米田迷宫”的例子来理解经典计算和量子计算的不同:经典计算就如同一个人在玉米田里寻找出口,这个人会先找一条路走下去,遇到阻碍就返回,再找一条路重新开始,再遇到阻碍就再返回,直到找到出口。而量子计算就如同有了多个分身,可以同时探索玉米迷宫里的每一条路径,同时一次就把出口找到。
这样,量子计算的叠加态以及纠缠态形成的叠加坍缩构成的高并行计算能力,就为人工智能特别是机器学习所需要的数据处理和算法训练提供了一种新的可能。
量子计算和人工智能也在发生一种相互“纠缠”又密不可分的关系,但这并不意味着量子计算加上机器学习,就可以立刻碰撞出显著的成果。
量子机器学习仍在“襁褓”之初
量子机器学习(Quantum ML)是一个量子计算和机器学习交叉的的跨学科技术领域,二者的结合可以产生一种互利互惠的结果。
一方面,量子计算最主要的目标之一,就是借助于量子特性开发高性能的量子机器学习算法,从而加快或拓宽人工智能的应用场景。另一方面,量子计算在大规模应用落地之前还有许多非常棘手的科学与工程技术难题有待解决,这需要大量的先进计算工具,特别是AI技术帮助突破量子计算研发瓶颈。
在机器学习和量子计算按照算法和数据二维划分下,可以得到四种不同分类——C-C、Q-C、C-Q和Q-Q。C-C就是传统的机器学习;Q-Q属于量子计算的开放域;而C-Q主要就是通过机器学习算法来解决量子物理的问题,比如对量子系统的控制对象建模,对扰动、噪声等参数特征的辨识,推动量子计算发展。
而Q-C就是利用量子理论改进机器学习,推动机器学习算法的量子化。一种方法是通过量子计算把原先经典计算中不可计算的问题变为可计算的, 从而大幅降低机器学习算法的计算复杂度;一种方法是通过量子计算并行加速的优势与机器学习的算法深度结合,催生出全新的量子机器学习算法模型。
传统的神经网络只能使用单个网络来存储许多算法模式;而量子神经网络,因为量子叠加效应带来的并行性,可以使用许多网络来存储许多算法模式。不过,量子神经网络的实现并不容易,因为最终这些算法想要真正发挥作用则需量子计算机(处理器)的支持。
据报道,2018 年,意大利帕维亚大学的研究团队在只有4个量子比特的量子计算机上实现了世界上第一个单层神经网络。
(具有 4 个量子比特的人工神经元的量子电路)
这一模型能够准确地模拟单个神经元的行为,像这样的单层模型能够识别简单的模式。然而,它还没有扩展到由多层神经元组成的深度神经网络。不过,这至少是在量子硬件上有效训练量子神经网络而迈出的第一步。
与传统神经网络相比,量子神经网络具有很多优势,比如,指数级记忆容量、更快的学习和处理速度、更小的规模以及更高的稳定性和可靠性等。
尽管量子硬件的进度稍显缓慢,但算法模型理论可以先行。谷歌的Quantum AI 团队就在当时已经预先构建出一个可以在量子计算机上训练的深度神经网络的理论模型。
而到了今年3月,谷歌又宣布开源一款用于训练量子模型的机器学习库 TensorFlow Quantum(简称 TFQ)。TFQ 包含了特定量子计算所需的基本结构,例如量子比特、门、电路和测量运算符。用户指定的量子计算然后可以在模拟或真实硬件上执行。
目前,量子机器学习的发展仍然处于起步阶段,当前的一些应用上面可以做到使用量子神经网络来生成一些演奏出全新声音的新乐器等。
未来量子机器学习的应用前景却更加令人兴奋,比如拥有指数级存储和检索能力的量子神经网络可以模拟人类大脑或者模拟黑洞,能够帮助人类真正探索世界最深邃的本质。这也许才是量子机器学习和量子计算发挥终极价值的场域。
量子机器学习的成长“难关”
量子计算本身就是一项复杂技术,而量子机器学习这一交叉技术的研发难度自然又进一步提高。量子机器学习算法的成熟自然要得益于软硬件两方面的同时提升,而在这两方现在都仍然还存在一些难关要闯过。
首先,我们要知道,传统的机器学习语言并不能直接地移植到量子计算上面,而是需要先把当前的机器学习代码转换成使用量子比特的量子态,从而构建出量子神经网络。
这就是所谓的量子机器学习的I/O瓶颈,所谓I/O瓶颈是指,目前大部分量子机器学习算法或者需要把大规模数据集编码为量子态,或者只是把问题的解生成在量子态中,因此输入阶段的前处理和信息提取阶段的后处理将耗费大量时间,乃至抵消量子算法所节省的时间。
(IBM的一个 50 量子比特位计算系统的中心结构)
其次,则是真正意义上的通用量子计算机尚没有出现,而现在意义上的上千个量子比特的量子计算机在可以良好抗噪声、解决退相干问题上还存在着一定的问题,也就是还不能达到迪文森佐标准的量子计算机。这意味着能够支撑量子机器学习算法得以实际验证的硬件手段仍然是缺乏的,研究者大多只能通过量子模拟器的方式来实现多个量子比特的运算。
比如说,此次谷歌TFQ为量子机器学习研究提供了一个内含大约 50~100 量子比特的噪声中级量子处理器(NISQ)的工具,从而控制 / 建模自然或人工量子系统。基于此,现在TFQ的量子机器学习模型可以处理量子数据模型和混合量子经典模型,帮助开发者能够改进现有的量子算法或发现一些新的算法。
基于软硬件上面的现实困难,量子机器学习算法上面的突破还有很长的时间。
此外,在一些计算问题上,量子机器学习的算法和经典算法相比是否一定有加速优势,则仍然存疑。2018年,年仅18岁的华裔学生Ewin Tang受量子推荐算法的启发,设计出了一个经典算法,它能以和量子算法相近的速度解决推荐问题。这一思路给了研究者以启示:通过量子算法思维能促进经典算法的发展,这也是量子计算研究意义的另一种体现。
尽管目前来说,量子机器学习既没有像去年谷歌所宣称的“量子霸权”那样引人瞩目,也不能像人工智能在现实生活的广泛应用而成绩显著。但量子机器学习更像是一个面向未来世界的计算产物。
回到几十年前,量子计算的实现和机器学习的神经网络的实现,都一度被认为是不可能的事情。而这二者竟然都能够实现,现在还处在了相互结合的交汇点上,已然是人类技术的一次奇遇。
那么站在当下,一个普通的技术爱好者也可以通过像百度、谷歌这样的量子计算平台的开放,就可以亲身来进行量子算法的开发和测试,更不能不说千载难逢、幸运之至。