spring63的个人博客分享 http://blog.sciencenet.cn/u/spring63

博文

量子计算入门•极简教程 精选

已有 7154 次阅读 2018-4-12 10:51 |系统分类:科普集锦

量子计算如今是热门研究的领域,但许多公众对于量子计算还不太熟悉(包括我自己在内)。这里,我介绍位于温哥华附近的D-Wave Systems公司的一篇题为《Quantum Computing Primer》的极简的入门教程,该文网址是:https://www.dwavesys.com/tutorials/background-reading-series/quantum-computing-primer

事实上,有许多用不同方法介绍量子计算的网络文章。我推荐这篇入门教程的原因有二:其一,此文以一个简单的例子,简明比较了传统计算和量子计算,易于理解。其二,此文讨论了如何利用量子计算解决人工智能机器学习问题,涉及了量子计算和人工智能这两个未来科技最大热门。

D-Wave 系统公司是一家量子计算机公司,其推出的D-Wave One,被称为世界上第一个商用量子计算机。不过,国内外诸多量子计算研究机构和计算机公司,其研究方法和实现技术各不相同,这里介绍的这篇网络文章,也仅是一家之言。此外,这篇网络文章极简,有许多环节还需要参考其它文献。下面是该网络文章的译文:

量子计算入门

本教程旨在介绍量子计算中使用的概念和术语,概述量子计算机是什么,以及为什么要编写量子计算机程序。

这里的材料是用非常高层次的概念编写的,目的是让技术人员和非技术人员都能使用。一些物理、数学和编程的背景,对于帮助理解本文档中的概念是有用的,尽管并非必需。

你将学到什么

通过阅读本教程中的材料,你将学到:

  • 量子物理学为我们提供了一种新的计算方法

  • 量子计算与经典计算的异同

  • 量子计算如何操作基本单元解决难题的

  • 为什么量子计算非常适合人工智能和机器学习应用程序,以及量子计算机如何被用作“人工智能协处理机”

第一部分

1.1 -传统计算

先考察传统计算,对理解量子计算是有用的。我们对采用现代数字计算机执行多种不同应用程序的能力已经习以为常。我们的台式机、笔记本电脑和智能手机,可以运行电子表格,视频直播,让我们与世界另一端的人聊天,并沉浸在虚拟现实的3D环境中。但所有的数字计算机其核心都有共同之处。它们都执行简单的算术运算。其能力源于它们以巨大速度做这些。计算机每秒执行数十亿次运算。这些操作执行得很快,它们允许我们运行非常复杂的高级应用程序。传统的数字计算可以用图1所示来概括。

图 1 . 传统计算机中的数据流

尽管传统计算机擅长很多任务,但仍有一些领域的计算非常困难。这些领域的例子有:图像识别,自然语言(如果要用我们自己的语言,而不是编程语言,让计算机理解我们的意思),以及计算机必须从经验中学习,以便更好执行某一特定任务。尽管在过去的几十年里,这个领域已经进行了大量的研究和努力,但在这方面的进展还是很缓慢的,所做的原型通常需要非常大的超级计算机来运行,耗费大量的空间和能量。

我们可以问这样一个问题:是否有根本不同的方法设计计算机系统?如果我们可以从头开始,做一些完全不同的事情,我们将如何着手建立一种新型计算机,使得更好地完成对于传统计算机而言困难的任务?

1.2 -一种新的计算

量子计算与传统的把从一组0和1字符串变为另一组的方法截然不同。利用量子计算,一切都改变了。其用来理解信息比特的物理和操作它们的设备完全不同。构建这种设备的方式是不同,需要新的材料、新的设计规则和新的处理器架构。最后,我们对这些系统进行编程的方式是完全不同的。本文将探讨这些问题中的第一个问题,如何用一种新的信息——量子位——取代传统的比特(0或1),可以改变我们对计算的思考方式。

1.3灯开关的游戏

开始学习量子计算,重要的是要明白为什么某些问题我们不能用传统的数字计算机来解决。考虑一个数学问题,我们称之为灯开关的游戏,就说明了这一点。

灯开关游戏包括寻找一组开关的最佳设置。下面是介绍这个问题的图示:

 2.png

图2. 灯开关游戏

让我们设想每个灯开关有一个与它相关的数,是为你选的(你不要去改变这个)。这个数字称为“偏置值”。你要对每一个灯选择ON (开)或OFF (关)。在我们的游戏中,ON=1,OFF=-1。把所有开关的偏置值乘以对应的ON / OFF的值加起来,将会产生一个结果。这个游戏的目标是设置所有开关状态,以求得最小值。在数学上,称每个开关的偏置值定义为h i,开关的设置为si

图3.灯开关游戏,把每个开关的偏置值乘以其设定值(你必须选)后相加

因此,取决于我们设置哪些开关为+1,哪些开关为-1,将得到一个不同的分数。你可以试试这个游戏。希望你会觉得很容易,因为有一条简单的制胜法则:

图4.这个开关设置的特殊“猜想”得到的答案

我们发现,如果把所有具有正偏置值的开关都置为OFF,所有带有负偏置值的开关都置为ON,那么相加结果得到的总值最小。很简单,对吧?可以给你尽可能多的开关,许多不同的偏置值,你只需按照规则反转相应ON或 OFF。

好吧,让我们让问题更难些。现在除了单个开关外,考虑一对开关,设想许多开关对附加了一个规则。我们添加了一个新的偏置值(称为J),与连接它的两个开关设置相乘,并将每个开关对中得到的结果,添加到我们的总数值中。我们要做仍然是是否按这个新规则,决定每一个开关ON 或 OFF。

图5. 通过增加依赖于对开关对设定的附加项,使得游戏难度加大

但是现在确定开关是否应该ON 或 OFF要困难得很多很多,因为它的邻居会影响它。即使如同在上图中只有2个开关的简单示例,你也不能仅仅按照规则设置它们为与其偏置值相反的符号(试试它!)。复杂开关网络有许多邻居,试图找到正确的组合以得到整体最低值,变成一个令人沮丧的难题。

图6. 带有附加规则灯开关游戏,产生的灯开关“相互作用”网

1.4 -量子力学如何起作用?

对两个开关,你只要尝试OFF和OFF的每一个组合,只有四种可能性:[ON ON], [ON OFF], [OFF ON] 或 [OFF OFF]。但是,当你添加越来越多的开关时,开关设置的可能方式会呈指数增长:

图7. 灯开关游戏带来的指数问题

你开始了解为什么游戏不再好玩了。事实上,甚至使用我们最强大的超级计算机,它也是困难的。能够在内存中存储所有这些可能的配置,并在常规处理器内移动它们,以计算我们的猜测是否正确,需要花费非常长的时间。对只有500个开关,在宇宙中没有足够的时间检查所有配置。

量子力学可以帮助我们解决这个问题。量子计算机的基本能力来自于把信息比特放进一个叠加态的思想。你可以认为这是量子位元尚未决定它想要进入哪一种状态的情形。有些人喜欢把量子比特叠加为“同时存在于两种状态”。你也可以考虑量子位元的状态,不确定它是否是1或-1。这意味着,使用量子计算机,我们的灯开关可以同时处于ON 和 OFF

图8. 量子机制的信息比特(Q比特)可以存在于已知的叠加态中,这个叠加态并没有选择到底是变成+1或是-1(换句话讲,可以认为它即是+1又是-1)

让我们来考虑与以前相同的一堆开关,但现在保存在量子计算机的内存中(注意到偏置值还没有加上):

图9. 一个由量子比特叠加态组成的网,答案就在这里的某处!

因为所有的灯开关同时处于ON和OFF,所以我们知道在某处表示正确答案(每一个开关正确的ON/OFF设置)——目前它对我们是隐藏的。但是没关系,因为量子力学会为我们找到它的。D-Wave量子计算机可以让你得到具备最低值的ON和OFF配置的“量子表示”。以下是其工作原理:

图10. 计算机开始时具有叠加态比特,结束时产生传统常态比特流,根据此方法找到答案

如上所述系统从量子叠加态开始,逐步调整量子计算机,关闭量子叠加效应。同时,逐步将所有的偏置值(如同前面h和J的值)打开。当执行此操作时,开关逐步脱离叠加态,并选择一种经典状态,即ON 或 OFF。最后,每个开关都必须选择ON 或 OFF。在计算机内部工作的量子力学,帮助灯开关在正确的状态下,当你最终把它们全部相加时,其整体价值最小。尽管本来N个开关可能多达2N可能配置,它发现最低的一个,赢得了灯开关的游戏。所以,我们看到量子计算机允许最小化如同这里所考虑的表达式:

                                               11B.png

这对于传统计算机是非常困难的(如果不是不可能)。


第二部分

2.1 -这是一个数学表达式-谁在乎?

我们没有建立一个玩奇怪的灯开关游戏的机器。以这种方式找到二进制变量(开关)的良好配置,是日常应用中遇到的许多问题的核心。如下图所示。甚至科学发现的概念本身也是一个优化问题(你正在试图找到表达方式的最佳的“配置”,帮助建立符合实际观测的科学方程)。

11A.png

图11. 其底层都涉及到寻找最优“开关设置”的应用程序例子,可以用量子计算机更有效地解决这些问题

2.2 –能量程序

为了了解如何将这些问题转换为寻找开关的设置,让我们考虑一下量子计算机,是如何编程的。回想图1,其中通过逻辑程序的应用,将二进制位比特串转换成其它二进制位比特串。现在不是这样,我们有一个资源,其中比特位可以不确定,所以是以一种根本不同的方式执行计算的,如图12所示。在这种情况下,一组量子比特被初始化为它们的叠加态,而此时一个能量程序(而不是一个逻辑程序),被应用到该组中。量子比特从计算开始时未定状态在计算最后它会处于为+1或-1其中一种确定状态。什么是能量程序?它只是只是h和J数字——我们前面介绍的偏置设置。在灯开关游戏中,我们说h和J是给定的。好吧,现在我们看看它们来自哪里——它们是你要解决的问题定义的。

12A.png

图12 量子计算机的基本操作是提供能量程序(一系列的h和j数值),并让计算机找到最优开关配置(+1和-1)

制作一个能量程序以一系列h和J值来编码一个你关心的现实世界,是非常困难和耗时的。这相当于通过向内部微处理器发送机器代码,来编程桌面PC!幸运的是,有一种更好的方法,是使用量子编译器来编程量子计算机。这个过程是在D-Wave程序设计白皮书有更详细的解释。

2.3 -量子计算机能够学习

教计算机来推理世界和从经验中学习的学科,被称为机器学习。它是人工智能领域的一个分支。我们编写的大部分代码都是静态的,也就是说,给定新数据,它将反复执行相同的计算,并且做出错误也是相同的。使用机器学习,我们可以设计能够自己修改代码的程序,从而学习以前从未见过的处理数据的新方法。

在D-Wave量子计算机运行很好的应用类型,是必须学习和不确定条件下的决策的应用程序。例如,假设一台计算机被要求根据你过去展示过的相似物体的几个图像,来对一个物体进行分类。这个任务对于传统的计算架构来说是非常困难的,它们被设计成遵循非常严格的逻辑推理。如果系统显示了一个新的图像,那么很难让它对图像进行一般性的描述,比如“它看起来像一个苹果”。D-Wave的处理器被设计用来支持需要高水平的推理和决策中的应用。

例如,如果我们想让系统识别物体,如何使用量子计算机来实现学习?为这个任务编写能量程序是非常困难的,即使使用量子编译器,因为我们不知道如何捕获系统必须识别的对象的本质。幸运的是,有一个方法可以解决这个问题,因为有一种模式,量子计算机可以调整自己的能量程序以响应新输入的数据。这使得机器能够很好地猜测一个对象可能是什么,即使它以前从未见过它的特定实例。下面的部分概述了这个过程。

2.4 –自我编程的计算机

为了使系统调整自己的能量程序,首先提供给系统的希望它了解的大量概念的实例。图13表示的是一个示例。这里的想法是让计算机了解不同种类水果的图像之间的区别。为了做到这一点,我们给系统提供图像(或更确切地说,这些图像的数字表示),许多不同苹果、覆盆子和瓜类例子的图示。每一次我们都会也给系统“正确”的答案,告诉它应该在每个案例中选择什么开关设置(标签)。系统必须找到一个能量程序(显示为问号,因为我们在开始时不知道),这样每当一个图像被提交给系统时,它都得到正确的标签。如果它在许多案例中出错,算法知道它必须改变它的能量程序。

13A.png

图13. 通过允许它自己编写能量程序来教量子芯片。该系统调整能量程序,直到它正确标签你给它的所有例子。这也被称为“训练”或“学习”阶段

首先,系统随机选择一个能量程序(记住它只是一堆h和J值)。它会得到很多标签错误,但这并不重要,因为我们可以继续提供给它案例,每次让它调整能量程序,它得到的正确标签(开关设置)会越来越多。一旦它不能在已经给出的数据上做得更好,我们就保留最后的能量程序,并把它作为我们的“学习了的”程序来分类一个新的,没有见过的案例(图14)。

在机器学习术语中,这被称为有监督的学习算法,因为我们展示给计算机图像的示例,并告诉它正确的标签应该是什么,以帮助它学习。系统支持的其它类型的学习算法,甚至标记数据无法使用的的学习算法。

14A.png

图14. 在训练阶段中系统找到了一个好的能量程序后,现在它可以标记未见过的例子来解决现实世界的问题。这被称为“测试”阶段

2.5不确定性是一个特征

量子计算机另一个值得注意的是,它是概率的,也就是说它返回多个答案。其中一些可能是你要寻找的答案,有些可能不是。起初,这听起来像是一件坏事,作为一台计算机,当你问一个问题时,它会对同样的问题返回不同的答案,这听起来像一个bug错误!然而,在量子计算机中,这种多重答案的返回,可以给我们提供关于计算机可信度的重要信息。使用上面的水果例子,如果我们给计算机一个图像,并要求它对同一个图像进行100次标记,并且给出了100次苹果的回答,那么计算机就相当有信心这个图像是一个苹果。然而,如果它返回苹果50次和覆盆子50次,这意味着计算机对你所显示的图像不确定。如果你给它的是苹果覆盆子的图片,那就完全正确了!当你设计能够做出复杂决策并了解世界的系统时,这种不确定性会非常有用。

 



http://blog.sciencenet.cn/blog-3005681-1108697.html

上一篇:量子计算+机器学习——21世纪创新的下一篇章催化剂
下一篇:请勿过分夸张
收藏 分享 举报

10 张学文 王涛 杜立智 黄永义 赵克勤 迟延崑 杨波 刘鹏飞 刘浔江 李春来

该博文允许注册用户评论 请点击登录 评论 (6 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2018-4-24 20:47

Powered by ScienceNet.cn

Copyright © 2007-2017 中国科学报社

返回顶部