点击上方“公众号”可以订阅哦!
来源 | 北大 AI 公开课
编辑 | Natalie
本文由 AI 前线(ID:ai-front)独家整理首发
AI 前线导读:5 月 15 日,备受瞩目的北大 AI 公开课第十二讲如期开讲,达摩院量子实验室主任施尧耘为大家讲解了量子计算的潜力和现状,展望了未来量子计算面临的几大挑战。
北京大学最受欢迎的 AI 公开课“人工智能前沿与产业趋势”于 2019 年 2 月 20 日正式开课。本学期的课程邀请到了商汤科技副总裁沈徽、驭势科技 CEO 吴甘沙、微软亚洲研究院副院长周明、360 人工智能研究院院长颜水成等 14 位来自产业界的大咖进行授课,AI 前线作为独家合作媒体将全程跟进并对北大这 14 场公开课进行整理,敬请关注!更多优质内容请关注微信公众号“AI 前线”(ID:ai-front)
课程导师:雷鸣, 天使投资人,百度创始七剑客之一,酷我音乐创始人,北大信科人工智能创新中心主任,2000 年获得北京大学计算机硕士学位,2005 年获得斯坦福商学院 MBA 学位。
特邀讲者:施尧耘, 达摩院量子实验室主任,本科毕业于北京大学计算机系,普林斯顿大学计算机博士,加州理工学院量子信息研究所博士后。曾长期任教于密歇根大学安娜堡分校电子工程与计算机科学系。施博士在量子计算和量子密码学中的多个理论课题上做出了重要贡献。2017 年 6 月,施博士加入阿里巴巴集团,担任高级研究员,并创建了达摩院量子实验室(Alibaba Quantum Laboratory, AQL)。目前,AQL 地跨太平洋两岸,分处杭州和西雅图;其跨学科、国际化的团队正在迅速成长,并为实现量子计算的潜力而努力奋斗。
以下为 AI 前线独家整理的施尧耘老师课程内容(略有删减)。
我研究量子信息科学已经有 20 多年,今天跟大家分享一些很基本的问题。既然这是一个课堂,那大家还是要学点东西;所以我会花点时间讲原理。另外我会讲一下现状和未来的挑战。我是名科学家,当讲量子计算的时候,我必须强调我讲的是潜能。因为目前毕竟量子计算还没有算出一个经典计算机算不出来的问题。未来还有很多的不确定性,所以只是讲潜能。
量子计算的潜能
什么是量子计算?量子计算就是运用量子力学里非经典性质的计算。待会会讲相关的非经典的量子力学的性质。
我们先来看它的潜能在哪里?为什么我们对量子力学计算感兴趣?我总结了三点。
第一点是快。这里“快”不是指“主频”,即单位时间基本操作的数量;而是解决一个问题所需的基本步骤数量。举个例子,大家都知道龟兔赛跑,我把故事稍微改一下:乌龟和袋鼠赛跑。乌龟在线上爬,每爬一步可能很快;而袋鼠每一步是跳。袋鼠每跳一步的时间可能很长,它跳一步的同时乌龟也许能划十下。但是袋鼠只需要跳几下就到终点;而乌龟要划上成千上万次才能到终点。即使袋鼠的每一步时间很长,因为步骤的急剧减少,最终还是它取胜。 所以量子计算的快在于计算复杂度,也就是完成一个任务所需的基本操作数量的急剧减少。
举一个具体的案例:模拟量子系统。理查德费曼在 1985 年演讲里指出,如果要模拟量子系统,需要经典计算的步骤数量随着系统的规模增大是个指数函数。而量子计算机所需的是相对极端缓慢增长的多项式函数。所以量子计算机可以模拟很大的一般性的量子系统,而经典计算机无法做到这点。
大家知道数据安全很重要,破解密码是一个非常重要的问题。当你使用密码协议时,密码长度增加,破解密码需要的经典计算资源就会以指数函数上涨。大家都熟悉素数分解这个问题,比如把 10 写成 2 乘于 5。想象一下被分解的数有几千位,要把它写成素数的乘积,那是非常困难的事情。广泛使用的 RSA 加密系统就是基于这个问题很难算的假设。但在 1994 年,Bell Labs 的 Peter Shor 发明了一个快速的素数分解的量子算法,只需要很少的步骤。所以如果有量子计算机,目前广泛使用的公钥密码系统将被攻破。这是量子计算比经典快的另一个力证。
第二点意义是“不同”。 不同的意思是说,对同一个问题,经典计算也许也可以算很快,但是找到这个算法可能没那么简单。量子计算和经典计算的不同,使得它提供了解决问题的新路径。
我个人认为量子计算的“不同”对优化问题和机器学习问题特别有意义。人工智能,特别是“强 AI”,有很多很困难的问题,即使量子计算机也无法有效解决。当一个问题很困难且不存在很好的解决方案时,而我们一定需要解决它,这时就会去尝试各种工具。量子计算提供给我们一个新的工具,可以拿它去敲大数据金山,也许能先于经典计算敲下来一些价值。
我之所以有这种想法,是因为在以前我收到一封邮件,有新闻说量子计算的一大应用被一个美国华裔小年轻用经典办法超越了。其实对我来说这一点都不奇怪。在未来量子跟经典会互相竞争,交互超越。
第三点是很酷。物理学家喜欢说目前正处于第二次量子革命。第一次量子革命是量子历史的诞生。第二次量子革命也是现在正在发生的量子革命,它的特点是从观察自然界的量子现象,到人为地制造大规模的自然界不存在的量子现象,这是非常激动人心的科学前沿。
量子计算对于现实的影响
量子计算对于现实的影响至少有这三个方面:模拟量子系统、安全和大数据。第一个方面,模拟量子系统,听起来非常学术,但世界上有两个领域直接相关。第一个是材料。新材料的发现需要非常高的计算资源。我们要先从第一性原理、量子力学去模拟设计中材料的性质。另一个领域是分子的发现,比如制药。西药大部分是小分子,起作用在于和特定蛋白质的作用过程。模拟这个过程需要量子计算。量子计算机可以帮助我们去除不好的选项,加速研发。
第二个是安全方面。刚才讲到破解密码,听起来好像很糟糕,其实也是逼着我们去创造更好的密码系统。有人问我,量子计算到底什么时候才对真实世界有影响?从某个角度看,量子计算对实际的影响已经发生:因为量子计算,当前广泛使用的公钥密码系统正在被替换。我们其实很幸运,发现量子破解密码的时间在没有量子计算机的 1994 年。想象如果破解密码的算法是在量子计算机被发现之后,我们的密码系统就一下子崩溃了,整个世界几乎没有秘密可言。
有些秘密必须保存很多年的;为了防止敌对方现在保存密文,未来攻破,现在必须修改加密系统。美国政府在 2-3 年前开始向社会征集取代当前广泛使用的密码系统,这些新的系统也就是所谓的后量子密码系统(Post-Quantum Cryptography),意即对量子计算机也是安全的。我有个原创的玩笑,这些系统应该叫做“前量子系统”,也就是在我们发现量子破解办法之前是安全的。无论如何,量子计算对世界的影响已经发生。另外,在更遥远的未来,量子计算可以达到比现在更安全的代理计算:计算方无法得知用户的数据和算法。
第三个方面,我觉得 现在这波对量子计算的兴趣背后力量是大数据。怎么样去发掘大数据背后的价值?这个问题驱动人们去发展各种不一样的工具。比如 GPU、TPU、人工智能芯片等,都是为了发掘数据后面的价值。量子计算也是发现价值的工具之一。
量子 AI 的现状和发展前景
我谈一下量子 AI 的现状。量子 AI 有两个类型的工作:量子加强的经典机器学习和基于量子模型的机器学习。前者的案例比如加速机器学习里的优化和取样问题。后者的意义在于,如果用经典模型去模拟这些量子模型,所需的计算资源会指数级上升。故而量子模型有可能带来效果上的惊喜。
我在这里分享一个个人的观点:对量子 AI 实际的发展前景,我认为还需要非常长的时间。目前机器学习的强大关键不在算法,而在算力和 Data。量子机器学习要真正有算力加上能够处理很大的 Data,我觉得是非常遥远的事情,比用其解决优化问题和取样问题更遥远。
量子计算的原理
我讲几个非经典的性质,帮助大家理解量子计算。量子物理有一个基本特点:能量不连续。图 2 代表的是电子的能级:能级是不连续的。电子在不同能级之间的跃迁会伴随着一个光子的发射或吸收。这是一个量子学里面很基本的思想。
第二个特点是叠加态。另外大家可能听说过薛定谔的猫,那里边猫是生和死之间的叠加状态。“生 + 死“以及“生减死”也是可能的正好相反的状态。电子云反应的也是电子位置作为叠加态。
另外一个量子力学里面非经典的性质叫纠缠:两个或者多个量子粒子之间的非经典的关联。我用薛定谔的猫举个例子,假设有两只猫处于一个很特别的纠缠状态。它们一起有这么一个性质:当你去打开铅盒,看见猫一是生是死时,另外一个人打开另一个铅盒,看到的结果总是相反。第一个人看到猫是生的,第二个人肯定看到死的;第一个人看到猫是死的,那第二个人肯定看到生的。不光对于“生 / 死”两态,如果第一个人看到“生 + 死”,第二人看到肯定是“生 - 死”,以此类推。这种结果总是相反的效果,经典信息是不可能达到的。
下面我尝试用三张 PPT 教给大家量子力学。量子力学的形成是有一定的时间,冯诺伊曼把这些物理发现在数学上公理化。
第一条公理回答什么是量子态?量子态是长度为 1 的向量。在平面上,你可以选择两个垂直的单位长度的向量作为基向量。我们把两个向量中一项叫“0”,另外一项叫“1”。量子态可以是这两个向量的任何线性组合,只要它长度是 1。
我们现在同意量子态是长度为 1 的向量,那么量子态怎么演化?第二条公理指定量子演化为保持长度的线性变换。这也是最简单的演化。反射和旋转都是保持长度的线性变换。
第三条公理讨论如何从量子态里面获得经典信息。为什么人们会去有需求发明量子力学呢?因为人类做实验的时候,发现一些现象,经典物理实验无法解释。量子力学里规定了,当你去观察一个量子系统,结果会随机出现,相应的概率理论上等于被测量量子态在测量结果方向上投影的平方。以一个简单的例子说明:我们测量 - 4/5 “0” - 3/5 “1”。结果看到 0 的概率是 16/25,看到 1 的概率是 9/25。16/25 是向量在“0”纬度上的投影长度的平方,9/25 是向量在“1”纬度上投影长度的平方。所有的概率加起来是 1,而向量长度的平方等于各个维度上投影长度的平方和。这两点放一起解释了我们为什么规定量子态的长度为 1。
图 4 量子态是长为 1 的向量
图 5 保持长度的线性变换
图 6 随机的测量结果概率由向量系数决定
现在我们把量子力学的数学公理对应到量子计算的三个要素。首先是存储。一个量子比特是二位空间里的向量,是“0”和“1”这两个经典比特状态的线性组合。N 量子比特就是 2 的 N 次方纬度空间上的单位向量;它的基向量对应于 2 的 N 次方个 的 N- 位“0/1”字符串的经典结果。再者量子计算的基本操作就是旋转和反射这类保持长度的线性变换。通过测量得到经典的计算结果。
把这三个要素放在一起,我们就得到量子计算的电路模型。这跟经典计算电路模型很像:每一条线代表一个存储单位,每一步我们选择一些量子比特作基本的旋转或者反射。一个量子算法就体现在什么时候选择哪些比特做什么操作。最后,通过测量得到经典的“0”、“1”输出。如果你的算法正确,那这个结果就以很高的概率是正确答案。这就是量子计算的电路模型。
图 7 量子计算模型:量子电路
刚才讲的都是理论,那么我们现在讲一下实物。图上显示的是加州大学圣巴巴拉分校 (UCSB) 跟 Google 做的 9 比特超导量子芯片。每一个比特是个宏观系统,尺寸很大。但是描述这样系统的数学和描述一个原子的是一样的。所以我们叫这样的比特人造原子。它也有离散的能级,能级之间跃迁也伴随着光子的发射和吸收。对应到做计算时候,我们就通过光子来做基本的操作。目前这些人造原子的能级差在微波量级;所以超导量子计算用微波来控制。
量子计算的现状和挑战
我之前做报告的时候,题目叫量子计算工业时代,我的意思是工业时代已经到来了,为什么这么讲呢?因为有很多公司在这个领域里做研究。但是,整个领域 现在还是处于很基础的阶段,相当于经典计算历史上寻找晶体管、电子管的那个时代,哪一个物理载体是最终实现量子计算大规模计算的技术还不清楚。
经典计算历史很有意思的一点是,晶体管发现后还有很长的时间电子管占据统治地位:有人做电子管计算机,有人买来,解决实际问题。这个历史告诉我们不需要等到发现量子晶体管,只要找到量子电子管,也就是可以解决问题,创造价值的,我们就可以去做量子计算。
量子力学是一个很广泛的理论,它可以用到电子,也可以用到光子,还可以用到大规模的系统。目前人们探索的不同的实现量子计算的路径各有优劣。超导是最广泛研究的方向。但是如果有其他方向在某些角度比超导做得更好,大家也不要奇怪。
什么时候才有量子计算机?首先,你要定义量子计算机,其实在加拿大的 D-Wave 公司早有量子计算机卖给你了。它采用的是所谓的模拟量子计算,对噪音的控制是有限的,但也有可能率先创造价值。Google 跟 NASA 合买一台,D-Wave 2000Q, NASA 给社会免费的资源。D-Wave 自己网上一个月有一分钟的免费时间。IBM 在过去的 CES 也展示了它的量子计算机,外形很漂亮,可以得奖。
达到所谓“量子霸权”也许是 1-2 年的事。 这里“量子霸权”指的是作出一个量子信息处理器件,它做的事也许没有实用价值,但是经典计算机无法模拟。谷歌相信自己离这个目标不远了。我觉得更重要的一个里程碑是实现“逻辑比特”。量子计算的核心挑战在于如何防止量子信息的丢失。发现素数分解量子算法的那个科学家的另外一个伟大贡献是发现量子纠错。通过量子纠错的办法,我们可以用几个物理比特编码成一个非常稳定的逻辑比特,并在众多的逻辑比特上作任意长,不会引起错误叠加的量子计算。也许 5-6 年间人们可以实现众多逻辑比特。
未来挑战很多。我重点讲两个。第一个挑战和上面讲的防止量子信息丢失直接相关:提高量子操作的精确度。只讲比特数是很不专业的,如果不把精度提上去,越多比特整个芯片越垃圾。理解噪音来源、优化比特和门操作方案,进而提高精度,才是基本的问题。
另外一个挑战是低温电子学。控制量子比特的逻辑目前放在制冷机外面。目前芯片只有几个、十几个比特,把导线通道里面问题还不大。但是如果有几百、几千个比特,那就很难给众多的导线降温。把控制电路要放在制冷机里工作是很有挑战的前沿问题。
我的分享到此结束,谢谢大家!
Q & A
提问 1:传统算法的能力,我们是看 CPU、赫兹什么的,但是呢,大家说量子维的计算很厉害,我看有些文章说每增加一个比特,计算能力翻番。到了 50 比特就超出所有经典计算机了。这个描述正确吗?
施尧耘: 我不太认同算力翻番的说法,不过也许这个说法原来讲的是别的意思。从科学上看,现在问题不是说从 N 到 N+1 的问题,而是跨越式增加的问题。这需要发展新的方法。翻番也许指的的是如果用最直接的经典模拟办法,每增加一个量子比特,这个最简单最粗暴的模拟方法需要加一倍的存储量,才能写下整个量子态。关于 50 比特这个数字,应该是基于这个办法推出来的。估计没有多少实际存储系统可以写下 2 的 50 次方的数。但是这个办法不是最好的模拟办法。
提问 2:在传统计算,算力就是单位时间运行的指数,我们基本上能够判断它运算能力的增加,但是在量子计算中,我们怎么衡量这个算力呢?就是说用什么指标比较合适?
施尧耘: 确实用一个数子比较方便。IBM 在推所谓的“量子容积”(“quantum volume”)。是否广为接受还有待观察。在我看来,大家除了比特数,再问一下精度,就抓住要害了。
注:投稿请电邮至124239956@qq.com ,合作 或 加入未来产业促进会请加:www13923462501 微信号或者扫描下面二维码:
文章版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将删除内容或协商版权问题!联系QQ:124239956