智能模型的自动进化方法与流程

文档序号:18011774发布日期:2019-06-26 00:12阅读:491来源:国知局
智能模型的自动进化方法与流程

本申请涉及云计算和人工智能技术领域,具体涉及一种智能模型的自动进化方法。



背景技术:

智能进化,是指智能模型的智能水平得到提高,识别或分类的准确性或预测精度得到提高。智能模型的自动进化,是指智能模型在使用过程中,不需要人为的干预和控制,能够自主地、不断地完成智能进化的过程。自动进化是机器学习概念的一个延伸,因此首先介绍一下机器学习的概念。

机器学习是人工智能的一个分支。人工智能的研究历史有着一条从以“推理”为重点,到以“知识”为重点,再到以“学习”为重点的自然、清晰的脉络。显然,机器学习是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题。机器学习在近30多年已发展为一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。很多推论问题属于无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法。

机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、dna序列测序、语音和手写识别、战略游戏和机器人等领域。

貌似机器学习已经涵盖了智能自动进化的所有内容,但是实际上它们之间有很大的不同。

相关技术中,实现一种机器学习算法,并不能做到让算法模型在运行中,完全脱离人工干预的去进行。数据被搜集了以后,数据的筛选、标签的产生、训练的控制、效果的验证都需要人工专家的干预和执行。



技术实现要素:

为至少在一定程度上克服相关技术中存在的问题,本申请提供一种智能模型的自动进化方法。

根据本申请实施例的第一方面,提供一种智能模型的自动进化方法,包括:

获取新的业务数据,将其扩充到可训练数据集中;

从扩充后的可训练数据集中筛选出样本数据;

使用样本数据对智能模型进行训练;

如果训练后的新的智能模型优于原有的智能模型,则用新的智能模型替代原有的智能模型。

进一步地,所述从扩充后的可训练数据集中筛选出样本数据,包括:

根据所述智能模型的中间数据提取所述可训练数据集的特征;

根据提取的特征对所述可训练数据集进行筛选,获取样本数据。

进一步地,所述智能模型包括多个层;

所述智能模型的中间数据为:所述智能模型除最后一层之外的某一层的处理结果。

进一步地,所述从扩充后的可训练数据集中筛选出样本数据,包括:

将数据集送入智能模型中;

对所述智能模型的中间数据进行密度统计;

根据预设的转换关系式,由原始密度计算出目标密度;

在邻域中筛选,得到样本数据,以使样本数据达到目标密度。

进一步地,所述转换关系式为:

d2=a×logbd1

其中,d1是原始密度,d2是目标密度,a和b为可调参数。

进一步地,所述方法还包括:

根据所述样本数据自动生成与其相匹配的标签数据;

相应地,所述使用样本数据对智能模型进行迭代训练,包括:

使用带有标签数据的样本数据对智能模型进行迭代训练。

进一步地,所述根据所述样本数据自动生成与其相匹配的标签数据,包括:

获取用户对所述智能模型的输出结果的反馈数据;

根据所述反馈数据确定标签数据。

进一步地,所述根据所述样本数据自动生成与其相匹配的标签数据,包括:

将所述样本数据输入到预先训练的标签生成模型中进行处理;

将所述标签生成模型的输出结果确定为标签数据。

进一步地,所述标签生成模型的数量有多个;相应地,根据所述样本数据自动生成与其相匹配的标签数据,包括:

采用多个所述标签生成模型对同一个数据进行处理,并获取多个输出结果;

如果多个输出结果一致,则将该输出结果确定为有效的标签数据。

根据本申请实施例的第二方面,提供一种电子设备,包括:

存储器,用于存储可执行的计算机程序;

处理器,用于执行所述存储器中所存储的程序,以执行如上任意一种所述的方法。

本申请的实施例提供的技术方案可以包括以下有益效果:

本申请的方法提出了一套完整的自动进化迭代机制,能够在机器学习的各个环节上,替代人工自动完成,使得智能模型的进化成为一个完整的闭环,从而能够随着使用次数的增加,不断地进化,实现更高的智能。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是根据一示例性实施例示出的一种智能模型的自动进化方法的流程图。

图2是根据一示例性实施例示出的一种无监督学习的智能模型的进化迭代的流程图。

图3是数据集不大时的空间密度和分类的关系曲线图。

图4是数据集增大后的空间密度和分类的关系曲线图。

图5是经过筛选后的数据集的空间密度和分类的关系曲线图。

图6是根据一示例性实施例示出的一种监督学习/半监督学习的智能模型的进化迭代的流程图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种智能模型的自动进化方法的流程图。该方法包括以下步骤:

步骤s1:获取新的业务数据,将其扩充到可训练数据集中;

步骤s2:从扩充后的可训练数据集中筛选出样本数据;

步骤s3:使用样本数据对智能模型进行训练;

步骤s4:如果训练后的新的智能模型优于原有的智能模型,则用新的智能模型替代原有的智能模型。

本申请的方法提出了一套完整的自动进化迭代机制,能够在机器学习的各个环节上,替代人工自动完成,使得智能模型的进化成为一个完整的闭环,从而能够随着使用次数的增加,不断地进化,实现更高的智能。

参照图2,图中展示了一个完整的进化迭代过程。在实际的使用环境中,业务数据往往是源源不断地获得的。在训练之前,需要将获得的数据分为不同批次。新一批次的数据进入,会触发新一轮的进化迭代。触发的条件可以是定期触发训练,即每隔一定的时间进行一轮迭代;或者根据新数据的量触发,即每当获取的新的业务数据达到一定规模,进行一轮迭代;或者其他方式触发。

其中,业务数据就是智能模型真正工作的过程中,真实的输入数据。比如人脸识别的智能模型,业务输入就是人脸的照片,因此照片就是业务数据。

需要说明的是,即使在没有新的数据引入的时候,智能模型内部也会不断在既有的数据集上进行迭代,也可以不断取得进步。

参照图2,在进化迭代过程中还包括评价训练结果的步骤。

简单地考虑评价问题,可以用一个验证集来做测试,测试分数越高,智能模型越优秀。但是在实践中,无法通过这种方式满足实际需求。

比如做棋盘棋子识别的算法,实际样本空间是所有下棋机器人客户的环境下采集到的图片,希望评价的是智能模型对所有客户的数据的准确性。然而客户群体是一个不断扩展的集合,客户的环境也会不断有变化。因此怎样做自动评价的重点是怎样自动得到一个不断扩展的有效验证集的技术问题。

本申请的方法将验证数据分为两部分,一部分人工获得的各个档次阴影、阳光干扰的图片;另一部分是基于客户集合的图片抽样样本。这些数据由于需要作为最终评价环节,因此要求最高的标签质量,所以采用的还是人工维护。

在进行迭代训练之前,还需要对原始的数据集进行筛选。筛选训练数据的目的,是解决一个核心问题:怎样在海量训练数据中,选取恰当规模的数据集进行训练,并达到最佳的训练效果。

为了更清晰地阐述本专利的技术方案,首先需要说明训练数据的筛选原理。本专利中所述的智能模型,是由神经网络实现的智能模型。根据神经网络的网络结构,靠前部分的网络层,主要是对原始数据进行了特征提取和特种空间变换。通过提取和变换,样本数据被映射到了多维特征空间中的一个个样本点;后面部分的网络层则在此空间上,对数据进行分类或拟合。本方法是利用前期特征提取和空间变换的特征,实现了对数据集的有效筛选。

这里提到的特征是,前期的特征提取和特征空间变换,都是由神经网络随机初始的参数进行训练,并且以分类或拟合为目的的梯度演进,从而可以看成是一个由大量随机因素组成的随机过程。因此大部分的空间数据都以接近正态分布的形式聚集起来,形成多个聚集体(分类问题),或者单一聚集体(拟合问题);随着数据集的增大,正态分布的效应越来越明显。

参照图3,图中示出了数据集不大时的空间密度和分类的关系曲线。图4示出了数据集增大后的空间密度和分类的关系曲线。图中,横轴为分类,纵轴为空间密度。

数据量不断增大的问题有两个方面。首先,海量级的数据根本无法在实践中进行训练;特别是在神经网络的训练中,需要随着训练不断对阶段成果进行评价,从而动态调整训练参数;海量数据使得这些调整过程无法进行,无法进行有效训练。另一方面,根据神经网络的原理,分类时的分割线会衡量所有样本点进行的,但是我们往往不希望受到数量级差异的影响(即样本量大的训练集,往往会得到更大的特征空间区域,更多的数据会倾向于被识别为样本量大的类型),而更关注于临界区的样本数据,得到最合理的划分。

因而,可以采用某种数学手段,对高密度区的样本进行筛选,降低密度。这里说的数学方法可以采用某些公式计算目标密度。还可以采用类似公式或软件函数,对高密度区域进行针对性的筛选,都属于本发明的范围。

参照图5,图中示出了经过筛选后的数据集的空间密度和分类的关系曲线。需要说明的是,图中仅是一种示例性的筛选结果。

一些实施例中,所述从扩充后的可训练数据集中筛选出样本数据,包括:

根据所述智能模型的中间数据提取所述可训练数据集的特征;

根据提取的特征对所述可训练数据集进行筛选,获取样本数据。

一些实施例中,所述智能模型包括多个层;

所述智能模型的中间数据为:所述智能模型除最后一层之外的某一层的处理结果。

通用的进行筛选思路,都是选择一些特征,以特征为依据,设定条件,再根据条件进行筛选。本申请的方案重点在于:如何确定特征数据。

神经网络通常会有很多层。比如,一个15层的神经网络,它的每一层都是对数据的一次空间变换,因此这个神经网络会有14个中间数据。输入数据送入该神经网络后,会依次进行15次空间变换,得到最后的结果数据。

本发明的特点在于,根据神经网络功能的不同,选择前14层的某一层数据,作为筛选数据的依据。

比如,一个人脸识别的神经网络,所有可训练数据,就是所有的图片,都要经过筛选。筛选的结果是,得到一个图片集的子集。这个得到子集的过程,可以说成是抽样;子集的每个图片,都可以说是一个样本数据。筛选过程要处理所有数据,筛选结果是样本数据;筛选过程中从每张图片上得到该图片的特征数据,根据特征数据,决定这个图片是不是样本。

一些实施例中,所述从扩充后的可训练数据集中筛选出样本数据,包括:

将数据集送入智能模型中;

对所述智能模型的中间数据进行密度统计;

根据预设的转换关系式,由原始密度计算出目标密度;

在邻域中筛选,得到样本数据,以使样本数据达到目标密度。

一些实施例中,所述转换关系式为:

d2=a×logbd1

其中,d1是原始密度,d2是目标密度,a和b为可调参数。

需要说明的是,此处提供的转换关系式仅为一个可行的示例,也可以采用其它函数作为转换关系式。

综上所述,一轮完整的进化迭代过程是:首先,选择神经网络的某一层特征空间进行密度统计;这一层可以是前期特征提取与特征空间转换后的那一层,也可以是特征空间经过分类层到达分类空间的那一层。然后,通过某种方法对密度进行统计,在根据原始密度,计算到目标密度,最后在邻域中筛选样本,达到目标密度。最后,使用筛选后的样本数据集进行训练,即可得到比较理想的训练效果。

其中,进行密度统计时,需要把特征数据空间切割成很多小块。比如,三维特征的话,在三维空间切分出100×100×100个小空间,空间的范围是特征数据的值域。筛选样本,是在每一个小空间中,即邻域中进行,在邻域中筛选出合适数量的样本,以使筛选后的样本的密度符合目标密度。

上述的方法主要是针对无监督学习的智能模型,这类智能模型不需要标签数据即可进行训练。但是还有一类是基于监督学习的智能模型,监督学习的训练都需要有数据标签,才能进行有效的训练。

针对基于监督学习的智能模型,在筛选完训练数据后,需要有一种方法来自动产生高品质的标签数据,从而对模型进行不断的训练。之所以需要高质量(正确率高)的标签数据,是因为标签的正确率会极大程度地影响最终模型的正确率的上限。

参照图6,一些实施例中,所述方法还包括:

根据所述样本数据自动生成与其相匹配的标签数据;

相应地,所述使用样本数据对智能模型进行迭代训练,包括:

使用带有标签数据的样本数据对智能模型进行迭代训练。

一些实施例中,所述根据所述样本数据自动生成与其相匹配的标签数据,包括:

获取用户对所述智能模型的输出结果的反馈数据;

根据所述反馈数据确定标签数据。

一些实施例中,所述根据所述样本数据自动生成与其相匹配的标签数据,包括:

将所述样本数据输入到预先训练的标签生成模型中进行处理;

将所述标签生成模型的输出结果确定为标签数据。

一些实施例中,所述标签生成模型的数量有多个;相应地,根据所述样本数据自动生成与其相匹配的标签数据,包括:

采用多个所述标签生成模型对同一个数据进行处理,并获取多个输出结果;

如果多个输出结果一致,则将该输出结果确定为有效的标签数据。

本发明提出了三种标签数据的自动生成方法。

方法一,是通过产品运用过程中,根据外部响应推测智能模型的输出的正确性,从而产生数据标签。通俗点讲,就是需要获得智能模型的输出结果在外界的反馈,由于认为外部反馈是准确(高准确度)的,所以认为据此产生的标签是正确的。

比如,一个智能模型的功能是根据头像分别男女。现在有一张头像,通过神经网络后,得到的结果是“男”,这是输出结果。人工再检查这个模型,确定这个图片是个男的,那标签就也是“男”。标签相当于正确答案;生成标签的方法,就是生成正确答案的方法。

方法二,在服务器搭建一个耗费更多资源、或者更多计算步骤的智能模型(这种模型往往耗费巨大,条件苛刻,在生产环境无法部署),用同样的数据得到一个优于生产环境的智能模型准确度的高质量智能模型。然后利用这个模型,对采集到的数据进行处理,以其输出为标签,去教导生产环境中使用的智能模型。

特别地,在方法二中,可以考虑使用多个不同的高品质智能模型,对同一个数据进行处理,然后判断所有模型的数据,只有所有高质量模型的输出都一致的标签,才被认为是有效标签,这样的方法有利于得到更高准确率的标签数据。

方法三,即结合以上两种方法。首先在数据采集端,根据生产环境的智能模型的输出,在生产环境得到的反馈,从而对数据标签得到一个初始值;在采集到数据,获得初步标签后,在服务器端再采用方法二,进行再次筛选确认,从而得到优于方法一和方法二的准确率的标签数据。

对于半监督学习,由于也涉及到使用标签数据,因此同样适用该方法。

本申请还提供了如下实施例:

一种电子设备,包括:

存储器,用于存储可执行的计算机程序;

处理器,用于执行所述存储器中所存储的程序,以执行如上任意一种所述的方法。

关于上述实施例中的电子设备,其中处理器执行操作的具体方式已经在上述方法的实施例中进行了详细描述,此处将不做详细阐述说明。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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