掌桥专利:专业的专利平台
掌桥专利
首页

线上数据收集方法和神经网络训练方法及相关装置、存储介质

文献发布时间:2023-06-19 11:35:49


线上数据收集方法和神经网络训练方法及相关装置、存储介质

技术领域

本公开的实施例涉及一种线上数据收集方法、神经网络训练方法、数据收集装置、神经网络训练装置和非瞬时性存储介质。

背景技术

近年来,人工智能技术发展迅速,其商业化速度超出预期,人工智能技术将会给整个社会带来颠覆性的变化,已经成为未来各国重要的发展战略。以深度学习为核心的算法演进,其超强的进化能力,在大数据的支持下,通过训练构建得到类似人脑结构的大规模卷积神经网络,已经可以解决各类问题。

发明内容

本公开至少一实施例提供一种线上数据收集方法,包括:获取待校验数据,其中,所述待校验数据为已经上线运行的神经网络模型所处理的数据;利用多个校验模型对所述待校验数据进行处理,以得到多个校验均值和至少一个校验方差;基于所述多个校验均值和所述至少一个校验方差,确定校验结果;响应于所述校验结果指示所述待校验数据为待收集数据,对所述待校验数据进行收集以用于对所述神经网络模型进行训练。

例如,在本公开至少一实施例提供的线上数据收集方法中,所述多个校验模型包括第一校验模型和所述神经网络模型,所述第一校验模型为贝叶斯神经网络模型,利用多个校验模型对所述待校验数据进行处理,以得到多个校验均值和至少一个校验方差,包括:利用所述第一校验模型对所述待校验数据进行处理,以得到第一校验方差和第一校验均值;利用所述神经网络模型对所述待校验数据进行处理,以得到第一处理结果并将所述第一处理结果作为第二校验均值;其中,所述多个校验均值包括所述第一校验均值和所述第二校验均值,所述至少一个校验方差包括所述第一校验方差。

例如,在本公开至少一实施例提供的线上数据收集方法中,基于所述多个校验均值和所述至少一个校验方差,确定校验结果,包括:判断所述第一校验均值和所述第二校验均值是否满足与所述第一校验方差相关的第一条件,响应于所述第一校验均值和所述第二校验均值满足所述第一条件,判断所述第一校验方差是否满足与所述第一校验均值相关的第二条件:响应于所述第一校验方差满足所述第二条件,确定所述校验结果为第一结果;响应于所述第一校验方差不满足所述第二条件,确定所述校验结果为第二结果;响应于所述第一校验均值和所述第二校验均值不满足所述第一条件,确定所述校验结果为所述第二结果。

例如,在本公开至少一实施例提供的线上数据收集方法中,所述第一条件表示为:-a*t1 ≤ b1-b2 ≤ a*t1,其中,b1表示所述第一校验均值,b2表示所述第二校验均值,a表示所述第一校验方差,t1为常数,且0.07 ≤ t1 ≤ 0.13,所述第二条件表示为:a ≤b1*t2,其中,t2为常数,且0.3 ≤ t2 ≤ 0.7。

例如,在本公开至少一实施例提供的线上数据收集方法中,所述多个校验模型包括第一校验模型和多个第二校验模型,所述第一校验模型为贝叶斯神经网络模型,利用多个校验模型对所述待校验数据进行处理,以得到多个校验均值和至少一个校验方差,包括:利用所述第一校验模型对所述待校验数据进行处理,以得到第一校验方差和第一校验均值;利用所述多个第二校验模型对所述待校验数据进行处理,以得到多个第二处理结果;对所述多个第二处理结果进行计算,以得到第二校验方差和第二校验均值;其中,所述多个校验均值包括所述第一校验均值和所述第二校验均值,所述至少一个校验方差包括所述第一校验方差和所述第二校验方差。

例如,在本公开至少一实施例提供的线上数据收集方法中,所述多个校验模型包括第一校验模型和第三校验模型,所述第一校验模型和所述第三校验模型均为贝叶斯神经网络模型,利用多个校验模型对所述待校验数据进行处理,以得到多个校验均值和至少一个校验方差,包括:利用所述第一校验模型对所述待校验数据进行处理,以得到第一校验方差和第一校验均值;利用所述第三校验模型对所述待校验数据进行处理,以得到第二校验方差和第二校验均值;其中,所述多个校验均值包括所述第一校验均值和所述第二校验均值,所述至少一个校验方差包括所述第一校验方差和所述第二校验方差。

例如,在本公开至少一实施例提供的线上数据收集方法中,基于所述多个校验均值和所述至少一个校验方差,确定校验结果,包括:判断所述第一校验均值和所述第二校验均值是否满足与所述第一校验方差或所述第二校验方差相关的第一条件,响应于所述第一校验均值和所述第二校验均值满足所述第一条件,判断所述第一校验方差是否满足与所述第一校验均值相关的第二条件且所述第二校验方差是否满足与所述第二校验均值相关的第三条件,响应于所述第一校验方差满足所述第二条件且所述第二校验方差满足所述第三条件,确定所述校验结果为第一结果;响应于所述第一校验方差不满足所述第二条件和/或所述第二校验方差不满足所述第三条件,确定所述校验结果为第二结果;响应于所述第一校验均值和所述第二校验均值不满足所述第一条件,确定所述校验结果为所述第二结果。

例如,在本公开至少一实施例提供的线上数据收集方法中,所述第一条件表示为:-a*t3 ≤ b1-b2 ≤ a*t3,其中,b1表示所述第一校验均值,b2表示所述第二校验均值,a表示所述第一校验方差或所述第二校验方差,t3为常数,且0.07 ≤ t3 ≤ 0.13,所述第二条件表示为:a1 ≤ b1*t4,其中,a1表示所述第一校验方差,t4为常数,且0.3 ≤ t4 ≤0.7,所述第三条件表示为:a2 ≤ b2*t5,其中,a2表示所述第二校验方差,t5为常数,且0.3≤ t5 ≤ 0.7。

例如,在本公开至少一实施例提供的线上数据收集方法中,在利用多个校验模型对所述待校验数据进行处理,以得到多个校验均值和至少一个校验方差之前,所述线上数据收集方法还包括:获取多个待训练校验模型;获取训练数据集;将所述训练数据集中的训练数据进行随机划分,以得到与所述多个待训练校验模型一一对应的多个第一子训练数据集,其中,所述多个第一子训练数据集彼此至少部分训练数据不相同;利用所述多个第一子训练数据集一一对应训练所述多个待训练校验模型,以得到所述多个校验模型。

例如,在本公开至少一实施例提供的线上数据收集方法中,所述多个第一子训练数据集分别对应的多个数据数量均相同。

例如,在本公开至少一实施例提供的线上数据收集方法中,所述训练数据集包括用于训练所述神经网络模型的第二子训练数据集,所述第二子训练数据集中的训练数据与任一第一子训练数据集中的训练数据至少部分不相同,所述第二子训练数据集的数据数量与所述多个数据数量相同。

例如,在本公开至少一实施例提供的线上数据收集方法中,所述第一结果指示所述待校验数据为非收集数据,所述第二结果指示所述待校验数据为待收集数据。

例如,本公开至少一实施例提供的线上数据收集方法还包括:响应于校验结果指示所述待校验数据为非收集数据,不对所述待校验数据进行收集。

例如,在本公开至少一实施例提供的线上数据收集方法中,所述多个校验模型均基于神经网络实现。

例如,在本公开至少一实施例提供的线上数据收集方法中,所述待校验数据为图片、视频或音频。

本公开至少一实施例提供一种神经网络训练方法,包括:获取根据上述任一实施例所述的线上数据收集方法收集得到的所述待校验数据;获取用于训练所述神经网络模型的训练数据集;将所述待校验数据作为训练数据加入所述训练数据集中,以扩展所述训练数据集而得到扩展后的训练数据集;利用所述扩展后的训练数据集对所述神经网络模型再次进行训练,以更新所述神经网络模型的参数。

本公开至少一实施例提供一种数据收集装置,包括:存储器,非瞬时性地存储有计算机可执行指令;处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述处理器运行时实现根据上述任一实施例所述的线上数据收集方法。

本公开至少一实施例提供一种神经网络训练装置,包括:存储器,非瞬时性地存储有计算机可执行指令;处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述处理器运行时实现根据上述任一实施例所述的神经网络训练方法。

本公开至少一实施例提供一种非瞬时性存储介质,其中,所述非瞬时性存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据上述任一实施例所述的线上数据收集方法。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。

图1为本公开至少一个实施例提供的一种线上数据收集方法的示意图;

图2为本公开至少一实施例提供的一种贝叶斯神经网络的示意图;

图3为本公开至少一实施例提供的一种标准的神经网络和采用Dropout的神经网络的示意图;

图4A为本公开至少一实施例提供的贝叶斯神经网络与传统卷积神经网络的一种识别结果的示意图;

图4B为本公开至少一实施例提供的贝叶斯神经网络与传统卷积神经网络的另一种识别结果的示意图;

图5为本公开至少一实施例提供的一种神经网络训练方法的示意图;

图6为本公开至少一实施例提供的一种数据收集装置的示意性框图;

图7为本公开至少一实施例提供的一种神经网络训练装置的示意性框图;

图8为本公开至少一实施例提供的一种非瞬时性存储介质的示意图。

具体实施方式

为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。

在计算机视觉领域,各种复杂的因素往往以非线性的方式结合在一起,特征的学习尤其重要,通过海量数据训练神经网络在很大程度上缓解了训练过拟合的问题,从大数据中进行深度学习需要对大量训练样本数据进行标注。

数据标注是对未处理的初级数据进行加工处理(例如,标识发音人性别、判断噪音类型等),以转换为机器可识别信息的过程,例如,初级数据包括语音、图片、文本、视频等。数据标注包含很多方面,例如图片类型分类、路况图片中的人车识别、文本语法校验、图片相关性评估、图片文字提取、文本关键字提取、语音转写文本等等,这些标注工作往往需要人工来处理,从而导致耗费大量人力。

算法准确率的提高需要足够数据的支持,但是通常情况下数据的获取不是提升算法准确率的瓶颈,数据的筛选与标注则是提升算法准确率的瓶颈。若能够实现对已上线系统处理的数据的自动回收,即只回传那些系统的算法判断不准确的数据,那么可以极大地缩减算法迭代间隔,提高算法迭代效率。

目前,已上线运行的算法模型通常只能输出基于该算法模型的判别结果,而不能对输出结果的准确性进行准确的判断。基于此,为了更新算法模型,需要按照如下方法进行:回传所有线上数据;对所有回传的线上数据进行标注;标注后找出当前运行的算法模型判别错误的数据;重新训练以更新算法模型。由于目前是通过工作人员对回传的线上数据进行标注,基于该方法,所有线上数据均被回传进行标注,对回传的线上数据进行标注会耗费大量时间,尤其是在回传的线上数据的数据量较大的情况下。数据标注本身是一项枯燥的工作,需要的人力工时也很多,工作人员需要对大量线上数据不断进行重复劳动,容易产生疲惫,导致数据的产量及一致性很难保证。虽然目前各公司有自己的标注平台,但是往往投入巨大。

基于以上描述,不难发现,为了增加算法模型能力的训练数据,只需要训练错误的数据,并非全量数据。因此若能有智能的线上数据回收机制,从线上数据中回收那些算法识别错误的数据,那么就可以大大地减少工作量。

本公开至少一实施例提供一种线上数据收集方法、神经网络训练方法、数据收集装置、神经网络训练装置和非瞬时性存储介质。该线上数据收集方法包括:获取待校验数据,其中,待校验数据为已经上线运行的神经网络模型所处理的数据;利用多个校验模型对待校验数据进行处理,以得到多个校验均值和至少一个校验方差;基于多个校验均值和至少一个校验方差,确定校验结果;响应于校验结果指示待校验数据为待收集数据,对待校验数据进行收集以用于对神经网络模型进行训练。

在本公开的实施例中,通过对待校验数据进行校验,并基于校验结果确定待校验数据是否需要被收集,实现错误数据的识别和回收,能够为算法人员进一步提供神经网络模型上线运行之后的后续迭代的最新数据,同时最大限度的提升数据筛选、标注效率,降低数据传输量,减少带宽和标注压力,便于进一步优化神经网络模型,降低成本、提高人工效率。

下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。

图1为本公开至少一个实施例提供的一种线上数据收集方法的示意图。例如,如图1所示,线上数据收集方法包括步骤S10-S40。

S10:获取待校验数据,其中,待校验数据为已经上线运行的神经网络模型所处理的数据。

S20:利用多个校验模型对待校验数据进行处理,以得到多个校验均值和至少一个校验方差。

S30:基于多个校验均值和至少一个校验方差,确定校验结果。

S40:响应于校验结果指示待校验数据为待收集数据,对待校验数据进行收集以用于对神经网络模型进行训练。

例如,在步骤S10中,待校验数据可以为图像、视频或音频等可以由神经网络模型所处理的数据。本公开的实施例对于图像、视频或音频的种类和性质等不作限定。

由于神经网络模型并不是完全准确的且不能确定其处理的数据是否准确,在本公开的实施例中,通过对数据进行校验,从而将神经网络模型识别不准确的数据进行回传,提升数据筛选、标注效率,降低数据传输量,减少带宽。

例如,神经网络模型可以为卷积神经网络模型等。神经网络模型可以实现以下功能的一种或多种:物体分类、文本处理、图像搜索、人脸识别、年龄和语音识别等。

例如,在步骤S10中,获取待校验数据包括:获取神经网络模型所处理的所有数据;从该所有数据中任意选择一个数据作为待校验数据。

通过贝叶斯神经网络可以实现线上数据的判断并回收。下面简单介绍贝叶斯神经网络。

图2为本公开至少一实施例提供的一种贝叶斯神经网络的示意图。

贝叶斯神经网络的权重参数和输出数据是服从正态分布的数据,而不是一个确定的数值。在贝叶斯神经网络中,权重参数服从均值为μ和方差为σ的高斯分布,不同的权重参数服从不同的高斯分布,即均值和方差不相同。贝叶斯神经网络不仅仅可以输出预测值,而且可以给出该预测值的不确定性。图2示出了包括两个隐藏层的贝叶斯神经网络,如图2所示,贝叶斯神经网络包括输入层、第一隐藏层、第二隐藏层和输出层。输入层包括多个输入x

例如,在本公开的实施例中,当神经网络模型为贝叶斯神经网络时,利用贝叶斯神经网络的输出结果对应的正态分布的方差,即可判断贝叶斯神经网络的输出结果的不确定性,正态分布的方差越大,输出结果的不确定性越大,即输出结果的准确性越低;反之,正态分布的方差越小,输出结果的不确定性越小,即输出结果的准确性越高。

实现贝叶斯神经网络的方法有很多(例如通过特定的框架Edward/Pyro/TensorFlow Probability Frame等),本公开中,以MC (Monte Carlo) dropout为例,说明如何实现贝叶斯神经网络。

首先,Dropout是训练神经网络中用于减少过拟合时的办法,可以作为训练深度神经网络的一种方式。在每个训练数据中,通过忽略多个(例如,一半)特征检测器(即使得隐藏层的多个神经元的值为0),从而明显地减少过拟合现象。这种方式可以减少特征检测器(隐藏层的神经元)间的相互作用,特征检测器的相互作用是指某些特征检测器依赖其他特征检测器才能发挥作用。即在前向传播时,让隐藏层中的神经元的激活值以一定的概率(dropout probability)停止工作,即以一定的概率随机的丢弃掉一些神经元,这样可以使神经网络的泛化性更强,因为神经网络不会太依赖某些局部的特征,如图3所示,图3的左边为标准的神经网络(standard neural net),图3的右边为采用Dropout的神经网络(afterapplying dropout)。

在采用Dropout方式对神经网络进行训练的过程中,需要为每个神经元增加概率判断的流程。

在贝叶斯神经网络中,训练过程与应用过程都要使用Dropout功能。MC Dropout的机制就是同一数据经过多次前向推理,得到该数据的输出分布。

例如,在一些实施例中,设计贝叶斯神经网络与传统卷积神经网络,如图4A和图4B所示,贝叶斯神经网络(BNN)对某个数据处理n(例如,图4A和图4B示出的100次(times))次,求得n次处理结果的均值(mean)与方差(variance),均值即为贝叶斯神经网络的输出结果,方差则表示该均值的不确定性。例如,可以选用MNIST手写数据集中的数据,在一些示例中,使用贝叶斯神经网络与传统卷积神经网络(CNN)分别对手写数字7的图像进行识别,得到图4A所示结果,如图4A所示,贝叶斯神经网络与传统卷积神经网络均在数字7的类别上的输出结果的值较大,即贝叶斯神经网络与传统卷积神经网络均识别得到图像中的数字为7。

在另一些示例中,将两个数字(例如,5和1)合并到一起创造得到贝叶斯神经网络与传统卷积神经网络从未处理过的一幅图像,并分别使用贝叶斯神经网络与传统卷积神经网络进行识别,得到图4B所示结果,如图4B所示,可以看到传统卷积神经网络认为该图像中的数字为8,且置信度较高;贝叶斯神经网络虽然在数字8的类别中得到的置信度比较高,但是对应的方差很大,说明对此结果的判断很不确定。

基于贝叶斯神经网络的方差即可判定其输出结果的不确定性,以此实现错误数据的识别,在本公开中,通过贝叶斯神经网络处理待校验数据,从而得到待校验数据的输出分布,基于该输出分布即可得到待校验数据的不确定性,进而实现数据回收。

例如,在一些实施例中,多个校验模型包括第一校验模型和神经网络模型,第一校验模型为贝叶斯神经网络模型,例如,神经网络模型可以为贝叶斯神经网络模型,也可以不为贝叶斯神经网络模型。此时,步骤S20包括:利用第一校验模型对待校验数据进行处理,以得到第一校验方差和第一校验均值;利用神经网络模型对待校验数据进行处理,以得到第一处理结果并将第一处理结果作为第二校验均值。例如,多个校验均值包括第一校验均值和第二校验均值,至少一个校验方差包括第一校验方差。

例如,步骤S30包括:判断第一校验均值和第二校验均值是否满足与第一校验方差相关的第一条件,响应于第一校验均值和第二校验均值满足第一条件,判断第一校验方差是否满足与第一校验均值相关的第二条件:响应于第一校验方差满足第二条件,确定校验结果为第一结果;响应于第一校验方差不满足第二条件,确定校验结果为第二结果;响应于第一校验均值和第二校验均值不满足第一条件,确定校验结果为第二结果。

例如,第一结果指示待校验数据为非收集数据,即不需要对待校验数据进行收集,已经上线运行的神经网络模型对该待校验数据进行处理得到的结果是准确的。第二结果指示待校验数据为待收集数据,即该待校验数据需要被收集,已经上线运行的神经网络模型对该待校验数据进行处理以得到的处理结果可能是不准确的。

例如,当第一校验均值和第二校验均值满足第一条件且第一校验方差满足第二条件时,则表示第一校验均值和第二校验均值彼此对应,即相差不大,而且第一校验方差较小,由此可以确定该待校验数据是准确的,即神经网络模型可以对该待校验数据进行处理得到的结果是准确的。此时,校验结果为第一结果,第一结果指示该待校验数据为不需要回收的非收集数据。

例如,当第一校验均值和第二校验均值满足第一条件,然而第一校验方差不满足第二条件时,则表示第一校验均值和第二校验均值彼此对应,即相差不大,但是第一校验方差较大,由此可以确定该待校验数据是不准确的,即神经网络模型对该待校验数据进行处理得到的结果可能是不准确的,此时,校验结果为第二结果,第二结果指示该待校验数据为需要回收的待收集数据。

例如,当第一校验均值和第二校验均值不满足第一条件时,此时,即可确定该待校验数据是不准确的,从而不需要对第一校验方差进行判断的过程,此时,校验结果为第二结果,第二结果指示该待校验数据为需要回收的待收集数据。

例如,第一条件表示为:-a*t1 ≤ b1-b2 ≤ a*t1,其中,b1表示第一校验均值,b2表示第二校验均值,a表示第一校验方差,t1为常数,0.07 ≤ t1 ≤ 0.13,例如,t1可以为0.08、0.1等。

例如,第二条件表示为:a ≤ b1*t2,其中,t2为常数,且0.3 ≤ t2 ≤ 0.7,例如,t2可以为0.5、0.6等。

需要说明的是,第一条件和第二条件可以根据实际情况设置,本公开对此不作具体限制。

例如,在另一些实施例中,多个校验模型包括第一校验模型和多个第二校验模型,第一校验模型为贝叶斯神经网络模型,多个第二校验模型不是贝叶斯神经网络模型。此时,步骤S20包括:利用第一校验模型对待校验数据进行处理,以得到第一校验方差和第一校验均值;利用多个第二校验模型对待校验数据进行处理,以得到多个第二处理结果;对多个第二处理结果进行计算,以得到第二校验方差和第二校验均值。例如,多个校验均值包括第一校验均值和第二校验均值,至少一个校验方差包括第一校验方差和第二校验方差。

需要说明的是,在本公开的实施例中,多个第二校验模型可以被划分为多个(两个或三个)第二校验模型组,每个第二校验模型组对应一个校验方差和一个校验均值,从而可以基于第一校验模型对应的校验方差和校验均值和多个第二校验模型组分别对应的多个校验方差和多个校验均值来对待校验数据进行校验。

例如,多个第二校验模型的数量与计算能力相关,计算能力高,则多个第二校验模型的数量就大,计算能力低,则多个第二校验模型的数量就小。

例如,在又一些实施例中,多个校验模型包括第一校验模型和第三校验模型,第一校验模型和第三校验模型均为贝叶斯神经网络模型,即在该实施例中,可以通过两个贝叶斯神经网络模型对待校验数据进行校验。此时,步骤S20包括:利用第一校验模型对待校验数据进行处理,以得到第一校验方差和第一校验均值;利用第三校验模型对待校验数据进行处理,以得到第二校验方差和第二校验均值。例如,多个校验均值包括第一校验均值和第二校验均值,至少一个校验方差包括第一校验方差和第二校验方差。

需要说明的是,在本公开的实施例中,可以采用更多(三个或四个)的贝叶斯神经网络模型来对待校验数据进行校验,具体过程可以参考上述描述。

例如,步骤S30包括:判断第一校验均值和第二校验均值是否满足与第一校验方差或第二校验方差相关的第一条件,响应于第一校验均值和第二校验均值满足第一条件,判断第一校验方差是否满足与第一校验均值相关的第二条件且第二校验方差是否满足与第二校验均值相关的第三条件,响应于第一校验方差满足第二条件且第二校验方差满足第三条件,确定校验结果为第一结果;响应于第一校验方差不满足第二条件和/或第二校验方差不满足第三条件,确定校验结果为第二结果;响应于第一校验均值和第二校验均值不满足第一条件,确定校验结果为第二结果。

例如,第一条件表示为:-a*t3 ≤ b1-b2 ≤ a*t3,其中,b1表示第一校验均值,b2表示第二校验均值,a表示第一校验方差或第二校验方差,t3为常数,0.07 ≤ t3 ≤ 0.13,例如,t3可以为0.08、0.1等。例如,a表示第一校验方差和第二校验方差中的较小者。

例如,第二条件表示为:a1 ≤ b1*t4,其中,a1表示第一校验方差,t4为常数,且0.3 ≤ t4 ≤ 0.7,例如,t4可以为0.4、0.5等。

例如,第三条件表示为:a2 ≤ b2*t5,其中,a2表示第二校验方差,t5为常数,且0.3 ≤ t5 ≤ 0.7,例如,t5可以为0.4、0.5等。

例如,t4和t5可以相同。

例如,当第一校验均值和第二校验均值满足第一条件、第一校验方差满足第二条件且第二校验方差满足第三条件时,确定校验结果为第一结果,则表示第一校验均值和第二校验均值彼此对应,即相差不大,而且第一校验方差和第二校验方差均较小,由此可以确定该待校验数据是准确的,即神经网络模型可以对该待校验数据进行处理得到的结果是准确的。此时,校验结果为第一结果,第一结果指示该待校验数据为不需要回收的非收集数据。

例如,当第一校验均值和第二校验均值满足第一条件,然而第一校验方差不满足第二条件和/或第二校验方差不满足第三条件,则表示第一校验均值和第二校验均值彼此对应,即相差不大,但是第一校验方差和/或第二校验方差较大,由此可以确定该待校验数据是不准确的,即神经网络模型对该待校验数据进行处理得到的结果可能是不准确的,此时,校验结果为第二结果,第二结果指示该待校验数据为需要回收的待收集数据。

例如,当第一校验均值和第二校验均值不满足第一条件时,此时,即可确定该待校验数据是不准确的,从而不需要对第一校验方差和第二校验方差进行判断的过程,此时,校验结果为第二结果,第二结果指示该待校验数据为需要回收的待收集数据。

例如,多个校验模型均基于神经网络实现,即均为神经网络模型。

例如,对于用作校验模型的贝叶斯神经网络模型,可以将贝叶斯神经网络模型的每层的通道(Channel)数减少,以提高计算速度。可以基于贝叶斯神经网络模型每次处理数据的次数来确定每层的通道数,例如,贝叶斯神经网络模型的每层的通道数Cnew表示为Cnew=(n/20)*Cold,其中,Cnew为减少通道数之后的贝叶斯神经网络模型的每层的通道数,Cold为贝叶斯神经网络模型的每层的原始通道数,n为贝叶斯神经网络模型每次处理数据的次数。

需要说明的是,在本公开的实施例中,“均值”可以为算术平均值,也可以为几何平均值等。此外,在本公开描述的实施例中,以先对校验均值进行判断再对校验方差进行判断为例进行说明,但是本公开的实施例不限于此,也可以先对校验方差进行判断然后对校验均值进行判断。

例如,在一些实施例中,在利用多个校验模型对待校验数据进行处理,以得到多个校验均值和至少一个校验方差之前,线上数据收集方法还包括:获取多个待训练校验模型;获取训练数据集;将训练数据集中的训练数据进行随机划分,以得到与多个待训练校验模型一一对应的多个第一子训练数据集;利用多个第一子训练数据集一一对应训练多个待训练校验模型,以得到多个校验模型。例如,多个第一子训练数据集彼此至少部分训练数据不相同。

例如,多个第一子训练数据集分别对应的多个数据数量均相同。

应了解,在本公开的实施例中,在获取待校验数据前,线上数据收集方法还包括:训练阶段。训练阶段包括对神经网络模型进行训练的过程。例如,训练数据集包括用于训练神经网络模型的第二子训练数据集,第二子训练数据集中的训练数据与任一第一子训练数据集中的训练数据至少部分不相同,第二子训练数据集的数据数量与多个数据数量相同。

例如,在本公开的实施例中,可以采用同一个训练数据集中的数据对已经上线运行的神经网络模型和多个校验模型进行训练,只要神经网络模型对应的训练数据的数据量和每个校验模型对应的训练数据的数据量大致相同,神经网络模型对应的训练数据和每个校验模型对应的训练数据至少部分不相同即可。

例如,线上数据收集方法还包括:响应于校验结果指示待校验数据为非收集数据,不对待校验数据进行收集。即当待校验数据为准确的数据时,则可以不回收该待校验数据,从而降低数据传输量,减少带宽和标注压力。

本公开一些实施例还公开另一种线上数据收集方法,该线上数据收集方法可以基于贝叶斯神经网络的校验方式、基于传感器的校验方式和基于校验模型的校验方式中的一种或多种对待校验数据进行,从而实现数据收集。下面简单描述上述三种校验方式。

例如,该线上数据收集方法包括:获取待校验数据,其中,待校验数据为已经上线运行的线上神经网络模型所处理的数据;对待校验数据进行处理,以得到至少一个校验结果;响应于至少一个校验结果指示待校验数据为待收集数据,对待校验数据进行收集以用于对神经网络模型再次进行训练。

例如,在一些实施例中,对待校验数据进行处理,以得到至少一个校验结果包括:基于贝叶斯神经网络对待校验数据进行处理,以得到校验均值和校验方差;基于校验均值和校验方差,得到贝叶斯校验结果,将贝叶斯校验结果作为至少一个校验结果中的一个校验结果。

例如,当校验均值和校验方差满足下述条件,则确定贝叶斯校验结果为第一结果,当校验均值和校验方差不满足下述条件,则确定贝叶斯校验结果为第二结果。例如,条件表示为:y1≤y2*h1,其中,y1表示校验方差,y2表示校验均值,h1为常数,且0.3≤h1≤0.7,例如,h1可以为0.5、0.6等。

例如,在另一些实施例中,对待校验数据进行处理,以得到至少一个校验结果包括:利用至少一个传感器对待校验数据进行处理,以得到与至少一个传感器一一对应的至少一个感测结果;获取神经网络模型对待校验数据进行处理而得到的线上处理结果;基于线上处理结果和至少一个感测结果,得到传感器校验结果;将传感器校验结果作为至少一个校验结果中的一个校验结果。

例如,可以使用多个传感器彼此相互校验的方式来实现回收线上误判数据,例如,在基于摄像头进行人员检测的场景中,即神经网络模型用于实现基于摄像头的人员检测,可以在待检测区域增加距离传感器、温度传感器、压力传感器等传感器。若神经网络模型的检测结果与传感器的检测结果不一致,即可认为此时的数据为可回收的数据。

当然,实际情况下的判别情况会复杂很多。一方面,不能保证传感器都是完全准确的,所以需要结合多个传感器进行交叉验证,例如人员检测场景可由距离传感器、红外传感器、温度传感器、压力传感器等传感器综合判定以确定待校验数据的校验结果。例如,对于摄像头拍摄到的视频中的当前图像帧,神经网络模型处理该当前图像帧,以得到未检测到人员的结果,但是,红外传感器检测到有红外信号或地面的压力传感器检测到电信号输入等信息,此时,神经网络模型的处理结果和传感器的检测结果不一致,也就是说,神经网络模型对于该当前图像帧的处理结果可能是不准确的,那么就可以回收当前图像帧进行进一步标注,而无需将所有视频回传进行人工标注。另一方面,在实际场景部署的时候,传感器的部署具有一定的局限性,例如人员检测场景,人员可能出现在摄像头视野范围内的任意区域,但传感器很难随意布置在摄像头范围内的全部区域。因此,基于传感器进行校验的方案需要结合实际使用场景来进行适配。

例如,至少一个传感器包括距离传感器、温度传感器、压力传感器或红外传感器等。

例如,基于线上处理结果和至少一个感测结果,得到传感器校验结果,包括:响应于线上处理结果和至少一个感测结果中的任意一个感测结果不相同,则确定传感器校验结果为第二结果;响应于线上处理结果和至少一个感测结果均相同,则确定传感器校验结果为第一结果。

例如,在一些实施例中,当线上处理结果和任意一个感测结果不相同,则确定待校验数据为待收集数据,此时,传感器校验结果为第二结果,即指示该待校验数据为需要回收的待收集数据。当线上处理结果和所有感测结果均相同,则确定待校验数据准确,此时,传感器校验结果为第一结果,即指示该待校验数据为不需要回收的数据。

例如,至少一个感测结果包括多个感测结果,当多个感测结果中的至少两个感测结果不相同时,则确定待校验数据为待收集数据,此时,传感器校验结果指示该待校验数据为需要回收的待收集数据;当多个感测结果均相同,且与线上处理结果不相同时,则确定待校验数据为待收集数据,此时,传感器校验结果指示该待校验数据为需要回收的待收集数据。

例如,在另一些实施例中,对待校验数据进行处理,以得到至少一个校验结果包括:利用多个校验模型对待校验数据进行处理,以得到至少一个模型检测结果;基于至少一个模型检测结果,得到模型校验结果;将模型校验结果作为至少一个校验结果中的一个校验结果。

例如,可以基于校验模型的方案对待校验数据进行校验,该方案实施更为方便,不需要增加硬件设备,只需增加校验模型即可。

例如,利用多个校验模型对待校验数据进行处理,以得到至少一个模型检测结果,包括:从多个校验模型中任意选择两个校验模型;利用两个校验模型对待校验数据进行处理,以得到与两个校验模型分别对应的两个特征向量;计算两个特征向量之间的距离;获取距离阈值;比较距离阈值和距离,以得到距离比较结果;将距离比较结果作为至少一个模型检测结果中的一个模型检测结果。

例如,当两个特征向量之间的距离大于距离阈值时,即两个校验模型输出的特征向量相差过大,其表示该待校验数据不准确,此时,距离比较结果为第二结果,即指示该待校验数据为需要回收的待收集数据;当两个特征向量之间的距离小于等于距离阈值时,即两个校验模型输出的特征向量相差较小,其表示神经网络模型可以对待校验数据进行准确判断,此时,距离比较结果为第一结果,即指示该待校验数据为不需要回收的数据。

例如,基于多个校验模型中的任意两个校验模型即可对应计算得到一个距离,因此,基于多个校验模型则可以得到多个距离,将多个距离与距离阈值进行比较,从而得到多个距离比较结果。该多个距离比较结果均作为模型检测结果。

例如,在一些实施例中,至少一个模型检测结果中的任意一个或多个模型检测结果指示该待校验数据为需要回收的待收集数据,则模型校验结果指示该待校验数据为需要回收的待收集数据;至少一个模型检测结果均指示该待校验数据为不需要回收的数据,则模型校验结果指示该待校验数据为不需要回收的数据。

例如,距离可以基于欧式距离、马氏距离和余弦距离等中的一个或多个得到。特征向量的差异判别可以使用欧式距离、马氏距离、余弦距离等。欧氏距离主要表征特征高维空间中坐标的绝对距离;马氏距离在欧氏距离的基础上进一步消除了特征向量中的量纲及变量相关性的干扰;余弦距离则主要表征特征高维空间中向量的夹角,即方向上的差异。

例如,当采用一范数时,距离D1可以表示为:

其中,e表示指数函数的底数,近似等于 2.718281828,N表示校验模型输出的特征 向量的维度,A是幅度系数,通常A可取0.01,

此时,距离阈值Dt1可以表示为:

其中,B为0.4~0.7之间的常数,例如,0.5等,

例如,当采用二范数时,距离D2可以表示为:

其中,e表示指数函数的底数,近似等于 2.718281828,N表示校验模型输出的特征 向量的维度,A是幅度系数,通常A可取0.01,

此时,距离阈值Dt2可以表示为:

其中,B为0.4~0.7之间的常数,例如,0.5等,

例如,在利用多个校验模型对待校验数据进行处理,以得到至少一个模型检测结果之前,线上数据收集方法还包括:获取多个待训练校验模型;获取训练数据集;将训练数据集中的训练数据进行随机划分,以得到与多个待训练校验模型一一对应的多个子训练数据集;利用多个子训练数据集一一对应训练多个待训练校验模型,以得到多个校验模型。

例如,该训练数据集可以包括用于训练神经网络模型的训练数据。

例如,在一些实施例中,多个子训练数据集彼此至少部分训练数据不相同,多个子训练数据集分别对应的多个数据数量相同。

例如,多个校验模型的数量可以根据实际情况设置。若条件允许,准备多个校验模型,以进行交叉验证。理论上在满足训练数据类别均衡的情况下,在子训练数据集的数量越多,每个子训练数据集中的数据的特征分布差异越大,训练出来的校验模型提取到的特征向量差异也越大,最终导致不同校验模型的输出结果不一样,更具有参考性。

例如,多个校验模型均基于神经网络实现,且多个校验模型均为神经网络模型。需要说明的是,当多个校验模型均为神经网络模型时,可以训练校验模型,以使得除了神经网络模型之外的校验模型提取到的特征向量和神经网络模型提取到的特征向量的差异较小,以便于准确地进行数据校验。

需要说明的是,上述基于贝叶斯神经网络的校验方式、基于传感器的校验方式和基于校验模型的校验方式可以彼此组合以对待校验数据进行校验,从而使得校验结果更加准确,以便能够准确地回收神经网络模型误判的数据。

本公开一实施例还提供一种神经网络训练方法。图5为本公开至少一实施例提供的一种神经网络训练方法的示意图。

例如,如图5所示,该神经网络训练方法包括:

S15:获取待校验数据;

S25:获取用于训练神经网络模型的训练数据集;

S35:将待校验数据作为训练数据加入训练数据集中,以扩展训练数据集而得到扩展后的训练数据集;

S45:利用扩展后的训练数据集对神经网络模型再次进行训练,以更新神经网络模型的参数。

例如,在步骤S15中,待校验数据为根据本公开任一实施例所述的线上数据收集方法收集得到的数据。

例如,在步骤S25中,用于训练神经网络模型的训练数据集可以为上述线上数据收集方法中的第二子训练数据集。

在本公开的实施例提供的神经网络训练方法中,可以基于收集得到的数据扩展神经网络模型的训练数据集,并基于扩展后的训练数据集对神经网络模型再次进行训练,以进一步优化神经网络模型。

需要说明的是,训练神经网络模型的具体过程可以参考现有技术中对于神经网络模型的训练过程,本公开对此不作限定。

图6为本公开至少一实施例提供的一种数据收集装置的示意性框图。

本公开至少一实施例还提供一种数据收集装置,如图6所示,该数据收集装置600包括处理器602和存储器601。应当注意,图6所示的数据收集装置600的组件只是示例性的,而非限制性的,根据实际应用需要,该数据收集装置600还可以具有其他组件。

例如,存储器601用于非暂时性存储计算机可读指令;处理器602用于运行计算机可读指令,计算机可读指令被处理器602运行时执行根据上述任一实施例所述的线上数据收集方法中的一个或多个步骤。

例如,处理器602和存储器601等组件之间可以通过网络连接进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。网络可以包括局域网、互联网、电信网、基于互联网和/或电信网的物联网(Internet of Things)、和/或以上网络的任意组合等。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G/4G/5G移动通信网络、蓝牙、Zigbee或者WiFi等通信方式。本公开对网络的类型和功能在此不作限制。

例如,处理器602可以控制数据收集装置600中的其它组件以执行期望的功能。处理器602可以是中央处理单元(CPU)、张量处理器(TPU)或者图形处理器(GPU)等具有数据处理能力和/或程序执行能力的器件。中央处理元(CPU)可以为X86或ARM架构等。GPU可以单独地直接集成到主板上,或者内置于主板的北桥芯片中。GPU也可以内置于中央处理单元(CPU)上。

例如,存储器601可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器602可以运行所述计算机可读指令,以实现数据收集装置600的各种功能。在存储介质中还可以存储各种应用程序和各种数据等。

例如,关于数据收集装置600执行线上数据收集的过程的详细说明可以参考线上数据收集方法的实施例中的相关描述,重复之处不再赘述。

图7为本公开至少一实施例提供的一种神经网络训练装置的示意性框图。

本公开至少一实施例还提供一种神经网络训练装置,如图7所示,该神经网络训练装置700包括处理器702和存储器701。应当注意,图7所示的神经网络训练装置700的组件只是示例性的,而非限制性的,根据实际应用需要,该神经网络训练装置700还可以具有其他组件。

例如,存储器701用于非暂时性存储计算机可读指令;处理器702用于运行计算机可读指令,计算机可读指令被处理器702运行时执行根据上述任一实施例所述的神经网络训练方法中的一个或多个步骤。

例如,处理器702和存储器701等组件之间可以通过网络连接进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。网络可以包括局域网、互联网、电信网、基于互联网和/或电信网的物联网(Internet of Things)、和/或以上网络的任意组合等。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G/4G/5G移动通信网络、蓝牙、Zigbee或者WiFi等通信方式。本公开对网络的类型和功能在此不作限制。

例如,处理器702可以控制神经网络训练装置700中的其它组件以执行期望的功能。处理器702可以是中央处理单元(CPU)、张量处理器(TPU)或者图形处理器(GPU)等具有数据处理能力和/或程序执行能力的器件。中央处理元(CPU)可以为X86或ARM架构等。GPU可以单独地直接集成到主板上,或者内置于主板的北桥芯片中。GPU也可以内置于中央处理单元(CPU)上。

例如,存储器701可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器702可以运行所述计算机可读指令,以实现神经网络训练装置700的各种功能。在存储介质中还可以存储各种应用程序和各种数据等。

例如,关于神经网络训练装置700执行训练神经网络的过程的详细说明可以参考神经网络训练方法的实施例中的相关描述,重复之处不再赘述。

图8为本公开至少一实施例提供的一种非瞬时性存储介质的示意图。例如,如图8所示,在非瞬时性存储介质800上可以非暂时性地存储一个或多个计算机可读指令801。例如,当计算机可读指令801由计算机执行时可以执行根据上文所述的线上数据收集方法中的一个或多个步骤。

例如,该非瞬时性存储介质800可以应用于上述数据收集装置600中,例如,其可以为数据收集装置600中的存储器601。

例如,关于非瞬时性存储介质800的说明可以参考数据收集装置600的实施例中对于存储器的描述,重复之处不再赘述。

应理解,在本申请实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 线上数据收集方法和神经网络训练方法及相关装置、存储介质
  • 深度神经网络训练方法、相关装置、设备和存储介质
技术分类

06120112984922