量子计算入门-第二部分

本文档翻译D-ware公司的《Quantum Computing Primer》,其中存在的不足或错误欢迎大家指出。原文出处:https://www.dwavesys.com/tutorials/background-reading-series/quantum-computing-primer#h1-0

  • 量子计算入门-第二部分

    • 第二部分

      • 1 - 它是一个数学表达式-谁在乎
      • 2 - 能量程序
      • 3 - 量子计算机可以学习
      • 4 - 一个自我编程的计算机
      • 5 - 不确定特征

第二部分

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

我们并不是制造一个机器来玩这个奇怪的令人受虐的电灯开关游戏。寻找一个最优的二进制变量配置(如电灯开关游戏)这样的理念,也是解决在我们许多日常应用问题的核心所在。例如下图中的一些简单例子。即使是科学探索这样一个概念本身,它也是一个需要不断优化的问题(你正在试图找到事物最佳的“配置”,这有助于建立符合实际观测的科学方程)。


图11. 一些应用实例的深层结构都需要有一种最优“开关”配置,而使用量子计算机则可以进行有效解决

2.2 - 能量程序

为了理解这些问题可以转化为寻找开关配置,我们考虑量子计算机是怎么编程的。回顾图1,通过应用一个逻辑程序把比特串转化为另一比特串。与之不同,我们现在比特可以不确定,因此计算以一种截然不同方式执行,如图12所示。在这个例子中,一组量子比特被初始化成为它们的叠加态,这时候能量规划(而不是逻辑规划)被应用到这些组中。在计算开始时量子比特是一种不确定的状态,在计算最后,它会处于为+1或-1其中一种确定状态。那么什么是能量规划程序呢?其实就是那些我们之前设置的h

和 J——偏差设置。在电灯开关游戏中,我们说 h和 J

是给定的。那么我们现在明白它们来自——它们由你所要解决的问题定义的。


图12 量子计算机的基本操作提供一个能量规划程序(一系列的h 和 J 数值),这样计算机找到最优开关配置(+1和-1)

建立一系列h

和 J

值的一个能量规划程序——来编码一个你关心的现实世界——是非常困难和耗时的。这相当于发送机器码给内部微处理器的方式,来给你的桌面PC编程!很幸运,这里有一个更好的方法,就是使用量子编译器来给计算机编程。这个过程的更多细节在D-ware编程白皮书有解释。

2.3 - 量子计算机可以学习

所谓的机器学习就是用科学的方法教计算机去理解这个世界,从实践经验中学得技能。这是人工智能领域的一个分支。现在的几乎所有代码都是静态的(编译后,变成程序指令后,就不会再有变化了),即使给了新的数据,程序也是按原来的步骤一遍遍地执行运算,出现的错误也是相同的。应用机器学习方法,我们可以设计一种能够修改它们自己代码的程序,这种程序能够用一种新方式处理它以前从来没处理过的大片数据。

能在不确定的条件下学习和判断的这一类应用程序,在D-Wave的硬件上运行的很好。举个例子,你将几个相似物品的图片展示给电脑,然后让它去处理分类。像这种任务对于用静态逻辑结构设计的传统计算架构是非常困难的。如果给这样的系统(传统架构)展示一张新图像,它是很难作出如“这看起来像一个苹果”这样的一种综合陈述的。D-Wave的处理器被设计成能够支持需要高度推理能力和判断能力的应用程序了。

如果我们需要让系统识别物体,那么我们应该怎么让量子计算机学习?在我们还没有很清楚的知道如何获取系统需要识别物体的本质信息时,即使利用量子编译器,也是很难编写出这样的一个资源规划程序的。幸运的是,其实是有一种方法是能够解决这个问题的。这种方法就是,利用一种模型,让量子计算机自己调整自己的能量规划程序去应答新输入的大片数据。这就能够让机器对一个从未处理过的特殊实例有一个较为准确的猜测。下面的一部分内容将对这样的一个过程(程序自我演化的过程)给出一个总体概念,但要想详细了解,可能需要读者亲自进行具体的编程实践才能明白。

2.4 - 一个自我编程的计算机

为了让系统能够调整它自身的能量规划程序,你开始给系统展示很多很多实例的概念,这是 想让它学习的知识。图13中给出了一个例子。这里试着让计算机能够学着区分不同类型的水果图片。为了达到这个目的,我们提供给系统一些图片(更准确的说,是图片的数字表示法)示例,如苹果,树莓,甜瓜。我们也会在每次系统选择之后告诉它这个图片具体是哪个类别的。当系统每次给出的答案被矫正后,它就慢慢会调整能量规划程序(一开始我们是不知道具体结构的)以便下次给出正确的答案。如果它作出了许多错误的选择,算法会知道它自身需要调整能量规划程序了。


图13. 教导一个允许自我演化的量子芯片,允许系统将把资源规划程序调整到你所给出的示例完全选择正确为止。这一过程是大家熟知的“训练”或者“学习”阶段。

一开始系统选择一个随机的能量规划方式(记住,这仅仅是一串h

和 J

的变量)。它的选择会有许多错,但这没关系,我们可以持续的给它展示例子,并且每次让它进行自我调整,这样就会有越来越多的选择正确的情况了。一旦它在我们所提供的数据中做到最好的情况了,我们就得到了它调整到最佳状态的资源规划程序了,然后可以把这个学习完善了的系统拿去识别其他未知的示例了(如图14)。

用机器学习的术语,这种方式被称作监督学习算法,因为我们给计算机展示了许多图片示例,并告诉它什么是正确的分类,这帮助了它学习。后面这一系列的导论将会介绍更深层次的概念知识。这里的系统也支持其他类型的机器学习算法,即使示例数据不可靠,也能够使用。


图14. 在通过逐步训练得到一个最佳能量规划程序后,系统通过分类从未见过的示例来解决现实世界的问题了。这被称作“测试”阶段

2.5 - 不确定特征

关于量子计算机的另一个有趣点是,它是概率性的,这也意味着它可能会返回多个答案。一些可能是你所寻找的答案,一些可能不是。刚开始,这听上去好像不是件好事,作为计算机,当你问同样的问题时给出的答案竟然不一样,这听起来像一个bug!尽管如此,量子计算机给出多个答案能够给予我们关于计算机可靠度的重要信息。用上面识别水果的例子,如果我们给电脑展示一张图片,问它这是什么,问100次,而它所给出的100次答案都是苹果,那么电脑对这张图上的水果是苹果这件事是很有自信的。如果它所给的答案有50次是说苹果,有50次是说树莓,那么就意味着电脑不能确定你所展示的图片上的东西到底是什么。当然,如果你展示的图片中苹果,树莓都包含,那电脑说的也很正确啊! 当你设计一个需要对世界有复杂判断和学习能力的系统时,这种不确定是非常有用的。

量子计算入门-第二部分相关推荐

  1. 量子计算入门-第一部分

    量子计算入门-第一部分 本文档翻译D-ware公司的<Quantum Computing Primer>,其中存在的不足或错误欢迎大家指出.原文出处:https://www.dwavesy ...

  2. 量子计算入门基础学习(四——对角化,算符 迹 张量积)

    大家好,欢迎来到量子计算的第四部分,如果您是第一次观看我的博客,如果您也是和我一样刚入门量子力学或是量子计算相关的学习,纠结于量子的抽象与晦涩难懂,那么本专栏(量子计算)一定是您的不二之选,学海本就苦 ...

  3. 量子计算入门学习笔记(六 量子测量-上 )

    经过了万恶的期末考试 之后,我们再次重新踏上量子学习的不归路(手动狗头)! 如果您是第一次观看我的博客,如果您也是和我一样刚入门量子力学或是量子计算相关的学习,纠结于量子计算的抽象与晦涩难懂,那么本专 ...

  4. 量子计算入门基础学习笔记(二 量子算符与张量)

    艰难困苦 玉汝于成 一 . 矩阵与量子算符 (1)外积 (2) 投影算符 (3)逆算符 (4)厄米算符 Hermitian operators (5)幺正 算符 Unitary 二 . 张量与量子比特 ...

  5. 量子计算入门01-量子计算_夏培肃

    引 言 ​ Feynman于 1982年指出: 按照量子力学原则建 造的新型计算机对解某些问题可能比常规计算机更 有效 [1 ] .在此基础上 , 1985年 Deutsch指出利用量子态的相干叠加性 ...

  6. 学习笔记 -《量子计算与编程入门》- 量子计算机硬件基础

    文章目录 1 量子芯片 1.1 超导量子芯片 1.1.1 超导量子计算的进展 1.2 半导体量子芯片 1.2.1 基于电荷位置的量子比特 1.2.2 基于自旋的量子比特 1.2.3 半导体量子计算也正 ...

  7. 量子计算深化:大规模量子计算(相关论文108篇推荐)

    量子计算深化 门模式的量子计算机 分布式拓扑 物理实现 相关论文推荐 基础知识:本文是对量子计算的深化自研博文,需要相当程度的基础知识,请先理解下文: 1.1.1.量子计算入门:量子计算机的理解与术语 ...

  8. 基于量子计算的无收益标的资产欧式看涨期权定价和delta风险分析

    目录 1. 问题 1.1. 描述 1.2. 解读 2. 原理 2.1. BSM模型 2.2. 经典蒙特卡洛算法 2.3. 量子蒙特卡洛算法 2.4. 量子.量子计算和量子算法 2.5. 量子算法在金融 ...

  9. 量子计算(十六):其他类型体系的量子计算体系

    文章目录 其他类型体系的量子计算体系 一.离子阴量子计算 二.原子量子计算 三.核自旋量子计算 四.拓扑量子计算 其他类型体系的量子计算体系 一.离子阴量子计算 离子研量子计算在影响范围方面仅次于超导 ...

最新文章

  1. 在报文摘要算法MD5中,首先要进行明文分组与填充,其中分组时明文报文摘要按照(42)位分组。【答案】C
  2. mysql的聚合查询_MySql聚合查询
  3. 有点小激动-Index Condition Pushdown Optimization
  4. windows如何清理无效注册表?如何重装python,如何彻底清理python
  5. 两线怎么接三线插座图_一文搞懂电工配电二线制、三线制、四线制
  6. Wi-Fi 6 与 5G 相比哪个更快?
  7. ls 列出文件、ll以长格式列出文件详细信息
  8. Javascript跨域和Ajax跨域解决方案总结
  9. 计算机公共课3-字处理软件Word 2010
  10. 哪种处理器能跑vs还有oracle,AMD处理器哪个最强 2020AMD处理器性能排行榜
  11. e站app里站hosts_[装修记 天猫家装e站~大庆站]
  12. 送书6本,看谁答题快
  13. Python学习路线图
  14. 没有捷径!没有捷径!没有捷径!
  15. js实现整体,局部刷新
  16. 树莓派4安装Debian10
  17. 索尼sr621sw和索尼sr626sw规格一样吗
  18. 什么是STW以及CMS和G1优缺点?
  19. pytorch 给tensor增加一维(unsqueeze)或删除一维(squeeze)
  20. c语言万年历源代码csdn,用C语言编写万年历,可以阳历和阴历转换?谢了

热门文章

  1. [BZOJ1385][Baltic2000]Division expression
  2. php数组array_push()和array_pop()以及array_shift()函数
  3. java中日期与字符串之间的转换
  4. 套接口学习(一)实现
  5. Codeforces Round #401 (Div. 1) C(set+树状数组)
  6. tp_link路由器 重新设置
  7. Jquery Mobile 百度地图 Demo
  8. [ORGINAL]OOP Panel control design(based on web )
  9. String案例 获取一个字符串在另一个字符串中出现的次数(两种方法)
  10. 软件测试作业3:软件测试的16条公理