新智元编译
来源:nature.com
编译:朱焕
【新智元导读】在计算能力增加和算法进步的推动下,机器学习技术已成为从数据中寻找模式的强大工具。量子系统能生产出一些非典型(atypical)模式,而一般认为经典系统无法高效地生产出这些模式。所以,有理由假定,量子计算机在某些机器学习任务上将优于经典计算机。量子机器学习这一研究领域探索如何设计和实现量子软件,如何使量子机器学习速度比经典计算机更快。该领域最近的工作已经建造出了可以担当机器学习程序基石的量子算法,但在硬件和软件方面仍面临巨大挑战。
在人类拥有计算机之前,人类就从数据中寻找模式。托勒密将对星系运动的观测数据纳入宇宙地心说的模型,并用复杂的行星轮理论来解释行星的逆行运动。 在十六世纪,开普勒分析了哥白尼和布拉赫的数据,揭示出以前隐藏未见的模式:行星以太阳为焦点进行椭圆运动。用于揭示这种模式的天文数据分析,进一步产生了新的数学技术,例如求解线性方程的方法(牛顿-高斯)、通过梯度下降学习优化(牛顿)、多项式插值(拉格朗日)和最小二乘拟合(拉普拉斯)。 十九世纪和二十世纪初,产生了范围广泛的数学方法以分析数据,揭示数据中所包含的模式。
二十世纪中期,数字计算机的建成,使得数据分析技术得以自动化。在过去半个世纪中,计算能力的快速发展,使得回归和主成分分析等线性代数数据分析技术得以实现,并导致了更为复杂的学习方法,如支持向量机等。在同一时期,数字计算机的快速发展也产生了崭新的机器学习方法。随着计算能力的提高, 人造神经网络(如感知器)在五十年代获得实现; 建立在神经网络(如霍普菲尔德网络和波尔兹曼机)上的深度学习和训练方法(如反向传播)在20世纪60年代至90年代被引入和实现。在过去十年特别是过去五年中,强大的计算机和能够实现数十亿权重深度网络的专用信息处理器彼此结合,被应用于各种巨型数据集,并揭示出,这样的深度学习网络能够识别出数据中复杂和微妙的模式。
众所周知,量子力学能在数据中产生非典型模式。经典机器学习方法如深层神经网络通常具有这样的特征:它们可以识别数据中的统计模式,并产生具有相同统计模式的数据;换句话说,它们可以识别出它们所要产生的模式。这一特点揭示出一种希望:如果小型量子信息处理器可以产生出经典计算机在计算方面很难产生的统计模式,那么,或许量子处理器也可以识别出经典计算机难以识别出的统计模式。
这个希望能否实现,取决于是否可以为机器学习找到有效的量子算法。量子算法是用于解决问题的一组可以在量子计算机上执行的指令,例如,这个指令可以是”确定两个图是否同构“。量子机器学习软件则以量子算法作为更大型的软件实现的组成部分。通过分析量子算法所规定的步骤,显而易见的是,针对某些特定问题,它相对于经典算法具有潜在优势,能够降低步骤数量。这个潜在优势被称为量子加速。
量子加速的概念可以从两个视角来理解。如果采取采用形式化的计算机科学视角,那么能否加速需要数学证明。如果采用实用的视角,这个问题便相当于问,基于现实的有限大小的设备,能否实现加速;而这要求我们能以统计证据证明,在某些有限问题集合上,量子算法具有规模性优势。对于量子机器学习来说,与之对照的经典算法的最佳性能并不总是已知的。这与用于整数分解的Shor-多项式时间量子算法的情况有些类似:我们尚未发现低于指数时间的经典算法,但并不能排除这种可能性。
要确定量子机器学习相对于经典机器学习是否具有规模性优势,这依赖于量子计算机的现实存在,这个问题也被称为“测试基准”问题。量子机器学习的优势可能包括:提高分类精度,对经典方法无法进入的系统进行采样。 因此,目前机器学习的量子加速特性,是使用复杂度理论中的两个理想化指标,查询复杂度和门复杂度,来衡量的。查询复杂度衡量经典或量子算法对信息源的查询次数。如果量子算法解决问题所需的查询数量低于经典算法,则会带来量子加速。为了确定门复杂度,需要计算获得所要结果所需的基本量子操作(或门)的数量。
信息框1:量子加速
量子计算机使用诸如量子相干和纠缠等效应来处理信息,而传统计算机则做不到。近二十年来,在构建更强大的量子计算机方面取得了长足进步。 量子算法是在量子计算机上执行的逐步过程,用于解决诸如搜索数据库之类的问题。量子机器学习软件利用量子算法来处理信息。 在解决某些问题时,量子算法在原则上可以胜过最著名的经典算法。 这被称为量子加速 。
例如,量子计算机可以搜索具有N个条目的未分类数据库,所耗费时间与√N成正比,即,具有O (√N)复杂度;与此相比,经典计算机对同一数据库的黑箱访问所耗费时间与N成正比。因此,在这类问题上,量子计算机与经典计算机相比,具有平方根加速。 类似地,量子计算机可以在N个数据点上进行傅立叶变换,反转N × N稀疏矩阵,并找到它们的特征值和特征向量,这个过程耗费的时间与log 2 N成正比,而已知的经典计算机最佳算法的时间消耗与 Nlog 2 N成正比。因此,量子计算机与经典计算机最优算法相比,在这类问题上具有指数加速。
在下面的表格中 ,加速与否是相对于经典算法而言的。例如, O (√N)意味着相对于经典算法的平方根加速, O (log( N))意味相对于经典算法的指数加速。
查询复杂度和门复杂度是用于量化解决问题所需的必要资源的理想化模型。如果不知道如何将这两个理想化模型映射到现实中,就无法用这两个模型估算现实世界情景需要的必要资源。因此,经典机器学习算法所需资源主要是通过数值实验来量化。量子机器学习算法的资源需求在实践中可能同样难以量化。对量子机器学习算法的实际可行性的分析将是本综述的中心议题。
在本文的各处都会看到,机器学习的量子算法展示了量子加速。例如,几个量子基本线性代数程序(BLAS)——傅里叶变换,寻找特征向量和特征值,求解线性方程 ——与其最著名的经典算法对应物相比都展示了指数量子加速。这种量子基本线性代数程序(qBLAS)的加速可转化为各种数据分析和机器学习算法的量子加速,包括线性代数,最小二乘拟合,梯度下降,牛顿法,主成分分析,线性、半定性和二次规划,拓扑分析和支持矢量机。 同时,诸如量子退火器和可编程量子光学阵列等专用量子信息处理器与深度学习架构也有很好的匹配。 尽管目前还不清楚这种潜力可被实现的程度,但我们有理由认为,量子计算机可以识别出经典计算机无法在数据中识别的模式。
我们所考虑的学习机器既可以是经典的,也可以是量子的。它们分析的数据既可以是量子感测得到的量子状态,也可以或测量装置获取的经典状态。我们将简要讨论常规机器学习,即使用经典计算机来查找经典数据中的模式。然后,我们转向量子计算机学习。量子计算机分析的数据可以是经典数据,这些数据最终被编码为量子态或量子数据。 最后,我们简要讨论使用经典机器学习技术在量子动力过程中寻找模式的问题。
古典机器学习和数据分析可以分为几类。首先,计算机可以用于执行“经典”的数据分析方法,如最小二乘回归,多项式插值和数据分析。机器学习协议可以是有监督的或无监督的。在监督学习中,训练数据被分为多个标记类别,例如手写数字的样本按照所表示的数字被标记分类,机器的工作是学习如何为训练集之外的数据分配标签组。 在无监督学习中,训练集未被标注,机器的目标是找出训练数据所属的自然类别(例如,互联网上不同类型的照片),然后对训练集外的数据进行分类。最后,有的机器学习任务如围棋AI,涉及监督学习和无监督学习的组合,并且会利用由机器本身所产生的训练集。
通过对高维向量空间中的向量执行矩阵运算,可以对各种数据分析和机器学习协议进行操作。而量子力学所擅长的恰恰是是对高维向量空间中向量的矩阵运算。
这些方法的关键因素是,n个量子比特或量子位的量子态是2^n维复向量空间中的一个向量; 对量子位执行量子逻辑运算或测量,是将相应的状态向量乘以2^n×2^n个矩阵。 通过构建这样的矩阵变换,量子计算机已被证明可以执行常见的线性代数运算,如傅里叶变换,寻找特征向量和特征值,以及在时间上求解 2^n 维向量空间的线性方程组,只需耗费 n的多项式时间,与相应的经典算法相比具有指数级的高速。后一算法通常被称为HarrowHassidim Lloyd(HHL)算法(参见信息框2 )。这个算法的原始版本假定,一个 wellconditioned 的矩阵是稀疏的。在数据科学中,稀少性不太可能。后来的改进放宽了这一假设,使之也能包含低阶矩阵。下面,通过介绍HHL算法,我们会研究几个量子算法,这些算法在量子计算学习软件中采用线性代数技术时会作为子程序被用到。
信息框2:HHL算法
用于反演方程系统的HHL算法是一个基础性的、易于理解的子程序,它是许多量子机器学习算法的基础。该算法试图用量子计算机求解A x= b 。HHL将向量 b ∈ C^N 表示为log2N个量子位上的量子态 |B>,将向量 x表示为 |x>, 从而将问题量子化。矩阵A 可以被视为是厄米特共轭的,这并不会损失一般性,因为总是可以通过扩展向量空间使得这一点为真。方程式A|x>=|b> 可以通过将方程的两边乘以A ^-1来求解,其中A^ -1是A的倒数。然后,HHL算法允许构造与A^-1|b> 成比例的量子态 。 更一般地说,当A不是正方形矩阵或具有零特征值时,该算法还可用于查找能够将|A|x>-|b>|最小化的状态 |x>。
该算法的工作原理如下。假定 ,其中 |En>是 A的特征向量,具有特征值 λn ≥ Λ。通过在A中应用相位估计来计算λn,并将辅助量子位旋转arcsin(Λ /λn)的角度,然后对相位估计进行uncomputing,就会得到:
如果测量了辅助量子位,并且如果观察到了1,则每个本征态被划分为λn ,这会影响到反演过程。在采用振幅放大之后,状态准备回路得以成功应用所需要的次数是 ,这正好是矩阵的条件数。
HHL算法采用O[(logN)2] 个步骤就能输出|x>,与之相比,使用经典计算机上最著名方法需要 O(NlogN)个步骤。
HHL算法有几个重要的注意事项。首先,从量子状态|x>找到完整的向量x 需要O(N) 个步骤来重建x的N个分量。诸如最小二乘法拟合这样的对HHL方法的一般化方式,通过允许输出具有比输入更少的维度来回避这个问题。 然而,一般来说,HHL只能提供一部分数据特征,例如解向量的矩(moment)或它在其他稀疏矩阵中的期望值。第二,输入向量需要在量子计算机上获得,或使用qRAM来准备,这可能是昂贵的。第三,矩阵必须是 well conditioned,并且必须能有效地模拟 e−iA 。最后,虽然HHL算法的尺度为 O[(logN)2],但算法处理实际问题的成本估计仍是令人望而却步的,这意味着研究进一步的改进的重要性。一般来说,不应过于指望对线性系统的指数加速的承诺,应认识到它们仅适用于某些问题。
例如,考虑主成分分析(PCA)。假设数据以d维向量空间中以向量v j的形式呈现,其中d = 2^n= N。 例如, v j可以是股票市场从时间t j到时间t j +1的所有股票价格变动的向量。数据的协方差矩阵是 ,其中上标T表示转置操作。协方差矩阵总结了数据的不同分量之间的相关性,例如不同库存价格变化之间的相关性。在最简单的形式中,主成分分析将协方差矩阵对角化,其中c_k是C的特征向量, e_k是相应的特征值。(因为C是对称的,特征向量c_k形成正交集合)。如果只有少数特征值c_k较大,其他都较小或为零,那么与这些特征值对应的特征向量称为C 。每个主成分代表数据中相关的常见趋势或相关形式,并且以主成分v=的形式分解数据向量,从而允许压缩数据的表示,并预测未来的行为。 在计算复杂度和查询复杂性方面,用于执行PCA的经典算法复杂度为O(d^2)。
对于经典数据的量子主成分分析,我们随机选择数据向量v j ,并使用量子随机存取存储器(qRAM),将该矢量映射到量子态: 。 总结该向量的量子态具有log d量子位,并且qRAM操作需要在可以并行执行的O(logd)步中划分O(d)个运算。 因为v j是随机选择的,所得到的量子态具有密度矩阵 ,其中N是数据向量的数量。通过与经典数据的协方差矩阵C进行比较,我们看到数据的量子化版本的密度矩阵实际上是协方差矩阵。通过重复采样数据,并使用称为密度矩阵求幂的技巧,结合量子相位估计算法,可找到矩阵的特征向量和特征值;我们可以取任何数据向量的量子版本|v>, 并将其分解为主成分|c_k>, 同时揭示C的特征值, 然后可以通过对C的特征向量的量子表示进行测量, 来探测C的主要成分的性质。量子算法在计算复杂度和查询复杂度方面均为 O[(logN)2]。也就是说,量子PCA比传统的PCA指数更高效。
监督机器学习算法的最简单的例子是线性支持向量机和感知器。这些方法寻求在数据集中的两类数据之间找到一个最优的分离超平面。这样一来,同类数据的所有训练样例都位于超平面的同一侧。当超平面和数据之间的margin最大化时,就能得到最强健的分类器。这里从训练中学到的“权重”是超平面的参数。支持向量机的最大优点之一是,它通过核函数对非线性超曲面进行泛化。这种分类器在图像分割以及生物科学领域都取得了巨大的成功。
与其经典的对应方法一样,量子支持向量机是量子机器学习算法的良好范例。 第一个量子支持向量机在2000年代初期被讨论,使用Grover功能最小化搜索。 从N个向量中找出支持向量需要次迭代。最近,开发了一种利用qBLAS子程序的全部功能的最小二乘量子支持向量机。数据输入可以来自各种来源,例如可从qRAM访问经典数据,或从正在准备量子态的量子子程序中获取。一旦数据可被用于量子计算设备,就用量子相位估计和矩阵求逆(HHL算法)进行处理。原则上,构建最优分离超平面并测试向量是否位于同侧的所有操作可以在多项式时间log N中执行,其中N是用于准备超平面向量的量子版的矩阵维数。过往研究也讨论了多项式、径向基函数内核,以及一种称为高斯过程回归的基于内核方法。量子支持机的这种方法已经在核磁共振测试中用于手写数字识别任务,并得到了实验证明。
许多数据分析和机器学习技术涉及到优化。越来越令人感兴趣的是,使用D-Wave处理器通过量子退火来解决组合优化问题。一些优化问题也可以被形式化为线性系统的singleshot 解决方案,例如, 受到等式约束的二次函数的优化, 这个问题是二次规划问题的子集。如果所涉及的矩阵是稀疏或低秩的,则可以在log d多项式时间内解决这样的问题,其中d是通过HHL矩阵求逆算法获得的系统维数。这种算法具有相对于经典算法的指数加速。
机器学习中的大多数方法需要对其性能进行迭代优化。例如,不平等约束通常通过惩罚函数和梯度下降或牛顿法的变化来处理。量子PCA方法的某个修正版本实现了迭代梯度下降和牛顿多项式优化的方法,并且可以提供对经典方法的指数加速。使用以量子态编码的当前解的多个拷贝可以用于在每个步骤改进该解。Brandao和Svore提供了半定义编程的量子版本,它可以提供超多项式加速的可能性。 量子近似优化算法(QAO算法)则提供了一种独特的、基于交替量子位旋转优化的方法,它也用到了问题的惩罚函数。
必须先输入经典数据,才能在量子计算机上处理这些数据。这个“输入问题”通常只有很少的开销,但对某些算法来说可能会造成严重的瓶颈。同样,在量子设备上处理数据之后,还会出现“输出问题”。像输入问题一样,输出问题通常会导致明显的操作放缓。
特别是,如果我们希望将HHL,最小二乘拟合,量子主成分分析,量子支持向量机和相关方法应用于经典数据,则该过程首先要将大量数据加载到量子系统中,这可以要求指数时间的消耗。原则上,可以使用qRAM来解决这个问题,但这样做的代价是,可能无法处理大数据问题。除了基于组合优化的方法之外,唯一已知的不依赖大规模qRAM的基于线性代数的量子机器学习算法是,用于执行数据(持久同源性)拓扑分析的量子算法。除了最小二乘拟合和量子支持向量机这两个显著例外之外,基于线性代数的算法也可能受到输出问题的困扰,因为诸如HHL的解向量或PCA的主成分之类的的经典量很难被估计,对其进行估算的难度是指数级的。
尽管有指数量子加速的潜力,若没有进行足够优化,回路规模和深度的开销可以极度膨胀,(在HHL的实现中可以达到10^25个量子门的地步)。 需要持续的研究工作来优化这些算法,提供更好的成本估算,并最终了解,什么样的量子计算机才是能够为经典机器学习提供有用的替代选择的。
经典深层神经网络是机器学习的高效工具,也非常适合激励深度量子学习方法的发展。诸如量子退火器和采用可编程光子电路的专用量子信息处理器也非常适合构建深量子学习网络。最简单的可量子化的深度神经网络量化是玻尔兹曼机。经典的玻尔兹曼机由具有可调谐相互作用的位组成,可以通过调整这些相互作用来训练玻尔兹曼机,使得由玻尔兹曼 - 吉布斯分布描述的位的热统计可以再现数据的统计。为了量子化Boltzmann机器,可以简单地将神经网络表示为一组相互作用的量子自旋,它对应于一个可调谐的Ising模型。然后通过将玻尔兹曼机中的输入神经元初始化为固定状态,并允许系统进行热化,我们可以读出输出量子位以获得答案。
深度量子学习的一个基本特征是,它不需要大型通用量子计算机。量子退火器是专用的量子信息处理器,比通用量子计算机更容易构建和扩展。量子退火器非常适合实现深度量子学习者,并且是可以商业采购的。D-wave量子退火器是可调谐的横向ising模型,可以通过编程产生经典系统和某些量子自旋系统的热态。D-wave装置已经被用于在一千多个自旋系统上执行深度量子学习协议。具有更一般性的可调谐耦合的量子波尔兹曼机目前处于设计阶段,该耦合可实现通用量子逻辑。片上硅波导(On-chipsilicon waveguides )已被用来构建具有数百个可调谐干涉仪的线性光学阵列,并且可以用专用超导量子信息处理器来实现量子近似优化算法。
量子计算机通过几种方式可以提供优势。首先,量子方法可以使系统在热化时比相应的经典系统快二次方倍。这可以使完全连接的玻尔兹曼机实现准确的训练。其次,量子计算机通过提供改进的采样方式来加速玻尔兹曼训练。因为玻尔兹曼机中的神经元激活模式是随机的,所以需要许多次重复来确定成功概率,并反过来发现改变神经网络权重对深层网络性能有什么影响。相反,当训练量子玻尔兹曼机时,量子相干性可以二次方级地减少学习任务所需的样本数量。此外,对训练数据的量子访问(即qRAM或量子黑盒子程序)允许更少的访问请求来训练机器,与经典机器相比减少了二次方级。量子算法可以在一个大训练数据集上训练深层神经网络,同时只读取少量的训练向量。
量子信息处理为深度学习提供了新的、量子性的模型。例如,向Ising模型量子玻尔兹曼机添加横向场,可以引发各种量子效应,例如隧道效应。加入更多量子耦合,可将量子玻尔兹曼机转换成各种量子系统。将可调谐横向交互添加到可调谐Ising模型,这对完全量子计算具有通用性:通过适当的权重分配,该模型可以执行通用量子计算机可执行的任何算法。这种普遍深度量子学习系统可以识别和分类出经典计算机不能处理的模式。
与经典玻尔兹曼机器不同,量子波尔兹曼机输出量子态。因此,深度量子网络可以学习和产生代表各种系统的量子态,允许整个网络以量子关联存储器的形式活动。经典机器学习中不存在这种产生量子态的能力。因此,量子玻尔兹曼训练不仅可用于量子态分类,还可以为经典数据提供更丰富的模型。
也许,对量子机器学习来说最直接的应用是处理量子数据——由量子系统和过程产生的实际状态。如上所述,许多量子机器学习算法通过将数据映射到量子力学状态,然后使用基本量子线性代数子程序来处理这些状态,从而在经典数据中寻找模式。这些量子机器学习算法也可以直接应用于光和物质的量子态,以揭示其基本特征和模式。所得到的量子分析模式,与对从量子系统获取的数据进行经典分析相比,往往更有效率和更有揭示性。例如,给定由N × N密度矩阵描述的系统的多个拷贝,可以使用量子主成分分析来找到其特征值,并且在时间O[(logN)2] 中显示相应的特征向量,与此相比,对这个密度矩阵进行经典测量消耗时间为O(N2) ,执行经典PCA所需的时间为O(N2) 。对量子数据的这种量子分析,未来几年后可能会在可用的小型量子计算机上执行。
一个特别强大的量子数据分析技术是,使用量子模拟器来探测量子动力学。量子模拟器是一个“量子模拟计算机”—— 对某个量子系统的动力学进行编程,以让它匹配其他一些可欲的量子系统。量子模拟器既可以是用于模拟特定类别的量子系统的专用设备,也可以是通用量子计算机。通过将可信任的量子模拟器连接到未知系统,并调整模拟器的模型以反制未知的动力学,可以使用近似贝叶斯推理有效地学习未知系统的动力学。这样,可以大大减少执行模拟所需的测量次数。类似地,通用量子模拟器算法允许重构量子动力学,量子玻尔兹曼训练算法允许在希尔伯特空间的维度上以时间对数重建状态,与通过经典断层扫描重建动力学相比,具有指数级加速。
为了使用量子计算机来帮助表征量子系统,或接受在量子PCA算法中使用的输入状态,我们必须面对一个重大挑战,即,如何加载相干输入状态。尽管如此,由于这类应用不需要qRAM,并且为设备提供了指数加速的潜力,它们仍然是近期应用量子机器学习的希望所在。
量子计算和信息科学发展面临的一个主要挑战是,调整量子门以满足量子纠错所需的严格要求。启发式搜索方法可以帮助在受监督学习场景中实现这一点,(例如,在噪声的情况下在门保真度高于99.9%的条件下实现最近相邻耦合的超导人造原子),并因此抵达接受容错量子计算的阈值。类似的方法已经成功地构建了一个single shot Toffoli门,并达到高达99.9%的门保真度。有的研究采用遗传算法来减少量子门中的数字和实验误差。它们已被用于通过辅助量子位和不完全门来模拟controlled-NOT门。遗传算法不仅在表现上超越了数字量子模拟协议,也可用于抑制门中的实验误差。另一种方法使用随机梯度下降和两体相互作用,使用量子网络的自然动力学将Toffoli门嵌入到量子操作或门序列中,无需时间依赖控制。动态去耦序列有助于保护量子态不相干,这可以使用循环神经网络进行设计。
对量子系统进行控制,这同等重要和复杂。量子学习方法在开发控制序列、优化自适应量子计量学方面非常成功,这已成为许多量子技术中关键的量子构建模块。研究者提出了遗传算法来控制量子分子,以克服在实验过程中改变环境参数所引起的问题。使用启发式全局优化的强化学习算法,例如电路设计算法,已经得到了广泛的成功;特别是在存在噪声和去相干的情况下,与系统规模适应得很好。也可以利用基于栅极的量子系统强化学习。例如,基于智能主体、用于量子信息的自适应控制器在固定方向、未知幅度的外部杂散场中展现了自适应校准和补偿策略。
经典机器学习也是提取关于量子状态的理论洞见的有力工具。近年已部署神经网络来研究凝聚物质中的两个核心问题,即物相检测和基态搜索。这些工作取得了比已有的数值工具更好的表现。理论物理学家正在研究这些模型,以便与传统方法(如张量网络)相比较,以理解这些模型的描述力。用这些方法对异乎寻常的物质状态的处理也已在进行,并且被证明可以从无序或拓扑有序系统中捕获高度不平凡的特征。
正如我们在这篇综述中所讨论的那样,小量子计算机和更大型的专用量子模拟器、退火器等似乎都在机器学习和数据分析中有潜在的用途。然而,量子算法的执行仍然缺乏可用的量子硬件。
在硬件方面,几项技术取得了长足的进步。具有50-100个量子位的小规模量子计算机将通过量子云计算(“Qloud”)被广泛使用。诸如量子模拟器,量子退火器,集成光子芯片,氮空位中心(NV)金刚石阵列,qRAM、定序超导电路专用量子信息处理器等将在尺寸和复杂性方面继续前进。量子机器学习为小量子计算机提供了一套潜在的应用,这些小型量子计算机由专用量子信息处理器,数字量子处理器和传感器所支持。
特别是,研究者使用原则上可扩展的集成超导电路,已构建并操作了具有大约2000个量子位的量子退火器。量子退火器实施量子机器学习算法的最大挑战包括:改进连接性,并在量子位之间实现更为普遍的可调耦合。研究者已在芯片中使用集成光子学,构建了具有大约100个可调谐干涉仪的可编程量子光学阵列,但是量子效应的损失也随着这些回路的放大而增加。量子机器学习的一个特别重要的挑战是,构建qRAM等的接口设备,以允许经典信息以量子力学形式编码。用于访问N个数据的qRAM由2 ^N个量子开关的分支阵列组成,它们在存储器调用期间必须相干地进行操作。原则上,这样的qRAM需要时间O(Log(N))才能执行存储器调用,并且可以容忍每次切换操作时高达O(1/ logN)的错误率,其中log N是qRAM回路的深度。对qRAM已进行过概念验证,但构建量子开关的大阵列仍是一个困难的技术问题。
这些硬件挑战本质上是技术性的,而且克服这些困难的途径也是明确的。但是,如果量子机器学习要成为量子计算机的“杀手级应用”,那么,这些困难必须被克服。如前所述,已经提到的大多数量子算法都面临着许多限制其适用性的问题。我们可以将这些难题提炼成四个基本问题。
输入问题:虽然量子算法可以为处理数据提供显著的加速,但它们很少在读取数据方面具有优势。这意味着,输入时的读取成本在某些情况下可以主导量子算法的成本。理解这个问题,将构成一个持续的挑战。
输出问题:要从量子算法中以比特串的形式获取问题的完整的解,往往需要对指数级的比特信息进行学习。这使得量子机器学习算法的一些应用变得不可行。通过只学习问题解的某些总结性统计信息,可能可以绕开此问题。
成本问题。与输入/输出问题密切相关的是,我们对量子计算机学习算法在现实中到底需要多少个门尚缺乏了解。经典算法在复杂性方面的限制表明,对于规模足够大的问题,量子算法将提供巨大的优势,但是,仍然不清楚这个临界点在什么地方。
测试基准问题。在实践中,通常很难断言,量子算法是否比所有已知的经典机器算法更好,因为,这将需要针对各种现代启发式方法进行广泛的基准测试分析。建立量子机器学习的下限,将部分地解决这个问题。
为了避免上面的一些问题,我们可以将量子计算应用于量子数据而非经典数据。其中一个目标是,使用量子机器学习来表征和控制量子计算机。这将实现类似于经典计算中发生过的那种创新的良性循环,在这个循环中,每一代处理器都可以被利用以设计下一代处理器。我们已经开始看到这个循环的第一代成果:经典机器学习已被用来改进量子处理器设计,而量子处理器反过来又会为量子机器学习提供强大的计算资源。
论文:doi:10.1038/nature234
【号外】新智元正在进行新一轮招聘,飞往智能宇宙的最美飞船,还有N个座位
点击阅读原文可查看职位详情,期待你的加入~