计算机进行通用学习的方法、装置和计算机可读存储介质与流程

文档序号:18827668发布日期:2019-10-09 02:13阅读:183来源:国知局
计算机进行通用学习的方法、装置和计算机可读存储介质与流程

本公开涉及计算机技术领域,特别涉及一种计算机进行通用学习的方法、计算机进行通用学习的装置和计算机可读存储介质。



背景技术:

人们对计算理论的理解已经相当清楚,建立了比较完备的理论,并且有了几十年的大量工业实践。在这样的框架内,我们可以把能用机器来计算的任务,等同于某个程序。事实上,这就是过去80年的计算机发展所做的:如果人们希望用机器来执行某种任务,就需要先设计模型,并且找到对这个模型合适的算法,再编程来具体实现算法,最后通过适当的硬件来执行程序。这是行之有效的。

但是,这样的发展面临瓶颈。首先,这样的方式来开发程序,需要非常巨大的人力物力。自然会提问,是否有更好的方法?其次,对很多问题,而且越来越多的问题,这样的方式难以获得有效的程序。这是过去的历史反复证明了的。

一个非常显著的例子就是围棋程序。在1997年,由人工编程而获得的深蓝程序在国际象棋上战胜了人类最优秀的棋手。其后,人们自然把注意力转向难度更高的围棋程序。但是,在围棋领域,差不多二十年的时间内,人工编程的程序进展缓慢,其下棋能力仍然远远低于人类棋手的能力。但是,在导入了深度学习等机器学习技术后,围棋程序的能力就突飞猛进,围棋程序alphago战胜人类最优秀的棋手。通过机器学习的方式,而不是人工编程的方式,围棋程序达到了前所未有的境界。

这就是说,要赋予计算机能力来做我们期望的工作,就不再仅靠人工编程,而是可以让机器学习,从而改变机器的行为,进而使机器具备我们期望的能力。最近十年的深度学习的发展,就是这个方向,带来了非常巨大的成功。但是,迄今为止的机器学习,即使如深度学习这样的巨大的成功,仍然不是通用学习。

机器学习使得计算机能够模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。因此,机器学习是人工智能的核心,是使计算机具有智能的根本途径。机器学习的应用遍及人工智能的各个领域,如目标识别、图像处理、自动控制等。

在相关技术中,根据人为设定的参数体系,通过调整参数来适应数据。



技术实现要素:

本公开的发明人发现上述相关技术中存在如下问题:受限于设定的参数体系,仅能适应特定的应用场景,导致适用性差。

鉴于此,本公开提出了一种数据处理技术方案,能够提高数据处理的适用性。

根据本公开的一些实施例,提供了一种计算机进行通用学习的方法,包括:将待处理数据转换为分量是布尔值的布尔向量;在学习模型的布尔函数集合中,确定与所述布尔向量对应的目标布尔函数;利用所述目标布尔函数处理所述布尔向量,得到所述待处理数据的处理结果。

在一些实施例中,所述学习模型通过如下方式训练:根据训练数据对,利用所述布尔函数集合中的各布尔函数创建候选布尔函数,所述训练数据对包含输入布尔向量和期望输出值,所述候选布尔函数对所述输入布尔向量的处理结果与所述期望输出值之间的差小于阈值;在所述候选布尔函数中,确定与所述输入布尔向量对应的目标布尔函数。

在一些实施例中,所述利用所述布尔函数集合中的各布尔函数创建候选布尔函数包括:对所述各布尔函数的变量取值条件进行逻辑操作,形成新的变量取值条件,所述逻辑操作包括第一逻辑运算和第二逻辑运算中的至少一个,所述第一逻辑运算为不同变量取值条件之间的逻辑运算,所述第二逻辑运算为不同变量取值条件中布尔向量的相应分量的逻辑运算;根据所述新的变量取值条件,创建所述候选布尔函数。

在一些实施例中,在所述候选布尔函数中,确定与所述输入布尔向量对应的目标布尔函数包括:将进行所述逻辑操作次数最少的候选布尔函数,确定为与所述输入布尔向量对应的目标布尔函数。

在一些实施例中,所述训练数据对为多个,所述候选布尔函数对各输入布尔向量的处理结果与相应各期望输出值之间的差都小于相应的阈值。

在一些实施例中,所述的计算机进行通用学习的方法还包括:将所述候选布尔函数加入所述布尔函数集合。

在一些实施例中,所述布尔函数集合中的布尔函数通过如下方式创建:根据训练数据对中的输入布尔向量,确定布尔函数的变量取值条件;根据所述训练数据对中的期望输出值,确定所述布尔函数的取值。

在一些实施例中,所述学习模型中具有多个布尔函数集合;在各布尔函数集合中,分别确定与所述布尔向量对应的目标布尔函数;利用各目标布尔函数分别处理所述布尔向量,得到各布尔值;根据所述各布尔值,确定所述数据处理结果。

根据本公开的另一些实施例,提供一种计算机进行通用学习的装置,包括:转换单元,用于将待处理数据转换为分量是布尔值的布尔向量;确定单元,用于在学习模型的布尔函数集合中,确定与所述布尔向量对应的目标布尔函数;处理单元,用于利用所述目标布尔函数处理所述布尔向量,得到所述待处理数据的处理结果。

根据本公开的又一些实施例,提供一种计算机进行通用学习的装置,包括:存储器;和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行上述任一个实施例中的计算机进行通用学习的方法。

根据本公开的再一些实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的计算机进行通用学习的方法。

在上述实施例中,利用布尔函数集合构建了具有高适用性的向量表征空间,能够处理由待处理数据转换而成的各种布尔向量,从而提高了数据处理的适用性。

附图说明

构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:

图1示出本公开的计算机进行通用学习的方法的一些实施例的流程图;

图2示出本公开的学习模型训练方法的一些实施例的流程图;

图3示出图2中步骤210的一些实施例的流程图;

图4示出本公开的计算机进行通用学习的方法的一些实施例的示意图;

图5示出本公开的计算机进行通用学习的方法的另一些实施例的流程图;

图6示出本公开的计算机进行通用学习的方法的另一些实施例的示意图;

图7示出本公开的计算机进行通用学习的装置的一些实施例的框图;

图8示出本公开的计算机进行通用学习的装置的另一些实施例的框图;

图9示出本公开的计算机进行通用学习的装置的又一些实施例的框图;

图10示出本公开的计算机进行通用学习的方法的又一些实施例的示意图;

图11示出本公开的计算机进行通用学习的方法的又一些实施例的流程图;

图12示出本公开的控制方法的一些实施例的流程图;

图13示出本公开的识别方法的一些实施例的流程图。

具体实施方式

现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

我们说的计算机进行通用学习,是指对任何一种可以用计算机来实现的任务(根据邱奇-图灵论题,就是可以编程的任务),不需要人工预设,或者人工干预,只要提供必需的数据(而且数据量越少越好),计算机就可以自动学会这种任务。机器学习是目前很热门的研究领域,但是对于计算机进行通用学习,目前还没有成型的的原理和方法。而且,对已经能做到的成果还不能作出良好的解释。

针对这种情况,我们开展了对通用学习的研究。我们发现,计算机要实现通用学习,就应该具备特定的机理,满足一定的原理。我们因此而导入处理节点(处理函数),并且围绕此工具,我们做了若干有效的理论工作,例如,我们证明了,通用学习机的确是存在的。

但是,通用学习的关键之一是建立高效的学习动力学。迄今为止,还没有能够建立这样的动力学。举例来说,一个设计得足够强大的人工神经网络的确可以逼近函数f(x),但是,这个网络必须人工(根据数据的性质)预先搭建好,如果搭建得不好,就不能逼近f(x)。而且,如果这个网络是深度网络,我们不可能明确知道函数f(x)究竟是什么,即不能明确知道当给定自变量x,函数值f(x)是怎么计算出来的,或者说不可能给出任何关于f(x)的明确的表达,仅可以说,网络训练出来的就是这样的。因此,这样训练出来的网络很难用于其他地方,例如学会了f(x),但是对于学习2f(x)+5x2不会产生什么帮助,很可能需要从头来一次。

这就是面临的问题和困境,1)在学习和处理数据之前,必须人工搭建良好的模型。不能仅依靠足够的数据,就可以驱动机器完成需要的学习任务。2)对于学习生成的结果,不能做出完全清晰的、确定性的理解。3)已经完成的学习结果,不能顺利用于其他新的领域。

本公开就是针对学习动力学而发明的一套方法。本公开的学习动力学是普适的,可以运用于各种领域。

本公开中,我们多次用到布尔函数,但是我们的学习动力学原理并不限于布尔函数,也适用于其他学习情况。在计算领域,可以把任何函数转换为相应的布尔函数进行处理。本公开的学习动力学可以用于各计算领域,例如:自动驾驶,航天控制,电网管理,各种模式识别(如医疗诊断用的模式识别),机器人控制等等。

在很多相关技术中,根据人为设定的参数体系,通过调整参数来适应数据。本公开采用完全不同的技术原理——建立一套由元素处理节点+表达集+求拟合极值的系统方法——来达到不依赖于人工预设的有效的机器学习。

图1示出本公开的计算机进行通用学习的方法的一些实施例的流程图。

如图1所示,该方法包括:步骤110,转换待处理数据为待处理向量;步骤120,确定对应的目标处理节点;和步骤130,处理待处理向量。

在步骤110中,将待处理数据转换为待处理向量。例如,将待处理数据转换为分量是布尔值的布尔向量。例如,待处理数据可以是待处理的图像、声音、文本、控制指令等。可以将待处理数据转换为由1、0组成的多维向量,即布尔向量。例如,转换后的布尔向量可以是(0,1,0,1)、(0,1,1,0)等4维布尔向量。

在步骤120中,在学习模型的处理节点集合中,确定与待处理向量对应的目标处理节点。例如,在学习模型的布尔函数集合中,确定与布尔向量对应的目标布尔函数。处理节点即处理函数,可以是各种函数形式,如连续函数、布尔函数等。

在一些实施例中,学习模型具有包含多个布尔函数的布尔函数集合f={f1(x)、f2(x)......fn(x)......fn(x)},n是正整数,n是小于n的正整数。每个布尔函数可以看作学习模型中对布尔向量的一个处理节点。布尔函数fn(x)为在满足变量x的取值条件的情况下函数值为1,其他情况下函数值为0的函数。

在一些实施例中,布尔函数集合中的布尔函数可以通过训练数据对创建。例如,根据训练数据对中的输入布尔向量,确定布尔函数的变量取值条件,根据训练数据对中的期望输出值,确定布尔函数的取值。

在一些实施例中,训练数据对为[x,y],x为输入布尔向量,y为期望输出值。例如,生成3个训练数据对[(0,1,0,1),1]、[(1,1,0,1),0]、[(0,0,1,0),0],可以根据这3个训练数据对创建布尔函数集合中的3个布尔函数f1(x)、f2(x)、f3(x):

x1=(0,1,0,1)、x2=(1,1,0,1)、x3=(0,0,1,0),对应的期望输出值分别为y1=1、y2=0、y3=0。f1(x)、f2(x)、f3(x)的变量取值条件分别为c1:x=x1、c2:x=x2、c3:x=x3。这种由训练数据对直接创建的布尔函数可以看作扩展布尔函数集合的元素处理节点(或元素布尔函数)。例如,在使用过程中,如果待处理数据转换的布尔向量为(0,1,0,1),则确定目标布尔函数为f1(x)。

在一些实施例中,可以根据经验或者布尔向量的出现频率等,确定是否扩展相应的元素布尔函数。例如,扩展出现频率超出频率阈值的布尔向量相应的元素布尔函数。

在一些实施例中,可以对各布尔函数的变量取值条件进行逻辑操作,形成新的变量取值条件。例如,逻辑操作包括第一逻辑运算和第二逻辑运算中的至少一个。第一逻辑运算为不同变量取值条件之间的逻辑运算,第二逻辑运算为不同变量取值条件中布尔向量的相应分量的逻辑运算。根据新的变量取值条件,创建候选布尔函数。

例如,对变量取值条件c1、c2、c3进行逻辑操作可以得新的变量取值条件:

c4=c1·c3:x=x4;

c5=c1·c2·c3:x=x5;

c6=c1+c5=c1+c1·c2·c3:x=x1orx5;

c7=c1+c4=c1+c1·c3:x=x1orx4

“+”表示一种第一逻辑运算,即满足“+”前面的条件或者后面的条件,“or”为逻辑“或”运算。“·”表示表示一种第二逻辑运算,即对“·”前后条件中的布尔向量的相应分量进行逻辑“或”运算。

例如,x4为对c1和c3中的布尔向量x1和x3的相应分量进行逻辑“或”运算,x4=(0,1,1,1)。在这种情况下,根据新的变量取值条件c4创建的布尔函数为:

类似地,可以得到x5=(1,1,1,1),并根据相应的变量取值条件c5创建布尔函数f5(x)。

例如,c6为c1或c5,在这种情况下,根据新的变量取值条件c6创建的布尔函数为:

类似地,可以根据c7创建的布尔函数f7(x)。

这样,可以通过对元素处理节点进行逻辑操作创建出新的处理节点,这些新的处理节点可以看作学习模型的扩展处理节点(或扩展布尔函数),从而提高学习模型的数据处理能力。

在一些实施例中,可以将待处理数据转换为分量是实数的实数向量;在学习模型的实数函数集合中,确定与实数向量对应的目标实数函数;利用目标实数函数处理实数向量,得到待处理数据的处理结果。

在步骤130中,利用目标处理节点处理待处理向量,得到待处理数据的处理结果。例如,利用目标布尔函数处理布尔向量,得到待处理数据的处理结果。例如,利用目标布尔函数f1(x)处理布尔向量(0,1,0,1),得到处理结果为布尔值1。

在一些实施例中,将待处理数据转换若干布尔向量,这些布尔向量可以促使一些称为元素处理节点的布尔函数产生出来。元素处理节点是学习的基本元素。再利用这些元素处理节点,可以产生在学习模型中的布尔函数集合,然后在这个布尔函数集合中,确定与布尔向量对应的目标布尔函数;利用目标布尔函数处理布尔向量,得到待处理数据的处理结果。

在一些实施例中,布尔向量对应的目标布尔函数可以通过训练学习模型来确定。例如,可以通过图2的实施例来实现。

图2示出本公开的学习模型训练方法的一些实施例的流程图。

如图2所示,该方法包括:步骤210,创建满足训练数据对的候选处理节点;和步骤220,确定目标处理节点。

在步骤210中,根据训练数据对,利用处理节点集合中的各处理节点创建候选处理节点。例如,根据训练数据对,利用布尔函数集合中的各布尔函数创建候选布尔函数。训练数据对包含输入布尔向量和期望输出值,候选布尔函数对输入布尔向量的处理结果与期望输出值之间的差小于阈值。

在一些实施例中,训练数据对为多个,候选布尔函数对各输入布尔向量的处理结果与相应各期望输出值之间的差都小于相应的阈值。例如,对于3个训练数据对[x1,y1]、[x2,y2]、[x3,y3],需要在布尔函数集合中找到一个布尔函数f(x)满足如下的目标函数:

|f(x1)-y1|<ε1;

|f(x2)-y2|<ε2;

|f(x3)-y3|<ε3。

ε1、ε2、ε3为根据需要设置的足够小的正常数,可以相同也可以不同。

在一些实施例中,可以在布尔函数集中寻找能够满足上面公式的布尔函数作为候选布尔函数。例如,结合上面的实施例,候选布尔函数包括f1(x)、f6(x)、f7(x)。

在步骤220中,根据限制函数,在候选布处理节点中,确定与输入向量对应的目标处理节点。例如,在候选布尔函数中,确定与输入布尔向量对应的目标布尔函数。

在一些实施例中,可以设置目标函数的限制函数以确定目标布尔函数,如将候选布尔函数中对元素布尔函数进行逻辑操作最少的作为目标布尔函数。

在一些实施例中,f1(x)未进行逻辑操作,f6(x)作了3次逻辑操作(1次“+”2次“·”),f7(x)作了2次逻辑操作(1次“+”1次“·”)。因此,确定f1(x)为目标布尔函数。

在一些实施例中,布尔函数集中没有能够满足训练数据对的布尔函数。在这种情况下,可以对各处理节点进行操作,创建候选处理节点。例如,操作可以包括对处理函数进行组合操作、运算(如加减)操作等。

在一些实施例中,可以通过图3的实施例实现步骤210。

图3示出图2中步骤210的一些实施例的流程图。

如图3所示,步骤210包括:步骤2110,通过逻辑操作形成变量取值条件。和步骤2120,创建候选布尔函数。

在步骤2110中,对现有的各布尔函数的变量取值条件进行逻辑操作,形成新的变量取值条件。

在步骤2120中,根据新的变量取值条件,创建能够满足训练数据对需求的候选布尔函数。例如,可以将进行逻辑操作次数最少的候选布尔函数,确定为与输入布尔向量对应的目标布尔函数。

在一些实施例中,目标布尔函数需要满足:在训练数据对中的输入布尔向量为(0,1,0,1)、(0,1,1,0)、(1,1,0,0)、(1,0,1,0)、(1,0,0,1)、(0,0,1,1)、(0,0,0,0)的情况下,期望输出值为1;输入布尔向量为(1,0,0,0)、(0,1,0,0)、(0,0,1,0)、(0,0,0,1)、(1,1,1,0)、(0,1,1,1)、(1,0,1,1)、(1,1,0,1)、(1,1,1,1)的情况下,期望输出值为0。布尔函数集合中没有能够满足这些训练数据对的布尔函数。

在这种情况下可以通过对现有布尔函数进行逻辑操作,创建满足条件的候选布尔函数。在候选布尔函数中选取逻辑操作次数最小的作为目标布尔函数。

在一些实施例中,也可以通过继续输入新的训练数据对来调整布尔函数集合中的元素布尔函数。例如,在上面的实施例中的布尔函数集合的基础上,继续输入训练数据对(如[(1,1,0,0),1],[(0,1,1,0),1],[(0,0,1,1),1]等)进行训练。

在此基础上,调整布尔函数集合的元素布尔函数的变量取值条件为d1:x=(1,0,0,0)、d2:x=(0,1,0,0)、d3:x=(0,0,1,0)、d4:x=(0,0,0,1)。可以对这些元素布尔函数进行逻辑操作,生成新的变量取值条件:

d5=d1·d2+d1·d3+d1·d4+d2·d3+d2·d4+d3·d4。

根据d5创建的布尔函数e5(x)能够满足上述训练数据对的需求,因此将e5(x)作为处理上述训练数据对中输入布尔向量的目标布尔函数。

在一些实施例中,可以将创建的候选布尔函数加入布尔函数集合,以提高学习模型的学习能力。

图4示出本公开的计算机进行通用学习的方法的一些实施例的示意图。

如图4所示,输入空间41可以是m-bit的二进制向量空间,m是大于1的整数。输入空间41接收待处理数据转换成的m维输入信息,发送给学习模型42中布尔函数集合421的目标布尔函数4210进行处理(也可以发送给其他布尔函数)。如果输入空间41接收到的是训练数据对,则将期望输出值发送给输出空间43进行学习。

输出空间43是k-bit二进制向量空间,k是大于等于1的整数。输出空间43接收目标布尔函数4210的k维输出值并根据其内部逻辑输出该输出值。

学习模型42的核心部分是布尔函数集合421。布尔函数集合421中包含有多个处理节点即布尔函数(图中圆形)。处理节点包括元素处理节点和基于元素处理节点通过逻辑操作创建的扩展处理节点。所有的处理节点构成了向量表征空间。

布尔函数集合421中可以包含元素布尔函数和表达集。表达集中的布尔函数是根据元素布尔函数通过逻辑操作扩展的布尔函数。

学习模型42通过上述任一个实施例中的计算机进行通用学习的方法进行数据处理和训练。

在一些实施例中,在需要输出多维布尔向量作为处理结果的情况下,可以将多维布尔向量中各分量设置为输入布尔向量的各期望输出值;设置多个目标函数用以确定能够满足输入布尔向量与各期望输出之间关系的候选布尔函数;根据限制条件从各候选布尔函数中确定多个目标布尔函数。

在一些实施例中,也可以在学习模型中配置多个布尔函数集合,来实现输出多维布尔向量作为处理结果。例如,可以通过图5的实施例来实现。

图5示出本公开的计算机进行通用学习的方法的另一些实施例的流程图。

如图5所示,与图1中的实施例不同,本方法还可以包括:步骤510,确定多个目标布尔函数;步骤520,处理布尔向量得到布尔值;和步骤530,确定数据处理结果。

在步骤510中,在各布尔函数集合中,分别确定与布尔向量对应的目标布尔函数。

在步骤520中,利用各目标布尔函数分别处理布尔向量,得到各布尔值。

在步骤530中,根据各布尔值,确定数据处理结果。

例如,可以通过图6的实施例实现输出多维布尔向量。

图6示出本公开的计算机进行通用学习的方法的另一些实施例的示意图。

如图6所示,学习模型62具有两个布尔函数集合621和622。输入空间61将布尔向量输入学习模型62,根据计算机进行通用学习的方法确定在布尔函数集合621中确定目标布尔函数6210,在布尔函数集合622中确定目标布尔函数6220。

学习模型62利用目标布尔函数6210和目标布尔函数6220分别处理布尔向量得到相应的布尔值,并将布尔值输出给输出空间63。输出空间63将两个布尔值拼接为一个输出向量作为布尔向量的处理结果。

本方法能够对图像、声音、文本、控制指令等数据进行分类、回归等处理,并输出相应的识别结果、响应结果等。

在上述实施例中,利用布尔函数集合构建了具有高适用性的向量表征空间,能够处理由待处理数据转换而成的各种布尔向量,从而提高了数据处理的适用性。

图7示出本公开的计算机进行通用学习的装置的一些实施例的框图。

如图7所示,计算机进行通用学习的装置7包括转换单元71、确定单元72和处理单元73。

转换单元71将待处理数据转换为待处理向量。例如,将待处理数据转换为分量是布尔值的布尔向量。确定单元72在学习模型的处理节点集合中,确定与待处理向量对应的目标处理节点。例如,在学习模型的布尔函数集合中,确定与布尔向量对应的目标布尔函数。处理单元73利用目标处理节点处理待处理向量,得到待处理数据的处理结果。例如,利用目标布尔函数处理布尔向量,得到待处理数据的处理结果。

在一些实施例中,学习模型通过如下方式训练:根据训练数据对,利用布尔函数集合中的各布尔函数创建候选布尔函数。训练数据对包含输入布尔向量和期望输出值,候选布尔函数对输入布尔向量的处理结果与所述期望输出值之间的差小于阈值。例如,处理单元73可以将候选布尔函数加入布尔函数集合。

例如,对各布尔函数的变量取值条件进行逻辑操作,形成新的变量取值条件。逻辑操作包括第一逻辑运算和第二逻辑运算中的至少一个。第一逻辑运算为不同变量取值条件之间的逻辑运算,第二逻辑运算为不同变量取值条件中布尔向量的相应分量的逻辑运算。根据新的变量取值条件,创建候选布尔函数。

在一些实施例中,在候选布尔函数中,确定与输入布尔向量对应的目标布尔函数。例如,可以将进行逻辑操作次数最少的候选布尔函数,确定为与输入布尔向量对应的目标布尔函数。

在一些实施例中,训练数据对为多个,候选布尔函数对各输入布尔向量的处理结果与相应各期望输出值之间的差都小于相应的阈值。

在一些实施例中,根据训练数据对中的输入布尔向量,确定布尔函数的变量取值条件;根据训练数据对中的期望输出值,确定布尔函数的取值。

在一些实施例中,学习模型中具有多个布尔函数集合。确定单元72在各布尔函数集合中,分别确定与布尔向量对应的目标布尔函数。处理单元73利用各目标布尔函数分别处理所述布尔向量,得到各布尔值。确定单元72根据各布尔值,确定数据处理结果。

在上述实施例中,利用布尔函数集合构建了具有高适用性的向量表征空间,能够处理由待处理数据转换而成的各种布尔向量,从而提高了数据处理的适用性。

图8示出本公开的计算机进行通用学习的装置的另一些实施例的框图。

如图8所示,该实施例的计算机进行通用学习的装置8包括:存储器81以及耦接至该存储器81的处理器82,处理器82被配置为基于存储在存储器81中的指令,执行本公开中任意一个实施例中的计算机进行通用学习的方法。

其中,存储器81例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)、数据库以及其他程序等。

图9示出本公开的计算机进行通用学习的装置的又一些实施例的框图。

如图9所示,该实施例的计算机进行通用学习的装置9包括:存储器910以及耦接至该存储器910的处理器920,处理器920被配置为基于存储在存储器910中的指令,执行前述任意一个实施例中的计算机进行通用学习的方法。

存储器910例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。

计算机进行通用学习的装置9还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930、940、950以及存储器910和处理器920之间例如可以通过总线960连接。其中,输入输出接口930为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口。存储接口950为sd卡、u盘等外置存储设备提供连接接口。

通过下面的实施例可以更加清楚地说明本公开的技术方案。

在一些实施例中,本公开的方法可以用于实现通用学习机。

例如,通用学习机的基本结构可以参看图4,学习机的最基本部件:输入空间41,输出空间42,思绪空间(学习机模型42)和节制空间(计算机进行通用学习的方法)。

输入空间41可以是n-bit的二进制向量空间。输入空间就是接收输入信息(n-bit),然后再把信息送到思绪空间中的当前处理节点(目标布尔函数4210)。也可能还送给其他的处理节点(其他布尔函数)。输入空间41也可能接收训练用的信息。当训练用的信息不为空时,输入空间41将把该信息送给输出空间42。

输出空间43可以是m-bit的二进制向量空间。输出空间43接收当前处理节点的输出值(m-bit),并且输出这个值(根据其内部逻辑)。输出空间还要接收输入空间传来的训练用数据以用于学习。

思绪空间是学习机的核心部分。思绪空间里面就是我们称为处理节点的数学对象。这是处理信息的一些单元。其中一部分处理节点,我们称为元素处理节点,它们是一些基本的处理节点,其它的处理节点,是通过操作元素处理节点而构建出来的。

假设思绪空间中的全部元素处理节点为:g1、g2......gl,l为正整数。思绪空间将用这些元素处理节点为来构建更多的处理节点。全部这些构建出来的处理节点,就组成了表达集。

我们选取表达集中的某个处理节点来作为当前处理节点,即这个处理节点,在当前,是学习机中来实施从输入到输出的信息处理的信息处理器。

节制空间中有基本的控制程序和相关联的数据,用于控制学习机和执行学习动力学。我们已经在理论上说明了节制空间和思绪空间的作用。如图4所示,节制空间将节制思绪空间里面的各种学习活动。根据这个理论指导,我们对本学习机的节制空间做出设计和安排。

图10示出本公开的计算机进行通用学习的方法的又一些实施例的示意图。

如图10所示,组件1-4是安装在节制空间中的。很多情况下,学习机仅是一级学习机,因此节制空间基本上是不变的。但是,如果学习机是多级学习机,节制空间本身也是一个学习机,因此也就会改变和适应(因此,节制空间里面就会有其自身的学习机,因此也就有高一层次的思绪空间和节制空间)。

关于学习机的工作,学习机的运行状态基本上为两种,训练和工作,参看附图4。两种状态的区别,仅在于是否有来自于训练数据加于输出空间中。学习机将在输入空间中获取数据,如果数据中的训练用输出值不为空,学习机就需要采用这个值进行训练,如果这个值为空,学习机就仅用当前处理节点来做信息处理,并且输出。因此,通用学习机可以很方便用于在线学习,训练完成的学习机也可以很方便用于工作。

图10是说明学习动力学的基本组件。有4个最重要的组件,这里做一些解释。

组件1扩展元素处理节点:在数据的驱动下,有方向地扩展元素处理节点,得到更多更好的元素处理节点。如图4,元素处理节点是一些特别的处理节点,基于它们,在一些操作规则下,就可以构建更多的处理节点。因此,它们起重要作用。如果没有合适的元素处理节点,就不能有效地学习。但是,元素处理节点可以扩展,特别是在数据的驱动下,有方向地扩展,使得更多更好的元素处理节点加入进来。这样,学习就可以有效。

组件2操作元素处理节点的规则:使用这些规则,可以从元素处理节点来构建处理节点,全部这样的处理节点即为表达集。假设思绪空间中的元素噘嘭形式为:g1、g2......gl,我们可以从这些元素处理节点出发,进行操作,而得到更多的处理节点。例如,集合k表述如下:

k={f|f=c(g1,g2,......,gl)}

此处,g1、g2......gl是此刻的元素处理节点,而c是某些操作。这个集合k就是表达集。当前处理节点就是从k中选取出来的。

组件3决定限制泛函:形成更多限制泛函并且决定采用合适的限制泛函。限制泛函j是定义在表达集k上的一个泛函,即:j:k→r,r是实数域。j可以是:j(f)=|f-f0|。

组件3将在学习过程中建立起更多的限制函数,并且选取合适的限制函数供后面使用。这是学习动力学的重要环节。操作次数泛函是常有的选项。但是,很多时候,应该选取其他更合适的限制泛函。

组件4求解拟合极值问题:在表达集上求限制泛函的极值问题,同时必须拟合采样数据。假设表达集为k,限制泛函为j,训练给出的数据为:(x1,y1),(x2,y2),......(xp,yp),p是正整数。那么,我们称如下极值问题为拟合数据条件下的限制泛函极值问题,简称为拟合极值问题:

min:j(f),f∈k&|f(xi)-yi|<∈,i=1,2,......,p

也就是说,拟合极值问题就是去求这样的f:f在表达集中,并且在训练数据上满足数据条件(即拟合),而且使得限制泛函取最小值。

当函数是如上的极值问题的解,我们则选取为新的当前处理节点(如目标布尔函数)。

应用这些组件,学习动力学的基本逻辑见图11。

图11示出本公开的计算机进行通用学习的方法的又一些实施例的流程图。

如图11所示,在步骤s11中,训练数据,以及学习机的各种历史和现状信息。

在步骤s12中,判断是否需要扩展元素函数。在是的情况下,执行步骤s13;在否的情况下,执行步骤s14。

在步骤s13中,应用组件1,形成更多的元素处理节点。

在步骤s14中,清理思绪空间中的元素处理节点。

在步骤s15中,应用组件3,决定采用哪种限制泛函。

在步骤s16中,应用组件2,获取表达集。应用组件4,在表达集上求解拟合极值问题,其解作为新的当前处理节点。本轮学习完成。

学习动力学将应用前述的4个组件。如果需要扩展新的元素处理节点,就应用组件1。在清理元素处理节点后,就进入决定采用限制泛函的步骤。此处将应用组件3,这是通用学习机进行成功学习的关键点。然后,学习集中在求拟合极值问题。此处,将应用组件2和组件4。

此处强调,我们的学习动力学是由选取限制泛函和扩展元素处理节点来完成的,这样就形成了一种全新的,完全不同于通常的机器学习的学习方法。这是我们的发明的核心。这样我们就可以用尽量少的数据来驱动学习。在足够的数据(不是大数据,而仅是足够的数据)驱动下,就完全可以精确地学习到数据中蕴藏的规律。这就是通用学习机的学习动力学:使用尽量少的数据,来达到尽可能精确和确定的结论。这是本公开的创新。据我们所知,目前没有任何学习技术接近此思想。

本公开的创新点在于:

更进一步完善了学习机,我们已经证明了这样的学习机是通用的,即可以学习任何图式。我们进一步完善学习机的设计,明确了思绪空间和节制空间。

我们发明了思绪空间里面的具体结构:元素处理节点,表达集,以及当前处理节点。这些都是以后的人工智能不可以避免的。

我们发明了通用学习机的学习动力学。我们在理论上证明了,这样的确可以做出通用学习机。这是非常重大的创新和发明。

总之,我们的学习机是一个具备主动性去学习和调整自己的机器,而其他的学习方法和函数逼近方法仅是一个由人设定的参数体系,仅仅通过调整参数来适应数据,即为一被动的学习机器。这是根本的区别。这是我们的重大创新。

图12示出本公开的控制方法的一些实施例的流程图。

如图12所示,控制方法包括:步骤s21,转换测量数据为待处理向量;步骤s22,确定对应的目标处理节点;步骤s23,处理待处理向量;和步骤s24,确定控制指令。

在步骤s21中,将各传感器的测量数据转换为待处理向量。

在步骤s22中,在学习模型的处理节点集合中,确定与待处理向量对应的目标处理节点。

在步骤s23中,利用目标处理节点处理待处理向量,得到测量数据的处理结果。

在步骤s24中,根据处理结果,确定控制指令以进行相应控制处理。

图13示出本公开的识别方法的一些实施例的流程图。

如图13所示,识别方法包括:步骤s31,转换特征数据为待处理向量;步骤s32,确定对应的目标处理节点;步骤s33,处理待处理向量;和步骤s34,确定识别结果。

在步骤s31中,将待识别对象的特征数据转换为待处理向量。

在步骤s32中,在学习模型的处理节点集合中,确定与待处理向量对应的目标处理节点。

在步骤s33中,利用目标处理节点处理待处理向量,得到测量数据的处理结果。

在步骤s34中,根据处理结果,确定模式识别的识别结果。

本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

至此,已经详细描述了根据本公开的计算机进行通用学习的方法、计算机进行通用学习的装置和计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。

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