用于对数据进行量子处理的系统和方法与流程

文档序号:13915703阅读:321来源:国知局
用于对数据进行量子处理的系统和方法与流程
领域本披露总体上涉及分析数据,例如,使用量子处理器进行非监督或半监督的特征学习。超导量子位人们在考虑将多种不同的硬件和软件途径用于量子计算机中。一种硬件途径使用了超导材料(如铝和/或铌)形成的集成电路来定义超导量子位。根据用于对信息进行编码的物理特性,超导量子位可以被分为几个类别。例如,它们可以被分为电荷、通量与相位器件。电荷器件以该器件的电荷状态来存储和处理信息;通量器件以与通过该器件的某个部分的磁通量相关的一个变量来存储和处理信息;并且相位器件以与该相位器件的两个区域之间的超导相位差相关的一个变量来存储和处理信息。在本领域中已经实现了许多不同形式的超导通量量子位,但是所有成功的实现方式总体上包括一个超导回路(即,一个“量子位环路”),该超导回路被至少一个约瑟夫逊结中断。一些实施例实现了或者串联或者并联连接的多个约瑟夫逊结(即,复合约瑟夫逊结),而一些实施例实现了多个超导回路。量子处理器量子处理器可以采取超导量子处理器的形式。超导量子处理器可以包括多个量子位以及多个相关联的局部偏置器件,例如两个或更多个超导量子位。超导量子处理器还可以采用在量子位之间提供通信性耦合的多个耦合器件(即,“耦合器”)。在美国专利7,533,068、美国专利8,008,942、美国专利公开2008-0176750、美国专利公开2009-0121215、以及PCT专利公开2009-120638(现在是美国公开2011-0022820)中描述了可以与本方法结合使用的多个示例性量子处理器的进一步细节及实施例。绝热量子计算绝热量子计算典型地涉及通过逐渐改变哈密尔顿算子来将一个系统从一个已知的初始哈密尔顿算子(该哈密尔顿算子是一个运算符,它的本征值是该系统所允许的能量)演算到一个最终的哈密尔顿算子。一个绝热演算的简单示例是:He=(1-s)Hi+sHf其中,Hi是初始哈密尔顿算子,Hf是最终哈密尔顿算子,He是演算或瞬态哈密尔顿算子,并且s是控制演算速率的一个演算系数。随着系统的演算,系数s从0到1,这样使得在开始时(即,s=0)演算哈密尔顿算子He等于初始哈密尔顿算子Hi,并且在结束时(即,s=1)演算哈密尔顿算子He等于最终的哈密尔顿算子Hf。在演算开始之前,典型地将系统初始化为处于初始哈密尔顿算子Hi的一个基态中,并且目标是使系统进行演算的方式为使得在演算结束时该系统结束在最终的哈密尔顿算子Hf的一个基态中。如果该演算太快,则该系统能够被激发到一个更高的能态,例如第一激发态。在本方法中,“绝热”演算被认为是满足以下绝热条件的一种演算:其中,是s的时间导数,g(s)是作为s的一个函数的系统的基态与第一激发态之间的能量差值(在此还被称为“间隙大小”),并且δ是远远小于1的一个系数。绝热量子计算中的演算过程有时可被称为退火。s变化的速率(有时被称为演算或退火进度)通常是足够慢的以便使该系统在演算过程中总是处于演算哈密尔顿算子的瞬时基态中,并且避免了在反交叉处(即,当该间隙大小是最小的时候)的转变。在美国专利号7,135,701和7,418,283中描述了关于绝热量子计算系统、方法及装置的进一步细节。量子退火量子退火是一种计算方法,该方法可以被用于找出一个系统的低能态,典型地优选是基态。与经典的退火概念相类似,该方法所依赖的本质性原理在于自然系统趋向于低能态,因为低能态是更加稳定的。然而,尽管经典退火使用经典的热波动将一个系统引导到它的全局能量最小值,但量子退火可以使用量子效应(如量子隧道效应)来比经典退火更精确和/或更快速地达到一个全局能量最小值。已知对于一个难题(如组合优化问题)的解可被编码到一个系统哈密尔顿算子的基态中并且因此量子退火可被用于寻找此类难题的解。绝热量子计算是量子退火的一种特殊情况,对于量子退火该系统在理想情况下对于整个绝热演算开始于并保持在它的基态中。因此,在本领域中的技术人员应理解量子退火方法总体上可在一台绝热量子计算机上实现,反之亦然。贯穿本说明书以及所附的权利要求书,任何提及对量子退火之处均旨在包含绝热量子计算,除非上下文中另有要求。量子退火是在退火过程中使用量子力学来作为一个无序化源的一种算法。最优化问题被编码在一个哈密尔顿算子HP中,并且该算法通过增加一个与HP不进行交换的无序化哈密尔顿算子HD来引入强的量子波动。一个示例的情形为:HE=HP+ΓHD其中,Γ在演算过程中从一个大的值变化到基本上为0,并且HE可以被认为是与以上在绝热量子计算的背景下描述的He相类似的一个演算哈密尔顿算子。通过去掉HD(即,减小Γ)来缓慢地去掉这种无序化。因此,由于该系统以一个初始哈密尔顿算子开始,并且通过一个演算哈密尔顿算子演算到一个最终的“问题”哈密尔顿算子HP(它的基态对于该问题的一个解进行编码),所以量子退火与绝热量子计算是相类似的。如果该演算是足够慢的,那么该系统将典型地进入一个接近该精确解的局部最小值。这种计算的性能可以通过与演算时间相对比的残余能量(与使用目标函数的精确解之间的距离)来进行评估。该计算的时间是生成在某个可接受的阈值以下的一个残余能量所需要的时间。在量子退火中,HP可以编码一个最优化问题,并且因此HP在编码该解的这些量子位的子空间中可以是对角的,但是该系统不一定始终都保持在这种基态中。HP的能量形态可以是精心设计的,这样使得它的全局最小值是有待被求解的问题的答案,并且处于低位的多个局部最小值是多个良好的近似。在量子退火中Γ的逐步减小可以遵循被称为是退火进度的一个限定的进度。与绝热量子计算的传统形式(其中系统开始于并且在整个演算过程中保持在它的基态中)不同,在量子退火中,系统在整个退火进度过程中也许不保持在它的基态中。这样,量子退火可以实现为一种启发式技术,其中,具有的能量靠近基态能量的低能态可以提供对该问题的近似解。二次无约束二元优化问题二次无约束二元优化(“QUBO”)问题是离散优化问题的形式,该问题涉及寻找将以下形式的目标函数最小化的具有N个二元变量的集{xi}:其中,Q典型地是实值上三角矩阵,该上三角矩阵是被研究的具体问题实例的特性。QUBO问题在本领域中是已知的并且多种应用出现许多不同的领域中,例如,机器学习、模式匹配、经济学和财政学以及统计力学,仅举几例。简要概述一种通过层次化深度学习(HDL)使用量子处理器来标识在数据中的多个最大重复模式的方法可以被概述为包括:在一个非量子处理器处接收具有多个数据元素的数据集;通过该非量子处理器基于该数据集将目标函数公式化,其中,该目标函数包括损耗项以使该数据集的第一表示与该数据集的第二表示之间的差异最小化,并且包括正则项以使该目标函数中的任何复杂性最小化;使用该非量子处理器将该目标函数中的第一权重集安排为多个变量;使用该非量子处理器针对该目标函数的字典设置第一值集,其中,该字典的该第一值集包括具有多个列的实值矩阵,每一列定义对应于在该量子处理器中的量子位的向量,其中,对应于在该量子处理器中的多个不连通的量子位的这些向量中的任何向量是彼此正交的;并且通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化。将目标函数公式化可以包括当该正则项是由一个L0-范数形式支配时将该目标函数公式化。将目标函数公式化可以包括当该正则项是由一个L1-范数形式支配时将该目标函数公式化。该正则项可以包括正则化参数,并且将目标函数公式化可以包括为该正则化参数选择值以控制该目标函数的稀疏度。在非量子处理器处接收具有多个数据元素的数据集包括接收图像数据和音频数据。通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化可以进一步包括基于该字典的该第一值集针对在该目标函数中的这些权重的该第一值集优化该目标函数。针对这些权重的一个第一值集优化该目标函数可以包括将该目标函数映射到第一二次无约束二元优化(“QUBO”)问题并且使用该量子处理器来至少近似地使该第一QUBO问题最小化,其中,使用该量子处理器来至少近似地使该第一QUBO问题最小化包括使用该量子处理器来执行绝热量子计算或量子退火中的至少一项。通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化可以进一步包括基于该字典的第二值集针对这些权重的第二值集优化该目标函数,其中,针对这些权重的第二值集优化该目标函数包括将该目标函数映射到第二QUBO问题并且使用该量子处理器来至少近似地将该第二QUBO问题最小化。通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化可以进一步包括基于这些权重的该第一值集针对该字典的第二值集优化该目标函数,其中,针对该字典的第二值集优化该目标函数包括使用该非量子处理器来更新该字典的这些值中的至少一些值。通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化可以进一步包括基于这些权重的该第二值集针对该字典的第三值集优化该目标函数,其中,针对该字典的第三值集优化该目标函数包括使用该非量子处理器来更新该字典的这些值中的至少一些值。该方法可以进一步包括基于该字典的该第三值集针对这些权重的一个第t值集优化该目标函数,其中,t是大于2的整数,其中,针对这些权重的第t值集优化该目标函数包括将该目标函数映射到第t个QUBO问题并且使用该量子处理器来至少近似地使该第t个QUBO问题最小化;并且基于这些权重的该第t值集针对该字典的第(t+1)值集优化该目标函数,其中,针对该字典的第(t+1)值集优化该目标函数包括使用该非量子处理器来更新该字典的这些值中的至少一些值。该方法可以进一步包括基于该字典的该第(t+1)值集针对这些权重的第(t+1)值集优化该目标函数,其中,针对这些权重的第(t+1)值集优化该目标函数包括将该目标函数映射到第(t+1)个QUBO问题并且使用该量子处理器来至少近似地使该第(t+1)个QUBO问题最小化。针对t的增值,可以重复基于这些权重的该第t值集针对该字典的第(t+1)值集优化该目标函数以及基于该字典的该第(t+1)值集针对这些权重的第(t+1)值集优化该目标函数,直到至少一个解标准被满足。该至少一个解标准可以包括或者收敛这些权重的该值集或者收敛该字典的该值集。使该目标函数最小化可以包括在学习问题中生成多个特征。在学习问题中生成多个特征可以包括在以下问题的至少一个问题中生成多个特征:模式识别问题、训练人工神经网络问题以及软件验证与确认问题。在学习问题中生成多个特征可以包括在机器学习问题或应用人工智能中的至少一者中生成多个特征。使该目标函数最小化可以包括求解稀疏最小二乘问题。设置该目标的该字典的第一值集可以进一步包括生成实值矩阵,其中,该矩阵的每个条目是正一与负一之间的随机数;对该矩阵的每一列进行再归一化从而使得每一列的范数等于1;并且针对该矩阵的每一列,计算该列的零空间;并且用该列的该零空间基中的一列随机条目替换该列。使用该非量子处理器将该目标函数中的第一权重集安排为多个变量可以包括使用该非量子处理器将第一权重集安排为多个布尔变量。该方法可以进一步包括将由至少一个标签元素构成的至少一个标签结合到该数据集中,其中,该至少一个标签表示标签信息,该标签信息至少在抽象级别或类别上逻辑地标识在该数据集中表示的主体,在该数据集中表示的该主体属于该抽象级别或类别。结合至少一个标签可以包括结合表示标签信息的至少一个标签,该标签信息将在该数据集中表示的该主体逻辑地标识为字母数字字符、限定的人类集的所有物、交通工具的制造商和/或型号、限定的对象集、限定的外来或可疑对象或者解剖特征类型中的至少一者。结合至少一个标签可以包括结合表示标签信息的至少一个标签,并且该标签信息可以是与相应的数据元素相同的类型。在非量子处理器处接收具有多个数据元素的数据集可以包括接收被表达为图像数据的数据集,并且该结合的至少一个标签元素可以包括图像数据。将由至少一个标签元素构成的至少一个标签结合到该数据集中可以包括结合由至少一个标签元素构成的至少一个标签,该至少一个标签元素包括图像数据,并且该标签元素的空间位置至少可以部分地编码该标签信息。将目标函数公式化可以包括基于该数据集和该结合的至少一个标签两者将目标函数公式化。在非量子处理器处接收具有多个数据元素的数据集可以包括接收被表达为不同数据类型或格式的数据集。该目标函数可以是以下形式:一种通过层次化深度学习(HDL)来标识数据中的多个最大重复模式的系统可以被概述为包括:量子处理器;与该量子处理器通信地耦合的非量子处理器;以及包括多条处理器可执行指令的处理器可读存储介质,用于:在非量子处理器处接收具有多个数据元素的数据集;通过该非量子处理器基于该数据集将目标函数公式化,其中,该目标函数包括损耗项以使该数据集的第一表示与该数据集的第二表示之间的差异最小化,并且包括正则项以使该目标函数中的任何复杂性最小化;使用该非量子处理器将该目标函数中的第一权重集安排为多个变量;使用该非量子处理器针对该目标函数的字典设置第一值集,其中,该字典的该第一值集包括具有多个列的实值矩阵,每一列定义对应于在该量子处理器中的量子位的向量,其中,对应于在该量子处理器中的多个不连通的量子位的这些向量中的任何向量是彼此正交的;并且通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化。一种通过层次化深度学习(HDL)来标识数据中的多个最大重复模式的方法可以被概述为包括:在非量子处理器处接收具有多个带标签的数据元素的带标签的数据集,每个带标签的数据元素结合由至少一个标签元素构成的至少一个标签;通过该非量子处理器基于该带标签的数据集将目标函数公式化;并且通过以下方式通过该非量子处理器与量子处理器进行交互以使该目标函数最小化:使用该非量子处理器将该目标函数中的权重集安排为多个布尔变量;使用该非量子处理器设置字典的第一值集;并且基于该字典的该第一值集针对这些布尔权重的第一值集优化该目标函数。针对这些布尔权重的第一值集优化该目标函数可以包括将该目标函数映射到第一二次无约束二元优化(“QUBO”)问题并且使用量子处理器来至少近似地使该第一QUBO问题最小化,其中,使用该量子处理器来至少近似地使该第一QUBO问题最小化包括使用该量子处理器来执行绝热量子计算或量子退火中的至少一项。该方法可以进一步包括基于这些布尔权重的该第一值集针对该字典的第二值集优化该目标函数,其中,针对该字典的第二值集优化该目标函数包括使用该非量子处理器来更新该字典的这些值中的至少一些值。该方法可以进一步包括基于该字典的该第二值集针对这些布尔权重的第二值集优化该目标函数,其中,针对这些布尔权重的第二值集优化该目标函数包括将该目标函数映射到第二QUBO问题并且使用该量子处理器来至少近似地使该第二QUBO问题最小化。该方法可以进一步包括基于这些布尔权重的该第二值集针对该字典的第三值集优化该目标函数,其中,针对该字典的第三值集优化该目标函数包括使用该非量子处理器来更新该字典的这些值中的至少一些值。一种处理器可读存储介质可以包括多条处理器可执行指令,用于:在非量子处理器处接收具有多个数据元素的数据集;通过该非量子处理器基于该数据集将目标函数公式化,其中,该目标函数包括损耗项以使该数据集的第一表示与该数据集的第二表示之间的差异最小化,以及正则项以使该目标函数中的任何复杂性最小化;使用该非量子处理器将该目标函数中的第一权重集安排为多个变量;使用该非量子处理器针对该目标函数的字典设置第一值集,其中,该字典的该第一值集包括具有多个列的实值矩阵,每一列定义对应于在该量子处理器中的量子位的向量,其中,对应于在该量子处理器中的多个不连通的量子位的这些向量中的任何向量是彼此正交的;并且通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化。一种自动地对数据加标签的方法可以被概述为包括:接收在至少一个处理器可读存储介质中的无标签数据;通过至少一个处理器对所接收到的无标签数据使用稀疏编码来学习具有多个字典原子的字典;接收在该至少一个处理器可读存储介质中的多个带标签的数据元素,每个带标签的数据元素结合由至少一个对应的标签元素构成的至少一个对应的标签;通过至少一个处理器使用该字典重构该带标签的数据以生成多个经编码的带标签的数据元素;通过至少一个处理器使用这些经编码的带标签的数据元素执行监督学习过程以产生分类器或标签分配器中的至少一者;将所产生的至少一个分类器或标签分配器存储在该至少一个处理器可读存储介质中。通过至少一个处理器执行监督学习过程可以包括执行感知算法、k最近邻居(kNN)算法或者具有L1和L2损耗的线性支持向量机(SVM)算法中的至少一个算法。接收在该至少一个处理器可读存储介质中的多个带标签的数据元素可以包括接收多个带标签的图像数据元素,每个带标签的图像数据元素结合由至少一个对应的图像标签元素构成的至少一个对应的标签。接收在该至少一个处理器可读存储介质中的多个带标签的数据元素可以包括接收各自具有特定的数据类型或格式的多个带标签的数据元素,并且每个带标签的数据元素可以具有与所接收到的对应的标签元素相同的特定的数据类型或格式。一种通过层次化深度学习(HDL)使用量子处理器来标识在数据中的多个最大重复模式的方法可以被概述为包括:在一个非量子处理器处接收具有多个数据元素的数据集;通过该非量子处理器基于该经预处理的数据集将一个目标函数公式化,其中,该目标函数包括一个损耗项以使该经预处理的数据集的第一表示与该经预处理的数据集的第二表示之间的差异最小化,并且包括一个正则项以使该目标函数中的任何复杂性最小化;使用该非量子处理器将该目标函数中的第一权重集安排为多个变量;使用该非量子处理器设置该目标函数的一个字典的一个第一值集,其中,该字典的该第一值集受约束从而使得该目标函数与该量子处理器的连通性结构相匹配;并且通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化。将目标函数公式化可以包括当该正则项是由一个L0-范数形式支配时将该目标函数公式化。将目标函数公式化可以包括当该正则项是由一个L1-范数形式支配时将该目标函数公式化。该正则项可以包括正则化参数,并且将目标函数公式化可以包括为该正则化参数选择值以控制该目标函数的稀疏度。在非量子处理器处接收具有多个数据元素的数据集包括接收图像数据和音频数据。通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化可以包括基于该字典的该第一值集针对在该目标函数中的这些权重的该第一值集优化该目标函数。针对这些权重的一个第一值集优化该目标函数可以包括将该目标函数映射到第一二次无约束二元优化(“QUBO”)问题并且使用该量子处理器来至少近似地使该第一QUBO问题最小化,其中,使用该量子处理器来至少近似地使该第一QUBO问题最小化包括使用该量子处理器来执行绝热量子计算或量子退火中的至少一项。通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化可以进一步包括基于该字典的第二值集针对这些权重的第二值集优化该目标函数,其中,针对这些权重的第二值集优化该目标函数包括将该目标函数映射到第二QUBO问题并且使用该量子处理器来至少近似地将该第二QUBO问题最小化。通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化可以进一步包括基于这些权重的该第一值集针对该字典的第二值集优化该目标函数,其中,针对该字典的第二值集优化该目标函数包括使用该非量子处理器来更新该字典的这些值中的至少一些值。通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化可以进一步包括基于这些权重的该第二值集针对该字典的第三值集优化该目标函数,其中,针对该字典的第三值集优化该目标函数包括使用该非量子处理器来更新该字典的这些值中的至少一些值。该方法可以进一步包括基于该字典的该第三值集针对这些权重的一个第t值集优化该目标函数,其中,t是大于2的整数,其中,针对这些权重的第t值集优化该目标函数包括将该目标函数映射到第t个QUBO问题并且使用该量子处理器来至少近似地使该第t个QUBO问题最小化;并且基于这些权重的该第t值集针对该字典的第(t+1)值集优化该目标函数,其中,针对该字典的第(t+1)值集优化该目标函数包括使用该非量子处理器来更新该字典的这些值中的至少一些值。该方法可以进一步包括基于该字典的该第(t+1)值集针对这些权重的第(t+1)值集优化该目标函数,其中,针对这些权重的第(t+1)值集优化该目标函数包括将该目标函数映射到第(t+1)个QUBO问题并且使用该量子处理器来至少近似地使该第(t+1)个QUBO问题最小化。针对t的增值,重复基于这些权重的该第t值集针对该字典的第(t+1)值集优化该目标函数以及基于该字典的该第(t+1)值集针对这些权重的第(t+1)值集优化该目标函数,直到至少一个解标准被满足。该至少一个解标准可以包括或者收敛这些权重的该值集或者收敛该字典的该值集。使该目标函数最小化可以包括在学习问题中生成多个特征。在学习问题中生成多个特征可以包括在以下问题的至少一个问题中生成多个特征:模式识别问题、训练人工神经网络问题以及软件验证与确认问题。在学习问题中生成多个特征可以包括在机器学习问题或应用人工智能中的至少一者中生成多个特征。使该目标函数最小化可以包括求解稀疏最小二乘问题。设置该目标函数的该字典的一个第一值集可以包括生成实值矩阵,其中,该矩阵的每个条目是正一与负一之间的随机数;对该矩阵的每一列进行再归一化从而使得每一列的范数等于1;并且针对该矩阵的每一列,计算该列的零空间;并且用该列的该零空间基中的一列随机条目替换该列。使用该非量子处理器将该目标函数中的第一权重集安排为多个变量可以包括使用该非量子处理器将第一权重集安排为多个布尔变量。该方法可以进一步包括将由至少一个标签元素构成的至少一个标签结合到该数据集中,其中,该至少一个标签表示标签信息,该标签信息至少在抽象级别或类别上逻辑地标识在该数据集中表示的主体,在该数据集中表示的该主体属于该抽象级或类别。结合至少一个标签可以包括结合表示标签信息的至少一个标签,该标签信息将在该数据集中表示的该主体逻辑地标识为字母数字字符、限定的人类集的所有物、交通工具的制造商和/或型号、限定的对象集、限定的外来或可疑对象或者解剖特征类型中的至少一者。结合至少一个标签可以包括结合表示标签信息的至少一个标签,并且该标签信息是与相应的数据元素相同的类型。在非量子处理器处接收具有多个数据元素的数据集可以包括接收被表达为图像数据的数据集,并且该结合的至少一个标签元素包括图像数据。将由至少一个标签元素构成的至少一个标签结合到该数据集中可以包括结合由至少一个标签元素构成的至少一个标签,该至少一个标签元素包括图像数据,并且该标签元素的空间位置至少可以部分地编码该标签信息。将目标函数公式化可以包括基于该数据集和该结合的至少一个标签两者将目标函数公式化。在非量子处理器处接收具有多个数据元素的数据集可以包括接收被表达为不同数据类型或格式的数据集。该目标函数可以是以下形式:该方法可以进一步包括处理具有多个数据元素的该数据集以生成经预处理的数据集。具有多个数据元素的该数据集可以包括具有多个图像数据元素的图像数据集,并且对具有多个数据元素的该数据集进行预处理可以包括对该图像数据集的这些图像数据元素的对比度或亮度中的至少一者进行归一化。对具有多个数据元素的该数据集进行预处理可以包括白化该图像数据集的这些归一化的图像数据元素。白化该图像数据集的这些归一化的图像数据元素可以包括对该图像数据集的这些归一化的数据元素应用零相成分分析(ZCA)白化。对具有多个数据元素的该数据集进行预处理可以包括降低该图像数据集的这些归一化的图像数据元素的维数。降低该图像数据集的这些归一化的图像数据元素的维数可以包括对该图像数据集的这些归一化的数据元素应用主成分分析(PCA)。对具有多个数据元素的该数据集进行预处理可以包括降低该图像数据集的这些归一化的图像数据元素的维数以及白化该图像数据集的这些归一化的图像数据元素。在其中具有多个数据元素的数据集包括具有多个图像数据元素的图像数据集的该方法可以包括将这些图像数据中的每个图像数据分割成一个或多个不相交的区域。该方法可以进一步包括通过该非量子处理器接收指示分割特性的分割参数,其中,所述将这些图像数据元素中的每个图像数据元素分割成一个或多个不相交的区域至少部分地基于所接收到的分割参数。一种通过层次化深度学习(HDL)来标识数据中的多个最大重复模式的方法可以被概述为包括:在非量子处理器处接收具有多个带标签的数据元素的带标签的数据集,每个带标签的数据元素结合由至少一个标签元素构成的至少一个标签;在该非量子处理器处对具有多个带标签的数据元素的该带标签的数据集进行预处理以生成经预处理的带标签的数据集;通过该非量子处理器基于该经预处理的带标签的数据集将目标函数公式化;并且通过以下方式通过该非量子处理器与量子处理器进行交互以使该目标函数最小化:使用该非量子处理器将该目标函数中的权重集安排为多个布尔变量;使用该非量子处理器设置字典的一个第一值集;并且基于该字典的该第一值集针对这些布尔权重的一个第一值集优化该目标函数。针对这些布尔权重的一个第一值集优化该目标函数可以包括将该目标函数映射到第一二次无约束二元优化(“QUBO”)问题并且使用量子处理器来至少近似地使该第一QUBO问题最小化,其中,使用该量子处理器来至少近似地使该第一QUBO问题最小化包括使用该量子处理器来执行绝热量子计算或量子退火中的至少一项。该方法可以进一步包括基于这些布尔权重的该第一值集针对该字典的第二值集优化该目标函数,其中,针对该字典的第二值集优化该目标函数包括使用该非量子处理器来更新该字典的这些值中的至少一些值。该方法可以进一步包括基于该字典的该第二值集针对这些布尔权重的第二值集优化该目标函数,其中,针对这些布尔权重的第二值集优化该目标函数包括将该目标函数映射到第二QUBO问题并且使用该量子处理器来至少近似地使该第二QUBO问题最小化。该方法可以进一步包括基于这些布尔权重的该第二值集针对该字典的第三值集优化该目标函数,其中,针对该字典的第三值集优化该目标函数包括使用该非量子处理器来更新该字典的这些值中的至少一些值。一种处理器可读存储介质可以被概述为包括多条处理器可执行指令,用于:在非量子处理器处接收具有多个图像数据元素的图像数据集;对具有多个图像数据元素的该图像数据集进行归一化以生成归一化的图像数据集;通过该非量子处理器基于该归一化的数据集将目标函数公式化,其中,该目标函数包括损耗项以使该数据集的第一表示与该数据集的第二表示之间的差异最小化,以及正则项以使该目标函数中的任何复杂性最小化;使用该非量子处理器将该目标函数中的第一权重集安排为多个变量;使用该非量子处理器针对该目标函数的字典设置第一值集,其中,该字典的该第一值集包括具有多个列的实值矩阵,每一列定义对应于在该量子处理器中的量子位的向量,其中,对应于在该量子处理器中的多个不连通的量子位的这些向量中的任何向量是彼此正交的;并且通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化。一种自动地对数据加标签的方法可以被概述为包括:接收在至少一个处理器可读存储介质中的无标签数据;通过至少一个处理器对所接收到的无标签数据使用稀疏编码来学习具有多个字典原子的字典;接收在该至少一个处理器可读存储介质中的多个带标签的数据元素,每个带标签的数据元素结合由至少一个对应的标签元素构成的至少一个对应的标签;对这些带标签的数据元素进行预处理以生成多个经预处理的带标签的数据元素;通过至少一个处理器使用该字典重构该经预处理的带标签的数据元素以生成多个经编码的带标签的数据元素;通过至少一个处理器使用这些经编码的带标签的数据元素执行监督学习过程以产生分类器或标签分配器中的至少一者;将所产生的至少一个分类器或标签分配器存储在该至少一个处理器可读存储介质中。这些带标签的数据元素可以包括多个带标签的图像数据元素,并且对这些带标签的数据元素进行预处理以生成经预处理的带标签的数据元素可以包括以下各项中的至少一项:对这些图像数据元素的对比度或亮度中的至少一者进行归一化;白化这些图像数据元素;对这些图像数据元素应用零相成分分析(ZCA)白化;或者降低这些图像数据元素的维数。通过至少一个处理器执行监督学习过程可以包括执行感知算法、k最近邻居(kNN)算法或者具有L1和L2损耗的线性支持向量机(SVM)算法中的至少一个算法。接收在该至少一个处理器可读存储介质中的多个带标签的数据元素可以包括接收多个带标签的图像数据元素,每个带标签的图像数据元素结合由至少一个对应的图像标签元素构成的至少一个对应的标签。接收在该至少一个处理器可读存储介质中的多个带标签的数据元素可以包括接收各自具有特定的数据类型或格式的多个带标签的数据元素,并且每个带标签的数据元素可以具有与所接收到的对应的标签元素相同的特定的数据类型或格式。一种通过层次化深度学习(HDL)来标识数据中的多个最大重复模式的系统可以被概述为包括:量子处理器;与该量子处理器通信地耦合的非量子处理器;以及包括多条处理器可执行指令的处理器可读存储介质,用于:在量子处理器处接收具有多个数据元素的数据集;通过该非量子处理器基于该数据集将目标函数公式化,其中,该目标函数包括损耗项以使该数据集的第一表示与该数据集的第二表示之间的差异最小化,并且包括正则项以使该目标函数中的任何复杂性最小化;使用该非量子处理器将该目标函数中的第一权重集安排为多个变量;使用该非量子处理器设置该目标函数的字典的一个第一值集;并且通过该非量子处理器与该量子处理器进行交互以使该目标函数最小化。该处理器可读存储介质包括多条处理器可执行指令,用于:当该正则项是由L0-范数形式支配时将该目标函数公式化。该处理器可读存储介质包括多条处理器可执行指令,用于:当该正则项是由L1-范数形式支配时将该目标函数公式化。该正则项可以包括正则化参数,并且该处理器可读存储介质可以包括多条处理器可执行指令,用于:为该正则化参数选择值以控制该目标函数的稀疏度。该处理器可读存储介质可以包括多条处理器可执行指令,用于:接收图像数据和音频数据。该处理器可读存储介质可以包括多条处理器可执行指令,用于:基于该字典的该第一值集针对在该目标函数中的这些权重的该第一值集优化该目标函数。该处理器可读存储介质可以包括多条处理器可执行指令,用于:将该目标函数映射到第一二次无约束二元优化(“QUBO”)问题并且使用该量子处理器来至少近似地使该第一QUBO问题最小化,并且使用该量子处理器执行绝热量子计算或量子退火中的至少一项。该处理器可读存储介质可以包括多条处理器可执行指令,用于:基于该字典的第二值集针对这些权重的第二值集优化该目标函数、将该目标函数映射到第二QUBO问题并且使用该量子处理器来至少近似地使该第二QUBO问题最小化。该处理器可读存储介质可以包括多条处理器可执行指令,用于:基于这些权重的该第一值集针对该字典的第二值集优化该目标函数,并且使用该非量子处理器来更新该字典的这些值中的至少一些值。该处理器可读存储介质可以包括多条处理器可执行指令,用于:基于这些权重的该第二值集针对该字典的第三值集优化该目标函数,并且使用该非量子处理器来更新该字典的这些值中的至少一些值。该处理器可读存储介质可以包括多条处理器可执行指令,用于:基于该字典的该第三值集针对这些权重的第t值集优化该目标函数,其中,t是大于2的整数,并且将该目标函数映射到第t个QUBO问题并且使用该量子处理器来至少近似地使该第t个QUBO问题最小化;并且基于这些权重的该第t值集针对该字典的第(t+1)值集优化该目标函数,并且使用该非量子处理器来更新该字典的这些值中的至少一些值。该处理器可读存储介质可以包括多条处理器可执行指令,用于:基于该字典的该第(t+1)值集针对这些权重的第(t+1)值集优化该目标函数,并且将该目标函数映射到第(t+1)个QUBO问题并且使用该量子处理器来至少近似地使该第(t+1)个QUBO问题最小化。该处理器可读存储介质可以包括多条处理器可执行指令,用于:针对t的增值,重复地基于这些权重的该第t值集针对该字典的第(t+1)值集优化该目标函数以及基于该字典的该第(t+1)值集针对这些权重的第(t+1)值集优化该目标函数,直到至少一个解标准被满足。该至少一个解标准可以包括或者收敛这些权重的该值集或者收敛该字典的该值集。该处理器可读存储介质可以包括多条处理器可执行指令,用于:在学习问题中生成多个特征。该处理器可读存储介质可以包括多条处理器可执行指令,用于:在以下问题的至少一个问题中生成多个特征:模式识别问题、训练人工神经网络问题以及软件验证与确认问题。该处理器可读存储介质可以包括多条处理器可执行指令,用于:在机器学习问题或应用人工智能中的至少一者中生成多个特征。该处理器可读存储介质可以包括多条处理器可执行指令,用于:求解稀疏最小二乘问题。该处理器可读存储介质可以包括多条处理器可执行指令,用于:生成实值矩阵,其中,该矩阵的每个条目是正一与负一之间的随机数;对该矩阵的每一列进行再归一化从而使得每一列的范数等于1;并且针对该矩阵的每一列,计算该列的零空间;并且用该列的该零空间基中的一列随机条目替换该列。该处理器可读存储介质可以包括多条处理器可执行指令,用于:使用该非量子处理器将第一权重集安排为多个布尔变量。该处理器可读存储介质可以包括多条处理器可执行指令,用于:将由至少一个标签元素构成的至少一个标签结合到该数据集中,其中,该至少一个标签表示标签信息,该标签信息至少在抽象级别或类别上逻辑地标识在该数据集中表示的主体,在该数据集中表示的该主体属于该抽象级别或类别。该处理器可读存储介质可以包括多条处理器可执行指令,用于:结合表示标签信息的至少一个标签,该标签信息将在该数据集中表示的该主体逻辑地标识为字母数字字符、限定的人类集的所有物、交通工具的制造商和/或型号、限定的对象集、限定的外来或可疑对象或者解剖特征类型中的至少一者。该处理器可读存储介质可以包括多条处理器可执行指令,用于:结合表示标签信息的至少一个标签,并且该标签信息是与相应的数据元素相同的类型。该处理器可读存储介质可以包括多条处理器可执行指令,用于:接收被表达为图像数据的数据集,并且该结合的至少一个标签元素包括图像数据。该处理器可读存储介质可以包括多条处理器可执行指令,用于:结合由至少一个标签元素构成的至少一个标签,该至少一个标签元素包括图像数据,并且该标签元素的空间位置至少部分地编码该标签信息。该处理器可读存储介质可以包括多条处理器可执行指令,用于:基于该数据集和该结合的至少一个标签两者将目标函数公式化。该处理器可读存储介质可以包括多条处理器可执行指令,用于:接收被表达为不同数据类型或格式的数据集。该目标函数可以是以下形式:该处理器可读存储介质可以包括多条处理器可执行指令,用于:在该非量子处理器处对具有多个数据元素的该数据集进行预处理以生成经预处理的数据集。具有多个数据元素的该数据集可以包括具有多个图像数据元素的图像数据集,并且该处理器可读存储介质可以包括多条处理器可执行指令,用于:对该图像数据集的这些图像数据元素的对比度或亮度中的至少一者进行归一化。该处理器可读存储介质可以包括多条处理器可执行指令,用于:白化该图像数据集的这些归一化的图像数据元素。该处理器可读存储介质可以包括多条处理器可执行指令,用于:对该图像数据集的这些归一化的数据元素应用零相成分分析(ZCA)白化。该处理器可读存储介质可以包括多条处理器可执行指令,用于:降低该图像数据集的这些归一化的图像数据元素的维数。该处理器可读存储介质可以包括多条处理器可执行指令,用于:对该图像数据集的这些归一化的数据元素应用主成分分析(PCA)。该处理器可读存储介质可以包括多条处理器可执行指令,用于:降低该图像数据集的这些归一化的图像数据元素的维数;并且白化该图像数据集的这些归一化的图像数据元素。该处理器可读存储介质可以包括多条处理器可执行指令,用于:使用该非量子处理器将这些图像数据元素中的每个图像数据元素分割成一个或多个不相交的区域。该处理器可读存储介质可以包括多条处理器可执行指令,用于:接收指示分割特性的分割参数,其中,该一个或多个不相交的区域至少部分地基于所接收到的分割参数。对附图的若干视图的简要描述在这些附图中,相同的参考号标识相似的元件或者动作。附图中元件的尺寸和相对位置不一定是按比例绘制的。例如,不同元件的形状以及角度不一定按比例绘制,并且这些元件中的一些被任意地放大和定位以提高附图的易读性。另外,所绘出的这些元件的特定形状并非旨在传递与这些特定元件的实际形状有关的任何信息,并且选取它们只是为了方便在图中识别。图1是根据至少一个实施例的被设计成用于绝热量子计算和/或量子退火的超导量子处理器的一部分的示意图。图2是根据至少一个实施例的示出了一种用于使目标最小化的方法的流程图。图3是根据至少一个实施例的示出了一种用于使目标最小化的方法的流程图。图4是根据至少一个实施例的包括可以用于执行数字处理任务的数字处理器的示例性数字计算系统的示意图。图5是根据至少一个实施例的示出了一种用于使用量子处理器来分析脑电图仪数据的方法的流程图。图6是根据至少一个实施例的一种系统的原理图。图7A是根据至少一个实施例的示出了包括真实的和相应的重构图像的第一图像集的屏幕截图,其中,该第一集是基于训练使用特征符号搜索(FSS)优化重构的。图7B是根据至少一个实施例的示出了包括真实的和相应的重构图像的第二图像集的屏幕截图,其中,该第二集是基于训练使用Tabu(二值的)优化重构的。图8是根据至少一个实施例的在其上执行半监督学习的图像。图9根据至少一个实施例示出了在重构过程中使用的原始的和重构的图像。图10根据至少一个实施例示出了控制或训练图像集。图11根据至少一个实施例示出了另一个控制或训练图像集。图12根据至少一个实施例示出了具有附加标签或机器可读符号的训练集示例。图13是根据至少一个实施例的示出了针对混合的国家标准和技术研究所(MNIST)图像的后子序列数据对象的模式数相对训练示例数的图形。图14根据至少一个实施例示出了字典文件。图15根据至少一个实施例示出了字典文件。图16是根据至少一个实施例的关于时间的目标函数值的图形。图17是根据至少一个实施例的按类别分类的W矩阵的图形。图18根据至少一个展示的实施例针对三张不同图像中的每张图像示出了原始图像、重构图像以及三个不同的原子,这些重构图像和原子各自包括附加的或绘制的标签,这些标签例如提供关于图像内容的在图像中按标签的相对空间位置编码的信息。图19是根据至少一个实施例的示出了重构误差相对两对对应的训练和测试运行所采用的平均原子数的图形。图20A是根据至少一个实施例的针对多种途径比较分类准确度与稀疏度正则化参数(lambda)的图形。图20B是根据至少一个实施例的比较平均原子数相对稀疏度正则化参数(lambda)的图形。图20C是根据至少一个实施例的示出分类准确度的图形。图20D是根据至少一个实施例的示出稀疏度正则化参数(lambda)的图形。图21根据至少一个实施例展示了HDL框架的相关联的用户界面的方面。图22根据至少一个实施例展示了HDL框架的相关联的用户界面的方面。图23根据至少一个实施例展示了HDL框架的相关联的用户界面的方面。图24根据至少一个实施例展示了HDL框架的相关联的用户界面的方面。图25根据至少一个实施例展示了HDL框架的相关联的用户界面的方面。图26根据至少一个实施例展示了HDL框架的相关联的用户界面的方面。图27根据至少一个实施例展示了HDL框架的相关联的用户界面的方面。图28根据至少一个实施例展示了HDL框架的相关联的用户界面的方面。图29根据至少一个实施例展示了HDL框架的相关联的用户界面的方面。图30根据至少一个实施例展示了HDL框架的相关联的用户界面的方面。图31根据至少一个实施例展示了HDL框架的相关联的用户界面的方面。图32根据至少一个实施例展示了HDL框架的相关联的用户界面的方面。图33根据至少一个实施例展示了HDL框架的相关联的用户界面的方面。图34根据至少一个实施例示出了描绘嵌入到用于求解计算拉姆齐数的问题的量子处理器中的处理器图形。详细说明在以下说明中,包括了一些特定的细节来提供对不同的披露实施例的全面理解。然而,相关领域的技术人员将认识到,可以在不具备这些特定细节的一项或多项的情况下,或者通过其他方法、组件、材料等实践实施例。在其他情形中,与量子处理器相关联的众所周知的结构(如量子器件、耦合器件以及包括微处理器的控制系统)和驱动电路未被详细地示出或描述以避免不必要地模糊对本方法的这些实施例的描述。贯穿本说明书及所附权利要求书,术语“元件”和“多个元件”是用于包含但不限于与量子处理器相关联的所有此类结构、系统和器件,以及它们相关的可编程参数。除非上下文要求,否则贯穿本说明书和所附权利要求书,单词“包括(comprise)”及其变体如“包括(comprises)”和“包括(comprising)”是在开放的、包含的意义上进行解释的,即“包括,但不限于(including,butnotlimitedto)”。贯穿本说明书提及的“一个实施例”、或“一种实施例”或“另一个实施例”是指联系该实施例所说明的一个具体的指示特性、结构或特征包括在至少一个实施例中。由此,贯穿本说明书在不同的地方出现的短语“在一个实施例中”、或“在一种实施例中”或“另一个实施例”并不必全部是指同一个实施例。此外,这些具体的特征、结构、或特性能够以任何适当的方式结合在一个或者多个实施例中。应注意,如在本说明书和所附的权利要求书中所使用的,单数形式的“一个”、“一种”和“该”包括复数对象,除非文中另外明确指明。因此,例如,提及一个包括“一个量子处理器”的求解问题的系统包括一个单个的量子处理器或者两个或更多个量子处理器。还应注意,术语“或者”总体上所使用的意义包括“和/或”,除非内容另外明确指明。在此给予的小标题仅为了方便起见,而并非解释这些实施例的范围或意义。在此描述的各个实施例提供了通过采用压缩传感或处理技术使用量子处理器来求解计算问题的多种方法。这可以有利地例如在半监督特征学习过程中被采用,其允许基于处理器的装置来自动地识别图像中的由图像数据表示的各个对象,例如,字符或数字、人、解剖结构、交通工具、外来或可疑对象等。例如,通常在压缩传感技术中最小化的目标被重新安排为二次无约束二元优化(“QUBO”)问题,该问题很好地适于使用量子处理器(如绝热量子处理器和/或被设计成用于实现量子退火的处理器)来求解。典型地在压缩传感技术中最小化的目标被称为“稀疏最小二乘问题”:该稀疏最小二乘问题寻找N维实值信号集合{yi|1≤i≤S}的基,其中,任何给定的yi可表达为几个基向量的线性组合。此问题发现在例如数据压缩、机器学习中的特征提取、针对可视化的降维、针对快速信息检索的语义哈希以及许多其他领域中的应用。矩阵D具有N×K维,其中,每一列表示一个基向量。K个基元素有时被称作“原子”并且可能是过完备的。每个权重wi为K×1。矩阵D被称为“字典”并且该稀疏最小二乘问题的目标是使关于字典D的wi和这些基向量两者的方程式1的目标最小化。因为目标在w和D中单独地而非共同地为凸,所以该最小化通常在多个步骤中使用块坐标下降完成。根据本方法,该最小化的至少一部分可以通过例如将权重wi限制为0或1的布尔值而被映射到QUBO问题。该目标的示例然后变为:方程式2的目标有待关于每个布尔值向量wi和存储在D中的这些实值基元素被最小化。在一些情形中,将这些权重wi安排为布尔值实现了一种0-范数稀疏度罚分。针对许多问题,期望该问题的0-范数版本比1-范数变体更稀疏。历史上,较少地研究该0-范数变化,因为其会是更难以求解的。如之前所描述的,QUBO问题可以典型地写成以下形式:其中,该目标将例如使E最小化。根据本方法,在方程式2中给出的稀疏最小二乘问题的布尔版本可以被映射到在方程式3中给出的QUBO问题中,从而使得该QUBO问题的Q项由DTD给出。更具体而言,方程式3的Qij元素(其中,i≠j)可以由(DTD)ij=diTdj给出。由方程式2给出的布尔目标可以通过例如以下各项而被优化:猜测字典D的基元素的初始值、优化对应于D的初始猜测元素的布尔权重wi的值、然后优化对应于wi的第一优化值的D的元素、然后再次优化对应于第一优化字典D的布尔权重wi的值、并且继续此来回优化程序直到一些解标准被满足或者直到该优化收敛。该优化程序可以例如通过使用布尔权重wi的猜测值并首先优化字典D而不是首先猜测D的元素的值并优化布尔权重wi而开始。在一些情形中,字典D可以是连续的。在这类情形中,使用量子处理器来优化D可能是不切实际的。相反地,布尔权重wi可以是离散的并很好地适于使用量子处理器而被优化。因此,根据本方法,可以使用量子处理器和非量子处理器(例如,数字处理器或经典模拟处理器)两者来执行上述来回优化程序,其中,该量子处理器用于优化(即,最小化)对应于任何给定字典D的布尔权重wi的方程式2,而该非量子处理器用于优化(即,最小化)对应于布尔权重wi的任何给定分配的字典D的方程式2。例如,针对给定的D,每个wi(1≤i≤S)可以被单独地优化为QUBO:其中,对于所有成分α,wi(α)∈{0,1}。并且根据本方法,可以使用量子处理器(如绝热量子处理器或被设计成用于实现量子退火的处理器)来执行此优化。可以如下使用例如非量子处理器针对给定wi设置完成对D的优化:写d=D(:)(即,将D的这些列堆在一个向量中)从而使得对任何K×1向量w,确定d的优化目标是:其具有最小值:如果存在比K个训练示例更少的训练示例,那么可能不具有满秩。在此情况下,可以使用的奇异值分解以寻找具有最小范数||d||2的解。对布尔值权重wi的限制可以例如排除字典原子的负贡献的可能性。然而,可以不需要明确地允许这些权重为负,因为这可以在字典学习过程中被解释。例如,将w变量的数量加倍并且写成yi=D(wi+-wi-)(其中,wi+和wi-两者是布尔值)简单地加倍了字典的大小,从而使得其中并且例如,可以通过将训练数据划分成训练组D训练和测试组D测试而设置稀疏度罚分λ。在训练组D训练上,可以在给定的λ值处学习字典D(λ)。在测试组D测试上,可以测量重构误差:因此,选择使误差(λ)最小化的λ会是有利的。实际上,可以用多于此单倍数来估计误差(λ)。由方程式4限定的QUBO的连通性可以由DTD确定并且通常可以是完全连通的。然而,强加附加结构可以简化该QUBO优化。本方法描述了如何关于这些附加限制来学习字典,从而使得例如所生成的QUBO可以在具有由邻接矩阵A指定的量子位连通性Cn的量子处理器硬件上被优化,其中,Cn可能不是完全连通的。如之前所描述的,典型QUBO公式化(即,方程式3)的Qij元素可以由(DTD)ij=diTdj给出。在映射(例如,方程式4)到具有完全连通性Cn的量子处理器的过程中,一对解耦合的量子位i和j要求diTdj=0或者要求di和dj是正交的。根据输入信号N的维数和字典元素K的数量,可能不存在一种方式来限定D从而使得DTD具有Cn连通性。在这种情况下,压缩机制可以被修改。然而,假设N>>K并且有可能针对任何连通性Cn构造字典D,DTD的(α,α’)元素(其确定布尔变量wi(α)与wi(α’)之间的连通性)是<d(α),d(α’)>,其中,D=[d(1)…d(K)]并且d(α)和d(α’)为D的列。因此,指定K×K矩阵DTD的连通性Cn等效于将多个向量与具有K个顶点的图形相关联,从而使得具有未连通的顶点的这些向量正交。这是否可以针对给定的图形结构G=(V,E)而被完成取决于连通性E和原子d(α)的维数两者。通常,如果这些向量的维数等于K=|V|,则可以完成将多个向量与具有K个顶点的图形相关联从而使得具有未连通的顶点的这些向量正交。然而,根据本披露,这可以通过在d≥1维中寻找表示而被改进,其中,最小度节点具有至少|V|-d个邻居。例如,具有5个最小度的连通性的量子处理器架构可能需要至少K-5维。如之前所描述的,针对给定的字典D,在方程式2和/或4中的权重可以使用量子处理器(例如,实现绝热量子计算和/或量子退火的量子处理器)而被优化。另一方面,针对给定的布尔变量wi的分配,字典D可以使用例如如经典数字处理器或经典模拟处理器的非量子处理器而被优化。假设N足够大,字典可以在遵守DTD的连通性约束时被适配。可以从满足所要求的正交性约束的某个初始字典D(0)开始应用块坐标下降。例如,使用罗瓦茨(Lovasz)正交构造(L.罗瓦茨(L.Lovasz)、M.赛克斯(M.Saks)和A.斯赫雷弗(A.Schrijver),修订:图形的正交表示与连通性,《线性代数及应用》,第101-105页(也参见第439至454页)2000),当N≥K时初始字典可以被找到。从该开始字典D(0)起,处理器可以用于更新权重:w(1)←w(D(0))(例如,使用方程式4)。例如,量子处理器可以用于更新初始权重w(1)。一旦针对起始字典D(0)更新了这些权重,处理器可以用于更新字典:D(1)←D(w(1)),其中,D=[d(1)…d(K)],并且:服从原则上,本方法可以调节任何邻接矩阵Aα,α’。可以定制字典交互以适合问题或者用于求解问题的处理器的任何方面。因此,在一些应用中,刻意地制作邻接矩阵Aα,α’可能是有利的,使得所产生的QUBO问题具有与量子处理器的连通性相匹配的连通性或者至少具有能够经受检验被映射到量子处理器的连通性。根据本方法,可以通过限制字典匹配量子处理器的连通性使得源自字典交互的QUBO问题特别好地适于由量子处理器来求解。非量子处理器(如数字处理器或经典模拟处理器)可以用于例如将字典更新为D(1)。跟随此程序,可以对这些更新方程式w(t+1)←w(D(t))和D(t+1)←D(w(t+1))进行迭代以收敛于方程式2的最小值,如全局最小值或局部最小值。如之前所描述的,可以使用实现例如绝热量子计算或量子退火的量子处理器来针对w(D)执行QUBO最小化。然而,因为例如D可以是连续的,所以可以使用非量子处理器解决字典优化问题。例如,可以实现多种局部搜索途径,其中,字典的较小子集被改进。如果localModification(D)产生局部改进的字典,那么在算法1中给出该优化的整体结构:在w个更新之间使用的局部修改的数量是该算法的参数。因此,这类局部搜索途径可以被分解为各种localModification(D)修改,包括单列修改、双列修改以及多于两列的修改。现在描述针对单列修改的示例性程序。考虑更新单列(假定列1)并写成d(1)可能在于作为节点1的非邻居的那些列的正交补并且D的零空间可能指D的必须是正交的多个不相邻列。于是,d(1)=N(1)t(1),其中,N(1)的这些列限定了的零空间的基。因此,最普遍地,为了优化所有参数,可以应用块坐标下降。可以使用如之前的方程式4的QUBO最小化执行{wi}块坐标最小化。为了针对给定的{wi}确定d(1),使重构误差最小化其中并且在t之上的最小化产生使得当列1从未被使用时(即,),此更新规则可能不适用。在这种情况下,尝试设置d(1)可能是有利的从而使得列1更有可能在随后的迭代中被使用。注意在处的重构误差,使得如果在一个训练示例上反转单个位(即,使得),那么最有可能利用该新列的训练示例为通过此选择,现在描述针对双列修改的示例性程序。例如,可以同时优化D的两列d(1)和d(2)。该优化途径可以根据这些列是否在A中是邻居还是非邻居而产生分支。在列d(1)和d(2)对应于相邻节点的情形中,使得在d(1)和d(2)之间不存在附加的正交性约束,最优线性组合可以被获得为:其中v(1)=(N(1))Tr(1)其中,v(2)=(N(2))Tr(2)其中,其中,r(1)和r(2)是加权的误差残余。矩阵耦合t(1)和t(2)然后可以被求逆为:其中使得在的情况下,矩阵是奇异的并且可以使用其伪逆。如果或者或者为零,那么可以应用相同的反事实论证来设置列以使具有最大误差的示例的重构误差最小化。在两个列d(1)和d(2)对应于非邻居的情形中,可能要求:其中:[<d(1),d(2)>=0]∧[d(1)∈span(N(1))]∧[d(2)∈span(N(2))]。可行集的二次正交性约束和非凸性质可以使此问题变难。为了寻找局部最小值,可以针对正交性约束求解KKT方程式。拉格朗日方程为:其中,μ是针对正交性约束的拉格朗日乘子。这些KKT条件为其中μ是针对正交性约束的拉格朗日乘子。这些KKT条件为(t(1))T(N(1))TN(2)t(2)=0定义这些KKT方程式可以被写成M(μ)t=v以及tTAt=0其中,M(μ)t=I+μA。这些方程式的解可以如下被找到。如果M(μ)不是奇异的,那么不可能使得t=M-1(μ)v满足正交性约束<M-1(μ)v,AM-1(μ)v>=0。因此,为了求解KKT方程式,可能有必要设置μ以使M(μ)为奇异的,从而使得t=M(μ)+v+Vτ,其中,M+是M的广义逆而V是M(μ)的零空间基。这样,有可能存在足够的自由度来设置τ以维持正交性。注意到,使M(μ)奇异为:其中,在一些情形中,t=vμ*+Vτ,其中,vμ*=M+(μ*)v,其中,V是零空间的基。可以通过要求求解最后的正交性方程式而设置系数τ:但是AV=(M(μ*)V-ΙV)/μ*=-ΙV/μ*,使得可以通过寻找椭圆体上的向量r并且设置来求解此最后的方程式。代入t,遵循现在描述针对多于两列更新的示例性程序。这可以通过例如基于这些KKT条件延伸该两列以优化更大数量的列而实现。作为示例,考虑3个列(变量)的KKT方程式,其中两列邻接中心变量。如果该中心变量的这两个邻居彼此不相邻,那么可能需要引入单个乘子。在这种情况下,KKT方程式为:(t(1))T(N(1))TN(3)t(3)=0其中,(2)指示中心自旋而(1)和(3)是(2)的彼此不相邻的邻居。在这种情况下,使得M(μ)t=v以及tTAt=0,其中,在这种情况下,确定μ使得M(μ)为奇异的可能较不直接。然而,通过定义:其遵循:类似地,定义:导致条件是:因此,可以通过例如设置μ来求解以上方程式使得M(μ)为奇异的,这可以通过以下选择而完成:其中并且给出的任意选择,满足以上两个方程式,可以通过设置使M(μ*)为奇异的。已知μ*,该奇异值分解:(从中,M(μ*)=VSTSVT)(从其M(μ*)=VSTSVT)(从其M(μ*)=VSTSVT)可以用于确定零空间并且t=vμ*+Vτ,其中,vμ*=M+(μ*)v.τ然后可以在它处于2列非邻居的情况下被确定。可以使用牛顿方法。使ν(μ)为给出最接近于0的M(μ)的特征值的函数(这可以通过迭代兰索斯(Lanczos)方法而获得,其可以在给定的良好起始点的情况下快速地收敛。例如,使用在最后的牛顿步骤处获得的μ附近处的特征向量可获得良好的起始点。可以通过例如将导数δλν(μ)提供作为<a,Aa>来加快使用牛顿方法求解ν(μ)=0,其中,a是对应于最接近于0的特征值的特征向量。已知μ*满足ν(μ*)=0,VSVT=M(μ*)的奇异值分解可以被执行以提供t=vμ*+Vτ,其中,vμ*=M+(μ*)v.τ可以然后当其处于上述双列更新非邻居情况时被精确地确定。可以获得具有更大数量的字典原子(即,更大的K)的改进的重构。为了在学习具有N<K的受约束的字典时满足正交性约束,输入信号可以被映射到具有至少K维的空间。此映射可以是线性的并且被给出。该字典然后可以被学习从而通过将下式最小化而稀疏地表示该映射的yi:服从||B||F=1其中,可以固定B的弗罗贝尼乌斯范数以避免解为B=0,D=0,和{wi}=0。可以使用块坐标下降以关于B、D和{wi}使目标最小化。因为目标是二次的并且约束较简单,所以B最小化可以是相对直接的。学习完所有参数,来自已知w的重构可以被实现为根据本方法,求解QUBO问题可以包括实现量子退火或绝热量子计算。如之前所讨论的,典型的绝热演算可以表示为方程式5:He=(1-s)HIn+sHf(5)其中,HIn是初始哈密尔顿算子,Hf是最终或“问题”哈密尔顿算子,He是演算或瞬态哈密尔顿算子,并且s是控制演算速率的演算系数。通常,s可以根据时间t从0到1变化,作为s(t)。一种例如在Amin,M.H.S.,“量子绝热优化上的局部最小值的效果(Effectoflocalminimaonquantumadiabaticoptimization)”,PRL100,130503(2008)中所描述的用于绝热量子计算(“AQC”)的普通方法将以在方程式6中示出的形式的初始哈密顿算子开始:其中,n表示量子位数量,是第i个量子位的泡利x-矩阵,并且Δi是在第i个量子位中诱导出的单一量子位隧道分裂。在此,项是“非对角”项的示例。例如,这种形式的初始哈密顿算子可以演算成以下形式的最终哈密顿算子:其中,n表示量子位数量,是第i个量子位的泡利z-矩阵,并且hi和Ji,j是耦合到每个量子位中的无量纲的局部场,并且ε是Hf的某个特性能量规模。在此,和项是“对角”项的示例。贯穿本说明书和所附权利要求书,可互换地使用术语“最终哈密顿算子”和“问题哈密顿算子”。在本方法的各个实施例中,最小化问题被转换成QUBO,并且该QUBO被直接映射到处理器硬件中的问题哈密顿算子。可以用各种不同的方式在物理上实现哈密顿算子(如分别在方程式6和7中的HIn和Hf)。通过实现超导量子位而实现具体的示例。图1是设计为用于AQC(和/或量子退火)的一种超导量子处理器100的一部分的示意图。在图1中所示的超导量子处理器100的一部分包括两个超导量子位101、102以及在其间对信息进行耦合的一个可调谐的ZZ-耦合器111。虽然图1中所示的量子处理器100的一部分仅包括两个量子位101、102以及一个耦合器111,但本领域中的技术人员应理解量子处理器100可包括任何数量的量子位以及在其间对信息进行耦合的任何数量的耦合器件。在图1中所示的量子处理器100的一部分可以被实现以通过用方程式6所描述的哈密顿算子对系统进行初始化并且根据方程式5所描述的演算将系统演算为方程式7所描述的哈密顿算子来在物理上实现AQC。在本方法的各个实施例中,确定如方程式7所描述的哈密顿算子的基态的低能态可以直接映射到QUBO问题,其中,QUBO问题对如稀疏最小二乘问题的最小化问题进行编码。通过对在方程式7所描述的哈密顿算子中的参数进行由可编程分配至少部分地实现QUBO与问题哈密顿算子之间的此映射。演算量子处理器100以确定方程式7所描述的哈密顿算子的基态因此求解了QUBO问题,这有效地求解了该最小化问题。量子处理器100包括多个编程接口121-125,这些编程接口用于配置并控制量子处理器100的状态。编程接口121-125中的每一个可通过与一个编程系统(未示出)通信的对应电感性耦合结构(如图所示)来实现。这样一个编程系统可以与量子处理器100分离开,或者它可以被本地地包括在其中(即,与量子处理器100在片上),如美国专利7,876,248(对应于公开2008-0215850)和美国专利8,035,540中所说明的。在量子处理器100的操作中,编程接口121和124可各自用于将一个通量信号分别地耦合到量子位101和102的对应的复合约瑟夫逊结131、132上,由此实现在系统哈密尔顿算子中的Δi项。此耦合提供了方程式6所描述的哈密顿算子的非对角σx项并且这些通量信号是“无序化信号”的示例。类似地,编程接口122和123可各自用于将一个通量信号耦合到量子位101和102的一个对应的量子位环路上,由此实现在系统哈密尔顿算子中的hi项。此耦合提供了方程式7的对角σz项。此外,编程接口125可以用于将通量信号耦合到耦合器111中,由此实现系统哈密尔顿算子中的这些Jij项。此耦合提供了方程式7的对角项。在图1中,每个编程接口121-125对系统哈密尔顿算子的贡献分别显示在框121a-125a中。贯穿本说明书和所附权利要求书,术语“量子处理器”用于总体地描述量子位集合(例如,量子位101和102)以及耦合器(例如,耦合器111)。量子位101和102以及耦合器111被称为量子处理器100的“计算元件”。在量子处理器的背景下,术语“编程子系统”用于总体地描述包括在量子处理器(例如,处理器100)中的编程元件(例如,编程接口122、123和125)以及其他相关联的控制电路或指令。如之前所描述的,操作子系统的编程元件可以与编程系统进行通信,该编程系统可以与量子处理器分离或者本地地包括在该处理器上。类似地,在量子处理器的背景下,术语“演算子系统”用于总体地描述演算元件121、124,这些演算元件用于演算量子处理器100的计算元件。例如,演算子系统可以包括退火信号线以及它们到量子位(101、102)的相应接口(121、124)。在图1中所描述的示例性量子处理器可以用于使方程式4的QUBO问题最小化以针对给定的字典D0确定布尔权重w1的值。使用所确定的布尔权重w1的值,非量子处理器然后可以用于针对字典D优化方程式2以产生新的字典D1。在图1中所描述的示例性量子处理器然后可以用于使方程式4的QUBO问题最小化以针对该新字典D1确定布尔权重w2的值,并且非量子处理器然后可以使用该新布尔权重w2来优化方程式2以产生新的字典D2。可以继续此过程直到某个解标准被满足,如权重wi和/或字典D收敛。在此描述的各个实施例提供了用于通过采用压缩传感技术使用量子处理器来求解计算问题的多种方法。通常,这些方法涉及相继地优化目标(例如,方程式2),其中,每次相继的优化在优化第一参数(例如,字典D)与第二参数(例如,布尔权重wi)之间交替。图2是示出了一种用于使在方程式1中给出的目标最小化的方法200的流程图。方法200包括七个动作201-207,尽管本领域技术人员将认识到在替代性实施例中可以省略某些动作和/或可以添加附加的动作。本领域技术人员将认识到所示出的动作的所展示的顺序仅出于示例性目的并且可以在替代性实施例中改变。在201处,方程式1的稀疏最小二乘问题中的权重wi被重新安排为布尔变量从而使得方程式1被映射到方程式2。将权重wi重新安排为布尔变量使得方程式1能够被映射到QUBO问题,该QUBO问题非常适于使用量子处理器来被优化。可以使用例如非量子处理器(如数字处理器)来执行此映射。在202处,设置在方程式2中的字典D的初始值。字典D的初始值对应于D0。可以例如随机地设置或者通过基于某些知识或标准猜测字典的初始值D0。在203处,针对对应于字典的初始值D0的布尔权重wi的值优化方程式2。此优化产生由w1给出的对应于过程w1←w(D0)的布尔权重的初始值并且可以例如通过使用量子处理器来使方程4给出的QUBO问题最小化而实现。在204处,针对对应于布尔权重w1的初始值的字典D优化方程式2。此优化产生由D1给出的对应于过程D1←D(w1)的字典的第二值集并且可以例如通过使用非量子处理器根据之前所描述的单列更新、双列更新和/或多于两列的更新的程序来更新字典的列而实现。在205处,针对对应于字典D1的第二值集的布尔权重wi的值优化方程式2。此优化产生由w2给出的对应于过程w2←w(D1)的布尔权重的第二值集并且可以例如通过使用量子处理器来使方程4给出的QUBO问题最小化而实现。在206处,针对对应于布尔权重w2的第二值集的字典D优化方程式2。此优化产生由D2给出的对应于过程D2←D(w2)的字典的第三值集并且可以例如通过使用非量子处理器根据之前所描述的单列更新、双列更新和/或多于两列的更新的程序来更新字典的列而实现。在207处,重复在动作203-206中所描述的来回优化直到某个解标准被满足。即,在给定对应于过程wt+1←w(Dt)的字典Dt的情况下使用例如量子处理器来使方程式4最小化而针对布尔权重wt+1的值优化方程式2;并且在给定对应于过程Dt+1←D(wt+1)的布尔权重wt+1的每个集的情况下使用例如非量子处理器来针对字典Dt+1相继地优化方程式2以便更新字典Dt+1的列。可以继续此过程直到某个解标准被满足,例如,直到字典D或者布尔权重wi的值集中的至少一者收敛。在202处,在方法200中,通过设置字典的初始值D0并且在203处使用这些值来优化布尔权重w1的值而有效地开始该优化程序。然而,也可以通过设置布尔权重w1的初始值并且使用这些值来优化字典D1而开始该优化程序。图3是一种用于使在方程式1中给出的目标最小化的方法300的流程图。方法300包括七个动作301-307,尽管本领域技术人员将认识到在替代性实施例中可以省略某些动作和/或可以添加附加的动作。本领域技术人员将认识到所示出的动作的所展示的顺序仅出于示例性目的并且可以在替代性实施例中改变。方法300基本上类似于图2中的方法200,除了在方法300的302处设置布尔权重w1的初始值,而在方法200的202处设置字典的初始值D0。在302处,可以随机地设置或者通过基于某些知识或标准猜测布尔权重w1的初始值。方法300然后通过动作303-307继续以根据过程Dt←D(wt)基于布尔权重wt针对字典Dt(使用例如非量子处理器来更新字典的列)并且根据过程wt+1←w(Dt)基于字典Dt针对布尔权重wt+1(使用例如量子处理器来使方程式4的QUBO最小化)而相继地优化方程式2,直到某个解标准被满足。示例性解标准为字典D和布尔权重wi中的至少一者收敛。贯穿本说明书,描述了本方法的各个实施例,其中,非量子处理器用于更新目标中(例如,稀疏最小二乘问题中)的字典的值中的至少一些值。然而,根据本方法,可以采用量子处理器来更新目标中(例如,稀疏最小二乘问题中)的字典的值中的至少一些值。例如,本方法可以包括采用量子处理器来通过应用在2011年6月6号提交的并且题为“硬件玻尔兹曼拟合的应用”(“ApplicationsofHardwareBoltzmannFits”)的美国临时专利申请序列号61/505,044、2011年8月5号提交的并且题为“硬件玻尔兹曼拟合的应用”的美国临时专利申请序列号61/515,742、2011年9月28号提交的并且题为“硬件玻尔兹曼拟合的应用”的美国临时专利申请序列号61/540,208、2011年10月21号提交的并且题为“用于使目标函数最小化的系统和方法”(“SystemsandMethodsforMinimizinganObjectiveFunction”)的美国临时专利申请序列号61/550,275以及2011年11月9号提交的并且题为“用于使目标函数最小化的系统和方法”的美国临时专利申请序列号61/557,783中所描述的系统和方法来基于布尔权重的第(n-1)值集针对字典的第n值集优化目标(即,动作204、206、207、303、305和307可以采用量子处理器来针对字典进行优化)。根据本方法,还可以采用量子处理器来通过应用在2011年6月6号提交的并且题为“硬件玻尔兹曼拟合的应用”的美国临时专利申请序列号61/505,044、2011年8月5号提交的并且题为“硬件玻尔兹曼拟合的应用”的美国临时专利申请序列号61/515,742、2011年9月28号提交的并且题为“硬件玻尔兹曼拟合的应用”的美国临时专利申请序列号61/540,208、2011年10月21号提交的并且题为“用于使目标函数最小化的系统和方法”的美国临时专利申请序列号61/550,275以及2011年11月9号提交的并且题为“用于使目标函数最小化的系统和方法”的美国临时专利申请序列号61/557,783中所教导的系统和方法来基于字典的第(n-1)值集针对布尔权重的第n值集优化目标(例如,目标的非QUBO公式化)(即,动作203、205、207、304、306和307可以采用量子处理器来针对字典进行优化)。贯穿本说明书和所附权利要求书,术语“非量子处理器”用于指示任何形式的处理器或处理系统,该处理器或处理系统直接利用计算过程中的量子现象(如叠加和/或纠缠)。非量子处理器的示例包括经典的数字微处理器(例如,英特尔奔腾处理器(如,英特尔i7四核处理器、英特尔凌动处理器、ARMCortexCPU))、现场可编程序门阵列(FPGA)、专用集成电路(ASIC)或图形处理单元(GPU,例如,恩威迪亚GPU)以及经典的模拟处理器。图4展示了包括数字处理器406的示例性数字计算系统400,该数字处理器可以用于执行在本方法中所描述的数字处理任务。相关领域的技术人员将认识到可以用其他数字处理系统配置实践本方法,包括手持装置、多处理器系统、基于微处理器的或者可编程消费者电子产品、个人计算机(“PC”)、网络PC、迷你计算机、大型计算机等。本方法还可以在分布式计算环境中实践,其中,多个任务或者模块是由远程处理装置来执行的,这些远程处理装置通过通信网络来联结。在分布式计算环境中,程序模块可以是位于本地的以及远程的记忆储存装置两者中。数字计算系统400可以包括至少一个处理单元406(即,数字处理器)、至少一个系统存储器408以及至少一个系统总线410,该系统总线将各个系统部件(包括系统存储器408)耦合至数字处理器406。数字计算系统400在此将有时被认为是单数个的,但这不旨在限制应用单个数字计算系统400。例如,可以存在多于一个的数字计算系统400或者贯穿本方法所涉及的其他经典计算装置。数字处理器406可以是任何逻辑处理单元,如一个或多个中央处理单元(“CPU”)、数字信号处理器(“DSP”)、专用集成电路(“ASIC”)等。除非另外说明,图4中所示的各个块的构造和操作具有常规的设计。因此,在此不需要对这些块进一步地详细描述,因为它们将被相关领域的技术人员所理解。系统总线410可以采用任何已知的总线结构或架构,包括具有存储器控制器的存储器总线、外围总线和局部总线。系统存储器408可以包括只读存储器(“ROM”)和随机存取存储器(“RAM”)。可以形成ROM的一部分的基本输入/输出系统(“BIOS”)412包含基本例程,该基本例程如在启动过程中帮助在数字计算系统400内的元件之间传输信息。数字计算机系统400还可以包括非易失性存储器414。非易失性存储器414可以采取各种形式,包括:用于向硬盘进行读取并写入的硬盘驱动器、用于向可移除光盘进行读取并写入的光盘驱动器和/或用于向磁盘进行读取并写入的磁盘驱动器。光盘可以是CD-ROM或DVD,而磁盘可以是磁软盘或软磁盘。非20易失性存储器414可以通过系统总线410与数字处理器406进行通信并且可以包括耦合于非易失性存储器414与系统总线410之间的适当的接口或控制器416。非易失性存储器414可以充当数字计算系统400的计算机可读指令、数据结构、程序模块和其他数据的长期存储器。尽管数字计算系统400已经被描述为采用硬盘、光盘和/或磁盘,相关领域的技术人员将认识到可以采用其他类型的非易失性计算机可读介质,如磁盒、闪存卡、伯努利盒式磁带、RAM、ROM、智能卡等。各个程序模块、应用程序和/或数据可以被存储在系统存储器408中。例如,系统存储器408可以存储操作系统418、终端用户应用接口420、服务器应用422、至少一个解算机模块424以及翻译器模块428。此外,系统存储器408可以存储至少一个量子处理器接口模块432。以下详细讨论了这些模块的操作和功能。系统存储器408还可以包括一个或多个联网应用434,例如,用于准许数字计算系统400通过互联网、企业内部网或其他网络与源以及与在服务器计算机上执行的其他服务器应用交换数据的Web服务器应用和/或Web客户端或浏览器应用。在所描绘的实施例中的联网应用434可以是基于标记语言的,如超文本标记语言(“HTML”)、可扩展超文本标记语言(“XHTML”)、可扩展标记语言(“XML”)或者无线标记语言(“WML”),并且可以通过使用添加至文档的数据的以表示文档结构的语法界定的字符的标记语言进行操作。许多的Web服务器应用和Web客户端或浏览器应用是可商购的,如可从摩斯拉和微软获得的那些应用。尽管在图4中被示出为存储在系统存储器408中,操作系统418和各个应用/模块420、422、424、428、432、434以及其他数据还可以被存储在非易失性存储器414中。数字计算系统400可以使用与至少一个客户端计算系统436以及至少一个数据库系统479的逻辑连接在联网环境中进行操作。可以使用任何数字通信方式形成这些逻辑连接,例如,通过网络438,如局域网(“LAN”)或包括例如互联网的广域网(“WAN”)。该联网环境可以包括有线的或无线的企业级计算机网络、内联网、外联网和/或互联网。其他实施例可以包括其他类型的通信网络,如电信网络、蜂窝网络、寻呼网和其他移动网络。通过逻辑连接发送或接收的信息可以或者可以不被加密。当在LAN联网环境中使用时,数字计算系统400可以通过适配器或网卡(“NIC”)440被连接到LAN(通信地联结到系统总线410)。当在WAN联网环境中使用时,数字计算系统400可以包括接口和调制解调器(未示出)或者如NIC440的装置,用于在WAN之上建立通信。可以附加地或替代地采用未联网的通信。在已联网的环境中,程序模块、应用程序、数据或其多个部分可以被存储在数字计算系统400的外部。相关领域的技术人员将认识到,在图4中示出的逻辑连接仅是建立计算机之间的通信的一些示例,并且还可以使用其他的连接。尽管数字计算系统400可能一般是自动地进行操作,也可以提供终端用户应用接口420使得操作员可以通过不同的用户接口448(包括如监视器442的输出装置以及如键盘444和定点装置(例如,鼠标446)的输入装置)与数字计算系统400进行交互。监视器442可以通过如视频适配器(未示出)的视频接口耦合到系统总线410。数字计算系统400还可以包括其他输出装置,如扬声器、打印机等。也可以使用其他输入装置,包括麦克风、操纵杆、扫描器等。这些输入装置可以通过耦合到系统总线410的串行端口接口、并行端口、游戏端口、无线接口、通用串行总线(“USB”)接口或者通过其他接口而耦合到数字处理器406。NIC440可以包括用于与量子位(例如,图1中的量子位101和102)进行接口连接并且将装置(例如,图1中的耦合器111)耦合到量子处理器(例如,量子处理器100)中的适当的硬件和/或软件。在其他实施例中,可以使用不同的硬件来促进数字计算系统400与量子处理器之间的通信。数字计算系统400的量子处理器接口模块432可以包括运行时间指令,用于使用量子处理器(例如,量子处理器100)协调对计算上复杂的问题的求解。例如,量子处理器接口模块432可以导致量子处理器开始求解QUBO问题,该QUBO问题表示或等效于服务器应用422所接收的稀疏最小二乘问题的一部分。例如,这可以包括分别针对耦合器(例如,111)和量子位(例如,101、102)设置初始耦合值和局部偏置值。客户端计算系统436可以包括通信地耦合至数字计算系统400的各种计算装置中的任何计算装置,并且可以包括被配置成用于恰当地将问题格式化并直接地或间接地将问题发送至服务器应用422的客户端程序490。一旦数字计算系统400已经确定了解,服务器应用422可以被配置成用于将指示此解的信息发送回至客户端程序490。贯穿本说明书,术语“连通性”用于描述物理上可获得的(例如,无论可用或不可用)最大数量的可能通信耦合路径以在不使用介入量子位的情况下在量子处理器中的单独的量子位之间通信地耦合。例如,在没有任何介入量子位的情况下具有三个连通性的量子位能够通信地耦合至多达三个的其他量子位。换言之,尽管在任何具体应用中少于所有那些通信路径的通信路径可以被采用,存在可用于三个其他量子位的多条通信路径。在采用在量子位之间的耦合器件的量子处理器中,这可能意味着具有三个连通性的量子位通过三个耦合器件是可通信地耦合的。传统上,量子处理器中的量子位数量限制了可以被求解的问题的大小并且子量子处理器中的这些量子位之间的连通性限制了可以被求解的问题的复杂性。在使用量子处理器的情况下采用压缩传感技术以求解计算问题的各个实施例可以应用于大范围的应用中。例如,方程式2的最小化(表示方程式1)可以用于在任何学习问题中生成多个特征,如包括模式识别、图像识别、应用人工智能、软件验证与确认以及训练人工神经网络的机器学习应用。此外,压缩传感技术可以用在直接朝向数据压缩的应用中,如图像压缩、音频压缩、数据文件压缩以及视频压缩。因此,在此所描述的各个实施例提供了用于在数据压缩中采用量子处理器的多种方法。例如,在视频压缩的应用中,yi数据集(在方程式1中引入的并且贯穿本说明书使用的)可以表示来自视频序列的帧集(例如,像素值、RGB值等)。换言之,y1可以包括针对视频序列的第一帧的像素值,y2可以包括针对视频序列的第二帧的像素值等,直到yn,其中,该视频序列包括n个帧。一旦这些相应的字典元素被学习(例如,通过在此如所描述的量子处理器),字典自身可以被传输并且传输完整的(并且通常较大的)视频数据可以被简化为传输指示哪些基元素对每个帧有效的多个简单位。可以使用数据集(例如,图像数据的集或图像数据集)采用如在此所描述的使用量子处理器来执行压缩传感或处理的技术。例如,所收集的数据可以被安排为yi数据集(从方程式1和2)并且使用量子处理器采用在此所描述的压缩传感或处理技术被分析。因此,yi可以例如包括指示包含一个或多个对象的场景的图像数据或者可以表示其他有形结构或者无形结构(例如,如字母和数字的字符)或者物理活动或者值。然后,可以采用如贯穿本说明书所描述的用于求解稀疏最小二乘问题的技术以例如从数据集(例如,字典值D和/或其相应的权重wi)中提取多个特征并且有效地“学习”数据集中的模式以及这些模式是如何与某些刺激相关联的。以此方式,分类器可以被形成。本领域技术人员将认识到,可以将数字计算机结合到如机械或机器人系统的系统中,并且由此本系统和方法提供用于通过量子处理器来确定针对稀疏最小二乘问题的改进的求解的技术,这可以使在机械和/或机器人装置之上的增强型思想控制成为可能。图5是根据本系统和方法的示出了一种用于使用量子处理器来分析数据集的方法500的流程图。方法500包括五个动作501-505,尽管本领域技术人员将认识到在替代性实施例中可以省略某些动作和/或可以添加附加的动作。本领域技术人员将认识到所示出的动作的所展示的顺序仅出于示例性目的并且可以在替代性实施例中改变。在501处,收集数据集。在502处,数据集被传输至数字计算机,如,例如,图4中的数字计算系统400。该至少一个参数可以指示数据集中的特定特征,如表示物理对象或特征或非物理对象或活动或信号的特定模式。在503处,数字计算机用于基于该数据集将目标函数公式化,其中,该目标函数包括至少一个变量参数,当目标函数被最小化时该变量参数采取其为该数据集的特性的值。例如,该目标函数可以包括稀疏最小二乘目标(例如,方程式1或方程式2)并且该至少一个参数可以包括字典D、字典D的成分或者相应的权重w。在504处,数字计算机用于与量子处理器(如图1中的量子处理器100)进行交互以使目标函数最小化并且确定其为该数据集的特性的至少一个参数的值。通过数字计算机与量子处理器进行交互以使目标函数最小化可以例如采用在此所描述的各个压缩传感技术,包括但不限于分别为图2和图3的方法200和/或方法300。在505处,其为该数据集的特性的该至少一个参数的值被返回。其为该数据集的特性的该至少一个参数的值可以例如包括单个字典元素/向量或者具有多个元素/向量的完整字典,这些元素/向量促进从该数据集中提取有意义的信息。例如,根据本系统和方法使稀疏最小二乘目标最小化可以用于学习能够从数据集中提取用户指定的指令的字典。该字典可以在方法500的505处被返回,并且随后用于某个应用。例如,通过采用量子处理器学习的用于使稀疏最小二乘目标最小化的字典可以被传输至任何适当的系统(如机械系统或机器人系统)以使那个系统能够从数据集中提取用户指定的指令。因此,一旦已采用该量子处理器来学习该字典,该字典自身可以被传输并且在没有任何进一步的需要来采用该量子处理器的情况下其他系统可以使用该字典来直接解释并响应用户指定的指令。图6是根据本系统和方法的一种系统600的原理图。系统600包括与数字计算机603进行通信的图像照相机602,其中,数字计算机603还与量子处理器604进行通信。图像照相机602可以拍摄树601的一张或多张图像,并且这些图像中的一张或多张图像可以形成数据集的基。该数据集可以通过通信链路被传输至数字计算机603,包括无线、蓝牙、USB、串口或者任何已知的通信连接方式。数字计算机603可以例如基本上类似于图4中的数字计算机系统400。数字计算机603通过任何已知的通信连接方式通信地耦合至量子处理器604。尽管优选地采用了大量的量子位和相应的耦合器件(如几十、几百或者几千个量子位和相应的耦合器件),量子处理器604可以例如类似于图1中的量子处理器100。用于采集并分析上述数据的这些系统和方法(并且在图5和图6中被展示)表示采用量子处理器来增强机器学习的应用的示例。根据本系统和方法,可以采用使用其他形式的数据(包括媒体或图像数据)的类似技术。1.0层次化深度学习(HDL)软件框架HDL软件框架是一种基于Python的软件框架,其实现了一套最新的层次化深度学习(HDL)算法。这些类型的算法成为新的一波用于以类似人类的认知和智力灌输机器的途径的基础。HDL软件框架可以用于任何背景下,其中,类似人类的认知和智力在工程化的系统中是令人期望的。示例包括:·检测图像或视频中的对象或事件·语音识别和翻译·娱乐和游戏中的智能代理·自然语言处理和对话·异常、欺骗和网络入侵检测·开发新颖医疗诊断测试·开发新类型的自主机器人系统·目前由人类唯一较好地完成的几乎任何任务是针对该HDL软件框架的潜在应用。HDL算法寻求在大量无标签的原始数据中发现少量的重复模式。这些重复模式然后变成该算法用来理解该数据的“构建块”。该算法操纵并处理通过组合其已经学习到的模式而构建的表示,而不是操纵并处理原始数据。被称为重构的此表示“模仿”最初的原始数据流中的对象,但将注意力集中于原始数据中重复出现多次的(并且因此隐含地被假定为重要的)模式。此程序提供了一种机制用于理解生物系统(包括我们自己)如何能够理解他们时常被暴露于其中的这些大量信息。如果一个人被问到他们在展示了老虎的图像、图片或其他媒体中看到了什么,他们将能够在零点几秒之内回答他们看到了老虎。这是令人惊讶的壮举——每秒1017个光子正撞击这个人的视网膜,并且他们以某种方式从这个无际洋的信息中迅速地提取图像的关键特征。可以通过假定在从一个人出生后的这些年里,他们从其环境中已经学习了众多的“最大重复模式”从而在该HDL框架中解释对视觉数据的这种类型的理解。这些理解中的一些理解是非常低级的——类同于边缘检测——而一些理解是非常高级的,甚至是抽象概念——如老虎——这些高级的概念由较低级的概念“构建”。在此框架中,我们所“看到”的不是原始光子数据——其量是巨大的并且其大多数不会引起人类的兴趣——但是大脑通过将多个模式拼凑在一起以理解世界进行重构。在此框架中,那个我们所看到的即“真实存在”的人类直觉是错误的。在人类大脑中形成的图片是基于将那些在我们已经看到的数据中经常重复出现的模式拼凑在一起的重构。人们然后基于这些重构而非基于冲击到感觉上的数据的“真实性”进行推断。这些算法的有趣方面在于它们可以针对提供给它们的原始数据的类型是不可知的。因此,程序可以同样地被应用于任何数据类型或者多种数据类型的混合。除了图像和视频数据,音频、触觉、EEG、基因组、文本或任何其他类型的数据可以以类似的方式被处理。1.1HDL软件框架HDL软件框架是一种用于层次化半监督深度特征学习的Python框架。该框架具有处理多模式数据的能力,包括但不限于视觉数据、听觉数据、触觉数据、EEG、fMRI、基因组序列和/或文本标签。所呈现的算法在半监督设置中学习层次化的特征集,其中,更高层次中的特征能够表示数据中更抽象的模式。用于在该层次结构的每一层处学习特征的程序被称作稀疏编码。层次化学习程序是基于递归地将稀疏编码程序应用于该层次结构中的后续层次(第n+1层是通过将稀疏编码程序应用于在第n层处学习到的特征而构造的)。该软件框架允许用户在两种不同类型的稀疏编码算法之间进行选择:·L1-范数稀疏编码。这种版本假定可以从实值的加权的特征组合中建立重构,并且正则化具有L1-范数形式。这些算法在这种情况下是高效的。该框架允许用户在云计算环境中运行,其中,可以被并行化的该算法的多个方面被提交给大量的(通常成千上万)常规处理器。·L0-范数稀疏编码。这种版本允许其为特征组合的重构,其中,权重为0/1变量,并且正则化具有L0-范数形式。这些限制导致由算法的此变体学习到的不同特征。该改变将来自在实值变量上的高效可解的凸优化问题的基本优化问题转换成在二值变量上的NP困难非凸优化问题。该框架划分核心算法,从而使得由常规计算机最佳服务的多个方面可以或者本地地或者在云计算环境中运行,并且核心组合优化问题可以使用软件求解器本地地运行、使用软件求解器在云端运行或者在量子硬件上运行。该HDL软件框架包含可视化和用户接口工具以帮助用户理解通过系统的信息流,以便理解机器智能是如何“理解”已经向其示出的输入数据。2.0L0-范数稀疏编码讨论可以降低L0-范数稀疏编码的难度以求解大量的具有以下形式的QUBO:找出使下式最小化的这种形式相比稀疏编码的更典型的L1-范数版本具有多个优点(例如,用于得到MNIST的最大稀疏编码)。禁忌搜索的变体用于求解这些QUBO。以下是两种聚焦于硬件的策略用于改进禁忌。QUBO中的将变量j和m连接起来的这些项与第jth个和第mth个字典原子和的点积成比例。因为还未将限制添加到这些原子需要看起来像的那个样子上,这些点积都可以是非零的(这些字典原子不需要是并且通常将不会是正交的)。这意味着由程序生成的这些问题是完全连通的——每个变量受所有其他的变量影响。不幸地,当建立物理量子计算芯片时,这种完全连通性可能不被实现或难以完成。该量子计算芯片可以将任何给定的变量与仅相对较少数量的其他变量连接起来。存在至少两种方式来规避错配有待求解的问题的连通性与硬件的连通性。第一种方式被称为嵌入,而第二种方式是通过使用硬件来按照在此被称为“黑盒”的混合算法的成分执行一种类型的较大邻域局部搜索。通过嵌入求解问题在量子计算机中,多个量子位物理上连接于其他量子位中的仅一部分量子位上。例如,在某些实现方式中,每个量子位连接于在此被称为Chimera图形的特定模式中的最多6个其他量子位。在D-Wave(D-Wave系统股份公司)的Rainier芯片中,存在128个量子位。在另一个被命名为Vesuvius的D-Wave处理器中,存在512个量子位。Chimera图形是一种使用规律重复模式来为处理器铺设的方式。在上述Rainier芯片中,通过对八个量子位晶胞开四个窗而将处理器图形分成四部分。针对Vesuvius,使用相同的晶胞,但是通过开八个窗而具有八个部分。嵌入是一种从有待求解的问题的这些变量到处理器中的这些物理量子位的映射,其中,该映射可以是一对多的(每个变量可以被映射到多个物理量子位)。为了保持问题结构,对应于同一变量的多个量子位被坚定地“锁在一起”。在此,在多个完全连通的QUBO如同在此的那些的情况中,可以将完全连通的具有K个顶点的图形嵌入具有(K-1)2/2个物理量子位的Chimera图形中——128量子位量子处理器可以嵌入完全连通17个变量的图形,而512量子位量子处理器可以嵌入完全连通33个变量的图形。在图34中示出的是一种到128量子位处理器中的嵌入,用于求解计算拉姆齐数的问题。量子位着色相同的处理器图形表示相同的计算变量。因此,一种使用该512量子位量子处理器来求解稀疏编码QUBO的方式是限制K为33或更少并且嵌入这些问题。然而,针对两个(相关的)原因,这不能令人满意。第一个原因为33个字典原子针对在大数据集上的稀疏编码通常不够用。第二个原因为由上述程序生成的QUBO针对在那种规模处的禁忌搜索实际上很简单。对于如此小的问题,禁忌搜索给出了优秀的性能,其中,每个问题超时约为10毫秒(约与单个问题在512量子位量子处理器上的运行时间相同),并且因为其可以在云中运行,该禁忌方法还可以利用大规模的并行计算。因此,即使在一个问题接着一个问题的基础上,该512量子位量子处理器在此规模处具有竞争力,当你针对其聚集例如1000个核时,该512量子位量子处理器失败,因为不存在一千个量子处理器可用于处理。使用黑盒求解稀疏编码QUBO黑盒是D-Wave系统股份公司开发的一种算法。以下是对其如何工作的高级介绍。黑盒被设计成用于求解多个问题,其中,所有给出的是黑盒,该黑盒将二值优化问题的可能答案转换成指示那些可能的答案有多好的实数。例如,机翼的配置可以被指定为位串,并且为了了解那个配置有多“好”,可能需要实际地构造那个示例并将其放置在风道中用于测量。或者仅执行大规模的超级计算机仿真可能是足够的。但是在这些二值变量的设置与像这样的问题中的答案的质量之间的关系不容易以封闭的形式被指定,像通过稀疏编码QUBO成为可能的那样。黑盒是基于禁忌搜索的,但是使用硬件来围绕每个搜索点生成目标函数的模型,该模型使得单个位翻转之外的下一个移动的可能性得到扩展。在每个禁忌步骤处从硬件进行这种建模并采样增加了每步骤时间,但是减少了达到目标函数的某个目标值所需要的步骤数。随着评估目标函数的成本上升,在通过在每个禁忌步骤处制造更好的移动而制造更少的“步骤”中的增益上升。然而,如果目标函数可以被快速地评估,禁忌的性能通常胜过黑盒,因为由于黑盒建模和硬件采样步骤的附加成本的缘故禁忌可以在每单位时间进行更多的猜测。黑盒可以被应用于任意大小的完全连通的QUBO中,并且因为对少量字典原子的限制被去掉这个比嵌入更好。通过黑盒,任何大小的问题可以被尝试。针对已试过的问题大小中的任何一个(其公认地仍然相当小——最多50个变量),在512量子位量子处理器上的黑盒不可与启用云的禁忌搜索相竞争。无论这些问题变得多大这可以继续保持,因为以下原因:1.稀疏编码问题的固有并行性质(S个独立的QUBO)意味着多个核与少量的512量子位量子处理器之间的比较。这个因素可以是重要的——针对具有数百万数据对象的大问题,这个因素可以容易为数以千计的或者是成千上万的。2.黑盒是针对目标函数设计的,这些目标函数是真正的黑盒子,从而使得没有明显的方式来直接地攻击问题的结构,并且其中,评估目标函数是非常昂贵的。这不是针对这些问题的情况——它们是QUBO并且这意味着可以基于这个已知的事实直接地进行攻击。针对这些问题,尽管其当然可以被使用,黑盒的目前版本不处于其最高效的最佳点中(即,并且将不被期望可总体上与云中的禁忌相竞争。)并且这正是所发现的——针对已试过的问题大小中的任何一个,在512量子位量子处理器上的黑盒不可与在云上的禁忌相竞争。注意到,在此存在小警告——有可能针对非常大量的原子(往低了说,几千),这个可以改变,并且黑盒将更具竞争力。如果有可能限制由稀疏编码生成的这些问题使得它们恰好拟合于硬件中,因此我们需要生成的这些问题恰好地匹配硬件图形,量子处理器或许能够打败经典的处理器,因为该512量子位量子处理器比存在于地球上用于其正求解的本机问题的任何处理器快许多个数量级。使用量子硬件以与在云上的禁忌相竞争的基本问题是稀疏编码生成的问题的连通性(其为完全连通的)与量子硬件的连通性之间的错配。此错配的源是目标函数中的二次项,其针对jth和mth变量与成比例。耦合项与字典原子的点积成比例。在一些实现方式中,我们要求针对在硬件中未连通的所有变量对j和m,必须为零。如果我们在字典中实现了这个结构,我们得到非常有趣的结果。具有此限制的QUBO可以被设计成恰好匹配硬件求解的基本问题,而不是完全连通。如果我们可以这样做,我们更接近使用量子硬件的全部功能。具有结构化字典的L0-范数稀疏编码给定:1.S数据对象的集,其中,每个是具有N个成分的实值向量;2.NxK实值矩阵其中,K是我们所选择的字典原子的数量,并且我们将其第kth列定义为向量3.KxS二值矩阵4.以及被称作正则化参数的实数λ,找出使下式最小化的和服从这些约束,即,针对在所使用的量子芯片中未连通的所有对子j,m,有此处的差异是被添加于字典原子上的约束集。使用块坐标下降求解稀疏编码问题在多个方面和实施例中使用以下策略可能是令人期望的:1.首先,生成随机字典服从于满足强加于这些字典原子上的正交性约束。2.假定这些固定的字典,针对这些字典原子求解该优化问题。这些优化问题现在是Chimera结构化的QUBO,其通过重构恰好拟合于硬件上。3.现在将这些权重固定于这些值处,并且寻找最优字典再次服从这些约束。迭代动作2和动作3直到G收敛于最小值。这进入了与之前不同的体制——动作2需要求解大量的chimera-结构化的QUBO,而不是完全连通的QUBO。这样使得那些问题更好地拟合于量子硬件。但是现在针对动作1和动作3两者需要允许一些新的事情,并且这些初始地具有某种代价。创建遵守约束的初始随机字典在L.罗瓦茨(L.Lovasz)、M.塞克斯(M.Saks)和A.斯赫雷弗(A.Schrijver)的题为图形的正交表示与连通性,《线性代数及应用》,114:439–454,1989中存在有趣的结果。以下是该结果的简短解释。在V个顶点上想象图形。在那个图形中,每个顶点连通到一堆其他的顶点。将p称作对应于图形中的最少连通变量的连通性的数量。上述论文证明在V-p维中的实向量集可以被定义,其中,在图形中的非邻接节点可以被分配正交向量。因此,该目标——寻找随机字典从而使得如果向量的长度大于V-p,针对在量子硬件中未连通的所有k,m可以完成针对512量子位量子处理器,数字V为512,并且在Chimera图形中最低连通性节点是p=5。因此只要字典原子的维数大于512-5=507,以上的步骤1可以一直被执行。在这个非常有趣的结果上稍微多一点颜色。想象标识正交的(即,点积为零)两个向量和这些向量必须存在于其中从而使得这个可以被完成的最小维数是什么?好好地想象它们都在一维中——它们仅是线上的数字。然后,显然你无法实现它。然而,如果你具有两维,你就可以。此处为示例:和如果多于两维,也可以完成,并且在这种情况下的选择不是唯一的。更普遍地,如果问题“我可以在V维空间中描绘多少个正交向量”被问及,答案为V——每一维一个向量。因此,其为以上结果中的关键一个。如果我们具有顶点个数为V的图形,其中,这些顶点中没有一个顶点被连通到任何其他顶点(最小顶点连通性p=0),并且希望将向量分配于每个顶点从而使得所有这些向量与所有其他向量正交,其等效于问及“给定V维空间,向量集的最小维数是什么从而使得它们彼此全部正交?”,而答案为V。现在想象在图形中的这些顶点的一些顶点之间绘制边缘,并且不需要存在于这些顶点上的向量正交。从概念上讲,这可以被认为放松了某些约束,并且使得其“更易于”寻找期望的向量集——因此使得这将工作所需要的这些向量的最小维数随着图形得到更多的连通而减少。此处迷人的结果正是这个工作的简单方式。只是找到图形中最低连通性节点,称其连通性为p,并且然后问“给定V个顶点上的图形,其中,最小连通性顶点具有连通性p,向量集的最小维数是什么从而使得图形中未连通的顶点都被分配正交向量?”答案为V-p。零空间以下是用来执行步骤1的建设性程序的示例:1.生成矩阵其中,所有条目是+1与-1之间的随机数。2.对每一列进行再归一化,从而使得每一列的范数为1。3.针对中的每一列按顺序从最左到最右,计算那列的零空间,并且然后用在该零空间基中写入的随机列替换那列。此程序将根据在新程序中的需要产生初始随机正交基。以下是用于计算矩阵的零空间基的某个Python代码:importnumpyfromscipy.linalgimportqrdefnullspace_qr(A):A=numpy.atleast_2d(A)Q,R=qr(A.T)ns=Q[:,R.shape[1]:].conj()returnns如上所述,在有效地使用量子处理器架构的过程中可能产生问题——我们想要求解的问题的连通性与量子硬件的连通性之间的错配。给定:1.S数据对象的集,其中,每个是具有N个成分的实值向量;2.NxK实值矩阵其中,K是我们所选择的字典原子的数量,并且我们将其第kth列定义为向量3.KxS二值矩阵其矩阵元素为wks;4.以及被称作正则化参数的实数λ,找出使下式最小化的和服从这些约束,即,针对在所使用的量子芯片中未连通的所有对子j,m,有为了求解此问题,我们使用块坐标下降,其像这样进行工作:1.首先,生成随机字典服从于满足强加于这些字典原子上的正交性约束。2.假定这些固定的字典,针对这些字典原子求解该优化问题。这些优化问题现在是Chimera结构化的QUBO,其通过重构恰好拟合于量子硬件上。3.将这些权重固定于这些值处,并且寻找最优字典再次服从这些约束。迭代步骤2和步骤3直到G收敛于最小值(或某些标准),记住此问题是共同非凸的并且该最小值将是局部最小值。每次从新的固定点重新开始整个算法将导致不同的局部最小值,因此可以通过运行此程序若干次得到更好的答案。步骤3:寻找给定固定权重的最优结构化字典难题在于以上的步骤3。在此,权重被固定,并且目标是寻找最优结构化字典。在此正式声明该问题。给定:1.NxS实值矩阵其中,S是数据对象的数量,并且我们将第sth列定义为第sth个数据对象其中,每个是具有N个成分的实值向量,并且的矩阵元素为zns;2.NxK实值矩阵其中,K是我们所选择的字典原子的数量,并且我们将其第kth列定义为向量并且的矩阵元素为dnk;3.以及具有多个矩阵元素wks的KxS二值矩阵找出使下式最小化的其中,服从这些约束,即,针对在所使用的量子芯片中未连通的所有对子j,m,有使这个问题变难的原因在于对字典原子的约束是非线性的,并且存在许多的约束(针对在硬件中未连通的每一对变量存在一个约束)。在是稀疏的体制中进行操作可能是有利的。在此限制中,大多数的wks将为零。因为在的矩阵元素中耦合项是二次的,针对所有的L0-范数稀疏编码问题,大多数的耦合项将为零。这建议了一种可能的策略来首先假定二次项为零求解并然后接着使用这个作为初始起点。存在一些类型的矩阵运算,这些矩阵运算将不会破坏字典的结构但是将允许在允许的空间内使改变参数化。如果我们然后可以基于那些参数进行优化,我们可以注意这些约束而不必做任何工作来强制执行它们。存在一种局部搜索启发法以在保持其他列固定的同时从k=1移动到k=K来优化每一个字典原子并且仅仅进行迭代直到收敛(需要进行某种重新安排以确保在使用以上讨论的零空间想法的整个过程中保持正交性)。自动实现的这个局部搜索试探可能不是一种理想的策略并且可能在局部最佳状态下遇到困难。以下讨论使用量子处理器和非量子处理器来进行非监督特征学习、稀疏编码、多类分类和多标签分配。为此,实现以下各项的Python软件框架被开发:(a)用于在非监督设置中学习具有低级特征的字典的L0-范数和L1-范数稀疏编码(b)用于建立监督的多类分类器和多标签分配协议的自学学习框架(c)半监督特征学习算法(“图像修复”),该半监督特征学习算法同时建立具有基于多种类型的数据(如图像、音频和标签)所定义的多个特征的字典。在特征被学习之后,用部分信息呈现至此看不见的数据。在至此看不见的数据中呈现的数据扇区然后使用这些学习到的特征被最佳地重构并且“丢失”扇区(其可以包括标签信息和丢失的数据扇区)然后由该重构进行预测。图像修复可以用于异常检测、聚类分析、回归分析、多类分类、多标签分配或其他任务。(d)被设计用于在量子硬件中运行的监督量子多标签分配(“QMLA”)算法(e)使用MNIST手写体数字数据集建立的辅助多类分类器测试集(f)使用SCENE自然图像数据集建立的辅助多标签分配测试集此框架允许用户从硬件、算法和优化求解器选项的集中进行选择以便从数据中学习多个特征并随后建立多类分类器或多标签分配协议。该软件框架允许直接在不同的算法与硬件途径之间进行比较以进行稀疏编码、分类和多标签分配,包括使用量子硬件的多种途径。该软件框架包括两个测试集,用于在MINIST手写体数字数据集(多类分类的示例)和SCENE自然图像数据集(多标签分配的示例)上执行和可视化实验。活动说明活动分成三类。两种稀疏编码算法的实现首先实现两种不同类型的稀疏编码算法。稀疏编码是用于发现数据中的最大重复模式(也称作字典原子)并且将数据对象表示成这些模式的线性组合的程序。如果这些模式在数据中特征很明显,有可能寻找一种体制,其中,大多数的数据对象可以仅使用少量的这些模式而被重构。这些是所实现的两种类型的稀疏编码算法:(a)L1-范数稀疏编码。这种版本假定可以从实值的加权的特征组合中建立重构,并且正则化具有L1-范数形式。算法在这种情况下是高效的。该框架允许用户在云计算环境中运行,其中,可以被并行化的该算法的多个方面被提交给大量的(通常几千)常规处理器。(b)L0-范数稀疏编码。这种版本允许其为特征组合的重构,其中,权重为0/1变量,并且正则化具有具有L0-范数形式。这些限制可以导致由算法的此变体学习到的不同特征。该改变将来自在实值变量上的高效可解的凸优化问题的基本优化问题转换成在二值变量上的NP困难非凸优化问题。该框架划分核心算法,从而使得由常规计算机很好地服务的多个方面可以或者本地地或者在云计算环境中运行,并且核心组合优化问题可以使用软件求解器本地地运行、使用软件求解器在云端运行或者在D-Wave硬件上运行。在此考虑的这两种不同类型的稀疏编码不同。在第一种类型(L1-范数)中,使用具有实值权重的字典原子的线性组合重构数据对象。在第二种类型(L0-范数)中,使用具有二值权重的字典原子的线性组合重构数据对象。在图7A和图7B中示出的是这些类型的重构的示例,使用来自MNIST数据集的手写体数字图像以分别使用特征符号搜索(实值优化)和禁忌搜索(二值优化)来进行MNIST6000训练。在图7A和图7B中,稀疏编码尝试发现一个较小模式集(称作字典原子),该较小模式集在数据集中“最大地重复”。一旦这些模式被找到,然后通过这些模式的镜头看见数据对象。图7A示出了使用通过L1-范数稀疏编码找到的原子形成的重构,示出了在该重构中使用的前三的最高量级权重原子。图7B示出了与图7A相同的东西,但是利用了L0-范数稀疏编码。在这种情况下,所包括的所有字典原子按定义具有权重为1——其中三个是明确示出的。注意到这些重构的稀疏度(所使用的原子数量)较低——20%与40%之间的原子被使用。此稀疏度由正则化参数λ控制。此参数越高,解将会越稀疏。这些编码中的每一个可以使用优化求解器与硬件的各种不同的组合而运行。在表1中示出的是所实现的组合:表1该框架允许使用各种优化算法和硬件运行这两种类型的稀疏编码。在此具体感兴趣的是L0-范数版本与L1-范数版本的相对性能,以及在硬件上运行的黑盒与用于运行L0-范数稀疏编码的其他选项的相对性能。实现多类分类器和多标签分配协议第二活动涉及建立并测试用于自动地将标签分配给对象的各种方式。针对图像,这些标签可以是图像中的对象的类型(例如,图像中存在或不存在猫)。针对音频,这些标签可以是存在或不存在具体的说话人。针对视频,其可以是存在或不存在某一类活动(跑步、挥手等)。在每种情况下,这种类型的识别通常对于人类是简单的但是在综合系统中是难以实现的。所使用的这些策略是基于使用稀疏编码(此步骤是非监督的并且在此步骤中使用的数据都是无标签的)的原子的第一学习字典。一旦完成此步骤,使用这些字典对带标签的数据进行编码,并且然后在经编码的带标签的数据上运行一套非监督学习算法。这包括若干种标准途径和两种新算法,在此,第一个被称为图像修复,而第二个被称为QMLA(量子多标签分配)。QMLA算法特定地被设计用于多标签分配并且可能不用于多类分类,而图像修复可以用于任何一个。显然地,在此于一个或多个实施例中实现了三个步骤:(a)在无标签的数据上使用稀疏编码算法学习字典(b)然后使用此字典重构带标签的数据集(c)此经编码的带标签的数据然后用于监督学习设置中以产生期望的分类器或标签分配器。所实现的程序包括以下各项:图像修复;QMLA;感知器;k最近邻居(kNN);以及具有L1和L2损耗的线性支持向量机(SVM)。实验计划第三个活动涉及使用众所周知的MNIST数据集和SCENE数据集建立两个辅助层次测试集、执行多个系统实验以对大量的用于将标签分配给这些数据集中的对象的不同策略的性能进行比较、并且准备包括对已完成工作和发现结果进行全面描述的报告。MNIST手写体数字此测试集用于对用于建立多类分类器的各种不同途径进行比较。该MINIST测试集提供“极好的”功能性以运行大量的实验从而允许不同策略(包括使用量子计算机)的性能被凭经验地测试。MNIST较小、被很好地表征并且提供了一种很好的方式来系统地探索新想法的性能。MNIST总共包括手写体数字(有10个——从0到9的所有数字)的70,000个28x28像素的灰度级图像。通常,该任务使用这些图像中的60,000张图像来建立多类分类器(来将图像表示的数字进行分类),并且然后在10,000张图像的测试集上测试所产生的分类器。该测试集允许用户在以上表1中示出的十个组合中进行选择;在可用图像的所选子集上运行这些组合(忽略标签);并且然后可视化所产生的字典原子、重构以及由每种组合实现的重构误差。在这个动作之后,用户然后可以在带标签的训练数据的所选子集上运行这些监督学习程序(除了被设计用于多标签分配的QMLA)。用户然后可以评估在测试集上尝试的这些方法的性能,并且接收一组性能图,包括精确度、召回率、F1分数以及分类器稀疏度。SCENE自然图像此测试集用于对用于建立多标签分配(MLA)协议的各种不同途径进行比较。MLA不同于多类分类,因为许多标签可以同时存在于一个对象中。在SCENE数据集中,对象是自然图像,并且这些标签指示存在或不存在六种类别(“城市”、“山峰”、“落叶”、“海滩”、“日落”和“旷野”)。在图8中示出的是来自SCENE数据集中的示例图像。该SCENE测试集将提供“极好的”功能性以运行大量的实验从而允许不同MLA策略(包括使用图像修复和QMLA两者)的性能被凭经验地测试。SCENE数据集包括2407张自然景物图像。其中,1211张图像用于训练而1196张图像用于测试。每张图像与多个标签一起,这些标签指示存在或不存在六种不同类别(落叶、城市、海滩、日落、山峰和旷野)。在图8中,SCENE数据集包括1211张训练自然景物图像和1196张测试自然景物图像,这些图像具有多个标签,这些标签指示存在或不存在六种类别(“城市”、“山峰”、“落叶”、“海滩”、“日落”和“旷野”)。在这张图像中,标号为[001001],指示存在“落叶”和“旷野”并且不存在其他四类。实现方式讨论重写该半监督特征学习代码以处理多种数据类型。开发用于学习代码的软件架构以有效地与这些云计算服务集成。所产生的Python模块调用常规资源和量子硬件资源两者。Python模块被写入从而允许用户建立分类器。开发针对分类器的软件架构以有效地与这些云计算服务集成。所执行的基准测试工作的结果使用户能够有效地划分该核心特征学习算法,从而使得由常规求解器最佳服务的这些方面因此被指导,并且在量子硬件上运行这些核心组合优化问题。使用两个样本测试集演示这些被写的模块,从而允许用户执行并可视化系统实验以对大量的用于将标签分配给在两个不同数据集中的对象的不同策略的性能进行比较。一个测试集使用MNIST手写体数字数据集来演示多类分类。另一个测试集使用加拿大高级研究所(CIFAR)自然图像数据集来演示多标签分配。HDL软件框架工程机器学习是人工智能的分支。其中心前提在于机器可以被提供数据——例如,电子邮件、视频、音乐文件、文本、地震数据、天气数据、医疗信息和/或图像——并且可以学习以允许数据对象之间的差异被感知并且在某种意义上被理解的多种方式表示此数据。例如,被提供了大量电子邮件的机器可以学习到垃圾邮件具有某些以高可能性出现的属性,并且因此可以学习关于是什么构成了垃圾邮件的多种规则而不用被提前明显地告知那些规则是什么。非监督特征学习和深度学习最戏剧性的改变之一是从具有非常有限的应用性的特殊用途工具(如垃圾邮件过滤器)转变到或许能够像人类一样形成从一个主题到另一个主题的概念的架构。这些新的架构被称作深度学习系统。深度学习仍然足够新使得其将如何最终适应于机器学习生态系统中不被完全理解。早期的指示为深度学习可能使以其他方式将难以或者不可能建立的新能力成为可能,并且可能成为用于开发任何高性能机器学习系统的标准惯例。已经在广泛的应用中看到了先进性,包括语音识别和合成、推送系统、图像和音乐识别、药物发现以及计算广告。另一个重要改变是从监督方法转变到非监督方法。非监督特征学习目的在于以一种受人类大脑如何工作的现代化理解所启发的方式减少或去掉在机器感知和认知中涉及的人工需求。推进机器智能的过程的最大障碍之一是需要提供大量的数据对象,这些数据对象已被人工加标签以指示对象的内容。在垃圾邮件检测器示例的情况中,这将意味着向学习系统提供大量的已经被加了“垃圾邮件”或“非垃圾邮件”标签的电子邮件。非监督学习系统目的在于在未被明显告知这些特征可能是什么的情况下学习进入数据对象的特征。当在大量的数据上学习时,这变成基本的需求,因为显然不可能在许多情况下需要人工来标记足够的示例从而使监督方法成为可行的。非监督特征学习具有与深度学习范例的潜在合并效果。针对非监督特征学习和深度学习使用量子硬件量子计算机擅长求解特定种类的优化难题。在某些情况下,其优越于可用的任何东西。量子计算机求解的这些类型的问题可以在基础层次处出现在各种机器学习算法中。量子计算系统表现较好之处与机器学习中的难计算问题之间的连接表示一个重要的机会。如果可以示出量子硬件可以在核心学习问题上提供主要的性能增益,这将驱使商业上采用该技术。在此所描述的HDL软件框架具有至少两个目标:(1)测试最具前景的包括量子硬件的机器学习想法;以及(2)实现将直接与这些新想法竞争的最著名的常规方法。假设两者都成功了,直接将使用常规途径的这些极著名的机器学习程序与量子硬件启用版本进行比较。该HDL软件框架被设计成能够针对如何使用量子硬件用于机器学习跨想法地完成这两个目标。HDL软件框架的稀疏编码组件HDL软件框架的稀疏编码组件被设计成用于针对用于使用量子硬件的特定想法完成这两个目标。此想法被称作L0-范数稀疏编码。稀疏编码是一种非常有趣的类型的非监督特征学习。稀疏编码寻找数据中的最大重复模式,并且这可以通过很少的、有限的或者没有人工干预而实现。这些模式然后可以用于表示原始数据(此过程被称作稀疏自动编码)。稀疏编码可以被认为是用于更复杂的机器学习算法的构建块。例如,其可以自然地用于学习数据中的多个规模处的特征的层次——深度学习架构的示例。为了完成HDL软件框架的这两个目标,发明人从目标(2)开始——实现最佳常规竞争对手。测试的想法组合了两个非标准项——一个算法项和一个因异常量子硬件产生的项——并且重要的是将它们分开。第一个是L0-范数部分,其强迫在稀疏编码程序内的某些数为二值的。这被要求将问题映射到量子硬件中。通常,使用稀疏编码的机器学习实践者不使用这种形式的算法,因为其生成难的计算问题。相反,他们使用被称作L1-范数稀疏编码的不同版本。该L1-范数版本在计算上表现得更好,代价是潜在地降低了学习程序的有效性。为了测试新想法的这个方面,一种最先进的L1-范数稀疏编码系统被实现且被架构化以能够使用亚马逊EC2云运行。一种使用L0-范数版本的类似系统被实现,其具有一组常规的软件求解器用于求解此版本的稀疏编码所生成的难优化问题。这种版本也可以在云上运行。使这两个系统在稀疏编码组件内运行允许直接比较L0-范数稀疏编码与L1-范数稀疏编码,这允许划分从L1转到L0在算法上具有什么效果的问题(其不依赖量子硬件的效用的问题)。发现L0-范数版本具有比L1-范数重要的优点,并且具体地当表示的期望稀疏度非常高时(至少针对到此为止所测试的这些图像数据集)提供了显著的性能提升。因此,在从L1转到L0的过程中存在重要的算法获胜。这个发现就其本身而言是非常有趣的,因为其示出了用于机器学习的非常重要的主算法可以通过以L0-范数形式对其重新安排而被改进。第二个问题是在量子硬件上运行的效果。存在两种策略用于完成此目的。第一种策略是使用在此被称为黑盒的介入软件翻译器来求解由稀疏编码生成的难优化问题。黑盒被设计成用于允许使用量子硬件来求解任何离散的优化问题。因为稀疏编码优化问题不完全是量子硬件固有地求解的问题类型,所以需要一个下至量子硬件的翻译步骤。具体地,稀疏编码优化问题是完全连通的QUBO,而量子硬件固有地求解Chimera连通的QUBO。概括而言,黑盒交易性能——其可以用在任何离散的优化问题上,但是其性能可能相对较低。第二种策略是通过修改稀疏编码避免查看黑盒的代价,从而使得其仅生成可以由量子硬件固有地求解的问题。此第二策略在此被称为具有结构化字典的L0-范数稀疏编码。在此,通过直接以其最有效的形式使用硬件而获得较大的加速。该想法在于构造稀疏编码学习的“最大重复模式”,从而使得它们中的许多是正交的。在由稀疏编码生成的QUBO中的耦合项与同每个量子位相关联的这些字典原子的点积成比例。结构化的字典想法强制执行附加的约束,使得与物理上未连通于硬件中的量子位相关联的多个原子必须是正交的。这种算法将有可能具有与标准L0-范数版本不同的性能特性。第一种策略在稀疏编码组件中被实现——在512量子位量子处理器上使用寻常的L0-范数版本使用黑盒求解所生成的问题——并且如预期的那样发现这不可与使用最佳常规求解器竞争,该使用最佳常规求解器是在云上运行的禁忌搜索。注意到针对这个的原因与硬件无关——问题在于用于在黑盒中进行翻译的开销比在云上进行禁忌搜索以求解优化问题花费的时间大得多。即使硬件花费的时间为零,此策略仍然将不具备竞争力。第二种策略在稀疏编码组件内被实现。一旦结构化字典途径使用常规求解器运行,使用常规求解器的这种途径的结果与通过在512量子位量子处理器上运行其而获得的结果进行比较。稀疏编码介绍在图9中示出了稀疏自动编码的示例。图9从左到右示出:(a)原始数据对象,在此情况下为来自MNIST数据集的手写体数字的小图像;(b)使用少量的字典原子重构此图像,在此情况下使用总共512个学习到的原子中的26个;(c)-(e)在此重构中使用的三个最重要的原子,其中,它们被包括的“量”示出为在图像上方的权重。在此,图像可以被认为是由多个较简单的部分组成的,这些部分被组合(例如,相加)在一起。稀疏编码尝试寻找这些部分的简单集,这些部分当以不同的组合被放在一起时能够表示大量的用户感兴趣的类型的图像。术语“稀疏”意味着理想上仅需要这些部分中的少数几个来组成任何一张图像。通过稀疏编码发现的这些部分的该集经常被称为字典并且这些部分被称作字典原子。所实现的这两个算法被称作L0-范数稀疏编码和L1-范数稀疏编码。L1版本是用于稀疏编码的标准途径,其中,允许数据为这些字典原子的任意线性组合,并且正则化具有L1形式。L0版本是类似的,但是不同在于数据对象是从字典原子的线性组合中形成的,其中,权重必须为0或1——这些原子或者在重构内或者在重构外——并且正则化具有L0形式。用户可以选择在表2中示出的这十个硬件和算法组合中的任何一者。稀疏编码类型硬件求解器算法L1-范数[实值权重]PC,云特征符号搜索L0-范数[二值权重]PC,云禁忌、Akmaxsat、黑盒L0-范数[二值权重]PCCplexL0-范数[二值权重]512量子位量子处理器黑盒表2稀疏编码组件包括两个测试集,这允许用户应用两种类型的在该十个所允许的硬件/求解器算法组合中的任何一者上运行的稀疏编码。这些测试集使用MNIST手写体数字图像数据集和CIFAR自然图像数据集(以下详细描述两者)。HDL软件框架特征列表的稀疏编码组件以下是包括在稀疏编码组件中的特征列表:·通过L0-范数稀疏编码和L1-范数稀疏编码的非监督特征学习·有待探索的两个不同的内置数据集·五种不同的求解器算法·五个不同的可视化例程·三个不同的图像类别分类集·云和量子硬件支持·简单且鲁棒的命令行风格用户界面·保存之前的运行结果并询问在之后日期处的结果的能力现在将更加详细地描述这些特征中的若干特征。MNIST数据集稀疏编码组件包括基于MNIST手写体数字图像数据集的测试集。这是具有70,000个手写体数字的带标签的数据集。每张图像是表示在0与9之间的数字的黑底白字的数字。每张图像的尺寸为28x28像素(每张图像中总共有784个像素)并且是灰度级颜色格式。每张图像带有一个正确类别(0、1、2、3、4、5、6、7、8和9)的标签。图10中示出了MNIST图像的示例。CIFAR-10数据集稀疏编码组件包括的第二个测试集是CIFAR-10数据集(被称为CIFAR)。这是具有70,000张图像的带标签的数据集,这些图像主要为两种类型:交通工具和动物。图11中示出了来自CIFAR训练集中的示例。每张图像为32x32个像素,并且是RGB颜色格式。这些类别为(飞机、汽车、鸟、猫、鹿、狗、狐狸、马、轮船、卡车)。CIFAR和MNIST两者中的类别是互斥的,意味着任何训练和测试图像仅被分配一个标签。最先进的专用机器学习技术能够针对MNIST获得约99%的准确度以及针对CIFAR-10为91%。求解器在一些实现方式中,系统具有用户可用的五种不同的求解器算法。如果选择L1-范数稀疏编码,所使用的算法在HonglakLee等人,“高效稀疏编码算法”(EfficientSparseCodingAlgorithms),NIPS,第801-808页,2007中被描述,此披露内容通过引用以其全文结合在此。被用于寻找权重的该算法被称作特征符号搜索(FSS)。如果选择L0-范数稀疏编码,用于寻找给定权重的字典的算法与针对L1版本所使用的算法相同。然而,寻找权重变成NP困难优化问题。稀疏编码组件实现了四种不同的求解器用于攻克这些问题。CPLEX是来自IBM的领先商用优化包,其可以按启发式搜索运行或者提供全局最优性。禁忌搜索是另一种启发式搜索,其是针对由稀疏编码生成的种类的完全连通的QUBO的最好的求解器。Akmaxsat是基于一流分支和界限的求解器,其可以按启发式搜索运行或者提供全局最优性。黑盒是一种基于禁忌搜索的结构不知道多大的邻域局部搜索算法,其在每次禁忌迭代处通过在其当前点处创建函数的Chimera结构化模型而增加所搜索的邻域大小。硬件稀疏编码组件可以访问本地、云或量子计算硬件资源。本地运行在运行稀疏编码组件代码的系统上执行,并且通常当用户开始使用稀疏编码组件来感受系统如何运作的时候被推荐。云运行可以例如在亚马逊弹性云上使用PiCloud云计算系统执行。存在可以有效地并行化的稀疏编码程序的若干方面。如果在非监督特征学习程序中的数据对象的数量大于约50,000个数据对象,推荐使用云。如果用户在量子硬件上运行,所使用的求解器算法为以上讨论的黑盒。仿生标签图像修复稀疏编码组件具有被称为“仿生标签图像修复”的特殊特征。这是一种将额外的(监督的)信息添加至字典学习程序中的形式,从而使得该算法具有对所示出的图像的类更深的洞悉。此程序如下进行工作:当序列数据对象被创建时,其不仅包含图像,而且包含附加图像,该附加图像包含标签信息。将标签编码成图像背后的想法是如果标签可以用与原始图像数据相同的形式表示那么可以使学习更加容易。这些图像被称作仿生的标签(简称为仿生标签),因为使用图像来表示标签的想法是仿生的设计选择(标签自身是一张图像并且被看成是向系统示出的类别的“典范示例”)。类似于QR代码的精神,在稀疏编码组件中,这些仿生标签是针对每个标签类别在不同位置中的黑底白字(对于CIFAR是黄色)正方形。图12中示出了数据对象及其附加仿生标签的示例。在这种情况下,在图像及其仿生标签之上共同地学习字典。当使用这样的字典重构新的测试图像时,对标签(其不存在于输入测试数据中)的“猜测”将由HDL软件框架进行图像修复。尽管已用术语“仿生标签”和“图像修复”进行了讨论,这些仅仅是用于表达申请人所描述的基本技术的术语。仿生标签可以被认为是被结合到被分析的数据中的标签。例如,在有待分析的数据是图像数据的情况中,标签被结合到图像数据中作为(一个或多个)像素集。在图像中标签(例如,像素集)的空间位置对信息进行编码。这在一些方面中类似于二维机器可读符号将信息编码于包括符号的符号字符的相对位置中的方式,无论以何种方式有利地将标签和机器可读符号结合至被分析的数据(例如,图像文件)中或至少与其格式相同,如对象的图像表示、alpha或数字或其他字符、数据对象或其重构。被结合或被添加到数据(例如,图像数据)中的这个所添加的或图像修复的标签通常具有与图像表示(例如,表示每个像素的光强和/或颜色的像素集)相同的形式。如以上所讨论的,这些标签提供图像表示的进一步逻辑关联。也就是说,标签针对学习提供进一步的数据点,因为在标签与相应数据(例如,图像数据)中表示的对象、结构或其他信息或其重构之间可能存在逻辑关联、相关或对应。因此,为了在图像和图像数据的背景下讨论“仿生标签”和“图像修复”,标签可以被结合、添加或附接到图像数据中,该图像数据表示数据对象或其重构的图像。此标签可以具有与图像数据相同的形式,例如,像素集。当然,标签可以是在此讨论的学习可以适用的任何其他的形式。标签可以提供、表示或者被映射到对数据对象的表示的描述(例如,alpha或数字字符、脸部特征、图像特征、解剖结构)或者其所附接于的其重构。因此,在标签与数据对象或其重构(其中,结合、添加或附接了标签)的相应表示之间存在逻辑关联、相关或对应。因此,为了学习在此所讨论的这些学习算法的目的,一些学习算法可以被修改以跨越标签与数据对象或其重构的表示两者进行学习。因此,图像修复可以考虑结合、添加或附加标签,其中,一个或多个标签或者由一个或多个元素或字符组成的标签被结合、添加或附加到表示中并且该标签具有与由该表示所表示的数据对象或其重构的逻辑关联。这允许跨标签和相应的表示两者来进行学习。可视化例程系统具有用户可用的五个不同的可视化例程。在学习算法于sequence_data形式的原始数据上运行之前,这些例程中的第一个例程允许用户看见此数据。序列数据对象由与用户所选择的在其上执行学习的训练图像的数量相等的多个列组成。每一列表示训练集中的一张图像。已将图像从2D、多通道颜色像素阵列拆成1维的阵列。通过执行被称为奇异值分解(SVD)的数学变换进一步预处理该阵列。这将图像变换成一个基集,该基集根据存储在每个基(或模式)中的信息量排序。一旦处于这种格式中,图像可以因此通过仅保留这些模式中的前N个模式而被压缩。例如,当使用SVD时,CIFAR图像(32*32个像素*3个颜色通道=3072个元素长度)可以被压缩成300个元素长度阵列,而不会丢失太多的图像信息。序列数据对象是HDL软件框架学习算法所接受的一种特殊数据格式。可以通过合适的编码器(为HDL软件框架提供MNIST和CIFAR编码器)将任何类型的数据编码到此格式中。HDL软件框架可视化集中的第一可视化例程帮助用户理解sequence_data矩阵的格式。这在图13中被示出。第二可视化例程允许用户查看已经被学习的相当大数量的字典原子。还示出了使用此字典对原始数据的重构以及这些原始数据(地面实况)自身,从而由眼睛估计该重构过程进行的如何之好。这在图14中被示出。如果选择包含仿生标签信息的字典,这些仿生标签也将会被显示在此图中。如果每个重构存在多于3个的原子(如果是这种情况的话,符号>>#被显示在数字之前),在重构上方显示的数字指示或者所使用的原子的索引(如果数字是在方括号中)或者所使用的原子的数量。平均稀疏度(每个重构所使用的平均原子数)连同所使用的字典文件的名字也被显示在绘图的标题中。第三可视化允许用户进一步近距离地查看重构、以及原始数据和在重构中使用的多达三个的原子这三者。图15示出了起作用的这个可视化例程的示例。组合以形成重构的这些原子被排序,从而使得具有最高绝对量权重的那些原子被示于图中。原子的索引以及权重被示出在原子自身上方。第四可视化示出了在学习过程中的目标函数下降。这给出了用户关于算法是如何基于最佳解收敛的想法。目标函数下降的功能形式针对不同的求解器和数据类型可以是非常不同的并且从研究角度看其对于探索是很有趣的。此绘图的另一个用途是确定目标函数下降收敛得多快,从而帮助用户确定是否需要或多或少有侵略性的退出阈值。在图16中示出了此可视化输出的示例。第五可视化允许用户可视化由标签类别分类的W个矩阵。这给出了数据的“指纹”并且对检查而言是有趣的。如果关联可以由裸眼所见,分类器应该工作得很好。在图17中示出了此可视化例程的示例。分类集HDL软件框架的稀疏编码组件具有三种内置分类器类型:·标准分类:将W个矩阵值提供到已分类的分类器集中·使用像素级的仿生标签图像修复·作为已分类的分类器集的输入的仿生标签图像修复现在将更加详细地描述这些分类例程中的每一个分类例程。使用W矩阵的标准分类这些W矩阵是用于表示每张具体输入图像的字典原子的权重。可以认为该W阵列是关于稀疏基(字典)的输入图像的表示。此W阵列有时也被称作特征向量。每张图像具有一个W阵列,该W阵列是在学习过程中被发现的。此W阵列可以与伴随输入图像的分类标签一起用作输入数据来训练分类器。为了测试经训练的分类器,使用该稀疏基重构测试图像(此步骤也被称作压缩传感)并且其产生的W测试阵列连同在训练数据上学习到的分类器模型被发送至分类器预测例程中。使用像素级的仿生标签图像修复稀疏编码组件与特殊“标签图像修复”程序一起。当已经使用包括仿生标签组件的学习字典重构测试图像时,仿生标签被图像修复于所产生的重构中。由于在稀疏编码组件中使用的仿生标签具有特殊区域,其中,针对每个类像素被强烈地上色(并且不重叠),通过查看对应于标签类别的每个图像修复区域的像素级该仿生标签的重构可以用作直接分类器。具有最高像素级的区域是针对那个测试图像的预测标签。图18中示出了在MNIST测试集上的图像修复仿生标签的示例。注意到,输入测试数据不具有定义的仿生标签。作为已分类的分类器集的输入的仿生标签图像修复如上述提取的这些像素级还可以形成数据,这些数据可以用于训练标准分类器模型(这类似于第一项分类技术,但是相反于使用W矩阵而使用仿生标签像素信息)。在这种情况下,来自每个“标签区域”的像素被询问以确定其级,并且所产生的长度为10的向量被发送至分类器中作为输入训练数据。为了测试分类器的预测,来自测试仿生标签重构中的这些像素级的长度为10的向量被提供,并且分类器将从此信息中生成标签预测。应当注意的是,仿生标签图像修复方法固有地支持多标签分配。然而,以上这些分类方法可以根据数据是否具有互斥的标签类别或者数据是否是否具有在它们之间存在关联的多标签类别而不同地表现。实验结果创建该框架背后的一个动机是开放式研究问题,关于从L1-范数转到L0-范数对稀疏编码具有什么影响。在所研究的这两个数据集上的发现是在重构为稀疏的极限情况中(在重构中使用较少数量的原子),针对CIFAR和MNIST数据集两者,相比于L1-范数稀疏编码,L0-范数稀疏编码需要约一半的原子以获得相同的重构误差(参见图19在MNIST上的结果——CIFAR类似)。这是显著提高。使用稀疏编码单层网络在MNIST和CIFAR上重新创建已知的最先进的L1-范数分类结果。在图20A-图20D中示出的是针对来自在斯坦福的安德鲁·Ng(Andrew·Ng)团队的MNIST根据正则化参数的分类结果和使用HDL软件框架稀疏编码组件获得的结果。分类程序的这些绝对值中的差异起因于对图像数据进行预处理的方式中的差异——本技术较大程度地压缩了初始训练数据,这种程度最低限度地降低了分类准确度。在图20B中,可以看到稀疏编码组件在每张图像50个原子的最大值处饱和,而Ng结果(图20D)在每张图像约260个原子处饱和。在此的主要结果在于图20A中的曲线形状(稀疏编码组件结果)与图20C中的曲线形状(Ng结果)是相同的,具有近似相同的最大分类准确度(97.1%vs.96.5%)。两种版本的稀疏编码被实现:一个版本是通用的(L1-范数),而需要求解分类量子硬件问题的一个版本被设计成用于求解(L0-范数)。这样做,这两个算法的最先进的实现方式被生成,在非监督学习方法的前沿处提供能力。在两个学术数据集(MNIST和CIFAR-10)上分析这些方法的性能,并且根据重构误差发现L0-范数版本在关键度量标准——稀疏度中是优越的。HDL软件框架用户界面本说明书的这个部分介绍使用上述HDL软件框架进行安装、配置并执行数据分析。图21至图32展示了用户界面的多个方面。Python安装首先,安装Python(例如,Python2.7)。PythonIDE也被推荐与此代码一起使用,尽管在IDE不可用时可以从Windows命令行执行该代码。安装需要的安装包若干第三方库也用于该稀疏编码组件以进行操作。此处是安装包列表。每个安装包应当被下载并被安装到用户的机器上。所有这些安装包被包括在“安装包”文件夹中,其通常与HDL软件框架源代码一起运送。Python2.7AkmaxsatSolver-1.0.0Python2.7cloud-2.7.1Python2.7cvxopt-1.1.5(64bit)Python2.7D-WaveOneSolverAPIclient1.5.0-alpha(64bit)Python2.7matplotlib-1.2.0(64-bit)Python2.7MetslibTabuSolver-1.0.0Python2.7numpy-1.6.2MKL(64-bit)Python2.7opencv-2.4.2(64-bit)Python2.7PIL(pillow)1.1.7(64-bit)Python2.7scikit-learn-0.13(64-bit)Python2.7scipy-0.11.0(64-bit)Python2.7wxPython2.8.12.1(64-bit)CPLEX(许可要求的)介绍HDL软件框架CLI为了运行稀疏编码组件,运行butterfly_cli.py。这可以从PythonIDE或者从如图21所示的命令行来运行。这些条应当显示你自己的本地文件路径。一旦运行此Python文件,HDL软件框架稀疏编码组件命令行界面(CLI)被呈现。将向用户打印多个选项以供选择。这在图22中示出。所有HDL软件框架命令是形式“-”(破折号)跟随速记符号的关键词用于程序运行。这些选项是:·“-i”:初始化HDL软件框架系统·“-v”:验证我的当前设置·“-reset”:重置parameters.txt文件为出厂默认·“-en”:将所选择的数据集(MNIST或CIFAR)训练数据编码成序列数据对象·“-sc”:运行稀疏编码·“-rs”:打印稀疏度、重构误差和挂钟时间的结果表·“-v1”:可视化经编码的序列数据·“-v2”:可视化大量的字典原子和重构·“-v3”:可视化少量的地面实况、它们的重构以及制造它们的这些字典原子·“-v4”:针对具体字典学习运行可视化目标函数的下降·“-v5”:可视化由标签类别分类的W矩阵·“-rsts”:计算并打印测试集上的重构误差·“-v2ts”:可视化测试集的字典原子和重构·“-clf”:在稀疏地编码的MNIST或CIFAR数据集上运行分类·“-clfbio”:运行特殊用途仿生标签分类器·“-h”:打印帮助·“-e”:退出注意不必在关键词周围键入引号以便运行命令。初始化HDL软件框架的稀疏编码组件一旦用户已经加载好CLI,有待键入的第一个命令是-i。这将初始化系统。将在源代码所处的根目录下创建文件夹结构,并且训练数据将从互联网中被下载并被解压缩就绪用于训练。MNIST图像数据和CIFAR数据被自动检索。注意到,可能需要对来自CIFAR源的数据手动地进行两次解压缩(其既是gzip格式的又是tar格式的)并且这些原始文件被移入CIFAR_data文件夹中。此外,可能需要从安装包文件夹将bio_labels_2_mnist和bio_labels_2_cifar文件夹分别移动或拷贝到MNIST和CIFAR数据文件夹中。图23展示了一旦这个过程完成了,CIFAR_data文件夹应当看起来像什么。默认的parameters.txt文件将被创建,其中,所有参数被初始化为它们的默认值。在任何时候,用户可以选择从稀疏编码组件界面使用命令-reset将parameters.txt重置为默认值。用户还可以在任何时候键入-h来弹出帮助文件。介绍parameters.txt文件用户与HDL软件框架系统进行交互的主要方式是指定多个参数并且然后在CLI中运行这些选项中的一者。如图24所示,为了调整参数,用户应当在文本编辑器中打开该parameters.txt文件。接着,修改与该有待改变的参数相关联的值并且然后保存文件。图24中列出的这些参数解释如下:K此参数指定用于形成字典的原子的数量。在范围50-500中的值是典型的。lambda_value这是正则化参数。lambda被设置得越高,针对包括在重构中的每个原子将有更多的罚分,并且重构将会更稀疏。lambda的效果取决于数据集的大小、字典原子的数量以及你正使用的求解器类型。针对MNIST,在范围0.001-0.1中的值是典型的。unlabeled_solver_flag选择有待使用的求解器。这些选项是:2:“黑盒+VESUVIUS”(即,黑盒和量子处理器)4:“METSTABU”5:“CPLEX”6:“AKMAXSAT”9:“黑盒+仿真器”10:“FSS”除FSS之外的所有求解器使用L0正则化(二值权重乘以字典原子)。FSS使用L1正则化(实值权重乘以字典原子)。推荐使用或者选项4(针对L0)或者选项10(针对L1)。use_cloud将工作设置成本地地(use_cloud=假)或者通过PiCloud界面在云上(use_cloud=真)运行中的任一者。如果用户希望在云上运行工作,那么用户将需要创建云账号。注意到,如果用户在云上运行工作,用户将仍能够本地地访问数据。数据集选择有待调查的数据。当前的选项是“mnist”或“cifar”,但是其他数据可以被使用。仿生标签此标记通知HDL软件框架将仿生标签附加到输入训练数据上。接受值为“真”或“假”。local_verbose这是一个标记,该标记在用户希望随着编码和学习继续更紧密地监控运行时创建附加的可任选的打印输出于命令行界面。接受值为“真”或“假”。blackbox_num_reads指定在每个禁忌步骤处从量子计算硬件得到的读取数量。该值越高,优化将会越好,但是运行将进行得更久。将此数设置为零(0)去掉了最大邻域局部搜索机制并且使黑盒等效于禁忌搜索的类型。默认值是1,000。在范围100-10,000中的值是典型的。cplex_to_global_optimality如果此布尔值为真,并且用户已经安装了CPLEX,那么求解器将运行通过这些学习例程并且在每个步骤处证明该全局最优解(最可能的答案)已经被实现了。这在希望具有基准的情况下是有用的,通过该基准以比较这些启发式求解器。注意到,针对全局最优性运行CPLEX会花费较长的时间,尤其是在K较大的情况中。如果此变量被设置为假,在unlabeled_solver_timeout(参见以下)超时之后CPLEX退出。unlabeled_solver_timeoutMETSLIBTABU、CPLEX和AKMAXSAT求解器可以全部被给予求解器超时。这是毫秒级的时间,在该时间之后它们必须返回其找到的最佳答案。这是必要的,因为不存在一种方式来检查启发式求解器是否已经返回了最优答案。在此,在范围5-100ms中的值是典型的。超时越久,针对较大运行的优化越好,然而,其也将增加运行花费的时间。time_by_iterations_for_tabu这是布尔值,该布尔值如果为真则要求禁忌搜索算法在已经执行特定数量的禁忌迭代之后退出,而不是在特定的毫秒级超时之后退出。tabu_random_tie_breaking这是布尔值,该布尔值分辨该禁忌搜索算法是否是随机地打破多个连结。看起来似乎当此值为真时,禁忌优化更好。tabu_iterations_in_roll这是在初始下降阶段过程中每QUBO优化禁忌搜索执行的迭代的最大数量。tabu_iterations_after_roll这是在初始下降阶段之后禁忌搜索执行的迭代的最大数量。search_depth类似TABU的求解器具有初始阶段,其中,其可以在停在最佳位置上之前尝试许多不同的随机起点以运行主学习算法。搜索深度是这些初始测试(被称为卷)运行的迭代次数。如果使用L1-范数版本,将此值设置为1。number_of_rolls与搜索深度有关,用户可以指定不同随机起点的数量使得算法将进行调查以便在开始主运行之前寻找解看起来最有希望的区域。在范围1-20中的值是典型的。注意到,针对L1版本,number_of_rolls应当始终被设置为1,因为L1算法始终收敛于同一答案。exit_threshold当目标函数在迭代中减少的量小于此值时,算法停止并且结果被保存。将退出阈值设置得更高将意味着算法存在得更快,但是所找到的答案可能不太好。在范围0.01-10中的值针对MNIST是典型的,尽管此参数主要依赖于图像数量、lambda以及所使用的求解器类型。实际上,用户可以开始运行并且观察目标函数下降以获得感觉关于该exit_threshold应当为多少。环境此参数指定关于HDL软件框架使用的云上的环境(Python安装包被安装于其中)。环境名称应当在云账号创建过程中被创建并且通常随后不被更改。map_jobs_bundle_size当在云上运行时,此参数指定多少工作“被捆绑在一起”。这些工作一个接一个串行地运行。根据每个单独的工作的难度,将每个工作发送到云上的单独核中会是低效率的,因为相比创建核所涉及的开销时间这些工作经常完成得更加迅速。由此,多个工作被捆绑在一起从而使得在云上的核使用是最大程度高效率的。典型值在范围500-5,000中,尽管这主要取决于K、训练集中的对象数量、你希望在其上运行的核数量以及所使用的求解器。number_of_training_images_to_grab这指定了你希望使用以用于运行的训练数据的子集。在一些实现方式中,MNIST在训练集中具有最多59,999个数据对象,因此如果数据集是“mnist”则用户可以从1-59,999设置值。如当前所实现的,CIFAR具有最多10,000张图像,因此如果数据集是“cifar”则用户可以从1-10,000设置值。注意到,当用户习惯使用HDL软件框架时,建议使用少量的数据点来试验各个特征(100是很好的折中)。然而,一旦用户希望产生学术结果或工业标准结果,使用完全的数据集是必要的。number_of_svd_modes_to_keep在运行任何一种类型的稀疏编码之前,我们首先通过执行奇异值分解(SVD)来降低原始数据的维数。所保持的SVD模式的数量可以在MNIST的情况中被设置为从1到784并且在CIFAR的情况中被设置为从1到3072,但是记住的是它无法被设置成大于number_of_training_images_to_grab,否则SVD过程将不能工作。可以通过25-50种SVD模式很好地再现MNIST原始图像。可以通过250-400种SVD模式很好地再现CIFAR数据集。run_name这是用户可以添加以便区分运行的名字对象,这使得它们能够容易地回忆哪个数据集是哪个。例如,用户可以将此名字设置成当前日期和运行时间、或者当前用户的名字。当HDL软件框架保存运行结果时,在运行时间处,文件名的前几个字符被设置为parameters.txt中的run_name。VerifyingParameterSettings为了检查用户已经正确地创建了parameters.txt文件,保存该文件并且然后在HDL软件框架CLI中运行-v命令。这将运行通过在这些参数设置上的一系列检查。在参数的组合上存在某些约束,例如,你无法使number_of_svd_modes_to_keep大于number_of_training_images_to_grab。如果界面发现错误,其将打印示出什么被做错了的列表。将单独地列出每个错误。用户可能需要修改parameters.txt以便解决这些错误、保存文件并尝试再次运行-v。如果所有这些错误被修复了,CLI将而是打印出关于这些运行参数的信息。数据编码为了将MNIST和CIFAR数据集转换成可由HDL软件框架识别的形式,这些图像必须被编码成sequence_data对象。这个过程被称作编码并且是用户在尝试任何机器学习之前将对数据做的第一件事。编码是一种采取各种不同文件格式的数据并将它们转换成在HDL软件框架中使用的标准矩阵形式的方式。当选择数据集时,在编码之前执行附加压缩步骤。这是因为这些原始像素数据经常可以被压缩而不损失太多质量,类似于在其中位图可以被转换成具有更小文件大小的JEPG格式的方式。在压缩之前,MNIST数据的原始维数(在x个颜色通道的图像中的像素数)为784(而CIFAR为3072)通过HDL软件框架的稀疏编码组件执行的压缩被称为SVD(奇异值分解),并且用户可以通过设置参数number_of_svd_modes_to_keep而选择有待使用的压缩比。一旦MNIST或CIFAR数据已经被变换成SVD表示,其然后被HDL软件框架编码成准备送至学习算法中的2D值矩阵。用户键入-en以编码数据。sequence_data(也称为seq_data)对象被存储为用户的learning_data/MNIST_training或learning_data/CIFAR_training字典中的文件。来自SVD步骤中的附加文件也被保存。本地运行稀疏编码当用户运行编码器和稀疏编码时所有文件将默认地保存在本地。然而,如果用户将use_cloud设置为真,文件还将被复制到云上。建议用户在使用云用于更大的运行之前从本地运行开始以测试任何运行是以较小的number_of_training_images_to_grab工作。在用户已经运行-en之后,为了本地地运行稀疏编码,简单地键入-sc并点击确认。如果用户已经忘记运行–en,CLI将通知用户其无法找到有效的序列数据文件并且将提示用户运行编码器。因为稀疏编码是耗时的过程,所以稀疏编码组件在试着运行此命令之前自动地检查这些设置。实际上,其在运行稀疏编码之前静静地运行–v(较早前描述的相同验证脚本)以检查没有错误。如果发现错误,其将提示用户运行–v并首先固定该错误(参见图25)。一旦稀疏编码正在运行,用户将看到代码执行多次迭代。这个过程根据这些设置会花费很长的时间来完成,但是显示“在列#0处”的打印输出意味着稀疏编码正在正确地运行着。图26示出了当用户运行-sc时期待的结果。例如,如果算法看起来正在执行大量的迭代(>150),用户可能希望检查目标函数每次下降的量——该算法直到差异降到exit_threshold以下才退出。当稀疏编码例程结束时,程序应当返回至主菜单提示。该程序将已经将运行保存为学习后的字典(前缀为D_)以及权重集(前缀为W_)。这可以在learning_data/mnist(或cifar)_training/文件夹中被找到。HDL软件框架还将保存目标函数下降文件(前缀为obj_func_val_)以及挂钟时间文件(前缀为wallclock_time_)。运行可视化例程一旦稀疏编码已经运行,用户可以访问可视化工具集。为了运行这些,用户键入-v1、-v2、-v3、-v4或-v5。用户将被提示关于他们是否希望使用当前设置。如果用户键入“y”,parameters.txt文件中的值将被使用。这意味着被执行的最后的稀疏编码运行是被可视化的那个。注意到,如果你改变parameters.txt并且然后试着使用这些当前参数重新运行可视化,系统将提示你首先重新运行编码器和稀疏编码。如果用户选择“n”,系统加载选项列表用于绘制数据。存在使用之前的运行已经学习到的数据集。用户可以通过以与其相关联的数字(在每个选项的左边示出)键入而选择之前的数据集。可视化还在图形的标题中具有文件名,以便进一步分清哪个数据来自哪个运行。一旦数字被选择,(或如果使用当前设置选了“y”),不久之后,该可视化将出现在弹出窗口中。如果用户希望使用图形窗口菜单选项,他们可以将图形保存为图像。图形不是自动保存的。为了在可视化之后返回至HDL软件框架CLI,关闭图形窗口。打印输出运行的关键结果除了可视化集,用户可以键入-rs以打印输出便携式运行结果表。这可以在用户正运行许多实验并希望在每次参数被改变并且学习重新运行时记录某些值的情况中是有用的。结果列表的示例示于图27中。在测试集上运行重构在运行字典学习过程之后,用户可以选择在测试集上运行重构过程。这将使用已发现的字典来在那个字典的基中写入测试图像。此过程也被称作压缩传感。在分类例程可以开始之前要求重构测试集。为了在测试集上运行重构,用户应当键入–rsts。此例程将打印输出测试集上的重构误差,并且还将W测试矩阵保存到learning_data/MNIST(或CIFAR)_training件夹中。注意到,因为重构需要求解优化问题,重构过程根据用户的设置可能会花费一些时间来执行。在代码将要运行之前,将提示你检查你在parameters.txt中的lambda是否匹配来自所保存的你希望将其用于重构的字典中的那些。运行测试集重构的可视化一旦已经运行–rsts,测试集可视化例程变成可用的。运行–v2ts或者-v3ts将产生v2和v3绘图,但是使用测试集数据而不是训练数据。如果重构包括仿生标签,这将自动地示于图中。注意到,这些测试图像自身不携带仿生标签,因此在-v2ts和-v3ts中,在地面实况图像下面的区域(其中,针对训练集图像将找到仿生标签)被刻意地留白。运行分类例程为了运行标准分类例程,用户应当键入–clf。注意到,为了运行分类器,系统必须访问W测试矩阵,即,用户必须首先在测试集上运行重构(-rsts)。HDL软件框架将自动地检测W矩阵、W测试矩阵以及训练和测试标签,并且将在这些输入上运行一系列分类器。为了运行特殊仿生标签分类器,用户应当键入–clfbio。将存在仿生标签像素级分类器(返回一个分类结果)与仿生标签图像修复作为已分类的分类器集的输入(在标准分类器情况中返回若干分类结果)之间的选择。注意到,此选项可能仅在用户已经学习了具有可用仿生标签的字典的情况下是可获得的。在云上运行如果用户希望在云上执行运行,那么用户将需要创建Picloud账号。为了将工作提交至云,简单地将parameters.txt中的use_cloud标记设置等于“真”当你运行–sc(稀疏编码)时,工作现在将被送至云。一旦稀疏编码正在运行,在本地Python窗口中将不存在打印输出。为了监控进度,用户将需要访问picloud工作页面。为了查看当前工作,点击在界面面板(图28)的左手侧上的工作(“Jobs”)栏标。正在运行的工作应当是可见的。为了查看云上的Python打印输出,点击主工作。这将是在状态栏(“status”在图29中示出)具有轮齿的那个。点击工作ID(在图29中被突出显示)以便访问对应于那个工作的页面。现在可以通过向下滚至被命名为“标准输出”(“StandardOutput”)的区域(在图30中示出)而查看打印输出。当工作本地运行时,该打印输出应当类似于在命令行界面上所看到的那个。为了检查map_jobs_bundle_size被正确地设置,下滚至在cloud.map提交下方的打印输出。在此,用户将发现打印输出示出了每个工作在云上运行花费的时间。这在图30中被突出显示。这个数字应该在10左右(例如,每个工作10秒)以便最高效地使用这些云核。如果此值不接近于10,用户可能需要改变map_jobsbundle_size。在此,该值为2.4,因此map_jobsbundle_size针对最优云使用已经被设置得太低。随着云工作继续,用户将看到更多工作被孵化。这在图31中被示出。针对每个映射,这些完成的工作将被示出为工作总数的一小部分。这些卷(较早前所描述的)与主学习例程分开地孵化多个进程。图32中示出了被孵化的不同类型的工作的分解图。完成的工作被显示在靠近它们处具有勾号符号。如果用户正运行较大的工作(例如,多于10,000张训练图像),建议用户保留实时多核以使工作高效地运行。为了保留实时多核,点击“实时多核”(“RealtimeCores”)栏标并且选择“核类型:f2”以及然后用户希望保留实时多核的小时数(图33)。注意:如果用户不确定将实时多核保留多久,用户可以将它们保留一个小时以测试任何事都在恰当地工作。一旦这些工作运行,有可能增加更多时间。一旦实时多核是有效的,以与将使“use_cloud”被设置为真的正常运行完全相同的方式准确地运行代码。Picloud将自动地检测用户具有可用的实时多核并且优先地使用那些。现代机器学习中的一个改变是从具有有限能力的特殊用途工具(如垃圾邮件过滤器)转变到或许能够像人类一样形成从一个主题到另一个主题的概念的架构。驱动此改变的这些创新中的一者是移向固有地层次化的学习系统。在这些系统中,复杂概念由较简单的概念构建而成。例如,在计算机视觉任务中,能够重新使用简单的视觉特征(如边缘)来表示更复杂的对象可能是有用的,这些复杂对象是由边缘形成的,但是可能语义上相当不同(如人脸和汽车车轮)。这些被称作深度学习系统。稀疏编码是相关途径族,其目标是发现多种方式来简明地表示数据。稀疏编码可以用于在非监督设置中发现数据中尤其有意义的特殊模式。稀疏编码还可以用于发现多种方式来以压缩的方式表示或编码数据。稀疏编码可以自然地用于学习数据中的多个规模处的特征的层次。稀疏编码算法可以在常规计算机(即,数字计算机)上或者本地地或者在云计算系统上或者使用量子处理器来运行。稀疏编码算法可以在常规处理器和/或量子处理器的任何组合上运行。根据本系统和方法实现的稀疏编码算法的一些变体包括L1-正则化稀疏编码、二值稀疏编码和具有结构化字典的二值稀疏编码。在稀疏编码程序中,二值稀疏编码可以将这些权重从实值数字改变成二值数字。具有结构化字典的二值稀疏编码可能以使得由该算法生成的二值优化问题全部具有给定量子处理器的精确连通性结构的方式约束稀疏编码学习的这些模式。二值稀疏编码可以生成完全连通的QUBO并且介入翻译器可以用于将这些QUBO映射到可以在量子硬件中被固有地求解的问题中。例如,在PCT专利公开2013-006836中描述了这类翻译器。具有结构化字典的二值稀疏编码可以修改二值稀疏编码从而使得其仅生成可以由量子硬件固有地求解的问题。在此,通过直接以其最有效的形式使用的量子硬件而获得优点。该想法在于构造稀疏编码学习的模式,从而使得它们中的许多是正交的。稀疏编码可以应用于许多不同类型的数据。在以下呈现的讨论中,聚焦于来自三个不同源——MNIST、CIFAR-10和独立开发的自然图像数据集的图像数据。稀疏编码可以应用于许多不同的数据类型。出于解释目的,焦点在于本披露中的图像数据,尽管若干其他数据类型(具体地,音频和视频)也可以被利用。在运行稀疏编码之前,原始图像会被预处理。根据本系统和方法,用于预处理原始图像的某些非限制性选项可以是:选项#1-具有亮度和对比度归一化的原始像素值:计算每个图像块中的像素值的平均值和标准偏差,并且像素值被修改以减去平均值(亮度归一化)并除以标准偏差(对比度归一化)。针对RGB图像,这些操作中的每一项单独地在每个颜色通道上执行。选项#2-ZCA白化:此选项采取已经经历了亮度和对比度归一化的数据并且对其应用ZCA白化操作。ZCA白化对数据对象中的这些像素值进行去相关,使得其协方差矩阵等于恒等矩阵。从概念上讲,此去掉相关性允许稀疏编码程序聚焦于学习这些经处理的数据对象中的较不明显的特征。在零相成分分析(ZCA)中给出了关于ZCA的更多信息,参见贝尔(Bell)和斯基(Sejnowski),1997“自然场景的‘独立成分’是边缘滤波器(The‘independentcomponents’ofnaturalscenesareedgefilters)”视觉研究,第37卷,第23号,第3327—3338页。选项#3-使用PCA进行降维:主成分分析(PCA),已知的数学技术。此选项使用奇异值分解确定数据的主成分(后亮度和对比度归一化)。该选项然后允许用户选择保留这些主成分中的多少。此程序允许在具有损耗的代价上降低输入数据向量的维数。尽管当主成分的重要部分被扔掉,对图像而言,良好的保真度通常可以被维持。选项#4-具有白化操作的PCA:此选项与选项#3相同,其中,增添了对数据对象的条目进行去相关的白化操作。第j个数据对象是Nx1的实数列向量,对应于在应用了之前所描述的这些预处理动作中的一项之后的单张图像或图像块。所使用的数据对象的总数可以被定义为S,将所有这些数据对象连结成单个NxS的矩阵X,该矩阵X被称作数据矩阵,其第j列是第j个字典原子可以是(初始未知的)Nx1实数列向量。字典原子的总数可以被定义为K,将所有这些字典原子连结成单个NxK的矩阵D,该矩阵D被称作字典,其第j列是第j个权重向量是(初始未知的)Kx1的列向量,其可以根据正在运行的稀疏编码变体由实值的或者二值的数字组成。总共可以有S个权重向量。将所有这些权重向量连结成单个SxK的矩阵W,该矩阵W可以被称作权重矩阵,其第j列可以是Lambda(λ)可以是被称作正则化参数的正实数。Lambda(λ)越大,在每个数据对象的重构中涉及的字典原子可能会越少。现在可以进一步解释之前所描述的稀疏编码的变体。变体#1-L1-正则化稀疏编码:第一稀疏编码变体使用L1-范数正则化实现。有待求解的问题可以是:最小化服从在这种情况下,权重W是实数。“c”也是实数(例如,在此实现方式中设置c=1)。字典大小上的此上边界可以被使用,因为字典原子和权重两者都是实数,并且正则项尝试使这些权重的大小最小化。在没有上边界的情况下,优化将使权重强制为零,同时继续增加字典级以进行补偿。被实现用于求解此最小化问题的一个程序(以及针对这个的算法)也在以上所讨论的HonglakLee等人的论文中被描述了。算法1以下概括了该程序。算法1:1.选择随机初始起始字典D。2.给定那个字典,使用特征符号搜索(FSS)算法寻找最优权重W。3.给定这些权重,使用拉格朗日对偶寻找最优字典。4.重复动作2至动作3直到收敛。将完全优化分成在问题的子集之上进行优化迭代的序列的同时保持这些优化变量中的一些变量固定的这个途径可以被称作坐标块下降。所有稀疏编码变体可以使用此项技术。在这种情况下,原始完全优化问题是非凸的,但是在以上途径中的动作2和动作3两者都是凸的。根据本系统和方法,用户可以选择或者本地地或者在云上运行此程序。在以上程序的动作2中,总共有S个独立的优化问题,针对每个数据对象有一个。因为数字S可以较大(即使针对在此使用的较小图像集,可以使用S~50,000),所以这些优化通过使用云版本可以被并行化。用户可以选择在迭代过程中有待发送至处理器核的问题的数量。变体#2-二值稀疏编码:第二种变体可以求解以下问题:最小化其中,权重W是二值的。在这种情况下,不需要字典值的上边界,因为非零权重具有固定等于1的级。使用二值权重自然地使具有L0形式的正则项对在重构中使用的每个原子罚分相同的量。在算法2中描述了用于执行优化的程序。这类似于在变体#1中使用的程序。然而存在一些重要的差异。首先,在此程序中的目标函数的最终值可能强烈地依赖于初始起始点。针对这个原因可能在于,即使坐标块下降程序的每个阶段是全局最优的,最终结果是该联合优化问题中的局部最小值并且这些局部最小值可以相当远离该联合问题的全局最优值。虽然相同的云适用于变体#1,凭经验来看针对变体#1的起始位置似乎不会显著地影响最终结果。由于初始起点的独立性,可以运行来自不同起点的程序的许多初始迭代(动作2)。如果使用云选项,可以并行地运行这些迭代。一旦这些初始下降动作完成,迄今为止发现的最佳结果可以被保持,并且那个结果继续该迭代过程直到收敛。算法2:1.选择初始起点的总数以及搜索深度P。2.针对每个初始起点:a.选择随机初始起始权重矩阵W。b.给定这些权重,使用拉格朗日对偶寻找最优字典。c.给定那个字典,使用禁忌搜索寻找最优权重W。d.针对P个动作重复动作2b至动作2c。3.一旦针对每个初始起点已经完成动作2:a.选择对应于在初始阶段过程中发现的目标函数的最低值的W,D对子。b.给定这些权重,使用拉格朗日对偶寻找最优字典。c.给定那个字典,使用禁忌搜索寻找最优权重W。d.重复动作3b至动作3c直到收敛。在2b和3b中的字典优化可以类似于在变体#1中使用的那些。在动作2c和3c中,生成S个独立的完全连通QUBO。从概念上讲,在初始下降阶段中对权重的相对差的优化可以被接受,因为即使可能花费很多努力,优化该答案可能在该联合问题的多个不好的局部最优状态中受挫。实际上,在许多情况中,在初始下降过程中减少在对权重的优化中花费的努力可能导致更好的全局优化。变体#3-具有结构化字典的二值稀疏编码:所实现的第三种变体可以求解以下问题:最小化服从针对所有对子i,j其中,G是表示用户指定的连通性的邻接图。权重W是二值的。这些约束强制由该算法生成的优化问题全部具有给定量子处理器的精确连通性结构。在算法3中描述了用于执行优化的程序。算法3输入:1.选择初始起点的总数以及搜索深度P。2.针对每个初始起点:a.选择随机初始起始权重矩阵W。b.选择满足要求的正交性约束的随机初始起始字典D。c.给定当前权重和字典,使用算法4寻找最优字典。d.给定那个字典,使用禁忌搜索或量子硬件寻找最优权重W。e.针对P个动作重复动作2c至动作2d。3.一旦针对每个初始起点已经完成动作2:a.选择对应于在初始阶段过程中发现的目标函数的最低值的对子W,D。b.给定当前权重和字典,使用算法4寻找最优字典(参见以下)。c.给定那个字典,使用禁忌搜索或量子硬件寻找最优权重W。d.重复动作3b至动作3c直到收敛。这类似于算法2,具有三个重要的差异。第一个差异是字典现在是受约束的。寻找最优字典(动作2c和动作3b)现在是非凸优化问题。当通过在动作2d和3d中对这些优化问题进行结构化以匹配硬件的连通性获得一些东西时,作为这个的副产品,一个动作已经被制造,该动作用于简答地成为现在可能较难的那个。若干策略被实现以试着执行此优化。根据本系统和方法的实现方式被示出于算法4中(参见以下)。第二个差异在于这些字典约束对N提出了更低的边界——于其上进行学习的数据向量的长度。可以将N选为大于或等于K,例如,针对在量子硬件上运行的此算法为502。实际上,此限制影响了在预处理动作中可被选择的接受域的大小(例如,接受域必须相当大——针对灰度级至少23x23个像素并且针对RGB至少13x13个像素)以及可被执行的维数降低的量。算法4:1.给定初始权重矩阵W和字典D,执行以下动作:a.使用凯利变换优化D。b.优选地重新调整D的每一列的大小。c.针对D的每一列,寻找那列中的最优条目,保持所有其他列固定。第三个差异是在动作2d和3c中,具有与邻接图G相同的连通性结构(其可以被设置为所使用的量子处理器的邻接图)的S个QUBO被生成。用户可以选择使用禁忌搜索或使用量子处理器来求解这些问题。稀疏编码可以用于通过学习允许分类算法更好地看到对象之间的差异的表示而提高分类任务上的性能。针对图像数据,典范示例为根据它们的语义内容将图像分类为多个类别。针对MNIST,这些类别是这些图像表示的这十个数字。针对CIFAR-10,也存在十个类别:飞机、汽车、鸟、猫、鹿、狗、狐狸、马、轮船和卡车。在一些实现方式中,本系统和方法使用scikit-learnPython分类安装包,其包括许多分类程序的实现方式。本系统和方法的还可以包括半监督图像修复算法(“语义图像修复”),其可以用于分类。MNIST和CIFAR-10两个数据集都是带标签的。两者因此可以在计算分类准确度的过程中用作管线结束的一部分。根据本系统和方法的示例管线被给出如下:1.用户选择数据集,例如,MNIST、CIFAR-10等。2.用户选择预处理选项,例如,接受域和预处理选项。a.预处理选项包括:空操作、亮度和对比度归一化、ZCA白化、保留N个主成分以降维的PCA、维数降低加白化。3.系统然后计算数据矩阵X。4.用户然后选择使用哪种稀疏编码算法以及相关联的超参数来在X之上学习字典。a.选项包括:L1-正则化稀疏编码、二值稀疏编码、具有结构化字典的二值稀疏编码、在软件中运行的具有结构化字典的二值稀疏编码、在硬件中运行的具有结构化字典的二值稀疏编码。b.超参数包括:禁忌参数、正则化参数(1)、字典原子的总数(K)。5.系统然后在这些图像块之上学习字典。6.用户选择使用哪种稀疏编码算法和相关联的超参数来使用该字典编码所选择的数据集的训练集和测试集。a.选项包括:L1-正则化稀疏编码、二值稀疏编码、具有结构化字典的二值稀疏编码、在软件中运行的具有结构化字典的二值稀疏编码、在硬件中运行的具有结构化字典的二值稀疏编码。b.超参数包括:禁忌参数、正则化参数(1)、字典原子的总数(K)。7.系统然后编码这些训练图像并且在一些实施例中编码这些训练和测试图像。8.用户选择分类算法及其超参数。a.选项包括:针对在scikit-learn中的分类器选择这些选项中的一者或者使用基于图像修复的分类器。9.系统在经编码的数据之上学习分类器。系统返回分类并且在一些实施例中返回分类以及一个或多个分类器的性能。在稀疏编码组件中,稀疏编码扮演此管线中的两个重要角色。第一个角色是其用于学习字典——用于表示图像块的基。第二个角色是其用于使用之前学习的字典编码还未看见的数据。该稀疏编码组件图像编码程序:稀疏编码组件允许用户选择任意的接受域(尽管注意到,针对BSD算法,接受域必须足够大以生成维数至少与字典原子的数量一样大的数据对象)。如果接受域小于被分类的图像的大小,那么在该图像中存在许多不同的图像块并且每个图像块具有一个编码。这些经编码的图像可以用于表示它们来自于其中的图像。选择如何操作这个影响所生成的分类器的质量。君主实现了编码方案,该编码方案首先要求用户选择如何分割数据集中的图像。此分割将图像“劈”成若干不相交的相同大小的区域。最佳允许分割将图像分成与接受域大小相同的多个非重叠区域。最粗糙允许分割是图像的原始大小。例如,图像可以被分割成四个区域。在完成此选择之后,使用之前学习的字典编码在每个区域中的接受域大小的每个子区域。例如,一个这样的编码为其中的块具有接受域的大小。通过1个像素步骤在整个区域上扫描接受域(这是编码器与区域的卷积)。一旦这个步骤完成,稀疏编码组件实现池化程序,该池化步骤接收来自每个区域中的编码中的所有向量并将它们映射成单个向量,该单个向量然后表示该区域。存在被实现用于进行此池化的可由用户从中选择的四个选项。它们是:1.不池化。在这种情况下,在区域中所有经编码的向量被连结在一起。2.平均池化。表示该区域的经编码的向量具有通过对这些子区域向量的成分取平均计算得到的实值成分。3.最大池化。表示该区域的经编码的向量具有对应于这些子区域向量中的每一个的最大幅值的实值成分。4.二值池化。表示该区域的经编码的向量具有对应于这些子区域向量中的每一个的最大值的二值成分。注意到,以上的选项4针对L1-正则化变体是不可用的,而选项2和选项3针对二值变体是不可用的。通过连结来自这些区域的每个区域的向量获得图像的最终经编码的表示。此最终经编码的表示然后被提供给管线中的下一个动作,下一个动作将对其应用分类算法。分类算法:稀疏编码组件可访问scikit-learn安装包中的所有分类算法。此外,基于图像修复的分类器已经被实现,其以不同的方式针对scikit-learn分类器进行操作。以下描述的是被输入到不同分类器中的数据类型。scikit-learn分类输入:针对scikit-learn中的所有分类算法,表示图像的输入向量是使用在前面部分中描述的程序获得的向量。针对MNIST和CIFAR-10两者,呈现给这些算法的标签是在范围(0,9)中的整数。语义图像修复程序:稀疏编码组件基于图像修复语义信息实现了分类算法。目前,此程序仅在接受域为整张图像大小时被启用,但是有可能扩展此概念至接受域小于原始图像的情况。该程序通过向在训练集中的每张图像附加表示其语义类别的图像而不是类别标签的图像而工作。即,将表示图像的语义内容的典范版本的真实图像附加于图像而不是使用符号表示(如整数5)来表示图像的类别。类似于QR代码的精神,在稀疏编码组件中,这些语义图像是其位置表示类别的有色彩的正方形,其中,白色正方形用于MNIST而黄色正方形用于CIFAR-10。字典学习程序然后在训练集中的这些图像之上学习特征字典,该训练集包括与表示其语义内容的图像连结在一起的原始图像。然后使用在原始图像之上学习的字典的部分编码测试图像,并且表示标签部分地部分被修复。在稀疏编码组件中针对MNIST和CIFAR-10表示语义内容的这些图像可以具有特殊区域,其中,这些像素针对每个类被强烈地上色(并且不重叠)。通过查看对应于标签类别的每个经修复的区域的像素级,该经修复的语义部分可以用作直接分类器。在一些实现方式中,具有最高像素级的区域是针对那个测试图像的预测标签。如上述提取的这些像素级还可以形成多个表示,这些表示可以用于训练标准scikit-learn分类器模型。这类似于第一项分类技术,但使用了来自语义图像部分的像素值。在这种情况下,来自每个“标签区域”的像素被询问以确定其级,并且所产生的向量与图像类别的符号表示一起被送至分类器中作为输入训练数据。这些图像修复方法固有地支持多标签分配。然而,以上这些分类方法可以根据数据是否具有互斥的标签类别或者数据是否是否具有在它们之间存在关联的多标签类别而不同地表现。稀疏编码组件具有用户可用的五个不同的可视化例程。可视化1:这些可视化例程中的第一个例程允许用户看到所使用的预处理选项对输入图像数据的效果。这允许进行给定用户希望实现的那些在预处理动作中做的选择是合理的快速视觉检查。可视化2:第二可视化例程允许用户查看已经被学习的相当大数量的字典原子。还示出了使用此字典对原始数据的重构以及这些原始数据(地面实况),从而由眼睛估计该重构过程进行的如何之好。如果选择包含语义图像信息的字典,图像加语义内容也将会被显示在此图中。如果每个重构存在多于3个的原子(如果是这种情况的话,符号>>#被显示在数字之前),在重构上方显示的数字指示或者所使用的原子的索引(如果数字是在方括号中)或者所使用的原子的数量。平均稀疏度(每个重构所使用的平均原子数)连同所使用的字典文件的名字也被显示在绘图的标题中。可视化3:第三可视化允许用户进一步查看重构、以及原始数据和在重构中使用的多达三个的原子这三者。组合以形成重构的这些原子被排序,从而使得具有最高绝对量权重的那些原子被示于图中。原子的索引以及权重被示出在原子自身上方。可视化4:第四可视化示出了在学习过程中目标函数下降。这给出了用户关于算法是如何基于最佳解收敛的想法。目标函数下降的功能形式针对不同的求解器和数据类型可以是不同的。此信息可用于确定目标函数下降收敛得多快,从而帮助用户确定是否需要或多或少有侵略性的退出阈值。可视化5:第五可视化允许用户可视化表示经编码的图像的、由标签类别分类的这些向量。这给出了数据的“指纹”。如果关联可以由裸眼所见,分类器应该工作得很好。一个目标是测试在量子计算硬件而非其他替代物上的稀疏编码变体运行。稀疏编码组件的算法包括许多超参数,其设置可显著地影响被测量的是什么量。在一些实现方式中,这些超参数包括:1.图像预处理选项2.字典原子数3.正则化参数4.接受域大小5.禁忌搜索参数6.训练和测试图像编码方案7.分类算法用于在这些参数之上进行搜索的途径是在每个参数之上进行网格搜索并且报告所发现的最佳结果。在所有运行中,针对编码动作使用与在字典学习中使用的那些完全相同的稀疏编码算法和超参数选择。针对所执行的所有测试,发现越大数量的字典原子总是越好。使用512位量子计算机和禁忌搜索两者实现并运行二值结构化字典算法用于在权重之上进行优化。发现以下三个结果:1.为了在权重之上进行优化,在一个模式中运行量子处理器,其中,每个问题实例采取十个样本,将最好的一个用作最小元。每个问题实例这花费约55ms。针对使用50,000个数据对象的典型运行,给定固定的字典,用于求解权重的算法的每次迭代的总时间约为2,750秒。禁忌超时增加直到中间优化质量类似于用在此模式中运行的量子计算机实现的那个质量,并且发现每个问题实例800ms的超时给出了此性能。虽然每个实例这是约15x加速的增益,禁忌搜索方法是可并行化的。实际上,100批500个禁忌实例可以在云上运行,其中,每一批被发送至不同的处理器核,给出约410秒的每迭代运行时间加分配这些工作的开销。因此,在高层次处存在单线程加速,但是量子处理器遭受不支持并行化,这可以用于稀疏编码。2.针对固定的超参数选择,二值结构化字典(BSD)算法的结果质量比不受约束的二值稀疏编码结果系统性地较差。这个性能降级可能由于若干相关问题而出现,包括:(a)对字典的约束导致次优基;(b)给定固定权重寻找最优字典是难非凸优化问题,其中,所使用的算法可能被显著地改进;(c)正交性要求在接受域大小上提出较低的边界,并且至少针对CIFAR-10,较小的接受域尺寸增加了分类准确度(尽管注意到,这可能不是真实自然图像的问题——此问题由于CIFAR-10图像的微小尺寸而出现)。3.针对固定的超参数选择,甚至该程序被实现用于增加禁忌搜索的运行时间之后,针对BSD使用量子计算机比针对BSD使用禁忌搜索的分类的整体质量系统性地更好。针对这个的原因不清楚,尽管注意到增加禁忌搜索的运行时间以使中间性能相同与具有等效的求解器不是一回事。从基准测试研究中得知,量子计算机在每个实例基础上的性能可以不同于竞争算法——即使中间性能相同。量子计算机针对难实例可以提供更好的最小元,这可以导致性能增强。可能的情况是由量子计算机提供的较好的优化可以在编码动作中给出优越的编码性能,并且从科学文献中存在证据显示编码在分类器的性能中扮演了关键角色,可能比字典自身更重要。分类准确度:三种变体在K=512字典原子的所使用的软件而在K=502(等于在所使用的量子芯片上的可用量子位的数量)的所使用的硬件版本中运行。这些是最佳结果,其可以通过改变所有其他超参数以使测试数据集上的分类准确度最大化而获得。注意到,已知在CIFAR-10上最先进的性能需要比在此使用的(通常约为2000个被使用)更多的字典原子。这些测试的目标不是实现最先进的性能(其将需要更多的原子),而是测试这些算法的相对性能。编码效率:在重构稀疏(在重构中使用了少量的原子)的限制中,发现针对CIFAR-10、MNIST和稀疏编码组件的自然图像数据集,二值稀疏编码相比L1-正则化稀疏编码系统性地需要约一半的原子数来获得相同的重构误差。这是表示能力的显著提高,因为不仅可以使用更少的原子来表示图像,而且权重现在是二值的而不是实数。如果实值权重被表示成八位数字(尽管注意到当前其被存储为64位数字,尽管截断至8位不会损害重构太多),表示重构图像所需要的信息量约从k*8减少为(k/2),其中,k是重构过程中的原子数量。这约为使用这两种不同的途径获得相同的重构误差所需要的信息量中的减少值。BSD算法相比其他变体需要更多的原子以针对相同的图像块大小得到相同的重构误差,但是由于这些经编码的向量的位深度中的减少在L1算法之上增益。资源消耗:在硬件中使用BSD针对类似端分类性能发现能量消耗中的戏剧性降低,代价是显著增加时间以及需要访问量子计算系统。硬件上BSD的成本降低原因不在于量子计算系统上的时间成本。这些结果是令人鼓舞的,因为在此通过使用量子计算系统而存在胜利。显然,尽管其看起来明显地优越,会需要在更低成本和更多处理器可用性(以减少挂钟时间)方面中的成熟。应用稀疏编码、使用硬件运行:使用在硬件中运行的BSD算法,一系列概念验证(POC)应用被实现。针对所有这些,使用在502量子位量子处理器上运行的BSD唯一地执行字典学习和编码两者。不像在前面部分中所描述的这些测试,没有在这些测试上执行对BSD性能的系统性比较,并且没有在特定于这些应用的超参数之上进行优化。单张图像超分辨率:稀疏编码组件的自然图像数据集包含5,000张图像,每张固有地大小为640x480个像素。选择这些图像中的一张。然后选择50,000个大小为40x30个像素的随机采样的图像块。图像块的“低清晰度”版本被附加于这些图像块中的每一个图像块,通过应用至高清晰度块的模糊变换而获得。这些合成图像类似于在语义图像修复分类程序中使用的那些。然后在这些合成图像之上学习字典。在字典被学习之后,可以使用字典的低清晰度部分重构图像的低清晰度版本,而高清晰度部分被修复。单张图像修复与异常检测:图像修复是在此所描述的这些系统和方法中使用的一种能力。针对此POC,用于检测并去掉单张图像中的异常特征的应用被实现。如之前的示例,从稀疏编码组件的图像数据集中选择单张图像。然后,从这张图像中在50,000个大小为40x30个像素的随机采样的图像块之上学习字典。然后,图像被修改,引入异常内容。这是通过向图像中添加红色文本而完成的,精神上类似于已知的使用由红色文本遮蔽的海鸥图像的图像修复示例。然后,使用在原始图像之上学习的字典重构该经修改的图像。如之前的示例,对来自重叠重构中的像素值取平均。此重构在去掉一些异常内容上取得成功,因为其无法使用学习后的字典被重构。此程序可用于检测和去掉异常两者——可以通过找到输入图像与其重构之间的差异而获得对图像异常程度的测量。这还可以给出图像中异常的位置。图像去噪:与异常检测和去掉紧密相关的应用是图像去噪。在此POC中,图像是从稀疏编码组件的自然图像数据集中选择的,并且字典是在50,000个大小为40x30个像素的随机采样的图像块之上学习的。随机噪声被添加于图像中,并且该噪声图像使用在原始图像之上学习的字典而被重构。其他可能的应用:存在各种其他可能的POC,这些POC可以在量子硬件上使用稀疏编码而被构件。这些包括在图像中进行压缩(使用稀疏编码提供的压缩表示)和边缘检测。在此所描述的各个实施例提供多种系统和方法用于对数据(例如,图像数据、音频数据等)进行量子处理。于在此所描述的各个实施例中,数字计算机(例如,经典或数字计算机400)可以用于与量子处理器进行交互。量子处理器可以包括多个可编程元件,并且与量子处理器交互可以包括通过向这些可编程元件分配特定值用可编程参数的具体问题公式化和/或配置来编程该量子处理器。与量子处理器交互还可包括演算量子处理器(例如,执行绝热量子计算和/或量子退火)以确定具体问题的解并且从量子处理器中读取该解。前述详细描述已经通过使用框图、示意图和示例陈述了装置和/或过程的各个实施例。就这样的框图、示意图和示例包含一个或多个功能和/或操作的情况而言,本领域的技术人员将理解到,这样的框图、流程图或示例中的每个功能和/或操作均能够由多种硬件、软件、固件或其任意虚拟的组合来单独地或共同地实现。在一个实施例中,可以由特定用途集成电路(ASIC)实现本主题。然而,本领域技术人员将认识到,在此披露的实施例的整体或一部分可以等效地在标准集成电路中实现为在一个或多个计算机上运行的一个或多个计算机程序(例如,在一个或多个计算机系统上运行的一个或多个程序)、在一个或多个控制器(例如,微控制器)上运行的一个或多个程序、在一个或多个处理器(例如,微处理器)上运行的一个或多个程序、固件或以上各项的几乎任何组合,并且根据本披露内容,设计电路系统和/或编写软件和/或固件的代码将是本领域普通技术人员所完全了解的。本领域技术人员将认识到,在此陈述的这些方法或算法中的许多可以采用附加动作、可以省略某些动作和/或可以用与指定的不同的顺序执行多个动作。另外,本领域的技术人员将认识到,在此所教导机制能够以多种形式作为程序产品来发布,并且说明性实施例相等地适用,而不考虑用来实际上进行该发布的非易失性信号承载介质的具体类型。非易失性信号承载介质的示例包括但不限于以下这些:可记录类型介质,如软盘、硬盘驱动器、CDROM、数字磁带和计算机存储器。可将以上所描述的各实施例进行组合以提供进一步实施例。在它们不与在此的特定教导和定义不一致的意义上,包括但不限于提交于2013年6月28日的美国临时专利申请序列号61/841,129以及提交于2013年9月3日的美国临时专利申请序列号61/873,303在本说明书中所引用和/或在专利数据表中所列出的所有美国专利、美国专利申请出版物、美国专利申请、外国专利、外国专利申请和非专利出版物以其全文通过引用结合在此。如有必要,可以对实施例的多个方面进行修改,以利用各专利、申请和出版物中的系统、电路及概念来提供更进一步的实施例。鉴于以上的详细说明,可以对实施例做出这些和其他改变。总之,在以下权利要求书中,所使用的术语不应当被解释为将权利要求书局限于本说明书和权利要求书中所披露的特定实施例,而是应当被解释为包括所有可能的实施例、连同这些权利要求有权获得的等效物的整个范围。相应地,权利要求书并不受到本披露的限制。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1