数据处理方法、装置和系统与流程

文档序号:33319199发布日期:2023-03-03 19:08阅读:23来源:国知局
数据处理方法、装置和系统与流程

1.本技术涉及人工智能领域,尤其涉及一种数据处理方法、装置和系统。


背景技术:

2.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能领域的研究包括机器学习(machine learning,ml)、自然语言处理、计算机视觉、决策与推理、人机交互、推荐与搜索和ai基础理论等。
3.通常,云侧设备可以采用训练集对神经网络进行训练,使神经网络具备识别等应用功能,并将神经网络部署到至少一个端侧设备(如:智能手机、摄像头、自动驾驶汽车等)。端侧设备利用神经网络对采集的应用数据(如:图像、语音等)进行处理实现识别等应用功能。为了提高神经网络处理数据的精度,端侧设备可以利用增量训练集迭代训练神经网络。但是增量训练集包含的应用数据均是由端侧设备采集,由于端侧设备的种类、安装角度和自然环境等因素,导致增量训练集包含的数据具有局限性,缺乏与应用场景相关的类似特征,迭代训练后的神经网络处理数据的精度仍然较低。端侧设备还可以将应用数据反馈给云侧设备,云侧设备利用全量训练集迭代训练神经网络。由于不同场景下的应用数据具有不同的特征,全量训练集包含的与应用场景不相关的特征反而影响了神经网络处理数据的精度。因此,如何提供一种提高迭代训练神经网络处理数据的精度的数据处理方法成为亟待解决的问题。


技术实现要素:

4.本技术提供了数据处理方法、装置和系统,由此来确保提高迭代训练神经网络处理数据的精度的需求。
5.第一方面,提供了一种数据处理方法,该方法可以由云侧设备执行,具体包括如下步骤:云侧设备迭代训练部署在第一端侧设备的第一神经网络时,根据第一端侧设备采集的数据的应用场景特征获取第一训练集,根据第一训练集和部署在第一端侧设备上的第一神经网络得到训练后第一神经网络,向第一端侧设备部署训练后第一神经网络。如此,由于云侧设备获取的第一训练集包含了第一端侧设备的数据,以及与所述应用场景特征关联的样本数据。相对增量训练集包含的样本数据的局限性,扩充了迭代训练的样本数据,以及,相对全量训练集包含的样本数据的宽泛性,缩减了与应用场景特征不相关的数据。从而有效地提高了迭代训练神经网络处理数据的精度。
6.其中,数据包括图像、语音和文字中至少一种形式的数据。端侧设备可以通过传感器获取数据。传感器包括摄像头、音频传感器和激光雷达中至少一种。端侧设备可以是终端,如手机终端,平板电脑,笔记本电脑,虚拟现实(virtual reality,vr)设备、增强现实(augmented reality,ar)设备、混合现实(mixed reality,mr)设备、扩展现实(extended reality,er)设备、摄像头或车载终端等。应用场景特征包括光照特征、纹理特征、形状特征
和空间关系特征中至少一种。
7.在一种可能的实现方式中,根据第一端侧设备采集的数据的应用场景特征获取第一训练集包括:云侧设备根据第一端侧设备采集的数据的应用场景特征确定第一类群,根据第一类群内端侧设备的数据获取第一训练集。由于第一类群内端侧设备的数据与应用场景特征的数据相同或相似,将第一端侧设备所属的第一类群内端侧设备的数据作为第一训练集,剔除了全量训练集包含的与应用场景特征不相关的数据,避免与应用场景特征不相关的数据影响迭代训练后神经网络处理数据的精度;以及,扩充了增量训练集中缺乏的与应用场景特征关联的数据,从而有效地提高了迭代训练神经网络处理数据的精度。
8.示例地,根据所述第一端侧设备提供的数据的应用场景特征确定第一类群包括:云侧设备根据所述第一端侧设备提供的数据的应用场景特征相关的类群标识确定所述第一类群。根据第一类群内端侧设备的数据获取第一训练集包括:云侧设备根据第一类群内端侧设备间的设备相似度确定k个端侧设备,根据第一类群内第一端侧设备和k个端侧设备的数据得到第一训练集。相似度用于指示两个端侧设备的数据的应用场景特征的相似程度,k为大于或等于1的整数,k小于第一类群包含的端侧设备的数量。
9.在另一种可能的实现方式中,在根据第一端侧设备采集的数据的应用场景特征获取第一训练集之前,方法还包括:云侧设备根据划分策略将系统中端侧设备划分为多个类群,划分策略用于指示依据端侧设备间的设备相似度的划分规则,多个类群包含第一类群,每个类群包含至少两个端侧设备。从而,以便于云侧设备需要对端侧设备上部署的神经网络进行迭代训练时,依据类群获取训练所使用的数据。进而,提高了端侧设备依据迭代训练后的神经网络处理数据的精度。
10.其中,端侧设备间的设备相似度是根据系统中端侧设备的数据的应用场景特征确定的。例如,端侧设备间的设备相似度是根据系统中端侧设备的预设时段内数据的应用场景特征确定的。预设时段可以是依据业务繁忙程度划分的,比如,预设时段包括交通高峰时段和交通低峰时段。或者,预设时段是光照时长划分的。比如,预设时段包括白天时段和黑夜时段。
11.在另一种可能的实现方式中,根据所述第一训练集和部署在所述第一端侧设备上的第一神经网络得到训练后第一神经网络包括:云侧设备根据第一训练集对第一神经网络进行监督训练或半监督训练,得到训练后第一神经网络。例如,云侧设备利用第一神经网络和部署在k个端侧设备上的神经网络得到第一训练集包含的数据的标签,根据第一训练集包含的数据,以及第一训练集包含的数据的标签训练第一神经网络,得到训练后第一神经网络。第一训练集中数据的标签包含伪标签、预测标签和人工标签中至少一种。
12.通过类群内k个近邻设备的神经网络联合预测第一训练集包含的数据的标签,准确性高的高置信数据的结果用于伪标签,准确性低的不确定性数据用于人工标注,并额外选取一批平均预测概率尽量均匀覆盖各个概率区间的多样性数据用于半监督学习。如此,本技术实施例为迭代训练神经网络提供了高置信、不确定性和多样性三种层面的数据,再运用半监督方式训练。一方面,数据协同所得的高置信数据和多样性数据部分,不需要人工标注,大幅降低了标注成本;另一方面,通过挖掘多个层次的数据并结合半监督学习来充分挖掘有标和无标数据价值,有助于提升神经网络的决策能力和泛化能力。
13.第二方面,提供了一种数据处理装置,所述装置包括用于执行第一方面或第一方
面任一种可能设计中的数据处理方法的各个模块。
14.第三方面,提供一种数据处理系统,该数据处理系统包括至少一个处理器和存储器,存储器用于存储一组计算机指令;当处理器作为第一方面或第一方面任一种可能实现方式中的执行设备执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的数据处理方法的操作步骤。
15.第四方面,提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在数据处理系统中运行时,使得数据处理系统执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
16.第五方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得数据处理系统执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
17.本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
18.图1为本技术提供的一种神经网络的结构示意图;
19.图2为本技术提供的一种卷积神经网络的结构示意图;
20.图3为本技术提供的一种数据处理系统的架构示意图;
21.图4为本技术提供的一种生成类群方法的流程图;
22.图5为本技术提供的一种数据处理方法的流程示意图;
23.图6为本技术提供的一种标签预测的过程示意图;
24.图7为本技术提供的一种系统的结构示意图;
25.图8为本技术提供的一种数据处理装置的示意图;
26.图9为本技术提供的另一种系统的结构示意图。
具体实施方式
27.为了便于理解,下面先对本技术实施例涉及的相关术语及神经网络等相关概念进行介绍。
28.(1)神经网络
29.神经网络可以是由神经元组成的,神经元可以是指以xs和截距1为输入的运算单元。该运算单元的输出满足如下公式(1)。
[0030][0031]
其中,s=1、2、
……
n,n为大于1的自然数,ws为xs的权重,b为神经元的偏置。f为神经元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经元联结在一起形成的网络,即一个神经元的输出可以是另一个神经元的输入。每个神经元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经元组成的区域。权重表
征不同神经元之间连接的强度。权重决定着输入对输出的影响力。权重近于0意味着改变输入不改变输出。负权重意味着增加输入降低输出。
[0032]
如图1所示,为本技术实施例提供的一种神经网络的结构示意图。神经网络100包括n个处理层,n为大于或等于3的整数。神经网络100的第一层为输入层110,负责接收输入信号,神经网络100的最后一层为输出层130,负责输出神经网络的处理结果。除去第一层和最后一层的其他层为中间层140,这些中间层140共同组成隐藏层120,隐藏层120中的每一层中间层140既可以接收输入信号,也可以输出信号。隐藏层120负责输入信号的处理过程。每一层代表了信号处理的一个逻辑级别,通过多个层,数据信号可经过多级逻辑的处理。
[0033]
在一些可行的实施例中该神经网络的输入信号可以是视频信号、语音信号、文本信号、图像信号或温度信号等各种形式的信号。图像信号可以是相机(图像传感器)拍摄的风景信号、监控设备捕捉的环境图像信号以及门禁系统获取的面部图像信号等各类传感器信号。该神经网络的输入信号还包括其他各种计算机可处理的工程信号,在此不再一一列举。若利用神经网络对图像信号进行深度学习,可以提高神经网络处理图像的质量。
[0034]
(2)深度神经网络
[0035]
深度神经网络(deep neural network,dnn)也称多层神经网络,可以理解为具有多层隐藏层的神经网络。按照不同层的位置对深度神经网络进行划分,深度神经网络内部的神经网络可以分为三类:输入层,隐藏层和输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐藏层。层与层之间是全连接的,也就是说,第i层的任意一个神经元与第i+1层的任意一个神经元相连。
[0036]
虽然深度神经网络看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,w是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于深度神经网络的层数多,系数w和偏移向量的数量也比较多。这些参数在深度神经网络中的定义如下所述:以系数w为例:假设在一个三层的深度神经网络中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为其中,上标3代表系数w所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
[0037]
综上,第l-1层的第k个神经元到第l层的第i个神经元的系数定义为
[0038]
需要注意的是,输入层是没有w参数的。在深度神经网络中,更多的隐藏层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量w形成的权重矩阵)。
[0039]
(3)卷积神经网络
[0040]
卷积神经网络(convolutional neuron network,cnn)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者特征图(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个
卷积层可以输出若干个特征图,特征图可以是指卷积神经网络运算过程中的中间结果。同一特征图的神经元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。也就是,图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
[0041]
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
[0042]
示例地,如图2所示,为本技术实施例提供的一种卷积神经网络的结构示意图。卷积神经网络200可以包括输入层210、卷积层/池化层220(其中池化层为可选的)和神经网络层230。
[0043]
卷积层/池化层220例如可以包括层221至层226。在一种示例中,层221例如可以为卷积层,层222例如可以为池化层,层223例如可以为卷积层,层224例如可以为池化层,层225例如可以为卷积层,层226例如可以为池化层。在另一种示例中,层221和层222例如可以为卷积层,层223例如可以为池化层,层224和层225例如可以为卷积层,层226例如可以为池化层。卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
[0044]
将以卷积层221为例,介绍一层卷积层的内部工作原理。
[0045]
卷积层221可以包括很多个卷积算子,卷积算子也可称为核。卷积算子在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器。卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义。在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素,这取决于步长(stride)的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小与图像的大小相关。需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的。在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,与一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行
×
列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行
×
列)相同,经过该多个尺寸相同的权重矩阵提取后的特征图的尺寸也相同,再将提取到的多个尺寸相同的特征图合并形成卷积运算的输出。
[0046]
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
[0047]
当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如层221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征。随着卷积神经网络200深度的加深,越往后的卷积层(例如层226)提取到的特征越来越复杂,比如高级别的语义之类的特
征,语义越高的特征越适用于待解决的问题。
[0048]
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层。在如图2中卷积层/池化层220所示例的层221至层226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
[0049]
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层230中可以包括多层隐藏层(如图2所示的层231、层232至层23n)以及输出层240,该多层隐藏层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
[0050]
在神经网络层230中的多层隐藏层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由层210至层240方向的传播为前向传播)完成,反向传播(如图2由层240至层210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。
[0051]
需要说明的是,如图2所示的卷积神经网络200仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。
[0052]
(4)损失函数
[0053]
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
[0054]
(5)反向传播算法
[0055]
卷积神经网络可以采用误差反向传播(back propagation,bp)算法在训练过程中
修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
[0056]
本技术提供的数据处理方法主要包括根据第一端侧设备采集的数据的应用场景特征,以及与第一端侧设备采集的数据的应用场景特征关联的样本数据得到第一训练集,利用第一训练集训练部署在第一端侧设备上的第一神经网络,得到训练后第一神经网络。由于云侧设备获取的第一训练集包含了第一端侧设备的数据,以及与所述应用场景特征关联的样本数据。相对增量训练集包含的样本数据的局限性,扩充了迭代训练的样本数据,以及,相对全量训练集包含的样本数据的宽泛性,缩减了与应用场景特征不相关的数据。从而有效地提高了迭代训练神经网络处理数据的精度。
[0057]
下面将结合附图对本技术实施例的实施方式进行详细描述。
[0058]
图3为本技术实施例提供的一种数据处理系统的架构示意图。如图3所示,系统300包括执行设备310、训练设备320、数据库330、终端设备340、数据存储系统350和数据采集设备360。
[0059]
执行设备310可以是终端,如手机终端,平板电脑,笔记本电脑,虚拟现实(virtual reality,vr)设备、增强现实(augmented reality,ar)设备、混合现实(mixed reality,mr)设备、扩展现实(extended reality,er)设备、摄像头或车载终端等,还可以是边缘设备(例如,携带具有处理能力芯片的盒子)等。
[0060]
训练设备320可以是服务器或者云端设备等。训练设备320具备较强的计算能力,能够运行神经网络,对神经网络进行训练等计算。
[0061]
作为一种可能的实施例,执行设备310和训练设备320是部署在不同物理设备(如:服务器或集群中的服务器)上的不同处理器。例如,执行设备310可以是图形处理单元(graphic processing unit,gpu)、中央处理器(central processing unit,cpu)、其他通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application-specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。训练设备320可以是图形处理器(graphics processing unit,gpu)、神经网络处理器(neural network processing unit,npu)、微处理器、特定应用集成电路(application-specific integrated circuit,asic)、或一个或多个用于控制本技术方案程序执行的集成电路。
[0062]
数据采集设备360用于采集训练数据,并将训练数据存入数据库330。训练数据包括图像、语音和文字中至少一种形式的数据。例如,训练数据包括训练图像和训练图像中的目标,训练图像中的目标可以是指训练图像的标签。
[0063]
训练设备320用于利用训练数据对神经网络进行训练,直到神经网络中的损失函数收敛,且损失函数值小于特定阈值则神经网络训练完成,从而使得神经网络达到一定精度。或者,数据库330中所有的训练数据被用于训练,则神经网络训练完成,使训练完成的神经网络具有识别或分类等功能。进而,训练设备320将训练完成的神经网络301配置到执行设备310。执行设备310用于实现根据训练完成的神经网络301处理应用数据的功能。
[0064]
在一些实施例中,训练设备320可以将训练完成的神经网络301配置到多个执行设备310。每个执行设备310利用训练完成的神经网络301实现识别或分类等功能。
[0065]
例如,对于自动驾驶场景,自动驾驶汽车依据预定路线行驶过程中,利用神经网络主要对环境中的路标、行驶参照物和道路上的障碍物等进行识别,以确保自动驾驶汽车安全准确地行驶。路标可以包含图形路标或文字路标。行驶参照物可以是建筑物或植物。道路上的障碍物可以包括动态物体(如:动物)或静止物体(如:静止的车辆)。
[0066]
又如,对于监控场景,利用神经网络主要对路口或园区等环境中目标(如:汽车和用户)进行识别。
[0067]
又如,对于自然语言处理场景,利用神经网络主要对语音或文本进行识别。
[0068]
为了提高神经网络处理数据的精度,训练设备320还可以基于数据库330维护的训练数据和执行设备310提供的应用数据对神经网络进行迭代训练。可理解的,迭代训练是指度神经网络首次训练后的任意一次训练。
[0069]
数据库330维护的训练数据可能是一个全量训练集,包含了不同应用场景下获取的应用数据,不同应用场景下数据具有不同或不相似的应用场景特征。如果训练设备320对神经网络进行迭代训练的训练集中包含不同或不相似的应用场景特征的数据,反而使神经网络处理不同应用场景下的应用数据的精度难以达到较优的效果。
[0070]
例如,对于自动驾驶场景,自动驾驶汽车在天空晴朗的环境下通过道闸时,应用数据可以是足够清晰的车牌图像,应用场景特征包括光线充足和晴天。又如,自动驾驶汽车在大雨天的环境下通过道闸时,由于雨天视线不清楚,应用数据可以是较模糊的车牌图像,应用场景特征包括光线不足和雨天。因此,足够清晰的车牌图像的应用场景特征和较模糊的车牌图像的应用场景特征不同。具备光线充足和晴天的应用场景特征的数据影响神经网络处理具备光线不足和雨天的应用场景特征的数据的精度。反之,具备光线不足和雨天的应用场景特征的数据影响神经网络处理具备光线充足和晴天的应用场景特征的数据的精度。
[0071]
又如,对于闸机口场景,上下班高峰期人流量比较大,应用数据可以是较大的人流量。应用场景特征可以包括上下班高峰期时段和人流量。低峰期人流量比较小,应用数据可以是较小的人流量。应用场景特征可以包括低峰期时段和人流量。上下班高峰期和低峰期的应用场景特征的不同在于高峰期时段和低峰期时段。高峰期时段的数据影响神经网络处理低峰期时段的数据的精度。反之,低峰期时段的数据影响神经网络处理高峰期时段的数据的精度。
[0072]
由此,应用场景特征至少包括环境特征(如:温度、湿度、光照等)、时间特征(如:白天时段、黑夜时段、交通高峰时段、交通低峰时段等)、纹理特征、形状特征和空间关系特征等等。
[0073]
对于部署在端侧设备上的神经网络而言,例如部署在第一端侧设备上的第一神经网络,训练设备320还用于实现基于部署第一神经网络的第一端侧设备提供的数据的应用场景特征,从数据库330中维护的训练数据中选取具有相似的所述应用场景特征的数据,得到第一训练集,利用第一训练集对第一神经网络进行训练的功能。端侧设备可以是终端,如手机终端,平板电脑,笔记本电脑,vr设备、ar设备、mr设备、er设备、摄像头或车载终端等。例如,端侧设备可以是上述所述的执行设备310。端侧设备处于不同的应用场景,端侧设备采集的数据具体不同或不相似的应用场景特征。端侧设备处于相似的应用场景,端侧设备
采集的数据具有相似的应用场景特征。例如,不同的路口监控场景,在高峰期时段采集的数据均具有在高峰期时段人流量大的特征;在黑夜时段采集的数据均具有图像不清楚的特征。由此,从训练数据中选取具有相似的应用场景特征的数据,相对利用第一端侧设备提供的数据训练第一神经网络的局限性,扩充了训练第一神经网络的数据,以及,相对利用数据库330中维护的训练数据的宽泛性,缩减了与应用场景特征不相关的数据。从而有效地提高了迭代训练神经网络处理数据的精度。
[0074]
第一训练集包含的数据来自部署第一神经网络的第一端侧设备采集的数据,以及第一端侧设备所属的第一类群内端侧设备采集的数据。类群内端侧设备采集的数据具有相似的应用场景特征,反之,不同类群内端侧设备采集的数据具有不相似的应用场景特征。训练设备320利用类群内端侧设备采集的数据对神经网络进行迭代训练之前,先根据划分策略将系统中端侧设备划分为多个类群。例如,基于数据库330中维护的训练数据的应用场景特征确定设备相似度,利用设备相似度将端侧设备划分为多个类群。每个类群包含至少两个端侧设备。多个类群包含第一类群。可理解的,数据库330中维护的训练数据包括系统中端侧设备提供的应用数据。
[0075]
示例地,如图4所示,关于生成类群的具体过程进行阐述。
[0076]
步骤410、训练设备320根据系统中端侧设备的数据的应用场景特征确定任意两个端侧设备间的设备相似度。
[0077]
对于系统中的任意两个端侧设备,训练设备320先根据两个端侧设备的数据的应用场景特征确定特征相似度,根据特征相似度确定两个端侧设备间的设备相似度。例如,训练设备320从端侧设备a提供的数据中选取了n帧代表图像,以及从端侧设备b提供的数据中选取了n帧代表图像,训练设备320根据端侧设备a的n帧代表图像和端侧设备b的n帧代表图像中任意两帧代表图像的特征相似度,确定两个端侧设备间的设备相似度。端侧设备间的设备相似度满足如下公式(2)。
[0078][0079]
其中,s
a,b
表示端侧设备a和端侧设备b间的设备相似度,na表示端侧设备a提供的代表图像帧的数量,nb表示端侧设备b提供的代表图像帧的数量,s(f
am
,f
bk
)表示两帧代表图像的特征相似度。表示端侧设备a的n帧代表图像和端侧设备b的n帧代表图像中任意两帧代表图像的特征相似度之和。
[0080]
两帧代表图像的特征相似度可以是余弦相似度。s(f
am
,f
bk
)满足公式(3)。
[0081][0082]
训练设备320例如根据帧间差分法或光流法等,对系统中的每个端侧设备提供的图像数据中选取代表图像,代表图像包括静止背景帧和运动图像帧。
[0083]
应用场景特征也可以是指神经网络处理数据的过程中的中间结果。训练设备320可以依据应用场景特征确定特征相似度。训练设备320例如采用特征提取模型或尺寸不变性特征转换(scale invariant feature transform,sift)提取特征。应用场景特征可以是
训练设备320分析端侧设备提供的数据获得的。或者,数据库330中维护有端侧设备提供的数据的应用场景下的应用场景特征。
[0084]
可选地,训练设备320可以对代表图像进行降维处理,提取降维后的代表图像的特征,从而,降低计算特征相似度的计算量。
[0085]
步骤420、训练设备320根据系统中端侧设备间的设备相似度将系统中端侧设备划分为多个类群。
[0086]
训练设备320根据系统中任意两个端侧设备间的设备相似度对系统中的端侧设备进行聚类,得到聚类结果。聚类结果表示系统中端侧设备的场景相似性类群关系。示例地,如图4所示,假设系统包括n个端侧设备。训练设备320根据系统中n个端侧设备间的设备相似度将系统中端侧设备划分为m个类群。聚类结果包括m个类群,m为大于或等于2的整数。第一类群包括端侧设备1_l至端侧设备1_s。第二类群包括端侧设备2_l至端侧设备2_x。第m类群包括端侧设备m_1至端侧设备m_y。s、x和y均为大于或等于2的整数。类群内的端侧设备用于处理相似的应用场景的数据,类群内端侧设备处理的数据具有相似的应用场景特征。每个类群包含的端侧设备的数量可以相同也可以不同,不予限定。
[0087]
例如,应用场景特征包括晴天和阴雨天。第一类群内的端侧设备用于处理晴天场景下的数据,第一类群内的端侧设备采集的数据具有晴天应用场景特征。第二类群内的端侧设备用于处理阴雨天场景下的数据,第二类群内的端侧设备采集的数据具有阴雨天应用场景特征。
[0088]
聚类算法包括k-均值聚类(k-means clustering,k-means)算法、基于密度的聚类(density-based spatial clustering of applications with noise,dbscan)算法、凝聚层次聚类(agglomerative hierarchical clustering,ahc)算法、统计信息网格聚类(statistical information grid,sting)算法和最大期望(expectation-maximization algorithm,em)算法等。
[0089]
聚类算法的取原则包括(1)无需指定聚类个数;(2)将已有数据点作为聚类中心,而不是新生成聚类中心;(3)无需随机选取初值,多次执行聚类算法,得到的结果稳定;(4)适合高维、多类数据快速聚类。符合上述原则的算法,如:亲和力传播(affinity propagation,ap)聚类算法,可实现对应特征的聚类。
[0090]
可选地,端侧设备采集的不同时段的数据具有不同或不相似的应用场景特征。例如,端侧设备在白天、黄昏和黑夜中三个不同时段采集的图像的清晰度可能不同。因此,训练设备320根据系统中端侧设备间的设备相似度确定多个类群的过程中,精细地挖掘了与时间段相关的应用场景特征的相似性关系,丰富了类群的种类,提高了训练神经网络所选取的数据的准确性。
[0091]
训练设备320根据上述步骤410至步骤420生成多个类群后,存储多个类群的关系以及类群包含的端侧设备的信息(如:端侧设备的标识),以便于训练设备320需要对端侧设备上部署的神经网络进行迭代训练时,依据类群获取训练所使用的数据。进而,提高了执行设备310依据迭代训练后的神经网络处理数据的精度。
[0092]
关于训练设备320获取迭代训练神经网络所使用的数据的具体方法可以参考下面图5的阐述。
[0093]
需要说明的是,在实际的应用中,数据库330中维护的训练数据不一定都来自于数
据采集设备360,也有可能是从其他设备接收得到的。另外,训练设备320也不一定完全基于数据库330维护的训练数据训练神经网络,也有可能从云端或其他地方获取训练数据训练神经网络。上述描述不应该作为对本技术实施例的限定。
[0094]
进一步地,根据执行设备310所执行的功能,还可以进一步将执行设备310细分为如图3所示的架构,如图所示,执行设备310配置有计算模块311、i/o接口312和预处理模块313。
[0095]
i/o接口312用于与外部设备进行数据交互。用户可以通过终端设备340向i/o接口312输入数据。输入数据可以包括图像或视频。另外,输入数据也可以来自数据库330。
[0096]
预处理模块313用于根据i/o接口312接收到的输入数据进行预处理。在本技术实施例中,预处理模块313可以用于识别从i/o接口312接收到的应用数据的应用场景特征。
[0097]
在执行设备310对输入数据进行预处理,或者在执行设备310的计算模块311执行计算等相关的处理过程中,执行设备310可以调用数据存储系统350中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据和指令等存入数据存储系统350中。
[0098]
例如,执行设备310存储的第一神经网络可以应用于执行设备310。执行设备310获取到应用数据后,计算模块311将应用数据输入第一神经网络得到处理结果。由于第一神经网络是由训练设备320依据类群获取的具有相似的应用场景特征的数据训练得到的,因此,利用第一神经网络对应用数据进行处理,可以满足用户对数据处理的精度需求。
[0099]
最后,i/o接口312将处理结果返回给终端设备340,从而提供给用户,以便用户查看处理结果。
[0100]
在图3所示情况下,用户可以手动给定输入数据,该手动给定可以通过i/o接口312提供的界面进行操作。另一种情况下,终端设备340可以自动地向i/o接口312发送输入数据,如果要求终端设备340自动发送输入数据需要获得用户的授权,则用户可以在终端设备340中设置相应权限。用户可以在终端设备340查看执行设备310输出的处理结果,具体的呈现形式可以是显示、声音、动作等具体方式。终端设备340也可以作为数据采集端,采集如图所示输入i/o接口312的输入数据及输出i/o接口312的处理结果作为新的样本数据,并存入数据库330。当然,也可以不经过终端设备340进行采集,而是由i/o接口312将如图所示输入i/o接口312的输入数据及输出i/o接口312的处理结果,作为新的样本数据存入数据库330。
[0101]
图3仅是本技术实施例提供的一种系统架构的示意图,图3中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图3中,数据存储系统350相对执行设备310是外部存储器,在其它情况下,也可以将数据存储系统350置于执行设备310中。
[0102]
接下来,结合图5至图9对本技术实施例提供的数据处理方法进行详细阐述。图5为本技术实施例提供的一种数据处理方法的流程示意图。在这里假设训练设备320需要对第一端侧设备进行迭代训练为例进行说明。第一端侧设备可以是系统中的任意一个端侧设备。如图5所示,该方法包括以下步骤。
[0103]
步骤510、训练设备320根据第一端侧设备的数据的应用场景特征获取第一训练集。
[0104]
训练设备320根据上述步骤410和步骤420将系统中端侧设备划分为多个类群,类群内的端侧设备的数据具有相似的应用场景特征。在训练设备320需要对第一端侧设备上部署的第一神经网络进行迭代训练时,训练设备320可以根据第一端侧设备采集的数据的
应用场景特征确定第一端侧设备所属的第一类群,根据第一类群内端侧设备的数据获取第一训练集。第一训练集包含第一端侧设备的数据以及与应用场景特征关联的样本数据。与应用场景特征关联的样本数据可以是由第一类群内第一端侧设备之外的其他端侧设备提供的。
[0105]
在一些实施例中,数据库330维护有端侧设备与类群的关联关系,训练设备320可以依据端侧设备与类群的关联关系确定第一端侧设备所属的第一类群。
[0106]
例如,数据库330维护有应用场景特征与类群标识的关联关系。训练设备320可以依据应用场景特征与类群标识的关联关系确定第一端侧设备的数据的应用场景特征关联的第一类群的标识,使得训练设备320根据第一类群的标识获取第一类群。
[0107]
又如,数据库330维护有端侧设备的标识与类群标识的关联关系。训练设备320可以依据端侧设备的标识与类群标识的关联关系确定第一端侧设备的标识关联的第一类群的标识,使得训练设备320根据第一类群的标识获取第一类群。
[0108]
在另一些实施例中,训练设备320可以根据第一类群内部分端侧设备的数据获取第一训练集。
[0109]
例如,训练设备320根据第一类群内端侧设备间的设备相似度确定k个端侧设备,根据第一类群内第一端侧设备和k个端侧设备提供的数据得到第一训练集。k个端侧设备也可以称为第一端侧设备的k个近邻设备。训练设备320可以依据从大到小的端侧设备间的设备相似度,从第一类群中确定k个近邻设备。其中,相似度用于指示两个端侧设备采集的应用数据的应用场景特征的相似程度。k为大于或等于1的整数,k小于第一类群包含的端侧设备的数量。
[0110]
又如,训练设备320可以依据第一类群内端侧设备间的设备相似度预先生成近邻设备列表。训练设备320可以查询近邻设备列表确定k个端侧设备。在一种示例中,近邻设备可以以表格的形式呈现。假设第一类群包含设备1至设备7,如表1所示,类群内设备的近邻设备示意。
[0111]
表1
[0112]
类群内设备类群内k个近邻设备设备1设备2、设备3、设备7设备2设备1、设备4、设备5
……
[0113]
由表1可知,设备1的近邻设备包括设备2、设备3和设备7。设备2的近邻设备包括设备1、设备4和设备5。若第一端侧设备为设备1,则第一端侧设备的k个近邻设备包含设备2、设备3和设备7。
[0114]
需要说明的是,表1只是以表格的形式示意对应关系在存储设备中的存储形式,并不是对该对应关系在存储设备中的存储形式的限定,当然,该对应关系在存储设备中的存储形式还可以以其他的形式存储,本实施例对此不做限定。
[0115]
步骤520、训练设备320根据第一训练集和部署在第一端侧设备上的第一神经网络得到训练后第一神经网络。
[0116]
训练设备320可以调用部署在第一类群中每个端侧设备上的神经网络,利用每个神经网络对第一训练集中k+1个端侧设备提供的数据进行半监督训练,依据预测结果的准
确性对第一训练集中k+1个端侧设备提供的数据进行划分。从而,降低对第一训练集中的数据进行人工标注的工作量。如表2所示。
[0117]
表2
[0118][0119]
由表2可知,高置信度样本表示k+1个端侧设备上部署的神经网络处理数据的准确性较高,利用该高置信度样本训练第一神经网络利于提高第一神经网络处理数据的精度。例如,如图6中的(a)所示,假设k+1个端侧设备包含设备1至设备5。训练设备320调用设备1上部署的神经网络识别图像1,预测结果是猫的概率为0.9。训练设备320调用设备2上部署的神经网络识别图像1,预测结果是猫的概率为0.8。训练设备320调用设备3上部署的神经网络识别图像1,预测结果是猫的概率为0.85。训练设备320调用设备4上部署的神经网络识别图像1,预测结果是狗的概率为0.55。训练设备320调用设备5上部署的神经网络识别图像1,预测结果是猫的概率为0.95。由于设备1、设备2、设备3和设备5的预测结果是猫的概率均大于80%,表示图像1中的目标是猫的概率较大,而且准确度较高,图像1可以是高置信度样本,图像1的标签可以作为伪标签。
[0120]
不确定样本表示k+1个端侧设备上部署的神经网络处理数据的准确性较低。例如,如图6中的(b)所示,训练设备320调用设备1和设备3上部署的神经网络识别图像2,预测结果是猫的概率大于0.8。训练设备320调用设备2、设备4和设备5上部署的神经网络识别图像2,预测结果是狗的概率小于0.8。由于设备2、设备4和设备5的预测结果是狗的概率均小于80%,表示图像2中的目标是狗的概率较小,而且准确度较低,图像2可以是不确定样本。
[0121]
可选地,训练设备320可以根据样本数据的种类选择训练模式,训练模式包括监督训练和半监督训练。训练设备320根据第一训练集对部署在第一端侧设备上的第一神经网络进行监督训练或半监督训练,得到训练后第一神经网络。
[0122]
例如,训练设备320根据第一训练集中的高置信度样本和不确定样本对第一神经网络进行监督训练,得到训练后第一神经网络。
[0123]
又如,训练设备320根据第一训练集中的高置信度样本、不确定样本和多样性样本对第一神经网络进行半监督训练,得到训练后第一神经网络。
[0124]
通过类群内k个近邻设备的神经网络联合预测第一训练集包含的数据的标签,准确性高的高置信数据的结果用于伪标签,准确性低的不确定性数据用于人工标注,并额外选取一批平均预测概率尽量均匀覆盖各个概率区间的多样性数据用于半监督学习。如此,本技术实施例为迭代训练神经网络提供了高置信、不确定性和多样性三种层面的数据,再运用半监督方式训练。一方面,数据协同所得的高置信数据和多样性数据部分,不需要人工标注,大幅降低了标注成本;另一方面,通过挖掘多个层次的数据并结合半监督学习来充分挖掘有标和无标数据价值,有助于提升神经网络的决策能力和泛化能力。
[0125]
需要说明的是,训练设备320对第一神经网络进行迭代训练的时机可以是在训练
设备320接收到第一端侧设备采集的应用数据或周期性地对第一神经网络进行迭代训练。可理解的,数据库330获取到第一端侧设备反馈的新应用数据后,训练设备320可以启动对第一神经网络进行迭代训练。
[0126]
步骤530、训练设备320向第一端侧设备部署训练后第一神经网络。
[0127]
第一端侧设备接收训练后第一神经网络后,可以利用训练后第一神经网络对采集到的应用数据进行处理,能够有效地提高处理结果的精度。
[0128]
例如,若第一端侧设备是智能终端,应用场景为智能终端利用识别功能对用户进行识别,实现对智能终端进行解锁的功能。智能终端可以利用摄像头拍摄目标用户,得到用户图像,则应用数据为用户图像。第一端侧设备利用训练后第一神经网络识别用户图像,尽可能快地解锁智能终端。
[0129]
又如,应用场景为智能终端利用语音助手功能对用户的语音进行识别,实现对智能终端进行解锁的功能。智能终端可以利用音频传感器获取用户的语音,得到音频数据,则应用数据为音频数据。第一端侧设备利用训练后第一神经网络识别音频数据,尽可能快地解锁智能终端。
[0130]
又如,若第一端侧设备是道闸监控器。应用场景为在大雨天的环境下自动驾驶汽车通过道闸时,道闸监控器进行车牌识别。道闸监控器可以利用摄像头对自动驾驶汽车的车牌进行拍摄,得到车牌图像。由于雨天视线不清楚,应用数据为较模糊的车牌图像。第一端侧设备利用训练后第一神经网络识别车牌图像,可以使自动驾驶汽车尽可能快地通过道闸。
[0131]
如此,通过类群内k个近邻设备为第一端侧设备上部署的神经网络迭代训练提供了接近自身应用场景的数据扩增,自动、有效地扩充了增量训练集的数据,突破增量训练集的局限性,以及改善了全量训练集的宽泛性,从数据样本的层面提高了神经网络迭代训练所使用的数据的使用效率,提高了神经网络的潜在泛化能力。
[0132]
目标检测是计算机视觉重要的组成部分。计算机视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断和军事等领域中各种智能/自主系统中不可分割的一部分,它是一门关于如何运用照相机/摄像机和计算机来获取人类所需的被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机/摄像机)和大脑(算法)用来代替人眼对目标进行识别、跟踪和测量等,从而使计算机能够感知环境。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。总的来说,计算机视觉就是用各种成像系统代替视觉器官获取输入信息,再由计算机来代替大脑对这些输入信息完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。
[0133]
目标检测方法可以应用在车辆检测、行人计数、自动驾驶、安全系统和医疗领域等场景。例如,在自动驾驶场景中,自动驾驶汽车在行驶过程中,识别周围环境内的物体,以调整自动驾驶汽车的速度和方向,以便于自动驾驶汽车能够安全行驶,避免发生交通事故。物体可以是其它车辆、交通控制设备或者其它类型的物体。通常,将输入数据(如图像或视频)输入到具有目标检测功能的神经网络,神经网络对输入数据进行特征提取,基于提取的特征进行目标检测,得到检测结果。
[0134]
本技术提供的数据处理方案主要包括云侧设备迭代训练部署在第一端侧设备的
第一神经网络时,根据第一端侧设备的数据的应用场景特征获取第一训练集,根据第一训练集和部署在第一端侧设备上的第一神经网络得到训练后第一神经网络,向第一端侧设备部署训练后第一神经网络。由于云侧设备获取的第一训练集包含了第一端侧设备的数据,以及与第一端侧设备的数据的应用场景特征关联的样本数据。相对增量训练集包含的样本数据的局限性,扩充了迭代训练的样本数据,以及,相对全量训练集包含的样本数据的宽泛性,缩减了与应用场景特征不相关的数据。从而有效地提高了迭代训练神经网络处理数据的精度。
[0135]
在一种可能的实现方式中,云服务提供商将上述迭代训练神经网络的功能抽象成为一项云服务,将该云服务部署在云数据中心。用户可以通过云服务平台咨询和购买这项云服务。用户购买这项云服务后,可以通过终端设备向云数据中心上传迭代训练请求,云数据中心依据迭代训练请求指示的第一神经网络,从第一类群中的端侧设备所提供的数据中获取迭代训练所使用的数据,对第一神经网络进行迭代训练。
[0136]
在另一种可能的实现方式中,迭代训练神经网络的功能可以由软件提供商封装为软件包。由用户购买该软件包,用户将软件包部署在自有服务器上,或者,用户将软件包部署在云服务器上。例如,迭代训练神经网络的功能由租户部署在租户租用的云数据中心的计算资源中(例如虚拟机),租户通过云服务平台购买云服务提供商提供的计算资源云服务,在购买的计算资源中对神经网络进行迭代训练,执行上述迭代训练神经网络的功能。可选的,还可以对用户上传的数据进行加密,在不妨碍实施效果的前提下避免直接接触用户上传的数据,保证信息安全。
[0137]
示例地,图7为本技术提供的一种系统700的结构示意图,如图7所示,系统700可以是利用基础资源向用户提供云服务的实体。系统700包括云数据中心710。所述云数据中心710包括设备资源池(包括计算资源711、存储资源712和网络资源713)和云服务平台720。云数据中心710包括的计算资源711可以是计算设备(例如服务器)。
[0138]
执行设备730上可以部署交互装置731。执行设备730可以是指第一端侧设备。交互装置731可以是浏览器或者能够实现与云服务平台720进行消息交互的应用。用户可以通过交互装置731访问云服务平台720,向云数据中心710上传请求,请求迭代训练部署在第一端侧设备的神经网络301,获取迭代训练后神经网络。云数据中心710接收到执行设备730上传的请求后,根据第一端侧设备的数据的应用场景特征获取第一训练集,根据第一训练集和部署在第一端侧设备上的第一神经网络得到训练后神经网络,向执行设备730反馈迭代训练后神经网络。执行设备730可以是智能终端或边缘小站。边缘小站可以处理自动驾驶汽车的应用数据,将处理结果传输给自动驾驶汽车。处理结果用于指示自动驾驶汽车运行操作。
[0139]
本技术实施例提供的迭代训练神经网络的方案主要由训练设备执行,在另一种可能的实现方式中,如果边缘小站的计算资源能够提供对神经网络进行迭代训练的足够算力,也可以由边缘小站对神经网络进行迭代训练,从而,降低对神经网络进行迭代训练的时延。对神经网络进行迭代训练的具体过程可以参数上述关于图4和图5的阐述。
[0140]
可以理解的是,为了实现上述实施例中的功能,终端包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本技术中所公开的实施例描述的各示例的单元及方法步骤,本技术能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的
特定应用场景和设计约束条件。
[0141]
上文中结合图1至图7,详细描述了根据本实施例所提供的数据处理方法,下面将结合图8,描述根据本实施例所提供的数据处理装置。
[0142]
图8为本实施例提供的可能的数据处理装置的结构示意图。这些数据处理装置可以用于实现上述方法实施例中执行设备的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该数据处理装置可以是如图3所示的训练设备320,还可以是应用于服务器的模块(如芯片)。
[0143]
如图8所示,数据处理装置800包括通信模块810、数据协同模块820、训练模块830和存储模块840。数据处理装置800用于实现上述图4或图5中所示的方法实施例中训练设备320的功能。
[0144]
数据协同模块820用于根据第一端侧设备采集的数据的应用场景特征获取第一训练集,所述第一训练集包含所述第一端侧设备采集的数据,以及与所述应用场景特征关联的样本数据。例如,数据协同模块820用于执行图5中步骤510。
[0145]
训练模块830用于根据所述第一训练集和部署在所述第一端侧设备上的第一神经网络得到训练后第一神经网络。例如,数据协同模块820用于执行图5中步骤520。
[0146]
通信模块810用于向所述第一端侧设备部署所述训练后第一神经网络。例如,数据协同模块820用于执行图5中步骤530。
[0147]
可选地,数据协同模块820具体用于根据所述第一端侧设备采集的数据的应用场景特征确定第一类群,所述第一类群包含所述第一端侧设备,所述第一类群内端侧设备的数据与所述应用场景特征的数据相同或相似;根据所述第一类群内端侧设备提供的数据获取所述第一训练集。
[0148]
数据处理装置800还包括类群生成模块850和显示模块860。类群生成模块850用于根据划分策略将系统中端侧设备划分为多个类群,所述划分策略用于指示依据端侧设备间的设备相似度的划分规则,所述多个类群包含所述第一类群,每个类群包含至少两个端侧设备。例如,类群生成模块850用于执行图4中步骤410和步骤420。显示模块860用于显示类群和迭代训练后第一神经网络。存储模块840用于存储多个类群、数据和部署在端侧设备上的神经网络,以及执行迭代训练所需要的应用程序。
[0149]
应理解的是,本技术实施例的数据处理装置800可以通过gpu、npu、asic实现,或可编程逻辑器件(programmable logic device,pld)实现,上述pld可以是复杂程序逻辑器件(complex programmable logical device,cpld),现场可编程门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。也可以通过软件实现图4或图5所示的数据处理方法时,数据处理装置800及其各个模块也可以为软件模块。
[0150]
根据本技术实施例的数据处理装置800可对应于执行本技术实施例中描述的方法,并且数据处理装置800中的各个单元的上述和其它操作和/或功能分别为了实现图4或图5中的各个方法的相应流程,为了简洁,在此不再赘述。
[0151]
由于本技术提供的数据处理装置800中的各个模块可以分布式地部署在同一环境或不同环境中的多个计算机上,因此,本技术还提供一种如图9所示的数据处理系统,该数据处理系统包括多个计算机900,每个计算机900包括存储器901、处理器902、通信接口903
以及总线904。其中,存储器901、处理器902、通信接口903通过总线904实现彼此之间的通信连接。
[0152]
存储器901可以是只读存储器,静态存储设备,动态存储设备或者随机存取存储器。存储器901可以存储计算机指令,当存储器901中存储的计算机指令被处理器902执行时,处理器902和通信接口903用于执行软件系统的数据处理的部分方法。存储器还可以存储数据集合,例如:存储器901中的一部分存储资源被划分成一个区域,用于存储类群及实现本技术实施例的迭代训练神经网络的功能的程序。
[0153]
处理器902可以采用通用的cpu,应用专用集成电路(application specific integrated circuit,asic),gpu或其任意组合。处理器902可以包括一个或多个芯片。处理器902可以包括ai加速器,例如npu。
[0154]
通信接口903使用例如但不限于收发器一类的收发模块,来实现计算机900与其他设备或通信网络之间的通信。例如,可以通过通信接口903获取迭代训练请求,以及反馈迭代训练后神经网络。
[0155]
总线904可包括在计算机900各个部件(例如,存储器901、处理器902、通信接口903)之间传送信息的通路。
[0156]
上述每个计算机900间通过通信网络建立通信通路。每个计算机900上运行数据协同模块820、训练模块830和类群生成模块850中的任意一个或多个。任一计算机900可以为云数据中心中的计算机(例如:服务器),或边缘数据中心中的计算机,或终端计算设备。
[0157]
每个计算机900上都可以部署训练设备320的功能。例如,gpu用于实现训练设备320的功能。
[0158]
对于同一个计算机900内部署的训练设备320的功能和执行设备310的功能,训练设备320可以通过总线904与执行设备310进行通信。
[0159]
对于不同计算机900内部署的训练设备320的功能和执行设备310的功能,训练设备320可以通过通信网络与执行设备310进行通信。
[0160]
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,ram)、闪存、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
[0161]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令
可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,dvd);还可以是半导体介质,例如,固态硬盘(solid state drive,ssd)。以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1