用于生成学习的系统和方法与流程

文档序号:15884512发布日期:2018-11-09 18:35阅读:333来源:国知局
用于生成学习的系统和方法与流程

本公开总体上涉及用于生成学习的系统、设备、方法和制品,并且具体地涉及布尔算数领域的生成学习。

生成学习

生成学习和判别学习是机器学习方法的两类方法。生成方法基于在观测变量和目标变量上的联合概率分布模型,而判别方法基于在给定观测变量的情况下目标变量的条件概率模型。

生成模型的示例包括:受限波尔兹曼机、高斯混合模型和概率上下文无关语法(probabilisticcontext-freegrammar)。

概率上下文无关语法

上下文无关语法是一种语法,在这种语法中,每种规则将对应的单个非终结符号映射至终结字符串和/或非终结符号,并且可以不管对应的单个非终结符号的上下文而施加每种规则。换言之,对应的单个非终结符号可以在其出现的任何地方被终结字符串和/或非终结符号所替换,而与上下文无关。

在概率上下文无关语法中,向每种规则分配概率。解析的概率是在所述解析中所使用的规则的概率乘积。所述概率通常使用在大数据库上操作的机器学习技术来确定。



技术实现要素:

一种用于通过计算系统进行生成学习的方法,所述计算系统包括至少一个处理器、以及存储有处理器可执行指令或数据中的至少一者的至少一个非暂态处理器可读存储介质,所述可执行指令或数据在被所述至少一个处理器执行时使所述至少一个处理器执行所述方法,所述方法可以被概括为包括:由所述至少一个处理器形成包括在布尔值变量上定义的约束满足问题(csp)的生成学习模型;由所述至少一个处理器在基于命题可满足性的一阶逻辑中描述所述csp;由所述至少一个处理器将所述csp翻译成子句形式;以及利用至少一个可满足性(sat)求解器来执行推理。形成生成学习模型可以包括通过以下各项来形成生成学习模型:对包括多个字符的字符串执行感知识别、根据语法判定所述字符串在句法上是否有效、以及判定所述字符串在指称上是否有效。

根据语法判定所述字符串在句法上是否有效、以及判定所述字符串在指称上是否有效可以包括:根据语法判定由多个字符形成的表达式在句法上是否有效、以及判定所述表达式在指称上是否有效。根据语法判定由多个字符形成的表达式在句法上是否有效、以及判定所述表达式在指称上是否有效可以包括:根据语法判定由多个字符形成的方程式在句法上是否有效、以及判定所述方程式在指称上是否有效。

利用至少一个sat求解器执行推理可以包括由数字处理器利用至少一个sat求解器来执行推理。利用至少一个sat求解器执行推理可以包括由量子处理器利用至少一个sat求解器来执行推理。利用至少一个sat求解器执行推理可以包括由数字处理器和量子处理器利用至少一个sat求解器来执行推理。在各个上述实施例中,利用至少一个sat求解器执行推理可以包括判定是否存在满足给定布尔表达式的解释。判定是否存在满足给定布尔表达式的解释可以包括分配权重以及生成使用最大似然法训练的概率描述。

一种生成学习系统可以被概括为包括:感知输入子系统,可操作用于接收多个字符;组合性逻辑电路系统,通信地耦合至所述感知输入子系统,并且可操作用于判定涉及所述多个字符的表达式在语法中是否是句法上有效的句子;以及指称和语义子系统,通信地耦合至所述组合性逻辑电路系统,并且可操作用于判定所述表达式在指称上是否有效。所述语法可以是上下文无关语法。在各个上述实施方式中,所述生成学习系统可以可操作用于执行布尔算数领域的生成学习。所述指称和语义子系统可以可操作用于判定布尔表达式是真还是假。所述生成学习系统可以包括至少一个sat求解器。所述至少一个sat求解器可以在数字处理器上可执行。所述至少一个sat求解器可以在量子处理器上可执行。所述至少一个sat求解器可以在数字处理器和量子处理器上可执行。在各个上述实施方式中,利用至少一个sat求解器执行推理包括判定是否存在满足给定布尔表达式的解释。

在各个上述实施方式和实施例中,所述生成学习系统可以进一步包括混合计算系统,所述混合计算系统包括至少一个数字处理器和至少一个量子处理器。

一种计算系统可以被概括为包括至少一个处理器、以及存储有处理器可执行指令或数据中的至少一者的至少一个非暂态处理器可读存储介质,所述可执行指令或数据在被所述至少一个处理器执行时:由所述至少一个处理器形成包括在布尔值变量上定义的约束满足问题(csp)的生成学习模型;由所述至少一个处理器在基于命题可满足性的一阶逻辑中描述所述csp;由所述至少一个处理器将所述csp翻译成子句形式;并且利用至少一个可满足性(sat)求解器来执行推理。

附图说明

在附图中,相同的附图标记标识相似的元件或动作。元件在附图中的大小和相对位置不一定是按比例绘制的。例如,不同元件的形状以及角度不一定按比例绘制,并且这些元件中的一些被任意地放大和定位以提高附图的易读性。另外,所绘出的元件的特定形状不一定旨在传递与特定元件的实际形状有关的任何信息,而是为了方便在图中识别而选取的。

图1是根据至少一个实施方式的根据本系统、设备、制品和方法的生成学习系统的框图。

图2是流程图,展示了根据至少一个实施方式的根据本系统、设备、制品和方法的生成学习的方法。

图3是示意图,展示了根据本系统、设备、制品和方法的示例字符。

图4是示意图,展示了根据本系统、设备、制品和方法的示例终结字符集。

图5是根据本系统、设备、制品和方法的示例有效二进制算数表达式的示意图。

图6是根据本系统、设备、制品和方法的示例无效二进制算数表达式的示意图。

图7是根据本系统、设备、制品和方法的图5的包括具有被挡住的像素的字符的有效二进制算数表达式的示意图。

图8是根据本系统、设备、制品和方法的包括二进制变量的乘积的另一个示例有效二进制算数表达式的示意图。

图9是根据本系统、设备、制品和方法的图5的在其中字符表示被推断的有效二进制算数表达式的示意图。

图10是根据至少一个实施方式的根据本系统、设备、制品和方法的混合计算系统的框图。

具体实施方式

概述

在以下说明中,包括一些具体细节以提供对各种公开实施例的透彻理解。但是,相关领域的技术人员将认识到,实施例可以无需这些具体细节中的一个或多个来实践,或者可以使用其他方法、组件、材料等来实践。在其他实例中,并未详细展示或者说明与量子处理器(比如量子设备)、耦合器、以及包括微处理器和驱动电路系统的控制系统相关联的公知结构,以避免不必要地模糊对本方法的实施例的说明。贯穿本说明书和所附权利要求书,词语“元素”和“多个元素”用于包括但不限于与量子处理器相关联的所有这样的结构、系统、和设备以及其相关可编程参数。

除非上下文另有要求,否则贯穿本说明书和所附权利要求书,“包括”一词及其变体如“包括(comprises)”和“包括(comprising)”将以一种开放式的、包含性的意义来进行解释,即,解释为“包括,但不限于”。

贯穿本说明书对“一个实施例”、“实施例”、“另一个实施例”、“一个示例”、“示例”、“另一个示例”、“一种实施方式”、“另一种实施方式”等的引用意指结合所述实施例、示例或实施方式所描述的特定指示特征、结构或特性包括在至少一个实施例、示例或实施方式中。由此,在贯穿本说明书各处出现的短语“在一个实施例中”、“在实施例中”、“另一个实施例”等不一定全都指同一个实施例、示例或实施方式。此外,在一个或多个实施例、示例、或实施方式中,可以以任何合适的方式来组合特定特征、结构、或特性。

应当注意的是,如在本说明书和所附权利要求中所使用的,除非内容另外明确指明,否则单数形式“一个(a)”、“一个(an)”以及“所述(the)”均包括复数指示物。因此,例如,提及包括“一个量子处理器”的求解问题的系统包括单个量子处理器或者两个或更多个量子处理器。还应注意,术语“或”通常以包括“和/或”的意义使用,除非内容另外明确指明。

本文提供的小标题仅仅是为了方便,并不解释实施例的范围或含义。

引言

机器学习的常用方法的缺点在于系统通常需要从头(denovo),即从起点开始学习。常用方法典型地几乎不或者不将领域知识作为生成模型的一部分。本系统和方法通过以下各项来解决常用方法的缺点:通过包括生成学习领域的多个方面、通过混合随机推理和逻辑推理、并且通过将领域知识设计到生成模型中。

生成学习系统和方法

图1是根据至少一个实施方式的根据本系统、设备、制品和方法的生成学习系统100的框图。生成学习系统100可以使用包含生成学习领域的多于一个方面的生成模型来构建。例如,生成学习系统100可以包括感知、组成结构、指称和语义。组成结构可以被表达为比如上下文无关语法等语法。

生成学习系统100包括感知输入子系统102、组合性逻辑电路系统104、以及指称和语义子系统106。生成学习系统100可以用于例如布尔算数领域的生成学习。

感知输入子系统102可以包括至少一个处理器、以及存储有处理器可执行指令和数据中的至少一者的至少一个处理器可读介质,所述处理器可执行指令和数据在操作时可以执行感知输入任务,比如接收输入至生成学习系统100的多个字符。

输入至生成学习系统100的所述多个字符可以是字符串。在一些实例中,例如如果其包含至少一个运算符,则所述字符串可以是表达式。例如,所述表达式可以是布尔表达式。在一些实例中,例如如果运算符中的至少一个是“=”运算符,则所述表达式可以是方程式。所述方程式可以例如是算数二进制方程式。

感知输入子系统102可以包括用于字符的统计识别器。在布尔算数领域中的实施方式中,感知输入子系统102可以包括用于终结字符“0”、“1”、“+”、“×”和“=”的统计识别器。每个字符可以被表达为比如mnist(混合的国家标准和技术研究所,mixednationalinstituteofstandardsandtechnology)数据库中的二进制值阵列或灰度值阵列或者像素阵列。例如,mnist数据库是用于训练并测试图像处理系统和机器学习系统的手写字符的大型数据库。

组合性逻辑电路系统104可以包括逻辑电路系统,所述逻辑电路系统用于判定涉及终结字符的表达式是否是比如上下文无关语法(cfg)或者接近上下文无关语法等语法中的有效句子。在一些实施方式中,组合性逻辑电路系统104可以判定涉及终结字符“0”、“1”、“+”、“×”和“=”的表达式在cfg中是否是用于二进制算数表达式中的有效句子。

指称和语义子系统106可以包括至少一个处理器、以及存储有处理器可执行指令和数据中的至少一者的至少一个处理器可读介质,所述处理器可执行指令和数据在操作时可以执行指称和语义任务,比如判定由输入至生成学习系统100的字符中的至少一些字符形成的表达式在指称上是否有效。在一些实施方式中,指称和语义子系统106可以检查算数二进制方程式的左手边与右手边是否相等,即,布尔表达式是真还是假。

在一些实施方式中,生成学习系统100可以被构建在生成学习模型上,所述生成学习模型是布尔值变量上定义的约束满足问题(csp)。所述csp可以在基于命题可满足性的一阶逻辑中被描述,并且然后被翻译为子句形式,以使得可以利用sat(可满足性)求解器来执行推理。sat是判定是否存在满足给定布尔表达式的解释的问题。所述模型可以包括加权可满足性以允许使用最大似然法训练的概率描述。

图2是流程图,展示了根据至少一个实施方式的根据本系统、设备、制品和方法的生成学习的方法200。方法200包括动作202至212,但本领域技术人员将认识到在替代性实施例中可以省略某些动作和/或可以添加附加的动作。本领域技术人员将认识到,动作顺序是仅出于示例性目的而被示出并且可以在替代性实施例中改变。

方法200例如响应于用户请求或来自另一个方法的调用而在202处开始。在204处,执行方法200的一个或多个硬件部件(例如,一个或多个数字处理器和/或量子处理器、一个或多个数字电路和/或模拟电路、一个或多个非暂态存储介质)进行对一个或多个输入字符的统计识别。在下文参照图3和图4更详细地描述对输入字符的统计识别。

在206处,执行方法200的一个或多个硬件部件判定由在204中识别的所述一个或多个输入字符所定义的表达式是否是cfg中的有效表达式。下文参照图5和图6提供更多细节。

在208处,执行方法200的一个或多个硬件部件判定所述表达式是否是cfg中的有效表达式。在确定所述表达式有效时,方法200前进至210,在所述步骤中,方法200检查所述表达式的左手边与右手边的相等性。在212处,方法200结束。

在208处,在确定所述表达式无效时,方法200前进至212,在所述步骤中,方法200结束。

所述输入可以被表达为表示相关符号——在这种情况下为用于组合二进制数字序列的二进制数字和数学运算符——的k像素图像阵列。输入字符可以是终结字符“0”、“1”、“+”、“×”和“=”。方法200可以利用可被训练为从与符号相对应的图像图案翻译为每个变量的布尔值指示符的现有生成神经网络方法(比如,受限玻尔兹曼机)。

假定二进制值图像图案,第k个像素图案可以利用变量图像[k,i,j]来描述,其中,图像[k,i,j]=0指示在(i,j)处的像素为“关闭”,并且图像[k,i,j]=1指示所述像素为“打开”。

变量1≤k≤k索引图像,并且变量1≤i,j≤n利用n×n像素值阵列来索引像素。所述变量指示第k个输入被神经网络解释为输入[k,t]=1,其中,t∈{0,1,+,x,=}。对于t′≠t的所有其他选择,神经网络将可忽略的概率分配给输入[k,t′]=1。神经网络的训练定义了概率分布p(图像;输入),其中,图像和输入统称为对应类型的所有变量。假定p(输入|图像)和p(图像|输入)为易处理的。

在各种实施方式中,系统可以依赖逻辑约束而不是概率模型。例如,当k=18且n=3时,可以在像素图案与符号之间进行直接翻译。像素表示可以被转换为输入符号,以使得当且仅当所有九个像素图案与表示0匹配时,输入[k,0]为真。向输入阵列的每个元素k分配一个符号以使得对于所有k,输入[k,0]+输入[k,1]+输入[k,+]+输入[k,×]+输入[k,=]=1。

图3是示意图,展示了根据本系统、设备、制品和方法的示例字符300。字符300包括具有九个值或像素302、304、306、308、310、312、314、316和318的3×3阵列。这九个像素中的每个像素可以包括二进制值或灰度值。

图4是示意图,展示了根据本系统、设备、制品和方法的示例终结字符集400。终结字符集400包括五个字符402、404、406、408和410。字符集400中的每个字符包括九个像素的阵列,比如图3的字符300。字符402、404、406、408和410中的每个字符中的每个像素可以包括一(“打开”)值或零(“关闭”)值,出于说明的目的,分别等效为实心黑色或者白色。

字符402可以表示“0”字符。字符404可以表示“1”字符。字符406可以表示“+”字符。字符408可以表示“×”字符。字符410可以表示“=”字符。

例如,表达式可以被限制为k个符号,其中,每个符号选自由0,1,+,×,=.组成的终结字符组。利用捕获算数布尔表达式的标准概念的语法来描述符号的有效成分。例如,布尔表达式“00++1==×0”在句法上无效。在另一个示例中,布尔表达式“01+10=00”在句法上正确但是在指称上错误,而“01+10=11”在语法和指称上都有效。布尔表达式的有效性可以基于编码在变量输入[k,t]中的符号化输入,所述变量进而可以根据感知输入图像[k,i,j]而被定义。

描述有效成分和无效成分的标准方法是通过上下文无关语法。由所述语法识别的组成结构可以被转换为随后可以例如由能够实施加法运算和乘法运算并且能够判定方程式两侧是否相等的逻辑电路系统评估的形式,以便定义解析的指称。

可以使用各种可替代的形式来解析输入。一种方法对由采用如乔姆斯基范式(chomskynormalform)等标准格式的产品组成的标准上下文无关语法进行编码。用于上下文无关语法的cocke-younger-kasami(cyk)解析器可以利用逻辑变量来表示,并且输入字符串的连续间隔可以被映射至特定产品符号。当来自所有k个像素图像的整个输入可以被映射至所接受的语法符号时,输入有效。

语法可以将输入符号路由至合适的逻辑电路系统以获得输入的指称。某些产品符号可以指示加法/乘法/相等性操作,并且可以对应于解析树中的节点。整个解析树的指称可以由附加变量节点[n,w]来捕获,所述附加变量由解析树中的节点n、以及从解析树的节点中捕获输出位串的位位置w来索引。例如,表示加法操作的节点n可以利用约束加(节点[n1;∶];节点[n2;∶];节点[n;∶])来捕获,其中,n1和n2标记出解析树中节点n的子代。

比如组合范畴语法(combinatorycategoricalgrammars)等替代方法可以以类似的方式使用,并且提供可以被有效解析的扩大范围的语法。

通常已知布尔值上的算数可以利用逻辑电路来实现。利用and、or、xor、not、半加器和全加器的约束来工作是很方便的。标准组合构造可以用于建立加法电路、乘法电路和相等性电路。可以通过将每个基本门编码为命题约束而使这些电路为无向的(其中,可以根据输出推断出输入)。生成模型可以假定由1≤k≤k索引的可用加法电路和乘法电路库。虽然有些冗余,但由k索引算数电路可以是方便的,因为至多k个符号的算数布尔表达式将永远不会多于k次加法运算或乘法运算。

例如,系统可以假定每个算数电路的输入和输出两者的固定最大位宽为w。当且仅当将这两个输入位串输入[1,:]和输入[2,:]与输出位串输出[:]相加/相乘时,约束加(k,输入[1,1],…,输入[1,w],输入[2,1],…,输入[2;w],输出[1],…,输出[w])和乘(k,输入[1,1],…,输入[1,w],输入[2,1],…,输入[2,w],输出[1])为真/假。在一些情况下,高位可以被明确地设置为“0”(零)。

图5是根据本系统、设备、制品和方法的示例有效二进制算数表达式500的示意图。二进制算数表达式500包括十八个字符:502、504、506、508、510、512、514、516、518、520、522、524、526、528、530、532、534和536。每个字符包括九个像素的3×3阵列,比如图3的字符300。十八个字符502至536中的每个字符可以包括来自图4的字符集400的字符。例如,字符502表示“0”字符,字符504表示“1”字符,字符508表示“+”字符,并且字符532表示“×”字符。

图6是根据本系统、设备、制品和方法的示例无效二进制算数表达式600的示意图。二进制算数表达式600包括十八个字符:602、604、606、608、610、612、614、616、618、620、622、624、626、628、630、632、634和636。每个字符包括九个像素的3x3阵列,比如图3的字符300。十八个字符602至636中的每个字符可以包括来自图4的字符集400的字符。例如,字符602表示“0”字符,字符606表示“1”字符,字符608表示“+”字符,并且字符632表示“×”字符。二进制算数表达式600与二进制算数表达式500在如由虚线框638、640和642所指示的四个字符上不同。对表达式500的更改导致表达式600变成无效表达式。

图7是有效二进制算数表达式700的示意图,其为根据本系统、设备、制品和方法的图5的包括具有被挡住的像素的字符的有效二进制算数表达式500。二进制算数表达式700包括十八个字符:702、704、706、708、710、712、714、716、718、720、722、724、726、728、730、732、734和736。每个字符包括九个像素的3x3阵列,比如图3的字符300。十八个字符702至736中的每个字符可以包括来自图4的字符集400的字符。

对领域的生成描述可以捕获对所述领域的理解,以使得可以利用有限量的所提供信息来进行推理。例如,一些像素的值可以被提供作为输入,并且其他像素值被推断。图7展示了像素中的一些被挡住的情况。在图7中通过具有斜纹图案的像素来指示被挡住的像素,比如由虚线圆圈突出的像素738和740。用于生成学习的本系统和方法可以基于对领域的理解和所提供的不完全像素图像来推断被挡住的像素的值。

图8是根据本系统、设备、制品和方法的包括二进制变量的乘积的另一个示例有效二进制算数表达式800的示意图。用于生成学习的本系统和方法可以求解多个未知项。例如,给定包括两个因子的乘积的表达式,并且假定所述乘积已知,则本系统和方法可以推断出这两个因子。

二进制算数表达式800包括十八个字符802至836。第一因子由字符802、804、806和808来表示。在图8的示例中,第一因子是“1010”。字符810表示“×”字符。第二因子由字符812、814、816和818来表示。在图8的示例中,第二因子是“0100”。字符820表示“=”字符。第一因子与第二因子的乘积由字符822、824、826、828、830、832、834和836来表示。在图8的示例中,乘积是“01010000”。等效十进制表达式是10×8=80。比如参照图1和图2所描述的那些方法的生成学习方法可以用于根据字符并且根据对乘积的知识来推断出第一因子和第二因子。

图9是有效二进制算数表达式900的示意图,其为根据本系统、设备、制品、和方法的图5的在其中字符表示被推断的有效二进制算数表达式500。二进制算数表达式900包括十八个字符:902、904、906、908、910、912、914、916、918、920、922、924、926、928、930、932、934和936。每个字符包括九个像素的3x3阵列,比如图3的字符300。十八个字符902至936中的每个字符可以包括来自图4的字符集400的字符。对领域的生成描述可以捕获对所述领域的理解,以使得可以利用有限量的所提供信息来进行推理。例如,一些像素的值可以被提供作为输入,并且其他像素值被推断。

用于生成学习的本系统和方法可以求解表达式中的未知元素。包括对部分领域知识的编码的生成模型可以引起对所述领域的未知方面的更快速的学习。例如,给定在终结字符的像素表示未知的语言中的二进制算数训练样本,系统可以通过了解对连接像素表示进行约束的更大的组成和指称上下文来更迅速地推断出表示。

所述表示可以然后利用更少的训练示例来学习。类似地,可以放宽其他约束。例如,可以通过未知语法来生成合法组成,所述语法是根据训练数据来推断的。更一般地,人类知识可以被编码为逻辑约束并且与标准统计推理结合使用来执行具有较少之前知识的学习,或者在更复杂的领域中学习。

应用

用于生成学习的本系统和方法的一个具体示例性应用是代码修复。修复通常与图像和视频相关联,并且指的是重构图像和视频的丢失或损坏区域的过程。修复可以被泛化为指提供或校正其他形式的信息的区域,比如计算机软件源代码。

在代码修复的示例中,系统可以具有表示源代码模块的不完整规范的像素图像。统计识别器可以用于识别与像素图像相对应的符号。可以定义cfg,以及用于判定所述代码中的表达式在句法上和在指称上是否有效的逻辑电路系统。系统可以对代码执行修复以根据结果添加和校正代码。

使用计算系统的生成学习

用于生成学习的本系统和方法可以在包括至少一个处理器的计算系统中实施。所述至少一个处理器可以例如采用一个或多个数字处理器的形式。可替代地,所述至少一个处理器可以采用一个或多个量子处理器的形式。在又另一个示例中,计算系统是包括一个或多个数字处理器和一个或多个量子处理器的混合计算系统。

图10是根据至少一个实施方式的根据本系统、设备、制品和方法的混合计算系统1000的框图。混合计算系统1000包括耦合至模拟计算机1004的数字计算机1002。在一些实施方式中,模拟计算机1004是量子计算机,并且数字计算机1002是经典计算机。示例性数字计算机1002包括可以用于执行本系统和方法中描述的经典数字处理任务的数字处理器(cpu)1006。

数字计算机1002可以包括至少一个系统存储器1008和至少一条系统总线1010,所述系统总线将各个系统部件、包括系统存储器1008耦合至中央处理器单元1006。

数字处理器可以是任何逻辑处理单元,如一个或多个中央处理单元(“cpu”)、图形处理单元(“gpu”)、数字信号处理器(“dsp”)、专用集成电路(“asic”)、现场可编程门阵列(“fpga”)等。除非另外说明,图10中所示的各个块的构造和操作属于常规设计。因此,本文中不需要进一步详细地描述这些块,因为它们将被相关领域的技术人员所理解。

数字计算机1002可以包括用户输入/输出子系统1012。在一些实施方式中,用户输入/输出子系统1012包括一个或多个用户输入/输出部件,如显示器1014、鼠标1016、和/或键盘1018。系统总线1010可以采用任何已知的总线结构或架构,包括具有存储器控制器的存储器总线、外围总线和局部总线。系统存储器1008可以包括如只读存储器(“rom”)、静态随机存取存储器(“sram”)、闪存nand等非易失性存储器以及如随机存取存储器(“ram”)等易失性存储器(未示出),所有这些存储器都是非暂态计算机可读或处理器可读介质的示例。可以形成rom的一部分的基本输入/输出系统(“bios”)1020包含基本例程,所述基本例程如在启动期间帮助在数字计算机1002内的元件之间传送信息。

数字计算机1002还可以包括其他非易失性存储器1026。非易失性存储器1026可以采取各种形式,包括:用于从硬盘进行读取和对其进行写入的硬盘驱动器、用于从可移除光盘进行读取和对其进行写入的光盘驱动器和/或用于从磁盘进行读取和对其进行写入的磁盘驱动器,所有这些元件都是非暂态计算机可读或处理器可读介质的示例。光盘可以是cd-rom或dvd,而磁盘可以是磁软盘或软磁盘。非易失性存储器1026可以经由系统总线1010与数字处理器通信并且可以包括耦合至系统总线1010的适当接口或控制器1028。非易失性存储器1026可以用作数字计算机1002的计算机可读或处理器可读指令、数据结构、或其他数据(也称为程序模块)的长期存储器。

虽然数字计算机1002已被描述为采用硬盘、光盘、和/或磁盘,但相关领域的技术人员将认识到,可以采用其他类型的非易失性计算机可读介质,比如磁盒、闪存卡、闪存、rom、智能卡等,所有这些都是非暂态计算机或处理器可读介质的进一步示例。相关领域的技术人员将认识到,一些计算机架构合并了易失性存储器和非易失性存储器。例如,易失性存储器中的数据可以被缓存到非易失性存储器。或者采用集成电路来提供非易失性存储器的固态盘。一些计算机将传统上存储在盘上的数据放在存储器中。而且,传统地被视为易失性的一些介质可以具有非易失性的形式,例如双列直插式存储器模块的非易失性双列直插式存储器模块变体。

各组计算机可读或处理器可读指令(也被称为程序模块)、应用程序和/或数据可以被存储在系统存储器1008中。

在各种实施方式中,系统存储器1008可以存储生成学习指令1026。例如,系统存储器1008中的生成学习指令1026可以在cpu1006和模拟计算机1004上实施如参考图1至图9所描述的那些方法的方法。

在各种实施方式中,系统存储器1008可以存储运行时间指令1028以提供可执行程序和参数来部署和/或监视生成学习方法。

虽然在图10中被示出为存储在系统存储器1008中,但上文所描述的指令和/或数据还可以存储在其他地方,包括存储在非易失性存储器1022或一个或多个其他非暂态计算机可读或处理器可读介质中。

模拟计算机1004包括模拟处理器,比如量子处理器1030。量子处理器1030可以包括可编程元件,比如量子位、耦合器和其他设备。量子处理器1030可以包括超导量子位。

在各种实施方式中,量子处理器1030执行量子退火和/或绝热量子计算。

对所展示实施例的以上描述(包括摘要中所描述的内容)并非旨在作为穷尽性的或将实施例限于所公开的精确形式。如相关领域的技术人员将认识到,尽管本文出于说明性目的描述了具体实施例和示例,但是可以在不脱离本公开的精神和范围的情况下做出各种等效修改。本文提供的各种实施例的教导可以应用于其他模拟处理器,而不一定是上面总体性描述的示例性量子处理器。

上述各种实施例可以被组合以提供进一步的实施例。在本说明书中引用和/或在应用数据表中列出的所有美国专利、美国专利申请公开、美国专利申请(包括于2016年1月29日提交的美国临时专利申请号62/288,959)在它们不与本文中的特定教导和定义不一致的程度上通过引用以其全文结合在此。如有必要,可以对实施例的方面进行修改,以利用各专利、申请和公开中的系统、电路及概念来提供又进一步的实施例。

鉴于以上详细说明,可以对实施例做出这些和其他改变。通常,在所附权利要求书中,所使用的术语不应该被解释为将权利要求书限制为说明书和权利要求书中公开的具体实施例,而是应该被解释为包括所有可能的实施例以及此权利要求书有权获得的等效物的整个范围。因此,权利要求书不受本公开的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1