深度学习神经网络进化方法、装置、介质和计算机设备与流程

文档序号:14390301阅读:178来源:国知局
深度学习神经网络进化方法、装置、介质和计算机设备与流程

本发明涉及计算机技术领域,特别是涉及一种深度学习神经网络进化方法、装置、介质和计算机设备。



背景技术:

神经网络是一种进行分布式并行信息处理的算法数学模型,常用于智能机器识别。深度学习神经网络是通过样本数据训练进行深度学习并通过测试之后得到的神经网络,其中,深度学习分有监督学习和无监督学习。

通常在得到深度学习神经网络之后,深度学习神经网络不会更改,即在已训练深度学习神经网络的使用过程中不会改变。然而,深度学习神经网络的训练和测试的数据毕竟有限,准确率不能保证,且随着已训练深度学习神经网络的使用过程中输入的数据随时间发生变化,当使用时间较长时,深度学习神经网络的准确率降低。例如识别某个人的人脸识别深度学习神经网络,当这个人随着年龄增长,其脸也在不断发生变化,所以该人脸识别深度学习神经网络的适用性在不断地变差,准确率降低。



技术实现要素:

基于此,有必要针对传统的深度学习神经网络准确率低的问题,提供一种可提高深度学习神经网络准确率的深度学习神经网络进化方法、装置、介质和计算机设备。

一种深度学习神经网络进化方法,包括:

调取已训练的深度学习神经网络,将输入数据输入已训练的深度学习神经网络进行深度学习,得到输出数据并记录使用时间及获取对应所述输入数据的真实结果数据;

按照预设的抽查规则选取已训练的深度学习神经网络使用过程中的输入数据、输出数据、使用时间和真实结果数据;

将选取的输入数据及对应的输出数据、对应的真实结果数据和对应的使用时间组成一个数据组;

计算每个数据组中输出数据与同组内对应的真实结果数据的差异值,以所述使用时间属于预设时间段内的所有数据组中、对应差异值大于预设阈值的数据组为差异组,统计所述差异组的组数;

若所述组数大于或等于存储的组数阈值,则将每一个差异组中的输入数据和真实结果数据分别作为输入和预期输出对已训练的深度学习神经网络进行训练,得到进化后的深度学习神经网络。

一种深度学习神经网络进化装置,包括:

数据获取模块,用于调取已训练的深度学习神经网络,将输入数据输入已训练的深度学习神经网络进行深度学习,得到输出数据并记录使用时间及获取对应所述输入数据的真实结果数据;

数据选取模块,用于按照预设的抽查规则选取已训练的深度学习神经网络使用过程中的输入数据、输出数据、使用时间和真实结果数据;

数据保存模块,用于将选取的输入数据及对应的输出数据、对应的真实结果数据和对应的使用时间组成一个数据组;

组数统计模块,用于计算每个数据组中输出数据与同组内对应的真实结果数据的差异值,以所述使用时间属于预设时间段内的所有数据组中、对应差异值大于预设阈值的数据组为差异组,统计所述差异组的组数;

网络进化模块,用于在所述组数大于或等于存储的组数阈值时,将每一个差异组中的输入数据和真实结果数据分别作为输入和预期输出对已训练的深度学习神经网络进行训练,得到进化后的深度学习神经网络。

上述深度学习神经网络进化方法和装置,通过将输入数据输入已训练的深度学习神经网络进行深度学习得到输出数据,选取输入数据及与输入数据对应的输出数据、使用时间和对应的真实结果数据并将相对应的数据作为一个数据组,统计使用时间属于预设时间段内的所有数据组中、输出数据与对应的真实结果数据的差异值大于预设阈值的差异组的组数;在组数大于或等于组数阈值时,采用差异组的输入数据和对应的真实结果数据来对已训练的深度学习网络进行训练,从而在已训练的深度学习神经网络的使用过程中进行进化,可纠正深度学习神经网络的偏差,提高深度学习神经网络的准确率。

一种介质,存储有计算机程序,存储的计算机程序被处理器执行时实现上述深度学习神经网络进化方法的步骤。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述深度学习神经网络进化方法的步骤。

上述介质和计算机设备,由于实现了上述深度学习神经网络进化方法的步骤,同理可提高深度学习神经网络的准确率。

附图说明

图1为一实施例中深度学习神经网络进化方法的流程图;

图2为一实施例中将每一个差异组中的输入数据和真实结果数据分别作为输入和预期输出对已训练的深度学习神经网络进行训练,得到进化后的深度学习神经网络的具体流程图;

图3为含多个隐层的深度学习的模型图;

图4为深度学习的核心思路示意图;

图5为一实施例中深度学习神经网络进化装置的结构图。

具体实施方式

参考图1,在一个实施例中,提供一种深度学习神经网络进化方法,包括如下步骤:

s110:调取已训练的深度学习神经网络,将输入数据输入已训练的深度学习神经网络进行深度学习,得到输出数据并记录使用时间及获取对应输入数据的真实结果数据。

输入数据是用于输入深度学习神经网络的数据,具体地,在步骤s110之前还包括步骤:获取输入数据。输入数据可以通过采集或用户输入得到,输入数据的类型由对应的深度学习神经网络的类型确定;例如,若深度学习神经网络为用于人脸识别的神经网络,则输入数据为人脸图像数据;若深度学习神经网络为用于语音识别的神经网络,则输入数据为语音数据。

其中,使用时间是将输入数据输入已训练的深度学习神经网络的时间,也可以是得到输出数据的时间。可选地,使用时间可以是以日期为单位,也可以是精确到日期内的具体时刻。对应的真实结果数据是对应输入数据的客观现实结果,可以通过用户反馈得到;对应的真实结果数据也可以根据人工检测输入数据得到。例如,输入数据为人脸图像数据,则可以直接由用户反馈“0”或“1”作为对应的真实结果数据,也可以通过人工检测得到“0”或“1”,“0”和“1”分别表示输入的人脸图像数据对应为非目标人物的人脸、输入的人脸图像数据对应为目标人物的人脸。

已训练的深度学习神经网络是需要进行进化的深度学习神经网络。其中,输出数据与对应的真实结果数据的格式相同,便于比较;例如,输出数据和真实结果数据均用“0”和“1”分别表示输入的人脸图像数据对应为非目标人物的人脸、输入的人脸图像数据对应为目标人物的人脸。

s130:按照预设的抽查规则选取已训练的深度学习神经网络使用过程中的输入数据、输出数据、使用时间和真实结果数据。

步骤s110中将输入数据输入已训练的深度学习神经网络是对已训练的深度学习神经网络的使用,多次进行步骤s110则可以得到每一次使用对应的输入数据、输出数据、使用时间和真实结果数据。如果每次使用已训练的深度学习神经网络所对应的数据都获取,会导致数据处理成本过高,所以需要采用抽查的方式来降低数据处理成本。例如,预设的抽查规则可以是每k次使用中获取1次使用的输入数据、输出数据、使用时间和对应的真实结果数据,其中,k取大于1的数,例如100。

s150:将选取的输入数据及对应的输出数据、对应的真实结果数据和对应的使用时间组成一个数据组。

具体地,s150可以包括:将s130中每次获取到的输入数据、对应的输出数据、对应的真实结果数据和对应的使用时间组成一个数据组并保存。具体可以是将数据组保存在数据库中,比如可以存入进化知识库。例如,存入进化知识库中的一个数据组:1月1日,输入数据为人脸图像a,输出数据为1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。

s170:计算每个数据组中输出数据与同组内对应的真实结果数据的差异值,以使用时间属于预设时间段内的所有数据组中、对应差异值大于预设阈值的数据组为差异组,统计差异组的组数。

获取的同组内的输出数据与对应的真实结果数据的差异值可以反映已训练的深度学习神经网络此次深度学习的准确性。具体地,比较输出数据与对应的真实结果数据是否一致,越一致,则差异值越小,越不一致,则差异值越大。预设时间段和预设阈值根据实际需要预先设置。预设阈值可以为0,也可以为能够接受的输出误差值。差异值大于预设阈值,表示对应数据组中的输出数据和对应的真实结果数据的差异不可接受,即输出结果错误,从而统计的差异组的组数即为预设时间段内输出结果错误的次数。

s190:若组数大于或等于存储的组数阈值,则将每一个差异组中的输入数据和真实结果数据分别作为输入和预期输出对已训练的深度学习神经网络进行训练,得到进化后的深度学习神经网络。

组数阈值用于作为参考,若组数大于或等于组数阈值,则表示预设时间段内深度学习结果错误的次数不在可接受范围内,已训练的深度学习神经网络的准确率较低,此时通过将每一个差异组的输入数据和真实结果数据分别作为输入和预期输出对已训练的深度学习神经网络进行训练,可进化深度学习神经网络。

上述深度学习神经网络进化方法,通过将输入数据输入已训练的深度学习神经网络进行深度学习得到输出数据,选取输入数据及与输入数据对应的输出数据、使用时间和对应的真实结果数据并将相对应的数据作为一个数据组,统计使用时间属于预设时间段内的所有数据组中、输出数据与对应的真实结果数据的差异值大于预设阈值的差异组的组数;在组数大于或等于组数阈值时,采用差异组的输入数据和对应的真实结果数据来对已训练的深度学习网络进行训练,从而在已训练的深度学习神经网络的使用过程中进行进化,可纠正深度学习神经网络的偏差,提高深度学习神经网络的准确率。

在一个实施例中,步骤s170之后还包括:若组数小于存储的组数阈值,则返回步骤s110。

差异组的组数小于组数阈值,表示预设时间段内存在差异的数据组的数量在可接受范围内,此时返回步骤s110,可继续使用已训练的深度学习神经网络。

具体地,每按照预设的抽查规则完成一次选取可保存一个数据组。在一个实施例中,步骤s170可以包括:计算最新保存的数据组中输出数据与对应的真实结果数据的差异值,若差异值大于预设阈值,则更新已存的差异组的组数。其中,已存的差异组的组数初始值为0,更新已存的差异组的组数具体可以是在已存的差异组的组数上加1得到新的差异组的组数。

通过在每按照预设的抽查规则完成一次选取后统计差异组的组数,后续深度学习完成后只需要在已存的差异组的组数上简单的更新即可,处理简便。

可以理解,在其他实施例也可以采用其他方式统计差异组的组数,例如,步骤s170还可以包括:获取所有数据组中输出数据与同组内对应的真实结果数据的差异值,以使用时间属于预设时间段内的所有数据组中、对应差异值大于预设阈值的数据组为差异组,统计差异组的组数。即,每按照预设的抽查规则完成一次选取,则统计使用时间属于预设时间段内的所有数据组中差异组的组数。

在一个实施例中,组数阈值可以为固定值。将差异组的组数与固定值比较以纠正深度学习神经网络的偏差,固定值越小,可接受的错误次数越少,对应进化的深度学习神经网络准确性越高。通过预设一个固定值并存储作为组数阈值,固定值可以根据实际需要具体设置,因此可提高进化效果设计的灵活性。

在另一个实施例中,步骤s150之后、步骤s190之前,还包括组数阈值存储步骤:根据数据组获取当前的组数阈值并存储。

通过根据得到的数据组获取组数阈值,组数阈值随存储的数据组动态调整,适应性高。具体地,组数阈值存储步骤可以是在步骤s170之前执行,也可以是在步骤s170之后执行,还可以与步骤s170同时执行。

可选地,组数阈值存储步骤可以包括:统计使用时间属于预设时间段内的数据组的总组数;根据总组数计算得到当前的组数阈值并存储,其中,当前的组数阈值小于总组数。

通过根据总组数计算得到当前的组数阈值,得到的组数阈值随总组数变动,即随预设时间段内深度学习的总次数变动,从而可根据总组数对应的组数阈值判断是否需要对已训练的深度学习神经网络进行训练。

具体地,根据总组数计算得到当前的组数阈值并存储可以是计算总组数与第一预设比例的乘积得到当前的组数阈值并存储,其中,第一预设比例大于零且小于1。本实施例中,第一预设比例为1/4。

可选地,组数阈值存储步骤还可以包括:统计使用时间属于预设参考时间段内的所有数据组中、对应差异值大于预设阈值的数据组的数量;根据数量计算得到当前的组数阈值并存储。

预设参考时间段可以根据实际需要设置。通过根据统计的数量计算得到当前的组数阈值,得到的组数阈值随统计得到的数量变动;如果将统计得到的数量直接作为当前的组数阈值,则相当于将预设参考时间段内与预设时间段内的抽查得到的输出结果的错误次数进行比较。当预设时间段内抽查到的输出结果的错误次数大于或等于预设参考时间段内抽查到的输出结果的错误次数时,采用差异组的输入数据和真实结果数据对已训练的深度学习神经网络进行训练。

具体地,可以是计算统计得到的数量与第二预设比例的乘积得到当前的组数阈值并存储。当第二预设比例大于1时,例如为1.5,表明要求深度学习神经网络的准确率在使用的过程中需要变高到相应比例。当第二预设比例小于1时,例如为0.5,表明对深度学习神经网络的准确率的要求在使用的过程中可以变低到相应比例。

在一个实施例中,预设时间段为以当前时刻为结束点的对已训练的深度学习神经网络进行预设次数的使用的时间段;或者预设时间段为以当前时刻为结束点、时长为第一预设时长的时间段,即时长固定。例如,预设时间段可以是从开始到当前时刻的整个时间段,也可以是整个时间段中的最近1年的时间段,也可以是整个时间段中的最近100次使用已训练的深度学习神经网络的时间段。其中,预设次数和第一预设时长可以根据实际情况具体设置。

本实施例中,预设参考时间段为以预设起始时刻为起始点、预设结束时刻为结束点的时间段,即预设参考时间段是预先设置的一个固定时间段。预设参考时间段也可以是一个以已训练的深度学习神经网络第一次使用的时刻为起始点、时长为第一预设时长的时间段。预设参考时间段也可以是一个以已训练的深度学习神经网络第一次使用的时刻为起始点、使用次数为预设次数的时间段。预设参考时间段也可以是一个以当前时刻的第二预设时长之前的时刻为结束点、时长为第一预设时长的时间段。预设参考时间段也可以是一个以当前时刻的第二预设时长之前的时刻为结束点、使用次数为预设次数的时间段。其中,第二预设时长大于第一预设时长。

在一个实施例中,步骤s190中将每一个差异组中的输入数据和真实结果数据分别作为输入和预期输出对已训练的深度学习神经网络进行训练,得到进化后的深度学习神经网络的步骤包括步骤(a1)和步骤(a2)。

步骤(a1):将所有差异组中的输入数据输入已训练的深度学习神经网络进行无监督学习,得到初步进化的深度学习神经网络。

步骤(a2):将所有差异组中的输入数据和对应的真实结果数据分别作为输入和预期输出,对初步进化的深度学习神经网络进行有监督学习,得到进化后的深度学习神经网络。

无监督学习和有监督学习是深度学习的学习方式。通过将所有差异组中的输入数据输入已训练的深度学习神经网络进行无监督学习得到初步进化的深度学习神经网络的基础上,再根据差异组中的输入数据和对应的真实结果数据对初步进化的深度学习神经网络进行有监督学习,结合无监督学习和有监督学习,得到的进化后的深度学习神经网络更接近全局最优,偏差纠正效果好,从而准确率更高。

在一个实施例中,参考图2,步骤(a1)包括步骤s191和步骤s192。

s191:按照各差异组的使用时间的先后顺序排序,选取第一组差异组中的输入数据输入已训练的深度学习神经网络进行无监督学习,得到对应的训练神经网络。

差异组的组数有多个时,按照差异组的使用时间的先后顺序进行排序,使用时间越靠前的排序靠前,第一组差异组为最先进行抽查得到的差异组。

s192:选取下一组差异组中的输入数据作为前一组差异组对应的训练神经网络的输入,对前一组差异组对应的训练神经网络进行无监督学习得到对应的训练神经网络,循环直到得到最后一组差异组对应的训练神经网络并作为初步进化的深度学习神经网络。

通过按照使用时间的先后顺序进行无监督学习,后一次无监督学习在前一次无监督学习得到的训练神经网络上进行,从而使用时间越靠后越接近将来使用的时间,即越是后输入的输入数据越接近将来的使用时间,而越后输入的输入数据是过去最近的时间产生的数据,从而使得无监督学习后的神经网络更能适应将来使用的需要。

在一个实施例中,继续参考图2,步骤(a2)包括步骤s193和步骤s194。

s193:按照各差异组的使用时间的先后顺序排序,选取第一组差异组中的输入数据和对应的真实结果数据分别作为初步进化的深度学习神经网络的输入和预期输出,对初步进化的深度学习神经网络进行有监督学习,得到对应的改进神经网络。

s194:选取下一组差异组中的输入数据和真实结果数据分别作为前一组差异组对应的改进神经网络的输入和预期输出,对前一组差异组对应的改进神经网络进行有监督学习,得到改进神经网络,循环直到得到最后一组差异组对应的改进神经网络并作为进化后的深度学习神经网络。

通过在无监督学习后的初步进化的深度学习神经网络的基础上,按照使用时间的先后顺序进行有监督学习,后一次有监督学习在前一次有监督学习得到的改进神经网络上进行,从而使用时间越靠后越接近将来使用的时间,即越是后输入的输入数据越接近将来的使用时间,而越后输入的输入数据是过去最近的时间产生的数据,从而使得最终进化后的深度学习神经网络更能适应将来使用的需要,准确率更高。

参考图3和图4,把学习结构看作一个网络,深度学习的核心思路如下:

第一步:采用自下而上的无监督学习

1、逐层构建单层神经元。

2、每层采用wake-sleep算法进行调优。每次仅调整一层,逐层调整。

这个过程可以看作是一个featurelearning的过程,是和传统神经网络区别最大的部分。

wake-sleep算法包括:

1、wake阶段:认知过程,通过下层的输入特征(input)和向上的认知(encoder)权重产生每一层的抽象表示(code),再通过当前的生成(decoder)权重产生一个重建信息(reconstruction),计算输入特征和重建信息残差,使用梯度下降修改层间的下行生成权重。也就是“如果现实跟我想象的不一样,改变我的生成权重使得我想象的东西变得与现实一样”。

2、sleep阶段:生成过程,通过上层概念和向下的生成权重,生成下层的状态,再利用认知权重产生一个抽象景象。利用初始上层概念和新建抽象景象的残差,利用梯度下降修改层间向上的认知权重。也就是“如果梦中的景象不是我脑中的相应概念,改变我的认知权重使得这种景象在我看来就是这个概念”。

具体的,先用无标定数据训练第一层,训练时先学习第一层的参数(这一层可以看作是得到一个使得输出数据和输入数据差别最小的三层神经网络的隐层),由于模型capacity的限制以及稀疏性约束,使得得到的模型能够学习到数据本身的结构,从而得到比输入数据更具有表示能力的特征;在学习得到第n-1层后,将n-1层的输出数据作为第n层的输入数据,训练第n层,由此分别得到各层的参数。

第二步:自顶向下的有监督学习

这一步是在第一步学习获得各层参数进的基础上,在最顶的编码层添加一个分类器(例如罗杰斯特回归、svm等),而后通过带标签数据的有监督学习,利用梯度下降法去微调整个网络参数。

深度学习的第一步实质上是一个网络参数初始化过程。区别于传统神经网络初值随机初始化,深度学习神经网络是通过在无监督学习输入数据的结构上得到的,因而这个初值更接近全局最优,从而能够取得更好的效果。

在一个实施例中,步骤s190之后还包括:删除所有数据组,将进化后的深度学习神经网络作为新的已训练的深度学习神经网络,并返回步骤s110。

通过在步骤s190后删除所有数据组,从而进行清零,避免存储的数据组对深度学习神经网络的下一轮进化产生影响。

参考图5,在一个实施例中,提供一种深度学习神经网络进化装置,包括数据获取模块110、数据选取模块130、数据保存模块150、组数统计模块170和网络进化模块190。

数据获取模块110用于调取已训练的深度学习神经网络,将输入数据输入已训练的深度学习神经网络进行深度学习,得到输出数据并记录使用时间及获取对应输入数据的真实结果数据。

数据选取模块130用于按照预设的抽查规则选取已训练的深度学习神经网络使用过程中的输入数据、输出数据、使用时间和真实结果数据。

数据保存模块150用于将选取的输入数据及对应的输出数据、对应的真实结果数据和对应的使用时间组成一个数据组。

组数统计模块170用于计算每个数据组中输出数据与同组内对应的真实结果数据的差异值,以使用时间属于预设时间段内的所有数据组中、对应差异值大于预设阈值的数据组为差异组,统计差异组的组数。

网络进化模块190用于在组数大于或等于存储的组数阈值时,将每一个差异组中的输入数据和真实结果数据分别作为输入和预期输出对已训练的深度学习神经网络进行训练,得到进化后的深度学习神经网络。

上述深度学习神经网络进化装置,通过将输入数据输入已训练的深度学习神经网络进行深度学习得到输出数据,选取输入数据及与输入数据对应的输出数据、使用时间和对应的真实结果数据并将相对应的数据作为一个数据组,统计使用时间属于预设时间段内的所有数据组中、输出数据与对应的真实结果数据的差异值大于预设阈值的差异组的组数;在组数大于或等于组数阈值时,采用差异组的输入数据和对应的真实结果数据来对已训练的深度学习网络进行训练,从而在已训练的深度学习神经网络的使用过程中进行进化,可纠正深度学习神经网络的偏差,提高深度学习神经网络的准确率。

在一个施例中,上述深度学习神经网络进化装置还包括循环模块(图未示),用于在差异组的组数小于存储的组数阈值时,返回数据获取模块110再次调取已训练的深度学习神经网络,将输入数据输入已训练的深度学习神经网络进行深度学习,得到输出数据并记录使用时间及获取对应输入数据的真实结果数据。如此,可进行下一次使用。

具体地,每按照预设的抽查规则完成一次选取可保存一个数据组。在一个实施例中,组数统计模块170可以用于计算最近保存的数据组中输出数据与对应的真实结果数据的差异值,若差异值大于预设阈值,则更新已存的差异组的组数。其中,已存的差异组的组数初始值为0,更新已存的差异组的组数具体可以是在已存的差异组的组数上加1得到新的差异组的组数。

通过在每按照预设的抽查规则完成一次选取后统计差异组的组数,后续深度学习完成后只需要在已存的差异组的组数上简单的更新即可,处理简便。

可以理解,在其他实施例也可以采用其他方式统计差异组的组数,例如,组数统计模块170还可用于:获取所有数据组中输出数据与同组内对应的真实结果数据的差异值,以使用时间属于预设时间段内的所有数据组中、对应差异值大于预设阈值的数据组为差异组,统计差异组的组数。即,每按照预设的抽查规则完成一次巡区,则统计所有数据组中差异组的组数。

在一个实施例中,组数阈值可以为固定值。通过预设一个固定值并存储作为组数阈值,固定值可以根据实际需要具体设置,因此可提高进化效果设计的灵活性。

在另一个实施例中,上述深度学习神经网络进化装置还包括组数阈值存储模块(图未示),用于在数据保存模块150执行相应功能之后、网络进化模块190执行相应功能之前,根据数据组获取当前的组数阈值并存储。通过根据已经得到的数据组获取组数阈值,组数阈值随存储的数据组动态调整,适应性高。

可选地,组数阈值存储模块可以用于:统计使用时间属于预设时间段内的数据组的总组数;根据总组数计算得到当前的组数阈值并存储,其中,当前的组数阈值小于总组数。

通过根据总组数计算得到当前的组数阈值,得到的组数阈值随总组数变动,即随预设时间段内深度学习的总次数变动,从而可根据总组数对应的组数阈值判断是否需要对已训练的深度学习神经网络进行训练。

具体地,可以是计算总组数与第一预设比例的乘积得到当前的组数阈值并存储,其中,第一预设比例大于零且小于1。本实施例中,第一预设比例为1/4。

可选地,组数阈值存储模块还可以用于:统计使用时间属于预设参考时间段内的所有数据组中、对应差异值大于预设阈值的数据组的数量;根据数量计算得到当前的组数阈值并存储。

预设参考时间段可以根据实际需要设置,预设参考时间段可以是预先设置的一个确定起始时刻、结束时刻的固定时间段,也可以是一个以当前时刻为结束点确定的时间段。通过根据统计的数量计算得到当前的组数阈值,得到的组数阈值随数量变动;从而将两个时间段内的深度学习的错误次数进行比较,当预设时间段内深度学习的错误次数大于或等于预设参考时间段内深度学习的错误次数时,采用差异组的输入数据和真实结果数据对已训练的深度学习神经网络进行训练。

具体地,可以是计算数量与第二预设比例的乘积得到当前的组数阈值并存储。其中,当前的组数阈值大于或等于数量。本实施例中,第二预设比例为1.5。

在一个实施例中,网络进化模块190将所有差异组中的输入数据输入已训练的深度学习神经网络进行无监督学习,得到初步进化的深度学习神经网络;将所有差异组中的输入数据和对应的真实结果数据分别作为输入和预期输出,对初步进化的深度学习神经网络进行有监督学习,得到进化后的深度学习神经网络。

通过将差异组中的输入数据输入已训练的深度学习神经网络进行无监督学习得到初步进化的深度学习神经网络的基础上,再根据差异组中的输入数据和对应的真实结果数据对初步进化的深度学习神经网络进行有监督学习,结合无监督学习和有监督学习,得到的进化后的深度学习神经网络更接近全局最优,偏差纠正效果好,从而准确率更高。

在一个实施例中,网络进化模块190按照各差异组的使用时间的先后顺序排序,选取第一组差异组中的输入数据输入已训练的深度学习神经网络进行无监督学习,得到对应的训练神经网络;选取下一组差异组中的输入数据作为前一组差异组对应的训练神经网络的输入,对前一组差异组对应的训练神经网络进行无监督学习得到对应的训练神经网络,循环直到得到最后一组差异组对应的训练神经网络并作为初步进化的深度学习神经网络。

通过按照使用时间的先后顺序进行无监督学习,后一次无监督学习在前一次无监督学习得到的训练神经网络上进行,从而使用时间越靠后越接近将来使用的时间,即越是后输入的输入数据越接近将来的使用时间,而越后输入的输入数据是过去最近的时间产生的数据,从而使得无监督学习后的神经网络更能适应将来使用的需要。

在一个实施例中,网络进化模块190按照各差异组的使用时间的先后顺序排序,选取第一组差异组中的输入数据和对应的真实结果数据分别作为初步进化的深度学习神经网络的输入和预期输出,对初步进化的深度学习神经网络进行有监督学习,得到对应的改进神经网络;选取下一组差异组中的输入数据和真实结果数据分别作为前一组差异组对应的改进神经网络的输入和预期输出,对前一组差异组对应的改进神经网络进行有监督学习,得到改进神经网络,循环直到得到最后一组差异组对应的改进神经网络并作为进化后的深度学习神经网络。

通过在无监督学习后的初步进化的深度学习神经网络的基础上,按照使用时间的先后顺序进行有监督学习,后一次有监督学习在前一次有监督学习得到的改进神经网络上进行,从而使用时间越靠后越接近将来使用的时间,即越是后输入的输入数据越接近将来的使用时间,而越后输入的输入数据是过去最近的时间产生的数据,从而使得最终进化后的深度学习神经网络更能适应将来使用的需要,准确率更高。

在一个实施例中,上述深度学习神经网络进化装置还包括清零模块(图未示),用于删除所有数据组,将进化后的深度学习神经网络作为新的已训练的深度学习神经网络,并返回数据获取模块110重新调取已训练的深度学习神经网络,将输入数据输入已训练的深度学习神经网络进行深度学习,得到输出数据并记录使用时间及获取对应输入数据的真实结果数据。如此,可进行清零,避免存储的数据组对下一轮进化产生影响。

在一个实施例中,提供一种介质,存储有计算机程序,存储的计算机程序被处理器执行时实现上述深度学习神经网络进化方法的步骤。具体地,介质为可读存储介质。

在一个实施例中,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述深度学习神经网络进化方法的步骤。

上述介质和计算机设备,由于实现了上述深度学习神经网络进化方法的步骤,同理可提高深度学习神经网络的准确率。

为更好地说明上述深度学习神经网络进化方法和装置的处理过程,以下以几个实施例进行举例说明。

具体实施例一:预设时间段为从最早的使用时间到现在为止;预设阈值为0;组数阈值为3。

比较进化知识库中每组数据组中输出数据与对应的真实结果数据的差异值,统计从最早的使用时间到现在为止差异值大于0的组数,如果组数大于3,则利用进化知识库中从最早的使用时间到现在为止差异值大于0的数据组中输入数据和对应的真实结果数据对当前已训练的深度学习神经网络进行训练。进化知识库中有如下数据组:

1月1日,输入数据人脸图像a,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为0。

2月1日,输入数据人脸图像b,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为0。

3月1日,输入数据人脸图像c,输出数据0(代表不是张三人脸),对应的真实结果数据为0(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为0。

4月1日,输入数据人脸图像d,输出数据0(代表不是张三人脸),对应的真实结果数据为0(代表不是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为0。

5月1日,输入数据人脸图像e,输出数据1(代表是张三人脸),对应的真实结果数据为0(代表不是张三人脸)。输出数据与对应的真实结果数据的差异值大于0。从最早的使用时间到现在为止差异值大于0的组数为1。

6月1日,输入数据人脸图像f,输出数据0(代表不是张三人脸),对应的真实结果数据为0(代表不是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为1。

7月1日,输入数据人脸图像g,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为1。

8月1日,输入数据人脸图像h,输出数据0(代表不是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值大于0。从最早的使用时间到现在为止差异值大于0的组数为2。

9月1日,输入数据人脸图像i,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为2。

10月1日,输入数据人脸图像j,输出数据0(代表不是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值大于0。从最早的使用时间到现在为止差异值大于0的组数为3。

11月1日,输入数据人脸图像k,输出数据1(代表是张三人脸),对应的真实结果数据为0(代表不是张三人脸)。输出数据与对应的真实结果数据的差异值大于0。从最早的使用时间到现在为止差异值大于0的组数为4。

此时从最早的使用时间到现在为止差异值大于0的组数4大于3,则利用进化知识库中从最早的使用时间到现在为止差异值大于0的数据组中输入数据和对应的真实结果数据对当前已训练的深度学习神经网络进行训练。

先进行无监督学习:

5月1日,输入数据人脸图像e,对应的真实结果数据为0(代表不是张三人脸)。将输入数据人脸图像e输入当前已训练的深度学习神经网络,对当前已训练的深度学习神经网络进行无监督学习,得到训练神经网络。

8月1日,输入数据人脸图像h,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像h输入5月1日无监督学习之后的训练神经网络,对5月1日的训练神经网络进行无监督学习,得到训练神经网络。

10月1日,输入数据人脸图像j,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像j输入8月1日的训练神经网络,对8月1日的训练神经网络进行无监督学习,得到训练神经网络。

11月1日,输入数据人脸图像k,对应的真实结果数据为0(代表不是张三人脸)。将输入数据人脸图像k输入10月1日的训练神经网络,对10月1日的训练神经网络进行无监督学习,得到初步进化的深度学习神经网络。

然后进行有监督学习:

5月1日,输入数据人脸图像e,对应的真实结果数据为0(代表不是张三人脸)。将输入数据人脸图像e、对应的真实结果数据0作为初步进化的深度学习神经网络的输入和期望输出,对初步进化的深度学习神经网络进行有监督学习,得到改进神经网络。

8月1日,输入数据人脸图像h,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像h、对应的真实结果数据1作为5月1日的改进神经网络的输入和期望输出,对5月1日的改进神经网络进行有监督学习,得到改进神经网络。

10月1日,输入数据人脸图像j,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像j、对应的真实结果数据1作为8月1日的改进神经网络的输入和期望输出,对8月1日的改进神经网络进行有监督学习,得到改进神经网络。

11月1日,输入数据人脸图像k,对应的真实结果数据为0(代表不是张三人脸)。将输入数据人脸图像k、对应的真实结果数据0作为10月1日的改进神经网络的输入和期望输出,对10月1日的改进神经网络进行有监督学习,得到最终进化后的深度学习神经网络。

具体实施例二:预设时间段为最近5次;预设阈值为0;组数阈值为2。

比较进化知识库中每组数据组中输出数据与对应的真实结果数据的差异值,统计最近5次内差异值大于0的组数,如果该组数大于3,则利用进化知识库中最近5次内差异值大于0的数据组中输入数据和对应的真实结果数据对当前已训练的深度学习神经网络进行训练。进化知识库中有如下数据组:

1月1日,输入数据人脸图像a,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。最近5次内差异值大于0的组数为0。

2月1日,输入数据人脸图像b,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。最近5次内差异值大于0的组数为0。

3月1日,输入数据人脸图像c,输出数据0(代表不是张三人脸),对应的真实结果数据为0(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。最近5次内差异值大于0的组数为0。

4月1日,输入数据人脸图像d,输出数据0(代表不是张三人脸),对应的真实结果数据为0(代表不是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。最近5次内差异值大于0的组数为0。

5月1日,输入数据人脸图像e,输出数据1(代表是张三人脸),对应的真实结果数据为0(代表是张三人脸)。输出数据与对应的真实结果数据的差异值大于0。最近5次内差异值大于0的组数为1。

6月1日,输入数据人脸图像f,输出数据0(代表不是张三人脸),对应的真实结果数据为0(代表不是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。最近5次内差异值大于0的组数为1。

7月1日,输入数据人脸图像g,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。最近5次内差异值大于0的组数为1。

8月1日,输入数据人脸图像h,输出数据0(代表不是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值大于0。最近5次内差异值大于0的组数为2。

9月1日,输入数据人脸图像i,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。最近5次内差异值大于0的组数为2。

10月1日,输入数据人脸图像j,输出数据0(代表不是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值大于0。最近5次内差异值大于0的组数为3。

11月1日,输入数据人脸图像k,输出数据1(代表是张三人脸),对应的真实结果数据为0(代表不是张三人脸)。输出数据与对应的真实结果数据的差异值大于0。最近5次内差异值大于0的组数为4。

此时最近5次内差异值大于0的组数3大于2,则利用进化知识库中最近5次内差异值大于0的数据组中输入数据和对应的真实结果数据对当前已训练的深度学习神经网络进行训练。

先进行无监督学习:

8月1日,输入数据人脸图像h,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像h输入当前已训练的深度学习神经网络,对当前已训练的深度学习神经网络进行无监督学习,得到训练神经网络。

10月1日,输入数据人脸图像j,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像j输入8月1日的训练神经网络,对8月1日的训练神经网络进行无监督学习,得到训练神经网络。

11月1日,输入数据人脸图像k,对应的真实结果数据为0(代表不是张三人脸)。将输入数据人脸图像k输入10月1日的训练神经网络,对10月1日的训练神经网络进行无监督学习,得到初步进化的深度学习神经网络。

然后进行有监督学习:

8月1日,输入数据人脸图像h,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像h、对应的真实结果数据1作为初步进化的深度学习神经网络的输入和期望输出,对初步进化的深度学习神经网络进行有监督学习,得到改进神经网络。

10月1日,输入数据人脸图像j,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像j、对应的真实结果数据1作为8月1日的改进神经网络的输入和期望输出,对8月1日的改进神经网络进行有监督学习,得到改进神经网络。

11月1日,输入数据人脸图像k,对应的真实结果数据为0(代表不是张三人脸)。将输入数据人脸图像k、对应的真实结果数据0作为10月1日的改进神经网络的输入和期望输出,对10月1日的改进神经网络进行有监督学习,得到最终进化后的深度学习神经网络。

具体实施例三:预设时间段为从最早的使用时间到现在为止;预设阈值为0;组数阈值=(进化知识库中预设时间段内数据组的总组数)/4。

比较进化知识库中每组数据组中输出数据与对应的真实结果数据的差异值,统计从最早的使用时间到现在为止差异值大于0的组数,如果该组数大于组数阈值,则利用进化知识库中从最早的使用时间到现在为止差异值大于0的数据组中输入数据和对应的真实结果数据对当前已训练的深度学习神经网络进行训练。进化知识库中有如下数据组:

1月1日,输入数据人脸图像a,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为0。组数阈值=(进化知识库中预设时间段内数据组的总组数)/4=1/4。

2月1日,输入数据人脸图像b,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为0。组数阈值=(进化知识库中预设时间段内数据组的总组数)/4=2/4。

3月1日,输入数据人脸图像c,输出数据0(代表不是张三人脸),对应的真实结果数据为0(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为0。组数阈值=(进化知识库中预设时间段内数据组的总组数)/4=3/4。

4月1日,输入数据人脸图像d,输出数据0(代表不是张三人脸),对应的真实结果数据为0(代表不是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为0。组数阈值=(进化知识库中预设时间段内数据组的总组数)/4=4/4。

5月1日,输入数据人脸图像e,输出数据1(代表是张三人脸),对应的真实结果数据为0(代表不是张三人脸)。输出数据与对应的真实结果数据的差异值大于0。从最早的使用时间到现在为止差异值大于0的组数为1。组数阈值=(进化知识库中预设时间段内数据组的总组数)/4=5/4。

6月1日,输入数据人脸图像f,输出数据0(代表不是张三人脸),对应的真实结果数据为0(代表不是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为1。组数阈值=(进化知识库中预设时间段内数据组的总组数)/4=6/4。

7月1日,输入数据人脸图像g,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为1。组数阈值=(进化知识库中预设时间段内数据组的总组数)/4=7/4。

8月1日,输入数据人脸图像h,输出数据0(代表不是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值大于0。从最早的使用时间到现在为止差异值大于0的组数为2。组数阈值=(进化知识库中预设时间段内数据组的总组数)/4=8/4。

9月1日,输入数据人脸图像i,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。从最早的使用时间到现在为止差异值大于0的组数为2。组数阈值=(进化知识库中预设时间段内数据组的总组数)/4=9/4。

10月1日,输入数据人脸图像j,输出数据0(代表不是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值大于0。从最早的使用时间到现在为止差异值大于0的组数为3。组数阈值=(进化知识库中预设时间段内数据组的总组数)/4=10/4。

此时从最早的使用时间到现在为止差异值大于0的组数3大于组数阈值10/4,则利用进化知识库中从最早的使用时间到现在为止差异值大于0的数据组中输入数据和对应的真实结果数据对当前已训练的深度学习神经网络进行训练。

先进行无监督学习:

5月1日,输入数据人脸图像e,对应的真实结果数据为0(代表不是张三人脸)。将输入数据人脸图像e输入当前已训练的深度学习神经网络,对当前已训练的深度学习神经网络进行无监督学习,得到训练神经网络。

8月1日,输入数据人脸图像h,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像h输入5月1日无监督学习之后的训练神经网络,对5月1日的训练神经网络进行无监督学习,得到训练神经网络。

10月1日,输入数据人脸图像j,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像j输入8月1日的训练神经网络,对8月1日的训练神经网络进行无监督学习,得到初步进化的深度学习神经网络。

然后进行有监督学习:

5月1日,输入数据人脸图像e,对应的真实结果数据为0(代表不是张三人脸)。将输入数据人脸图像e、对应的对应的真实结果数据0作为初步进化的深度学习神经网络的输入和期望输出,对初步进化的深度学习神经网络进行有监督学习,得到改进神经网络。

8月1日,输入数据人脸图像h,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像h、对应的真实结果数据1作为5月1日的改进神经网络的输入和期望输出,对5月1日的改进神经网络进行有监督学习,得到改进神经网络。

10月1日,输入数据人脸图像j,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像j、对应的真实结果数据1作为8月1日的改进神经网络的输入和期望输出,对8月1日的改进神经网络进行有监督学习,得到进化后的深度学习神经网络。

具体实施例四:预设时间段为最近5次;预设参考时间段为最先5次;预设阈值为0;组数阈值=(进化知识库中最先5次内差异值大于预设阈值的数据组的数量)×1.5。

比较进化知识库中每组数据组中输出数据与对应的真实结果数据的差异值,统计最近5次差异值大于0的组数,如果组数大于(进化知识库中最先5次内差异值大于预设阈值的数据组的数量)×1.5,则利用进化知识库中最近5次差异值大于0的数据组中输入数据和对应的真实结果数据对当前已训练的深度学习神经网络进行训练。

进化知识库中有如下数据组:

1月1日,输入数据人脸图像a,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。最近5次差异值大于0的组数为0。组数阈值=(进化知识库中最先5次内差异值大于预设阈值的数据组的数量)×1.5=0。

2月1日,输入数据人脸图像b,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。最近5次差异值大于0的组数为0。组数阈值=(进化知识库中最先5次内差异值大于预设阈值的数据组的数量)×1.5=0。

3月1日,输入数据人脸图像c,输出数据0(代表不是张三人脸),对应的真实结果数据为0(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。最近5次差异值大于0的组数为0。组数阈值=(进化知识库中最先5次内差异值大于预设阈值的数据组的数量)×1.5=0。

4月1日,输入数据人脸图像d,输出数据0(代表不是张三人脸),对应的真实结果数据为0(代表不是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。最近5次差异值大于0的组数为0。(组数阈值=(进化知识库中最先5次内差异值大于预设阈值的数据组的数量)×1.5=0。

5月1日,输入数据人脸图像e,输出数据1(代表是张三人脸),对应的真实结果数据为0(代表不是张三人脸)。输出数据与对应的真实结果数据的差异值大于0。最近5次差异值大于0的组数为1。组数阈值=(进化知识库中最先5次内差异值大于预设阈值的数据组的数量)×1.5=1.5。

6月1日,输入数据人脸图像f,输出数据0(代表不是张三人脸),对应的真实结果数据为0(代表不是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。最近5次差异值大于0的组数为1。

7月1日,输入数据人脸图像g,输出数据1(代表是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值等于0。最近5次差异值大于0的组数为1。

8月1日,输入数据人脸图像h,输出数据0(代表不是张三人脸),对应的真实结果数据为1(代表是张三人脸)。输出数据与对应的真实结果数据的差异值大于0。最近5次差异值大于0的组数为2。

此时最近5次差异值大于0的组数2大于组数阈值1.5,则利用进化知识库中最近5次差异值大于0的组中输入数据和对应的真实结果数据对当前已训练的深度学习神经网络进行训练。

先进行无监督学习:

5月1日,输入数据人脸图像e,对应的真实结果数据为0(代表不是张三人脸)。将输入数据人脸图像e输入当前已训练的深度学习神经网络,对当前已训练的深度学习神经网络进行无监督学习,得到训练神经网络。

8月1日,输入数据人脸图像h,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像h输入5月1日无监督学习之后的训练神经网络,对5月1日的训练神经网络进行无监督学习,得到初步进化的深度学习神经网络。

然后进行有监督学习:

5月1日,输入数据人脸图像e,对应的真实结果数据为0(代表不是张三人脸)。将输入数据人脸图像e、对应的真实结果数据0作为初步进化的深度学习神经网络的输入和期望输出,对初步进化的深度学习神经网络进行有监督学习,得到改进神经网络。

8月1日,输入数据人脸图像h,对应的真实结果数据为1(代表是张三人脸)。将输入数据人脸图像h、对应的真实结果数据1作为5月1日的改进神经网络的输入和期望输出,对5月1日的改进神经网络进行有监督学习,进化后的深度学习神经网络。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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