CN111783997A - 一种数据处理方法、装置及设备 - Google Patents
一种数据处理方法、装置及设备 Download PDFInfo
- Publication number
- CN111783997A CN111783997A CN202010611544.7A CN202010611544A CN111783997A CN 111783997 A CN111783997 A CN 111783997A CN 202010611544 A CN202010611544 A CN 202010611544A CN 111783997 A CN111783997 A CN 111783997A
- Authority
- CN
- China
- Prior art keywords
- data
- model
- sub
- baseline model
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 238000012549 training Methods 0.000 claims abstract description 270
- 238000000034 method Methods 0.000 claims abstract description 88
- 230000008569 process Effects 0.000 claims abstract description 69
- 238000012545 processing Methods 0.000 claims abstract description 62
- 238000012360 testing method Methods 0.000 claims description 53
- 239000011159 matrix material Substances 0.000 claims description 37
- 238000003860 storage Methods 0.000 claims description 24
- 230000000694 effects Effects 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 abstract description 11
- 238000013528 artificial neural network Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 17
- 238000010801 machine learning Methods 0.000 description 15
- 230000009471 action Effects 0.000 description 14
- 238000013473 artificial intelligence Methods 0.000 description 13
- 238000001514 detection method Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 238000011176 pooling Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000005284 excitation Effects 0.000 description 4
- 238000012804 iterative process Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000010223 real-time analysis Methods 0.000 description 2
- 108091028043 Nucleic acid sequence Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本申请提供一种数据处理方法、装置及设备,该方法包括:获取初始基线模型;通过所述初始基线模型对终端设备当前获得的流式数据进行处理,得到与所述流式数据对应的训练数据;所述训练数据包括与所述流式数据对应的数据特征,及所述数据特征对应的标签信息;通过所述训练数据对初始基线模型进行训练,得到训练后的目标基线模型;在所述终端设备部署所述初始基线模型或所述目标基线模型,以通过所述初始基线模型或所述目标基线模型对所述终端设备的应用数据进行处理。通过本申请的技术方案,提升目标基线模型的性能,目标基线模型的智能分析结果的准确度较高。
Description
技术领域
本申请涉及人工智能技术领域,尤其是一种数据处理方法、装置及设备。
背景技术
机器学习是实现人工智能的一种途径,是一门多领域的交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习用于研究计算机如何模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习更加注重算法设计,使计算机能够自动地从数据中学习规律,并利用规律对未知数据进行预测。
机器学习已经有了十分广泛的应用,如深度学习、数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用等。
为了采用机器学习实现人工智能处理,服务器需要获取大量样本数据,并基于这些样本数据训练出机器学习模型,并将该机器学习模型部署到终端设备(如摄像机等),以使终端设备基于该机器学习模型实现人工智能处理。
由于终端设备采集的流式数据不会发送给服务器,因此,无法基于流式数据对机器学习模型进行训练,导致无法充分利用终端设备采集的流式数据,使得机器学习模型无法匹配终端设备所处环境,机器学习模型的性能比较低。
发明内容
本申请提供一种数据处理方法,应用于终端设备,所述方法包括:
获取初始基线模型;通过所述初始基线模型对所述终端设备当前获得的流式数据进行处理,得到与所述流式数据对应的训练数据;其中,所述训练数据包括与所述流式数据对应的数据特征,及所述数据特征对应的标签信息;通过所述训练数据对初始基线模型进行训练,得到训练后的目标基线模型;在所述终端设备部署所述初始基线模型或所述目标基线模型,以通过所述初始基线模型或所述目标基线模型对所述终端设备的应用数据进行处理。
本申请提供一种数据处理装置,应用于终端设备,所述装置包括:
获取模块,用于获取初始基线模型;处理模块,用于通过所述初始基线模型对所述终端设备当前获得的流式数据进行处理,得到与所述流式数据对应的训练数据;其中,所述训练数据包括与所述流式数据对应的数据特征,及所述数据特征对应的标签信息;训练模块,用于通过所述训练数据对初始基线模型进行训练,得到训练后的目标基线模型;部署模块,用于在终端设备部署所述初始基线模型或所述目标基线模型,以通过所述初始基线模型或所述目标基线模型对终端设备的应用数据进行处理。
本申请提供一种终端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下的步骤:
获取初始基线模型;通过所述初始基线模型对所述终端设备当前获得的流式数据进行处理,得到与所述流式数据对应的训练数据;其中,所述训练数据包括与所述流式数据对应的数据特征,及所述数据特征对应的标签信息;通过所述训练数据对初始基线模型进行训练,得到训练后的目标基线模型;在所述终端设备部署所述初始基线模型或所述目标基线模型,以通过所述初始基线模型或所述目标基线模型对所述终端设备的应用数据进行处理。
由以上技术方案可见,本申请实施例中,可以利用终端设备当前获得的流式数据对初始基线模型进行训练,得到训练后的目标基线模型,目标基线模型能够匹配终端设备所处环境,提升目标基线模型的性能,目标基线模型的智能分析结果的准确度较高。在得到目标基线模型后,通过比较初始基线模型的性能和目标基线模型的性能,决策在终端设备部署初始基线模型还是目标基线模型,保证在终端设备部署的是性能较好的基线模型,避免将性能较差的基线模型部署到终端设备,使得终端设备部署的基线模型不断迭代更新,不断提升基线模型的性能,基线模型的性能更优,基线模型的智能分析结果更准确,目标基线模型的智能分析结果随着时间推移逐步提高。由于流式数据不在终端设备保存,因此,能够节约终端设备的存储资源,提高终端设备的存储寿命,且在不保存流式数据的前提下,仍然可以利用流式数据进行模型训练。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的数据处理方法的流程图;
图2A-图2C是本申请一种实施方式中的初始输出数据划分示意图;
图3是本申请一种实施方式中的基于流式数据进行训练的系统示意图;
图4是本申请一种实施方式中的数据处理装置的结构图;
图5是本申请一种实施方式中的终端设备的结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在介绍本申请的技术方案之前,先介绍与本申请实施例有关的概念。
机器学习:机器学习是实现人工智能的一种途径,用于研究计算机如何模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身性能。深度学习属于机器学习的子类,是一种使用数学模型对真实世界中的特定问题进行建模,以解决该领域内相似问题的过程。神经网络是深度学习的实现方式,为了方便描述,本文以神经网络为例,介绍神经网络的结构和功能,对于机器学习的其它子类,与神经网络的结构和功能类似。
神经网络:神经网络可以包括但不限于卷积神经网络(简称CNN)、循环神经网络(简称RNN)、全连接网络等,神经网络的结构单元可以包括但不限于卷积层(Conv)、池化层(Pool)、激励层、全连接层(FC)等,对此不做限制。
在实际应用中,可以根据不同需求,将一个或多个卷积层,一个或多个池化层,一个或多个激励层,以及一个或多个全连接层进行组合构建神经网络。
在卷积层中,通过使用卷积核对输入数据特征进行卷积运算,使输入数据特征增强,该卷积核可以是m*n大小的矩阵,卷积层的输入数据特征与卷积核进行卷积,可以得到卷积层的输出数据特征,卷积运算实际是一个滤波过程。
在池化层中,通过对输入数据特征(如卷积层的输出)进行取最大值、取最小值、取平均值等操作,从而利用局部相关性的原理,对输入数据特征进行子抽样,减少处理量,并保持特征不变性,池化层运算实际是一个降采样过程。
在激励层中,可以使用激活函数(如非线性函数)对输入数据特征进行映射,从而引入非线性因素,使得神经网络通过非线性的组合增强表达能力。
该激活函数可以包括但不限于ReLU(Rectified Linear Units,整流线性单元)函数,该ReLU函数用于将小于0的特征置0,而大于0的特征保持不变。
在全连接层中,用于将输入给本全连接层的所有数据特征进行全连接处理,从而得到一个特征向量,且该特征向量中可以包括多个数据特征。
神经网络(如卷积神经网络)的基线模型:在神经网络的训练过程中,可以利用样本数据训练神经网络内各神经网络参数,如卷积层参数(如卷积核参数)、池化层参数、激励层参数、全连接层参数等,对此不做限制。通过训练神经网络内各神经网络参数,可以使神经网络拟合出输入和输出的映射关系。
在神经网络训练完成后,已经完成训练的神经网络就是神经网络的基线模型,本文简称为基线模型。可以将基线模型部署到各终端设备,以使各终端设备基于该基线模型实现人工智能处理,如人脸检测、人体检测、车辆检测等。
例如,针对人脸检测来说,可以将包括人脸的图像输入给基线模型,基线模型对该图像进行人工智能处理,而人工智能处理结果就是人脸检测结果。
流式数据、测试数据和应用数据:流式数据可以是图像数据,也可以是其它类型的数据,对此不做限制,以图像数据为例。测试数据可以是图像数据,也可以是其它类型的数据,对此不做限制,以图像数据为例。应用数据可以是图像数据,也可以是其它类型的数据,对此不做限制,以图像数据为例。比如说,在智能监控场景中,可以部署大量终端设备(如模拟摄像机、IPC(网络摄像机)等),这些终端设备可以对自身所处环境进行监控,即采集自身所处环境的视频数据,本文将这些视频数据区分为流式数据、测试数据和应用数据。
示例性的,流式数据是用于对基线模型进行训练的视频数据,具体训练过程参见后续实施例。测试数据是用于测试基线模型性能的视频数据,具体测试过程参见后续实施例。应用数据是需要输入给基线模型的视频数据,以使基线模型对应用数据进行人工智能处理,具体处理过程参见后续实施例。
示例性的,在智能监控场景中,终端设备实时采集视频数据,从而可以采集到大量视频数据,考虑到视频数据的存储会占用大量存储资源,因此,为了节约存储资源,终端设备可能不会对视频数据进行存储,而是直接丢弃视频数据,在此基础上,本文将不会在本地存储的视频数据称为流式数据。
显然,由于流式数据不会在终端设备存储,终端设备也不会将流式数据发送给服务器,因此,服务器无法基于这些流式数据对基线模型进行训练。在将基线模型部署到终端设备后,由于基线模型与终端设备采集的流式数据无关,因此,基线模型无法匹配终端设备所处环境,基线模型的性能比较低。
针对上述发现,本申请实施例中,在服务器将基线模型部署到终端设备之后,终端设备可以利用自身采集的流式数据对基线模型进行训练,得到新基线模型。由于是利用终端设备采集的流式数据对基线模型进行训练,因此,新基线模型能够匹配终端设备所处环境,新基线模型的性能比较好。
以下结合具体实施例,对本申请实施例的技术方案进行说明。
本申请实施例提出一种数据处理方法,参见图1所示,为该方法的流程示意图,可以应用于终端设备(如模拟摄像机、IPC等,对此终端设备的类型不做限制,可以是采用基线模型进行人工智能处理的任意设备),该方法包括:
步骤101,获取初始基线模型。
示例性的,服务器(也可以称为模型提供设备)可以获取大量样本数据,针对每个样本数据来说,该样本数据可以具有标签信息,如实际类别和/或目标框等,对此标签信息不做限制,例如,针对人脸检测的应用场景来说,样本数据可以是样本图像,目标框可以是样本图像中某个矩形框的坐标信息(如矩形框的左上角坐标,矩形框的宽度和高度等),实际类别可以表示矩形框区域是人脸或者不是人脸。服务器可以将大量样本数据及该样本数据对应的标签信息输入给神经网络(如卷积神经网络),从而能够利用这些样本数据及标签信息对神经网络内的各神经网络参数进行训练,对此训练过程不做限制。在神经网络训练完成后,已经完成训练的神经网络可以是初始基线模型。
服务器在得到初始基线模型后,可以将初始基线模型部署到终端设备(如部署到多个终端设备),使得终端设备可以获取到初始基线模型。
步骤102,通过初始基线模型对终端设备当前获得的流式数据进行处理,得到与流式数据对应的训练数据。示例性的,该流式数据可以不在终端设备保存,且该流式数据不用于重复对初始基线模型进行训练。示例性的,该训练数据可以包括与该流式数据对应的数据特征,及该数据特征对应的标签信息。
示例性的,该初始基线模型可以包括第一子网络模型,且该第一子网络模型可以是用于生成标签信息的网络模型。基于此,可以将终端设备当前获得的流式数据(如终端设备实时采集的流式数据)输入给第一子网络模型,通过该第一子网络模型对该流式数据进行处理,得到与该流式数据对应的数据特征,并通过该第一子网络模型生成该数据特征对应的标签信息。基于该数据特征和该标签信息生成训练数据。
步骤103,通过该训练数据对初始基线模型进行训练,得到训练后的目标基线模型,为了区分方便,本文将训练后的初始基线模型称为目标基线模型。
示例性的,初始基线模型可以包括第二子网络模型,且第二子网络模型是需要进行增量训练的网络模型。基于此,可以将训练数据存储到数据缓存队列,在数据缓存队列中的训练数据数量达到预设阈值(可以根据经验配置,如大于或等于1的正整数)时,将数据缓存队列中的训练数据输入给第二子网络模型,通过数据缓存队列中的训练数据对第二子网络模型进行训练,得到训练后的第二子网络模型。基于训练后的第二子网络模型获取目标基线模型,该目标基线模型可以包括该训练后的第二子网络模型。
比如说,初始基线模型包括第一子网络模型和第二子网络模型,通过训练数据对第二子网络模型内各网络参数进行调整,得到训练后的第二子网络模型,将第一子网络模型和训练后的第二子网络模型组合在一起,得到目标基线模型。或,通过训练数据对第一子网络模型和第二子网络模型内的各网络参数进行调整,得到训练后的第一子网络模型和训练后的第二子网络模型,将训练后的第一子网络模型和训练后的第二子网络模型组合在一起,得到目标基线模型。
以下结合具体应用场景,对步骤102和步骤103的过程进行说明。
初始基线模型可以包括第一子网络模型和第二子网络模型,第一子网络模型包括M1个网络层(如卷积层、池化层、激励层、全连接层等),第二子网络模型包括M2个网络层,M1和M2均为正整数,M1与M2可以相同或不同。
第一子网络模型是用于生成标签信息的网络模型,比如说,在将流式数据输入给第一子网络模型后,第一子网络模型可以对流式数据进行处理,从而得到与该流式数据对应的数据特征,并生成该数据特征对应的标签信息。
显然,由于第一子网络模型能够自动生成标签信息,从而不需要用户为流式数据添加标签信息。综上所述,在用户无法为流式数据添加标签信息的情况下,也可以由第一子网络模型自动生成标签信息。用户无法为流式数据添加标签信息的原因是:在终端设备存储有数据时,用户才能够为数据添加标签信息,但流式数据不会存储在终端设备,因此,用户无法为流式数据添加标签信息。
第一子网络模型可以是不需要进行增量训练的网络模型,或者,第一子网络模型可以是需要进行增量训练的网络模型。第一子网络模型不需要进行增量训练是指:在将初始基线模型部署到终端设备后,终端设备不需要对第一子网络模型的各神经网络参数进行调整,即,保持初始基线模型中的第一子网络模型不变。第一子网络模型需要进行增量训练是指:在将初始基线模型部署到终端设备后,终端设备需要对第一子网络模型的各神经网络参数进行调整。
第二子网络模型可以是需要进行增量训练的网络模型,第二子网络模型需要进行增量训练是指:在将初始基线模型部署到终端设备后,终端设备需要对第二子网络模型的各神经网络参数进行调整,这个调整过程就是增量训练。
在一种可能的实施方式中,基于初始基线模型的第一子网络模型和第二子网络模型,针对该初始基线模型的训练过程,可以包括但不限于:
终端设备在得到流式数据后,将流式数据输入给初始基线模型的第一子网络模型,由于第一子网络模型是用于生成标签信息的网络模型,因此,第一子网络模型可以对该流式数据进行处理,得到训练数据,该训练数据包括与该流式数据对应的数据特征,以及该数据特征对应的标签信息。在得到该流式数据对应的训练数据后,可以丢弃该流式数据。
比如说,将流式数据输入给第一子网络模型的第一个网络层,由第一个网络层对流式数据进行处理,得到第一个网络层的输出数据,将第一个网络层的输出数据输入给第一子网络模型的第二个网络层,由第二个网络层对数据进行处理,得到第二个网络层的输出数据,将第二个网络层的输出数据输入给第一子网络模型的第三个网络层,以此类推,一直到将数据输入给第一子网络模型的第M1个网络层,由第M1个网络层对数据进行处理,得到第M1个网络层的输出数据,这个输出数据可以是与该流式数据对应的数据特征。
第M1个网络层的输出数据与标签信息具有映射关系(即初始基线模型的训练过程,训练得到的映射关系),显然,在得到与该流式数据对应的数据特征后,可以通过该映射关系,查询到与该数据特征对应的标签信息。然后,可以将该数据特征和该标签信息组合在一起,作为该流式数据对应的训练数据。
综上所述,针对每个流式数据,通过将该流式数据输入给第一子网络模型,可以得到与该流式数据对应的训练数据,该训练数据包括数据特征和标签信息。
终端设备可以维护数据缓存队列,如在内存维护数据缓存队列。针对每个流式数据,在得到与该流式数据对应的训练数据后,将训练数据存储到数据缓存队列。每在数据缓存队列中存储一个训练数据,就判断数据缓存队列中的训练数据数量是否达到预设阈值。如果是,则将数据缓存队列中的训练数据输入给第二子网络模型,并从数据缓存队列中删除已输入给第二子网络模型的训练数据,如果否,则继续等待将下一个训练数据存储到数据缓存队列。
比如说,在预设阈值为3时,当数据缓存队列已存储3个训练数据时,会将3个训练数据输入给第二子网络模型。在预设阈值为1时,当数据缓存队列已存储1个训练数据时,会将这1个训练数据输入给第二子网络模型。
终端设备可以将训练数据输入给第二子网络模型的第一个网络层,由第一个网络层对训练数据进行处理,得到第一个网络层的输出数据,将第一个网络层的输出数据输入给第二子网络模型的第二个网络层,以此类推,一直到将数据输入给第二子网络模型的第M2个网络层,由第M2个网络层对数据进行处理,得到第M2个网络层的输出数据,将这个输出数据记为目标特征向量。
在得到目标特征向量后,基于目标特征向量确定初始基线模型是否已收敛。若初始基线模型已收敛,则将已收敛的初始基线模型确定为训练后的目标基线模型,完成初始基线模型的训练过程。若初始基线模型未收敛,则对未收敛的初始基线模型进行调整,对此调整过程不做限制,得到调整后的初始基线模型。
基于调整后的初始基线模型,利用流式数据(即未参与过训练的新流式数据)对调整后的初始基线模型重新进行训练,具体训练过程参见上述实施例,在此不再赘述。以此类推,一直到初始基线模型已收敛,将已收敛的初始基线模型确定为训练后的目标基线模型。
在上述实施例中,若初始基线模型未收敛,则需要对初始基线模型进行调整,该调整过程可以包括:若第一子网络模型不需要进行增量训练,第二子网络模型需要进行增量训练,则对第二子网络模型中的各网络参数进行调整,对此调整过程不做限制,而未调整的第一子网络模型和调整后的第二子网络模型,组合成调整后的初始基线模型。若第一子网络模型需要进行增量训练,第二子网络模型需要进行增量训练,则对第一子网络模型中的各网络参数和第二子网络模型中的各网络参数进行调整,对此调整过程不做限制,而调整后的第一子网络模型和调整后的第二子网络模型,组合成调整后的初始基线模型。
在上述实施例中,基于目标特征向量确定初始基线模型是否已收敛,可以包括:预先构建损失函数,对此损失函数不做限制,可以根据经验设置。在得到目标特征向量后,可以根据该目标特征向量确定损失函数的损失值,比如说,可以将该目标特征向量代入损失函数,得到损失函数的损失值。在得到损失函数的损失值后,根据损失函数的损失值确定初始基线模型是否已收敛。
示例性的,可以根据一个损失值确定初始基线模型是否已收敛,例如,基于目标特征向量得到损失值1,若损失值1不大于阈值,则确定初始基线模型已收敛。若损失值1大于阈值,则确定初始基线模型未收敛。或者,
可以根据多次迭代过程的多个损失值确定初始基线模型是否已收敛,例如,在每次迭代过程中,对上次迭代过程的初始基线模型进行调整,得到调整后的初始基线模型,且每次迭代过程可以得到损失值。然后,确定多个损失值的变化幅度曲线,若根据该变化幅度曲线确定损失值变化幅度已经平稳(连续多次迭代过程的损失值未发生变化,或者变化的幅度很小),且最后一次迭代过程的损失值不大于阈值,则确定最后一次迭代过程的初始基线模型已收敛。否则,确定最后一次迭代过程的初始基线模型未收敛,继续进行下一次迭代过程,得到下一次迭代过程的损失值,并重新确定多个损失值的变化幅度曲线。
在实际应用中,还可以采用其它方式确定初始基线模型是否已收敛,对此不做限制。例如,若迭代次数达到预设次数阈值,则确定初始基线模型已收敛;又例如,若迭代时长达到预设时长阈值,则确定初始基线模型已收敛。
综上所述,可以通过训练数据对初始基线模型进行训练,得到训练后的目标基线模型,且目标基线模型包括第一子网络模型和第二子网络模型。
步骤104,在终端设备部署初始基线模型或目标基线模型,以通过初始基线模型或目标基线模型对终端设备的应用数据进行处理(即人工智能处理)。
示例性的,终端设备可以比较目标基线模型的第一性能指标与初始基线模型的第二性能指标。若第一性能指标优于第二性能指标,则可以在终端设备部署目标基线模型,以通过目标基线模型对应用数据进行处理。在终端设备部署目标基线模型后,还可以将该目标基线模型作为初始基线模型,返回执行对初始基线模型进行增量训练的过程,参见步骤102-步骤104。
若第二性能指标优于第一性能指标,则可以在终端设备部署初始基线模型,以通过初始基线模型对应用数据进行处理。在终端设备部署初始基线模型后,可以返回执行对初始基线模型进行增量训练的过程。
针对待处理的应用数据,若在终端设备部署目标基线模型,将应用数据输入给目标基线模型,通过目标基线模型对应用数据进行处理,得到处理结果(如人工智能处理结果)。比如说,若目标基线模型用于实现目标检测(如人脸检测、人体检测、车辆检测等),则将应用数据提供给目标基线模型,由目标基线模型确定目标检测结果。若在终端设备部署初始基线模型,将应用数据输入给初始基线模型,通过初始基线模型对应用数据进行处理,得到处理结果。
在一种可能的实施方式中,可以先获取测试数据集合,该测试数据集合包括多个测试数据。终端设备通过目标基线模型对多个测试数据进行处理,得到每个测试数据的目标预测类别,并基于多个测试数据的目标预测类别和多个测试数据的实际类别,确定目标基线模型的第一性能指标。终端设备通过初始基线模型对多个测试数据进行处理,得到每个测试数据的初始预测类别,并基于多个测试数据的初始预测类别和多个测试数据的实际类别,确定初始基线模型的第二性能指标。
比如说,针对测试数据集合中的每个测试数据,将该测试数据输入给初始基线模型,以通过初始基线模型对该测试数据进行处理,得到处理结果,该处理结果就是该测试数据的预测类别,可以将该预测类别称为初始预测类别。
若该测试数据的初始预测类别与该测试数据的实际类别一致,则表示初始基线模型对该测试数据的识别结果正确,若该测试数据的初始预测类别与该测试数据的实际类别不一致,则表示初始基线模型对该测试数据的识别结果错误。
在对每个测试数据进行上述处理后,可以得到识别结果正确的数量(记为a1)和识别结果错误的数量(记为a2),根据识别结果正确的数量a1和识别结果错误的数量a2,确定初始基线模型的第二性能指标。例如,第二性能指标为a1/(a1+a2),显然,第二性能指标越大,表示初始基线模型的性能越好。或者,第二性能指标为a2/(a1+a2),显然,第二性能指标越大,表示初始基线模型的性能越差。当然,上述只是第二性能指标的示例,对此不做限制。
比如说,针对测试数据集合中的每个测试数据,将该测试数据输入给目标基线模型,以通过目标基线模型对该测试数据进行处理,得到处理结果,该处理结果就是该测试数据的预测类别,可以将该预测类别称为目标预测类别。
若该测试数据的目标预测类别与该测试数据的实际类别一致,则表示目标基线模型对该测试数据的识别结果正确,若该测试数据的目标预测类别与该测试数据的实际类别不一致,则表示目标基线模型对该测试数据的识别结果错误。
在对每个测试数据进行上述处理后,可以得到识别结果正确的数量(记为b1)和识别结果错误的数量(记为b2),根据识别结果正确的数量b1和识别结果错误的数量b2,确定目标基线模型的第一性能指标。例如,第一性能指标为b1/(b1+b2),显然,第一性能指标越大,表示目标基线模型的性能越好。或者,第一性能指标可以为b2/(b1+b2),显然,第一性能指标越大,表示目标基线模型的性能越差。当然,上述只是第二性能指标的示例,对此不做限制。
在得到第一性能指标和第二性能指标后,若第二性能指标为a1/(a1+a2),第一性能指标为b1/(b1+b2),则第一性能指标大于第二性能指标时,说明第一性能指标优于第二性能指标。第一性能指标小于第二性能指标时,说明第二性能指标优于第一性能指标。若第二性能指标为a2/(a1+a2),第一性能指标为b2/(b1+b2),则第一性能指标大于第二性能指标时,说明第二性能指标优于第一性能指标。第一性能指标小于第二性能指标时,说明第一性能指标优于第二性能指标。
由以上技术方案可见,本申请实施例中,可以利用终端设备当前获得的流式数据对初始基线模型进行训练,得到训练后的目标基线模型,目标基线模型能够匹配终端设备所处环境,提升目标基线模型的性能,目标基线模型的智能分析结果的准确度较高。在得到目标基线模型后,通过比较初始基线模型的性能和目标基线模型的性能,决策在终端设备部署初始基线模型还是目标基线模型,保证在终端设备部署的是性能较好的基线模型,避免将性能较差的基线模型部署到终端设备,使得终端设备部署的基线模型不断迭代更新,不断提升基线模型的性能,基线模型的性能更优,基线模型的智能分析结果更准确,目标基线模型的智能分析结果随着时间推移逐步提高。由于流式数据不在终端设备保存,即,不需要将流式数据存储到终端设备的硬盘上,因此,能够节约终端设备的存储资源,节省硬盘资源,提高终端设备的存储寿命,且在不保存流式数据的前提下,仍然可以利用流式数据进行模型训练。
本申请实施例中,是基于流式数据对初始基线模型进行训练,为了说明流式数据训练过程与非流式数据训练过程的区别,先对非流式数据(如样本数据)训练过程进行简单说明。
首先,获取大量样本数据,如1600个样本数据,将1600个样本数据划分到100个数据集合,每个数据集合包括16个样本数据。针对每个数据集合,将该数据集合中的16个样本数据一起输入给初始基线模型,以对初始基线模型进行训练,即通过100个数据集合进行训练,上述训练过程称为第一轮迭代。
然后,将上述1600个样本数据重新划分到100个数据集合,与第一轮迭代过程的100个数据集合不同,即1600个样本数据的组合发生变化。基于重新划分的100个数据集合对初始基线模型进行训练,该训练过程称为第二轮迭代。
以此类推,在进行多轮迭代后,可以完成初始基线模型的训练过程。
与上述方式不同的是,本实施例中,是基于流式数据对初始基线模型进行训练,且流式数据是不会在终端设备保存的数据,由于流式数据不会在终端设备保存,因此,流式数据无法与不同数据进行组合,无法使用同一个流式数据进行多次迭代,即,流式数据只用于对初始基线模型进行一次训练,而不用于重复对初始基线模型进行训练。由于终端设备不会存储流式数据,且只会将流式数据对应的训练数据存储到数据缓存队列(位于内存),因此,不需要额外的存储介质(如硬盘)来存储流式数据以及流式数据对应的训练数据。
由于流式数据的上述特性,在一种可能的实施方式中,通过数据缓存队列中的训练数据对第二子网络模型进行训练,可以采用如下方式实现:
第二子网络模型可以包括至少一个网络层,针对第二子网络模型的每个网络层,可以通过该网络层对输入数据进行处理,得到初始输出数据,并将该初始输出数据划分为至少两个初始子矩阵;然后,对每个初始子矩阵进行归一化处理,得到与该初始子矩阵对应的目标子矩阵,并根据得到的所有目标子矩阵生成网络层的目标输出数据。示例性的,数据缓存队列中的训练数据作为第二子网络模型的第一个网络层的输入数据,每个网络层的目标输出数据作为本网络层的下一个网络层的输入数据;最后一个网络层的目标输出数据用于对第二子网络模型的网络参数进行调整,得到训练后的第二子网络模型。
示例性的,该归一化处理可以包括但不限于:均值处理和/或方差处理。
示例性的,第二子网络模型的最后一个网络层的目标输出数据与第一子网络模型的输出数据,可以进行一致性的损失计算,并用于第二子网络模型的反向传播,即,用于对第二子网络模型的网络参数进行调整。
比如说,第一子网络模型的输出数据是具有参考价值的数据,是第二子网络模型的最后一个网络层的目标输出数据的优化目标,可以基于第二子网络模型的最后一个网络层的目标输出数据与第一子网络模型的输出数据之间的损失值,确定第二子网络模型是否已收敛,当第二子网络模型收敛时,表示初始基线模型已收敛,当第二子网络模型未收敛时,表示初始基线模型未收敛。
综上所述,上述实施例中的损失函数,可以与第二子网络模型的最后一个网络层的目标输出数据和第一子网络模型的输出数据有关,即,将第二子网络模型的最后一个网络层的目标输出数据和第一子网络模型的输出数据代入损失函数,可以得到损失函数的损失值,基于该损失值分析初始基线模型是否收敛。
以下结合具体应用场景,对初始基线模型的训练过程进行说明。
终端设备可以得到多个流式数据,针对每个流式数据,可以将该流式数据输入给初始基线模型的第一子网络模型,第一子网络模型可以对该流式数据进行处理,得到训练数据,并将该训练数据存储到数据缓存队列。
每在数据缓存队列中存储一个训练数据,就判断数据缓存队列中的训练数据数量是否达到预设阈值。如果是,将数据缓存队列中的训练数据输入给第二子网络模型,如果否,继续等待将下一个训练数据存储到数据缓存队列。
将训练数据输入给第二子网络模型的第一个网络层,即训练数据作为第一个网络层的输入数据,第一个网络层对输入数据进行处理,得到初始输出数据。为了降低运算量,提高处理性能,第一个网络层可以对初始输出数据进行归一化处理,得到目标输出数据,将该目标输出数据输入给第二子网络模型的第二个网络层,即第一个网络层的目标输出数据作为第二个网络层的输入数据。第二个网络层对输入数据进行处理,得到初始输出数据,对该初始输出数据进行归一化处理,得到目标输出数据,将该目标输出数据输入给第二子网络模型的第三个网络层,以此类推,一直到将数据输入给第二子网络模型的第M2个网络层,第M2个网络层对输入数据进行处理,得到初始输出数据,对该初始输出数据进行归一化处理,得到目标输出数据,该目标输出数据为目标特征向量。
在得到目标特征向量(即第二子网络模型的最后一个网络层的目标输出数据)后,基于目标特征向量确定初始基线模型是否已收敛。若是,则将已收敛的初始基线模型确定为训练后的目标基线模型。若否,则对未收敛的初始基线模型进行调整(如对初始基线模型的第二子网络模型的各个网络参数进行调整),并利用流式数据对调整后的初始基线模型重新进行训练,在此不再赘述。
在上述实施例中,针对第二子网络模型的每个网络层来说,该网络层对输入数据进行处理,得到初始输出数据,并对初始输出数据进行归一化处理,得到归一化后的目标输出数据。例如,可以对初始输出数据进行均值处理,得到目标输出数据,或者,对初始输出数据进行方差处理,得到目标输出数据,或者,对初始输出数据进行均值处理和方差处理,得到目标输出数据。
示例性的,初始输出数据可以是尺寸为P*Q的矩阵,P和Q均可以为大于1的正整数,对P和Q的取值不做限制,P和Q可以相同,也可以不同。参见图2A所示,以P和Q均为8为例,即初始输出数据包括64个数值。
可以将初始输出数据划分为至少两个初始子矩阵,不同初始子矩阵的尺寸可以相同,也可以不同。例如,将初始输出数据划分为初始子矩阵1,初始子矩阵2和初始子矩阵3,初始子矩阵1的尺寸与初始子矩阵2的尺寸不同,初始子矩阵1的尺寸与初始子矩阵3的尺寸相同。比如说,每个初始子矩阵的尺寸为p*q,p可以为大于或等于1的正整数,q可以为大于或等于1的正整数。
参见图2B所示,可以将P*Q的初始输出数据划分为4个初始子矩阵,每个初始子矩阵的尺寸为4*4,将这4个初始子矩阵分别记为初始子矩阵1-初始子矩阵4。当然,还可以将初始输出数据划分为更多的初始子矩阵。
然后,对初始子矩阵1进行归一化处理,比如说,基于S11-S14、S21-S24、S31-S34、S41-S44进行归一化处理,得到与初始子矩阵1对应的目标子矩阵1,目标子矩阵1包括S11’-S14’、S21’-S24’、S31’-S34’、S41’-S44’,参见图2C所示。同理,可以对初始子矩阵2进行归一化处理,得到目标子矩阵2,可以对初始子矩阵3进行归一化处理,得到目标子矩阵3,可以对初始子矩阵4进行归一化处理,得到目标子矩阵4。然后,将目标子矩阵1,目标子矩阵2,目标子矩阵3和目标子矩阵4组合起来,得到网络层的目标输出数据。
示例性的,针对流式数据来说,若该流式数据发生异常,通常是某个像素位置/像素区域的像素值发生异常,比如说,某个像素位置的像素值应该是10,但这个像素位置的像素值发生异常,变为255,基于此,通过将初始输出数据划分为多个初始子矩阵,使得异常像素值的影响范围只在某个初始子矩阵,而不会影响到其它初始子矩阵,从而减弱异常像素值对训练结果的影响范围,不会导致训练出的目标基线模型的偏差很大,能够提高目标基线模型的性能。
在一种可能的实施方式中,初始基线模型还可以包括第三子网络模型,第三子网络模型位于第一子网络模型与第二子网络模型之间,第三子网络模型是用于对训练数据评分的网络模型。基于此,可以将训练数据输入给第三子网络模型,通过第三子网络模型确定训练数据的分数值,该分数值越高,该训练数据的训练效果越好。若训练数据的分数值大于或者等于预设的分数阈值,则通过该训练数据对初始基线模型进行训练,得到训练后的目标基线模型。比如说,若训练数据的分数值大于或者等于预设的分数阈值,则将训练数据存储到数据缓存队列,在数据缓存队列中的训练数据数量达到预设阈值时,将数据缓存队列中的训练数据输入给第二子网络模型,以对第二子网络模型进行训练,得到训练后的第二子网络模型,基于训练后的第二子网络模型获取目标基线模型,该目标基线模型至少包括训练后的第二子网络模型。
以下结合具体应用场景,对上述过程进行说明。初始基线模型包括第一子网络模型,第二子网络模型和第三子网络模型,第三子网络模型包括M3个网络层,第三子网络模型是不需要进行增量训练的网络模型,即不需要对第三子网络模型的各神经网络参数进行调整,或者,第三子网络模型是需要进行增量训练的网络模型,即需要对第三子网络模型的各神经网络参数进行调整。
终端设备在得到流式数据后,可以将该流式数据输入给初始基线模型的第一子网络模型,第一子网络模型可以对该流式数据进行处理,得到与该流式数据对应的训练数据,并将该训练数据输入给初始基线模型的第三子网络模型。
由于第三子网络模型是用于对训练数据评分的网络模型,因此,第三子网络模型得到该训练数据后,可以确定该训练数据的分数值,若该训练数据的分数值大于或者等于预设的分数阈值,则将该训练数据存储到数据缓存队列。若该训练数据的分数值小于预设的分数阈值,则禁止将该训练数据存储到数据缓存队列,即该训练数据不参与后续的训练过程,丢弃该训练数据。
在数据缓存队列中的训练数据数量达到预设阈值时,将数据缓存队列中的训练数据输入给第二子网络模型,由第二子网络模型对训练数据进行处理,得到目标特征向量,基于目标特征向量确定初始基线模型是否已收敛。若是,则将已收敛的初始基线模型确定为训练后的目标基线模型。若否,则对初始基线模型进行调整,利用流式数据对调整后的初始基线模型重新进行训练。
在上述实施例中,对初始基线模型进行调整时,可以包括但不限于:
需要对第二子网络模型内各网络参数进行调整,得到调整后的第二子网络模型,且调整后的初始基线模型包括调整后的第二子网络模型。
若第一子网络模型不需要进行增量训练,则调整后的初始基线模型可以包括未调整的第一子网络模型。或者,若第一子网络模型需要进行增量训练,则需要对第一子网络模型内各网络参数进行调整,得到调整后的第一子网络模型,且调整后的初始基线模型可以包括调整后的第一子网络模型。
若第三子网络模型不需要进行增量训练,则调整后的初始基线模型可以包括未调整的第三子网络模型。或者,若第三子网络模型需要进行增量训练,则需要对第三子网络模型内各网络参数进行调整,得到调整后的第三子网络模型,且调整后的初始基线模型可以包括调整后的第三子网络模型。
在上述实施例中,第三子网络模型确定训练数据的分数值,可以包括但不限于:确定训练数据的作用分数Sd,基于作用分数Sd确定训练数据的分数值,比如说,作用分数Sd越高,该分数值越高,且训练数据的训练效果越好,作用分数Sd越低,该分数值越低,且训练数据的训练效果越差。或者,确定训练数据的重复分数Sf,基于重复分数Sf确定训练数据的分数值,比如说,重复分数Sf越高,该分数值越低,重复分数Sf越低,该分数值越高。或者,确定训练数据的作用分数Sd和重复分数Sf,基于作用分数Sd和重复分数Sf确定训练数据的分数值,该分数值与作用分数Sd可以成正比,该分数值与重复分数Sf可以成反比,比如说,可以通过如下公式确定分数值S:S=Sd*(1-Sf)。
当然,上述只是几个示例,对此分数值的确定方式不做限制。
重复分数Sf的取值范围可以是0-1之间,作用分数Sd的取值范围可以是0-1之间,分数值S的取值范围可以是0-1之间,分数阈值的取值范围可以是0-1之间,如分数阈值可以是0.8、0.85等。当然,上述只是示例,对此不做限制。
示例性的,第三子网络模型在得到训练数据A1后,判断数据缓存队列中是否存在训练数据。若不存在训练数据,则训练数据A1的重复分数Sf为预设数值,该预设数值可以根据经验配置,可以为较低的数值(如0),表示训练数据A1与已有训练数据不重复,应该将训练数据A1添加到数据缓存队列。
若存在训练数据A2,则比较训练数据A1与训练数据A2的相似度,基于该相似度确定训练数据A1的重复分数Sf。例如,预先配置相似度与重复分数Sf的映射关系,基于该映射关系,就可以确定训练数据A1的重复分数Sf。
在预先配置相似度与重复分数Sf的映射关系时,重复分数Sf与相似度可以成正比,即,相似度越大,重复分数Sf越高,相似度越小,重复分数Sf越低。比如说,相似度与重复分数Sf可以相同,例如,相似度为95%时,重复分数Sf为0.95,相似度为90%时,重复分数Sf为0.90,当然,相似度与重复分数Sf也可以不同,对此不做限制,只要重复分数Sf与相似度成正比即可。
综上所述,当训练数据A1与训练数据A2的相似度越大,训练数据A1的重复分数Sf越高,表示训练数据A1与数据缓存队列中的已有训练数据重复。当训练数据A1与训练数据A2的相似度越小,训练数据A1的重复分数Sf越低,表示训练数据A1与数据缓存队列中的已有训练数据不重复。
示例性的,在数据缓存队列中存在至少两个训练数据时,上述训练数据A2是指:数据缓存队列中与训练数据A1的相似度最大的训练数据。
综上所述,第三子网络模型可以得到训练数据的重复分数Sf。
示例性的,第三子网络模型在得到训练数据A1后,该训练数据A1可以包括与流式数据对应的数据特征,及数据特征对应的标签信息,基于该数据特征,第三子网络模型可以分析出训练数据A1的作用分数Sd。例如,若该数据特征表示数据稳定性越好,则训练数据A1的作用分数Sd越低,若该数据特征表示数据稳定性越差,则训练数据A1的作用分数Sd越高。关于如何基于数据特征分析出数据稳定性,本实施例中对此不做限制,以下结合一个具体例子进行说明。当然,这里只是给出一个示例,还可以采用其它方式分析数据稳定性。
在人脸检测的应用场景中,该数据特征包括多个初始矩形框的位置信息(如初始矩形框的左上角坐标,初始矩形框的宽度和高度等),这些初始矩形框表示人脸位置。可以利用这些初始矩形框的位置信息确定目标矩形框的位置信息(如目标矩形框的左上角坐标,目标矩形框的宽度和高度等)。比如说,利用所有初始矩形框的左上角坐标确定目标矩形框的左上角坐标,如所有初始矩形框的左上角坐标的均值。利用所有初始矩形框的宽度确定目标矩形框的宽度,如所有初始矩形框的宽度的均值。利用所有初始矩形框的高度确定目标矩形框的高度,如所有初始矩形框的高度的均值。当然,上述方式只是一个示例。
在得到初始矩形框的位置信息和目标矩形框的位置信息后,可以确定初始矩形框与目标矩形框的偏移值,当该偏移值越大时,表示初始矩形框的稳定性越差,即初始矩形框是人脸的可能性很低,此时数据稳定性较差。当该偏移值越小时,表示初始矩形框的稳定性越好,此时数据稳定性较好。
综上所述,可以确定出训练数据的作用分数Sd和训练数据的重复分数Sf,并基于训练数据的作用分数Sd和/或训练数据的重复分数Sf,确定训练数据的分数值,基于训练数据的分数值决策是否将该训练数据存储到数据缓存队列。
参见图3所示,为基于流式数据进行训练的系统示意图,可以包括实时分析模块,数据评分模块,特征缓存模块,小批次训练模块,模型测试模块,模型部署模块,以下结合这几个功能模块,对上述数据处理方法进行说明。
实时分析模块:实现人工智能分析,如目标检测、属性分类、车牌识别等。比如说,在将初始基线模型或者目标基线模型部署到终端设备后,可以将应用数据输入给初始基线模型或者目标基线模型,从而实现人工智能分析。
数据评分模块:可以将训练数据输入给数据评分模块,由数据评分模块确定训练数据的分数值。比如说,确定训练数据的作用分数Sd,并确定训练数据的重复分数Sf,基于作用分数Sd和重复分数Sf确定训练数据的分数值。
特征缓存模块:将分数值大于或等于分数阈值的训练数据存储到数据缓存队列,在每次存储时,将训练数据存储到数据缓存队列的尾部。数据缓存队列的长度可根据硬件资源配置,可以为2的倍数,比如2,4,8,16,32,64等,对此不做限制。假设数据缓存队列的长度为N,则数据缓存队列的更新状态为N,每次向数据缓存队列存储一个训练数据,就将该更新状态减1,当数据缓存队列的更新状态变为0时,向小批次训练模块发送训练信号。在接收到小批次训练模块返回的拷贝成功信号后,将数据缓存队列的更新状态更新为N。
小批次训练模块:在接收到训练信号后,拷贝数据缓存队列中的所有训练数据,并向特征缓存模块发送拷贝成功信号。小批次训练模块通过训练数据对初始基线模型进行训练,得到目标基线模型,对此训练过程不再赘述。
模型测试模块:在得到目标基线模型后,比较目标基线模型的性能与初始基线模型的性能的关系。在性能比较完成后,向模型部署模块发送部署信号。
模型部署模块:在接收到部署信号后,基于性能比较结果,若目标基线模型的性能优于初始基线模型的性能,则在终端设备部署目标基线模型。若初始基线模型的性能优于目标基线模型的性能,则在终端设备部署初始基线模型。
基于与上述方法同样的申请构思,本申请实施例中还提出一种数据处理装置,如图4所示,为所述数据处理装置的结构图,所述装置包括:
获取模块41,用于获取初始基线模型;处理模块42,用于通过所述初始基线模型对所述终端设备当前获得的流式数据进行处理,得到与所述流式数据对应的训练数据;其中,所述训练数据包括与所述流式数据对应的数据特征,及所述数据特征对应的标签信息;训练模块43,用于通过所述训练数据对初始基线模型进行训练,得到训练后的目标基线模型;部署模块44,用于在终端设备部署所述初始基线模型或所述目标基线模型,以通过所述初始基线模型或所述目标基线模型对终端设备的应用数据进行处理。
所述初始基线模型包括第一子网络模型,所述第一子网络模型是用于生成标签信息的网络模型;所述处理模块42具体用于:将终端设备当前获得的流式数据输入给所述第一子网络模型,通过所述第一子网络模型对所述流式数据进行处理,得到与所述流式数据对应的数据特征;通过所述第一子网络模型生成所述数据特征对应的标签信息;基于所述数据特征和所述标签信息生成所述训练数据。
所述初始基线模型包括第二子网络模型,所述第二子网络模型是需要进行增量训练的网络模型;所述训练模块43具体用于:将所述训练数据存储到数据缓存队列;在数据缓存队列中的训练数据数量达到预设阈值时,将数据缓存队列中的训练数据输入给所述第二子网络模型,通过所述数据缓存队列中的训练数据对所述第二子网络模型进行训练,得到训练后的第二子网络模型;基于训练后的第二子网络模型获取所述目标基线模型,所述目标基线模型包括训练后的第二子网络模型。
所述初始基线模型包括第一子网络模型,所述训练模块43基于训练后的第二子网络模型获取所述目标基线模型时具体用于:将所述第一子网络模型和所述训练后的第二子网络模型组合在一起,得到所述目标基线模型;或者,
通过所述数据缓存队列中的训练数据对所述第一子网络模型进行训练,得到训练后的第一子网络模型;将所述训练后的第一子网络模型和所述训练后的第二子网络模型组合在一起,得到所述目标基线模型。
所述第二子网络模型包括至少一个网络层,所述训练模块43通过所述数据缓存队列中的训练数据对所述第二子网络模型进行训练,得到训练后的第二子网络模型时具体用于:针对所述第二子网络模型的每个网络层,通过所述网络层对输入数据进行处理,得到初始输出数据,并将所述初始输出数据划分为至少两个初始子矩阵;对每个初始子矩阵进行归一化处理,得到与所述初始子矩阵对应的目标子矩阵,并根据得到的所有目标子矩阵生成所述网络层的目标输出数据;其中,所述数据缓存队列中的训练数据作为所述第二子网络模型的第一个网络层的输入数据,每个网络层的目标输出数据作为本网络层的下一个网络层的输入数据;最后一个网络层的目标输出数据用于对所述第二子网络模型的网络参数进行调整,得到训练后的第二子网络模型。
示例性的,所述归一化处理包括均值处理和/或方差处理。
所述初始基线模型包括第三子网络模型,所述第三子网络模型是用于对训练数据评分的网络模型;所述训练模块43具体用于:
将所述训练数据输入给第三子网络模型,通过所述第三子网络模型确定所述训练数据的分数值;其中,所述分数值越高,所述训练数据的训练效果越好;
若所述训练数据的分数值大于或者等于预设的分数阈值,则通过所述训练数据对初始基线模型进行训练,得到训练后的目标基线模型。
所述部署模块44还用于:比较所述目标基线模型的第一性能指标与所述初始基线模型的第二性能指标;若所述第一性能指标优于所述第二性能指标,则在终端设备部署所述目标基线模型,以通过所述目标基线模型对应用数据进行处理;若所述第二性能指标优于所述第一性能指标,则在终端设备部署所述初始基线模型,以通过所述初始基线模型对应用数据进行处理。
基于与上述方法同样的申请构思,本申请实施例中还提出一种终端设备,从硬件层面而言,终端设备的硬件架构示意图参见图5所示,包括:处理器51和机器可读存储介质52,机器可读存储介质52存储有能够被处理器51执行的机器可执行指令;处理器51用于执行机器可执行指令,以实现本申请上述示例公开的方法。例如,处理器51用于执行机器可执行指令,以实现如下步骤:
获取初始基线模型;通过所述初始基线模型对所述终端设备当前获得的流式数据进行处理,得到与所述流式数据对应的训练数据;其中,所述训练数据包括与所述流式数据对应的数据特征,及所述数据特征对应的标签信息;通过所述训练数据对初始基线模型进行训练,得到训练后的目标基线模型;在所述终端设备部署所述初始基线模型或所述目标基线模型,以通过所述初始基线模型或所述目标基线模型对所述终端设备的应用数据进行处理。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,其中,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被CPU执行时,能够实现本申请上述示例公开的方法。
示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,应用于终端设备,所述方法包括:
获取初始基线模型;
通过所述初始基线模型对所述终端设备当前获得的流式数据进行处理,得到与所述流式数据对应的训练数据;其中,所述训练数据包括与所述流式数据对应的数据特征,及所述数据特征对应的标签信息;
通过所述训练数据对初始基线模型进行训练,得到训练后的目标基线模型;
在所述终端设备部署所述初始基线模型或所述目标基线模型,以通过所述初始基线模型或所述目标基线模型对所述终端设备的应用数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述初始基线模型包括第一子网络模型,所述第一子网络模型是用于生成标签信息的网络模型;
所述通过所述初始基线模型对所述终端设备当前获得的流式数据进行处理,得到与所述流式数据对应的训练数据,包括:
将所述流式数据输入给所述第一子网络模型,通过所述第一子网络模型对所述流式数据进行处理,得到与所述流式数据对应的数据特征;
通过所述第一子网络模型生成所述数据特征对应的标签信息;
基于所述数据特征和所述标签信息生成所述训练数据。
3.根据权利要求1所述的方法,其特征在于,所述初始基线模型包括第二子网络模型,所述第二子网络模型是需要进行增量训练的网络模型;所述通过所述训练数据对初始基线模型进行训练,得到训练后的目标基线模型,包括:
将所述训练数据存储到数据缓存队列;
在数据缓存队列中的训练数据数量达到预设阈值时,将数据缓存队列中的训练数据输入给所述第二子网络模型,通过所述数据缓存队列中的训练数据对所述第二子网络模型进行训练,得到训练后的第二子网络模型;
基于训练后的第二子网络模型获取所述目标基线模型;其中,所述目标基线模型包括所述训练后的第二子网络模型。
4.根据权利要求3所述的方法,其特征在于,所述初始基线模型包括第一子网络模型,所述基于训练后的第二子网络模型获取所述目标基线模型,包括:
将所述第一子网络模型和所述训练后的第二子网络模型组合在一起,得到所述目标基线模型;或者,
通过所述数据缓存队列中的训练数据对所述第一子网络模型进行训练,得到训练后的第一子网络模型;将所述训练后的第一子网络模型和所述训练后的第二子网络模型组合在一起,得到所述目标基线模型。
5.根据权利要求3所述的方法,其特征在于,所述第二子网络模型包括至少一个网络层,所述通过所述数据缓存队列中的训练数据对所述第二子网络模型进行训练,得到训练后的第二子网络模型,包括:
针对所述第二子网络模型的每个网络层,通过所述网络层对输入数据进行处理,得到初始输出数据,并将所述初始输出数据划分为至少两个初始子矩阵;对每个初始子矩阵进行归一化处理,得到与所述初始子矩阵对应的目标子矩阵,并根据得到的所有目标子矩阵生成所述网络层的目标输出数据;
其中,所述数据缓存队列中的训练数据作为所述第二子网络模型的第一个网络层的输入数据,每个网络层的目标输出数据作为本网络层的下一个网络层的输入数据;最后一个网络层的目标输出数据用于对所述第二子网络模型的网络参数进行调整,得到训练后的第二子网络模型。
6.根据权利要求1所述的方法,其特征在于,所述初始基线模型包括第三子网络模型,所述第三子网络模型是用于对训练数据评分的网络模型;所述通过所述训练数据对初始基线模型进行训练,得到训练后的目标基线模型,包括:
将所述训练数据输入给第三子网络模型,通过所述第三子网络模型确定所述训练数据的分数值;其中,所述分数值越高,所述训练数据的训练效果越好;
若所述训练数据的分数值大于或者等于预设的分数阈值,则通过所述训练数据对初始基线模型进行训练,得到训练后的目标基线模型。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述在所述终端设备部署所述初始基线模型或所述目标基线模型,以通过所述初始基线模型或所述目标基线模型对所述终端设备的应用数据进行处理,包括:
比较所述目标基线模型的第一性能指标与所述初始基线模型的第二性能指标;
若所述第一性能指标优于所述第二性能指标,则在终端设备部署所述目标基线模型,以通过所述目标基线模型对应用数据进行处理;
若所述第二性能指标优于所述第一性能指标,则在终端设备部署所述初始基线模型,以通过所述初始基线模型对应用数据进行处理。
8.根据权利要求7所述的方法,其特征在于,所述比较所述目标基线模型的第一性能指标与所述初始基线模型的第二性能指标之前,还包括:
获取测试数据集合,所述测试数据集合包括多个测试数据;
通过所述目标基线模型对所述多个测试数据进行处理,得到每个测试数据的目标预测类别,并基于所述多个测试数据的目标预测类别和所述多个测试数据的实际类别,确定所述目标基线模型的第一性能指标;
通过所述初始基线模型对所述多个测试数据进行处理,得到每个测试数据的初始预测类别,并基于所述多个测试数据的初始预测类别和所述多个测试数据的实际类别,确定所述初始基线模型的第二性能指标。
9.一种数据处理装置,其特征在于,应用于终端设备,所述装置包括:
获取模块,用于获取初始基线模型;
处理模块,用于通过所述初始基线模型对所述终端设备当前获得的流式数据进行处理,得到与所述流式数据对应的训练数据;其中,所述训练数据包括与所述流式数据对应的数据特征,及所述数据特征对应的标签信息;
训练模块,用于通过所述训练数据对初始基线模型进行训练,得到训练后的目标基线模型;
部署模块,用于在终端设备部署所述初始基线模型或所述目标基线模型,以通过所述初始基线模型或所述目标基线模型对终端设备的应用数据进行处理。
10.一种终端设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下的步骤:
获取初始基线模型;
通过所述初始基线模型对所述终端设备当前获得的流式数据进行处理,得到与所述流式数据对应的训练数据;其中,所述训练数据包括与所述流式数据对应的数据特征,及所述数据特征对应的标签信息;
通过所述训练数据对初始基线模型进行训练,得到训练后的目标基线模型;
在所述终端设备部署所述初始基线模型或所述目标基线模型,以通过所述初始基线模型或所述目标基线模型对所述终端设备的应用数据进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010611544.7A CN111783997B (zh) | 2020-06-29 | 2020-06-29 | 一种数据处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010611544.7A CN111783997B (zh) | 2020-06-29 | 2020-06-29 | 一种数据处理方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111783997A true CN111783997A (zh) | 2020-10-16 |
CN111783997B CN111783997B (zh) | 2024-04-23 |
Family
ID=72761428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010611544.7A Active CN111783997B (zh) | 2020-06-29 | 2020-06-29 | 一种数据处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111783997B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110268339A (zh) * | 2017-02-01 | 2019-09-20 | 霍尼韦尔国际公司 | 用于以模型为中心的数据存储的设备、系统和方法 |
CN112686300A (zh) * | 2020-12-29 | 2021-04-20 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置及设备 |
CN113259331A (zh) * | 2021-04-29 | 2021-08-13 | 上海电力大学 | 一种基于增量学习的未知异常流量在线检测方法及系统 |
CN113849314A (zh) * | 2021-09-30 | 2021-12-28 | 支付宝(杭州)信息技术有限公司 | 一种数据处理模型部署方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150112710A1 (en) * | 2012-06-21 | 2015-04-23 | Battelle Memorial Institute | Clinical predictive analytics system |
US20160217367A1 (en) * | 2015-01-27 | 2016-07-28 | Google Inc. | Sub-matrix input for neural network layers |
WO2017186830A1 (fr) * | 2016-04-27 | 2017-11-02 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Dispositif et procede de distribution de donnees de convolution d'un reseau de neurones convolutionnel |
CN108717552A (zh) * | 2018-05-17 | 2018-10-30 | 南京大学 | 基于新标签发现和标签增量学习的动态多标签分类方法 |
US20190164096A1 (en) * | 2017-11-30 | 2019-05-30 | Microsoft Technology Licensing, Llc | Predicting feature values in a matrix |
CN109995924A (zh) * | 2017-12-30 | 2019-07-09 | 中国移动通信集团贵州有限公司 | 欺诈电话识别方法、装置、设备及介质 |
CN110705646A (zh) * | 2019-10-09 | 2020-01-17 | 南京大学 | 一种基于模型动态更新的移动设备流式数据识别方法 |
WO2020042658A1 (zh) * | 2018-08-31 | 2020-03-05 | 华为技术有限公司 | 数据处理方法、装置、设备和系统 |
CN111126621A (zh) * | 2019-12-17 | 2020-05-08 | 北京九章云极科技有限公司 | 在线模型训练方法及装置 |
CN111160380A (zh) * | 2018-11-07 | 2020-05-15 | 华为技术有限公司 | 生成视频分析模型的方法及视频分析系统 |
US20200192631A1 (en) * | 2018-12-13 | 2020-06-18 | Advanced Micro Devices, Inc. | Fused convolution and batch normalization for neural networks |
-
2020
- 2020-06-29 CN CN202010611544.7A patent/CN111783997B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150112710A1 (en) * | 2012-06-21 | 2015-04-23 | Battelle Memorial Institute | Clinical predictive analytics system |
US20160217367A1 (en) * | 2015-01-27 | 2016-07-28 | Google Inc. | Sub-matrix input for neural network layers |
WO2017186830A1 (fr) * | 2016-04-27 | 2017-11-02 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Dispositif et procede de distribution de donnees de convolution d'un reseau de neurones convolutionnel |
US20190164096A1 (en) * | 2017-11-30 | 2019-05-30 | Microsoft Technology Licensing, Llc | Predicting feature values in a matrix |
CN109995924A (zh) * | 2017-12-30 | 2019-07-09 | 中国移动通信集团贵州有限公司 | 欺诈电话识别方法、装置、设备及介质 |
CN108717552A (zh) * | 2018-05-17 | 2018-10-30 | 南京大学 | 基于新标签发现和标签增量学习的动态多标签分类方法 |
WO2020042658A1 (zh) * | 2018-08-31 | 2020-03-05 | 华为技术有限公司 | 数据处理方法、装置、设备和系统 |
CN111160380A (zh) * | 2018-11-07 | 2020-05-15 | 华为技术有限公司 | 生成视频分析模型的方法及视频分析系统 |
US20200192631A1 (en) * | 2018-12-13 | 2020-06-18 | Advanced Micro Devices, Inc. | Fused convolution and batch normalization for neural networks |
CN110705646A (zh) * | 2019-10-09 | 2020-01-17 | 南京大学 | 一种基于模型动态更新的移动设备流式数据识别方法 |
CN111126621A (zh) * | 2019-12-17 | 2020-05-08 | 北京九章云极科技有限公司 | 在线模型训练方法及装置 |
Non-Patent Citations (3)
Title |
---|
MORTEZA MARDANI 等: "Subspace Learning and Imputation for Streaming Big Data Matrices and Tensors", 《IEEE TRANSACTIONS ON SIGNAL PROCESSING》, 31 December 2015 (2015-12-31) * |
吴春毅: "云计算下针对大数据的大规模任务处理关键问题研究", 《中国博士学位论文全文数据库 信息科技辑》, 15 November 2019 (2019-11-15) * |
周胜 等: "基于迁移学习的数据流分类研究综述", 《天津理工大学学报》, vol. 35, no. 3 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110268339A (zh) * | 2017-02-01 | 2019-09-20 | 霍尼韦尔国际公司 | 用于以模型为中心的数据存储的设备、系统和方法 |
CN110268339B (zh) * | 2017-02-01 | 2022-07-12 | 霍尼韦尔国际公司 | 用于以模型为中心的数据存储的设备、系统和方法 |
CN112686300A (zh) * | 2020-12-29 | 2021-04-20 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置及设备 |
CN112686300B (zh) * | 2020-12-29 | 2023-09-26 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置及设备 |
CN113259331A (zh) * | 2021-04-29 | 2021-08-13 | 上海电力大学 | 一种基于增量学习的未知异常流量在线检测方法及系统 |
CN113849314A (zh) * | 2021-09-30 | 2021-12-28 | 支付宝(杭州)信息技术有限公司 | 一种数据处理模型部署方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111783997B (zh) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241903B (zh) | 样本数据清洗方法、装置、计算机设备及存储介质 | |
CN111783997B (zh) | 一种数据处理方法、装置及设备 | |
CN111291841B (zh) | 图像识别模型训练方法、装置、计算机设备和存储介质 | |
CN110633745B (zh) | 一种基于人工智能的图像分类训练方法、装置及存储介质 | |
KR20200022739A (ko) | 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치 | |
CN113239874B (zh) | 基于视频图像的行为姿态检测方法、装置、设备及介质 | |
CN113272827A (zh) | 卷积神经网络中分类决策的验证 | |
JP2007128195A (ja) | 画像処理システム | |
EP4322056A1 (en) | Model training method and apparatus | |
CN111414946B (zh) | 基于人工智能的医疗影像的噪声数据识别方法和相关装置 | |
CN111783996B (zh) | 一种数据处理方法、装置及设备 | |
KR102370910B1 (ko) | 딥러닝 기반 소수 샷 이미지 분류 장치 및 방법 | |
CN110809768B (zh) | 数据清洗系统和方法 | |
CN110648289A (zh) | 图像的加噪处理方法及装置 | |
CN109978058B (zh) | 确定图像分类的方法、装置、终端及存储介质 | |
CN110490058B (zh) | 行人检测模型的训练方法、装置、系统和计算机可读介质 | |
EP4174769A1 (en) | Method and apparatus for marking object outline in target image, and storage medium and electronic apparatus | |
CN114241360A (zh) | 一种基于自适应推理的视频识别方法和装置 | |
EP3862926A1 (en) | Method of identifying filters in a neural network, system and storage medium of the same | |
CN116128044A (zh) | 一种模型剪枝方法、图像处理方法及相关装置 | |
CN113762520A (zh) | 一种数据处理方法、装置及设备 | |
CN113590720A (zh) | 数据分类方法、装置、计算机设备和存储介质 | |
CN112686300A (zh) | 一种数据处理方法、装置及设备 | |
CN112529078A (zh) | 一种业务处理方法、装置及设备 | |
US11609936B2 (en) | Graph data processing method, device, and computer program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |