90 年代初, 当卫奇塔州立大学 (Wichita State University) 的物理学教授 Elizabeth Behrman 开始结合量子物理学和人工智能 (主要是当时备受争议的神经网络技术) 时, 大多数人认为这两门学科就像油和水一样, 根本没办法结合当时我连发表论文都很困难神经网络学术期刊问我量子力学是什么, 而物理学期刊则会问神经网络是什么玩意她回忆道
如今, 这两门学科的结合似乎再自然不过了神经网络和其他机器学习系统成为了 21 世纪影响最大的技术这些系统不仅在一些大部分人不擅长的任务 (例如: 围棋和数据挖掘) 上打败了人类, 而且还在大脑的某些本职工作 (例如: 面部识别语言翻译) 上超越了人类这些系统的实现依赖于庞大的计算能力, 因此科技公司要寻找的计算机不仅要更大, 而且还要更先进
在经历了数十年的研究后, 量子计算机现在的计算能力已经超越了其他所有计算机人们常认为, 量子计算机的杀手级应用可以对大数进行因数分解这对现代加密技术至关重要但是实现这一点至少还要再等十年不过, 当前基本的量子处理器已经可以满足机器学习的计算需求量子计算机在一个步骤之内可以处理大量的数据, 找出传统计算机无法识别出的微妙模式, 在遇到不完整或不确定数据时也不会卡住量子计算和机器学习固有的统计学性质之间存在着一种天然的结合 Rigetti Computing 的物理学家 Johannes Otterbach 表示(Rigetti Computin 是一家位于加州伯克利的量子计算机公司)
如果有什么不同的话, 那就是当前的趋势已经走向另一极端谷歌微软 IBM 等科技巨头正在往量子机器学习上猛砸钱, 多伦多大学还成立了一个量子机器学习创业孵化器机器学习现在正成为一个潮词在 机器学习加上量子, 它就变成了一个超级潮词莫斯科斯科尔科沃科技学院 (Skolkovo Institute of Science and Technology) 的量子物理学家 Jacob Biamonte 称
然而, 量子一词在此处没有任何意义你可能能会认为量子机器学习系统应该很强大, 但是这种系统实际上却像是患有某种闭锁综合症量子机器学习系统处理的是量子态, 而不是人类可以理解的数据, 量子态和数据的相互转换会使系统原有的优势消失就像是, iPhone X 原本的参数和性能都很强, 但是如果网络信号太差的话, 它就会和老式手机一样慢在一些特殊情况中, 物理学家可以克服输入输出障碍, 但是这些情况是否存在于现实机器学习任务中? 答案仍然是未知的我们现在还没有明确的答案一直以来, 人们往往对这些算法是否能提高计算速度并不关心德克萨斯州大学奥斯汀分校计算机科学家 Scott Aaronson 表示
量子神经元
无论是传统神经网络, 还是量子神经网络, 它们的主要任务都是识别模式受人类大脑的启发, 神经网络由基本的计算单元 (即神经元) 构成每个神经元都可以看作为是一个开关设备一个神经元可以监测多个其他神经元的输出, 就像是投票选举一样, 如果足够多的神经元处于激活状态, 这个神经元就会被激活通常, 神经元的排列呈层状初始层 (initial layer) 导入输入(例如图像像素), 中间层生成不同组合形式的输入(代表边几何形状等结构), 最后一层生成输出(对图像内容的高级描述)
需要注意的是, 神经元之间的连接需要经过反复试验进行调整, 不是预先确定的例如, 给神经网络输入带有小猫或小狗标签的图像网络会给每一张图像分配一个标签, 检查是否匹配正确, 如果不正确就调整神经元连接刚开始时网络的预测是随机生成的, 但是其准确度会越来越高; 在经过 10000 个实例的训练之后, 网络将能识别图像中的宠物正规的神经网络可能拥有 10 亿个神经元连接, 所有连接都需要进行调整
传统计算机计算单元的所有连接都用庞大的数字矩阵表示, 运行神经网络就是在计算矩阵代数传统的方法是, 用一个专门的芯片 (例如: 图像处理器) 来完成这些矩阵运算而在完成矩阵运算上, 量子计算机是不可匹敌的量子计算机运算大型矩阵和向量的速度快很多麻省理工大学 (MIT) 物理学家量子计算先驱 Seth Lloyd 称
在进行运算时, 量子计算机可以利用量子系统的指数属性量子系统的大部分信息储存能力并不是靠单个数据单元 qubit(对应于传统计算机中的 bit)实现的, 而是靠这些 qubit 的共同属性实现的两个 qubit 带有四个连接状态: 开 / 开关 / 关开 / 关关 / 开每个连接状态都分配有一个特定的权重或幅值, 代表一个神经元三个 qubit 可以代表八个神经元四个 qubit 可以代表 16 个神经元机器的运算能力呈指数增长实际上, 整个系统处处都分布有神经元当处理 4 个 qubit 的状态时, 计算机一步可以处理 16 个数字, 而传统的计算机只能一步只能处理一个
Lloyd 估计, 60 个 qubit 的计算机可以编码的数据量相当于人类一年生成的所有数据, 300 个 qubit 的计算机可以编码可观测宇宙中的传统信息内容 (IBM 英特尔和谷歌共同研发的量子计算机是当前最大的量子计算机, 大约有 50 个 qubit) 不过前提是假设每个幅值 (amplitude) 对应于一个传统的 bitAaronson 表示: 事实上, 幅值是连续的数值 (复杂的数字) 为获得可信的试验准确度, 可以储存 15 bit 的信息
但是, 量子计算机的信息储存能力并不能加快它的运算速度如何能够使用 qubit 才是关键 2008 年, LloydMIT 物理学家 Aram Harrow 和以色列巴伊兰大学 (Bar-Ilan University) 计算机科学家 Avinatan Hassidim 展示了如何用量子计算机完成矩阵求逆的关键代数运算他们将整个运算分解为一系列可以在量子计算机上执行的逻辑运算他们的算法适用于很多种机器学习算法而且, 需要完成的运算步骤少于因数分解一个大数所要完成的步骤量子计算机可以在受到噪声影响前, 迅速完成分类任务在完全通用且容错的量子计算机到来之前, 量子计算可以提供量子优势 IBM 的 Thomas J. Watson 研究中心的 Kristan Temme 表示
让系统本身解决问题
目前为止, 我们只在 4 qubit 的计算机上实现了基于量子矩阵代数的机器学习量子机器学习在实验上取得的大部分成功都采用了一种不同的方法: 量子系统不只是模仿网络, 它本身就是网络每个 qubit 代表一个神经元虽然这种方法无法让计算机利用指数属性所带来的优势, 但是它可以让计算机利用量子物理学的其他特性
位于温哥华附近的 D-Wave Systems 公司制造的量子处理器拥有 2000 个 qubit, 是目前最大的量子处理器它和大多数人观念中的计算机不同: 它的主要任务是寻找数据的内部一致性, 而不是对输入数据执行一系列的运算, 得出输出每个 qubit 都是一个超导电回路, 其作用相当于一个向上向下或向上与向下 (叠加) 的小电磁体让 qubit 通过磁力相互作用, 这样就可以将它们连在一起
D-Wave Systems 公司制造的用于机器学习应用的处理器
在运行系统时, 必须先施加一个水平的磁场, 这个磁场可以将 qubit 预置为向上和向下的均等叠加等同于空白状态输入数据的方法有好几种在某些情况中, 你可以将某一层 qubit 固定在预期的输入值; 不过多数情况下, 应将输入导入到 qubit 的相互作用的范围内然后让 qubit 相互作用某些 qubit 朝同一方向排列, 某些 qubit 朝相反方向排列, 在水平磁场的作用下, 它们会翻转到它们选择的方向通过这样做, 这些 qubit 可以触发其他 qubit 进行翻转由于很多 qubit 都没对准方向, 刚开始时会发生很多翻转等到翻转停止后, 你可以关闭水平磁场, 将 qubit 锁定在固定位置此时, qubit 处于朝上和朝下的叠加状态, 这种状态可以确保输出与输入相对应
关键在于, Qubit 最终的排列方式很难预测出来通过完成自然出现的任务, 系统可以解决普通计算机难以解决的问题我们不需要使用算法这种系统与常规的编程完全不同系统本身可以解决问题 东京工业大学的物理学家 Hidetoshi Nishimori 解释道 D-Wave 计算机的工作原理就是由 Hidetoshi Nishimori 提出的
qubit 的翻转是由量子隧穿效应 (quantum tunneling) 驱动的这种效应是一种自然趋势, 量子系统必须要选出最佳配置, 不能退而求其次你可以构建一个工作原理相似的传统网络, 采用随机晃动, 而不是通过隧穿效应来让 bit 翻转在某些任务中, 这样的网络表现更好但是有趣的是, 在处理机器学习中出现的问题时, 量子网络实现最佳结果的速度似乎更快
D-Wave 计算机也有缺陷在当前的配置下, D-Wave 计算机的噪声非常大, 它只能执行有限的操作而机器学习算法本质上是具有容噪能力的, 它们可以理解混乱的现实环境, 在干扰性背景中从区分小猫和小狗神经网络对噪声有很强的鲁棒性 Behrman 称
Hartmut Neven 是谷歌的一名计算机科学家, 他开创了增强现实技术, 是谷歌 Google Glass 项目的联合创始人后来, 他领导一个团队开始研究量子信息处理 2009 年, 这个团队证明了一台初期的 D-Wave 计算机可以很好地完成一个机器学习任务他们将这台计算机用作为一个单层神经网络, 在 20000 张街景图数据库中将图像分类为两个类别: 汽车和非汽车 (请记住: 这台 D-Wave 计算机与 2018 年上线的 50-qubit 系统属于完全不同的机型)Neven 的团队结合使用 D-Wave 计算机与传统的计算机, 他们分析了图像的各种统计参数(quantities), 然后计算这些参数对图像中汽车的敏感度通常不是很敏感, 但至少比抛硬币(猜正反面) 要好这些参数的某些组合可以准确地识别出汽车, 但是无法识别出具体车型这是神经网络的任务
这个团队为每个参数都分配了一个 qubit 如果 qubit 的值稳定在 1, 则将相应的参数标记为有用; 如果 qubit 的值稳定在 0, 则不用标记 Qubit 的磁力相互作用可以编码问题的要求, 例如: 只包含区分作用最强的参数, 以确保参数的最终选择尽可能简单明了试验的结论是, D-Wave 计算机可以识别出汽车
去年, 加州理工学院粒子物理学家 Maria Spiropulu 和南加州大学物理学家 Daniel Lidar 领导的一个团队将算法应用到粒子物理学问题中: 将质子碰撞分类为希格斯玻色子 (Higgs boson) 和非希格斯玻色子这个团队将研究对象选择为生成质子的碰撞, 他们使用基本的粒子理论来预测哪些粒子属性可能会表征希格斯粒子的短暂存在, 例如: 超出动量的某些阈值他们考虑了 8 种粒子属性和 28 种属性组合, 一共是 36 种候选信号然后让南加州大学的新型量子计算机找出最佳选择该计算机识别出 16 个有用的变量, 3 个最佳变量该量子计算机在执行准确的分类任务时比标准流程所需的数据量要少在训练集较小的条件下, 量子计算方法的准确度要比高能物理学中的传统方法高 Lidar 表示
加州理工学院物理学家 Maria Spiropulu 使用量子机器学习寻找希格斯玻色子
去年 12 月, Rigetti 证明了一种使用通用 19 qubits 量子计算机自动分类对象的方法大致上, 研究人员向计算机输入了一系列的城市名称以及它们之间的距离, 然后让计算机将这些城市分类为两个地理区域这个问题的困难之处在于, 一座城市属于哪个地理区域取决于系统对其他城市的分类, 因此必须一下子解决整个系统
Rigetti 的团队为每个城市分配了一个 qubit, 表明这个城市属于哪个类别通过 qubit 之间的相互作用(在 Rigetti 的系统中, 这种相互作用是电作用力, 而不是磁作用力), 每一对 qubit 都尽量要选取相反的值这样做可以将它们的能量降到最小显然, 对于任何 qubit 数超过 2 个的系统而言, 某些 qubit 对只能被分配到相同的类别中靠近的城市更容易被分配到同一类别中, 因为相比距离较远的城市, 邻近城市被分配到同一类别中的能量损耗要小
为了将系统的能量降至最低, Rigetti 的团队采用了一种在某些方面类似于 D-Wave 量子退火的方法他们先将 qubit 预置为所有可能簇分配 (cluster assignment) 的叠加状态然后让 qubit 进行短暂的相互作用, 使 qubit 偏向于假设相同或相反的值接着他们应用了一种模拟水平磁场的机制, 在 qubit 倾斜时使它们可以翻转, 以使系统更接近于最低能量状态最后, 他们重复执行了这个两步骤流程相互作用与翻转, 直到系统的能量降至最低, 这样城市就被分类为两个不同的区域
这些分类任务是有用的, 但很直接机器学习的尖端是生成模型, 这种模型不仅可以识别小猫小狗, 还可以生成新的原始模型从来不存在的动物, 但它们和真实动物一样可爱这种模型甚至还可以自己分辨小猫和小狗的类别, 或者修复缺少尾巴或爪子的图像在机器学习中, 这些方法非常强大且有用, 但是应用起来十分困难 D-Wave 的首席科学家 Mohammad Amin 表示量子计算如果能被应用到生成式模型中, 一定会大受欢迎
D-Wave 和其他研究团队已经开始着手解决这个难题训练生成式模型, 也就是调整 qubit 之间的 (磁或电) 相互作用, 以使网络能复制某些实例数据为了实现这一点, 我们可以结合使用神经网络和普通的计算机神经网络负责困难的任务理解选定的相互作用对最终的网络配置有什么意义, 然后计算机使用这个信息来调整 qubit 之间的相互作用去年, NASA 量子人工智能实验室 (NASAs Quantum Artificial Intelligence Lab) 的研究人员 Alejandro Perdomo-Ortiz 和他的团队在一篇论文中, 用一个 D-Wave 系统处理手写数字的图像结果, 该系统识别出 10 个类别, 并为 0 至 9 这 10 个数字各分配了一个类别, 而且还生成了自己的手写体数字
量子计算机的瓶颈
令人失望的是, 如果你无法将数据载入到处理器中, 你的处理器再强大也无济于事在矩阵代数算法中, 一个简单的运算就可以处理一个由 16 个数字构成的矩阵, 但是载入这个矩阵却需要进行 16 个运算人们完全没有重视量子态制备将传统的数据载入到量子状态中我认为这一步是最重要的一步量子计算初创公司 Xanadu 的研究人员 Maria Schuld 表示她是最早获得量子机器学习博士学位的人员之一当我们把机器学习系统布置到实体机器中时, 常常陷入两难的境地: 如何将一个问题嵌入到 qubit 网络中; 让 qubit 以正确的方式相互作用
当载入数据之后, 你需要将数据存储起来, 并确保量子系统在与数据相互交互时不影响正在进行的计算 Lloyd 和他的团队提出了一个使用光子的量子 RAM, 但是目前还没有超传导 qubit 或囚禁离子 (trapped ions) 的类似装置用在先进量子计算机中的技术除了构建量子计算机本身之外, 这是一个额外的技术难题从我和一些实验主义者的谈话中, 我发现他们对待这些难题的态度是畏惧的因为他们不知道如果开始构建这样的量子计算机 Aaronson 表示
最后还有一个问题: 如何导出数据? 这意味着检测计算机的量子状态, 一次检测不仅只能一次返回一个随机抽取的数字, 而且还会使整个状态崩溃, 在你还没来得及收回数据之前, 其他的数据就已被清除你只能再次一遍又一遍地执行算法, 以收回所有信息
不过并不是没有希望在某些问题中, 你可以利用量子干涉 (quantum interference) 也就是说, 你可以设计运算过程, 使错误的答案自行消除, 并巩固正确的答案这样, 当检测量子状态时, 计算机就会给出你想要的数值, 而不是随机数值但是只有少数算法 (例如蛮力搜索算法 brute-force search) 可以很好地利用量子干涉, 而且速度是适中的
在某些任务中, 研究人员发现了输入和输出数据的快捷方法 2015 年, Lloyd 加拿大滑铁卢大学的 Silvano Garnerone 和南加州大学的 Paolo Zanardi 证明了: 在某些类别的统计分析中, 不需要输入或存储整个数据集同样, 当几个关键数值就可以满足需求时, 不需要读取所有数据例如, 科技公司根据庞大的消费者习惯数据, 利用机器学习来矩阵为用户建议节目或者商品 Netflix 或亚马逊 (Amazon) 并不需要获取到处生成的矩阵, 它们要做的只是为用户生成建议 Aaronson 称
所有这些引出了这样一个问题: 如果量子计算机只在某些特殊任务中表现优秀, 传统的计算机是否也能胜任这些任务? 这是量子计算领域的一个还未解决的大问题毕竟普通的计算机也十分强大处理大型数据集的常用方法随机采用, 在本质上与量子计算机十分类似, 即: 无论系统内部进行何种运算, 最终返回的结果都是随机的 Schuld 称: 我研究出来的很多算法常常让我感到它们太棒了, 我们这下可以提升运算速度了不过我为了好玩又编写了一个在传统计算机上运行的抽样算法, 我发现用抽样算法也可以实现相同的效果
如果回顾量子机器学习目前为止的成果, 你会发现它们都带有星号以 D-Wave 计算机为例: 当分类汽车图像和希格斯粒子时, D-Wave 计算机的速度并不比传统的计算机快我们在这篇论文中没有谈到的一个问题是量子加速 Google DeepMind 团队的计算机科学家 Alex Mott 表示他曾经是 Higgs 研究团队的一员矩阵代数方法 (例如 Harrow-Hassidim-Lloyd 算法) 只有在矩阵为稀疏矩阵 (多数元素为零) 时才会实现量子加速在机器学习中稀疏数据集是否真的有趣? 从没有人问过这个问题 Schuld 表示
量子智能
话说回来, 现有的方法偶尔有什么进展, 科技公司们就会感到十分高兴我们看到的这些优势都不算大; 它们虽然不是指数性的, 但是至少是二次的微软研究院 (Microsoft Research) 的量子计算研究院 Nathan Wiebe 称如果量子计算机足够大足够快, 我们就可以彻底改变机器学习的许多领域在应用这些系统的过程中, 计算机科学家可以解决一些理论性难题这些系统是否在本质上更快, 原因是什么
Schuld 还看到了量子计算在软件方面的创新空间机器学习不仅仅是计算问题, 而且还是很多问题交缠在一起, 每个问题都有自己特殊的结构人们编写的算法被从使机器学习变得有趣和美丽的事物中移除这就是为什么我开始探索其他方法和思考的原因: 如果有了量子计算机(小型的), 它可以运行什么机器学习模型? 也许这样的模型还没有发明出来 Schuld 说如果物理学家想要让机器学习专家刮目相看, 除了构建现有模型的量子版模型外, 他们要探索别的突破
许多神经科学家现在认为人类思维的结构反映了身体的要求, 实际上机器学习系统也囊括万千这些系统所处理的图像语言和大多数其他数据都来自于真实世界, 这些数据反映了世界的种种特征同样, 量子机器学习系统也是包罗万象的, 它所反映的世界要远远大于我们的世界毫无疑问, 量子机器学习系统将在处理量子数据上大放光彩当数据不是图像, 而是物理学或化学实验的产物时, 量子计算机将会大显神通如果解决了数据输入问题, 传统的计算机就将会被完全淘汰
第一批量子机器学习系统可以为后来的系统的设计提供帮助, 这就形成了一个很好的自我参考循环我们可以使用这样系统来构建量子计算机在某些调试任务中, 这是我们唯一的方法 Wiebe 说也许这些系统甚至可以纠正我们的错误且不谈人类大脑是否是量子计算机这是一个备受争议的问题, 大脑有时候的行为让人感觉它就是量子计算机众所周知, 人类的行为离不开情境; 现有的选择决定了我们的偏好, 这其实和我们的逻辑相悖从这个角度看, 我们确实像是量子粒子人类问问题的方式以及对顺序的重视, 都是量子数据集中非常典型的特性 Perdomo-Ortiz 说这样看来, 量子机器学习系统可以帮助我们研究人类认知偏见
神经网络和量子处理器有一个共同点: 那就是它们竟然能实现训练神经网络绝不是想当然能做到的, 过去几十年间, 大多数人都对是否能做到持质疑态度同样, 量子物理学是否能被用在计算上也不好说, 因为我们对量子物理学独特的能力还知之甚少但是神经网络和量子处理器都已实现, 虽然并不是总能实现, 但是还是超出了我们的预期考虑到这一点, 量子物理学和神经网络的结合也很可能会在未来大放异彩
来源: http://blog.csdn.net/dqcfkyqdxym3f8rb0/article/details/79257267