CN114970654B - 数据处理方法、装置和终端 - Google Patents
数据处理方法、装置和终端 Download PDFInfo
- Publication number
- CN114970654B CN114970654B CN202110558861.1A CN202110558861A CN114970654B CN 114970654 B CN114970654 B CN 114970654B CN 202110558861 A CN202110558861 A CN 202110558861A CN 114970654 B CN114970654 B CN 114970654B
- Authority
- CN
- China
- Prior art keywords
- neural network
- network
- data
- scene
- super
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/285—Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种数据处理方法、装置和终端,涉及人工智能领域。该方法包括:终端获取到待处理的应用数据和场景感知数据后,依据影响处理应用数据的场景感知数据和预设条件选取适于处理应用数据的第一神经网络,利用第一神经网络得到应用数据的处理结果。由此来确保数据处理的速度和精度的场景需求,提升用户体验。场景感知数据用于指示终端处理应用数据的影响因素。预设条件用于指示影响神经网络运行的场景数据与神经网络的对应关系。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种数据处理方法、装置和终端。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。人工智能领域的研究包括机器学习(Machine Learning,ML),自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。其中,神经网络为一种机器学习的方法。
目前,终端(如:智能手机、自动驾驶汽车等)可以利用配置的神经网络对获取到的数据(如:图像、语音等)进行处理实现人脸识别、语音识别等应用功能。但是,终端通常基于一种神经网络处理不同场景下获取的数据,由于不同场景下的数据具有不同的特征,采样一种神经网络处理不同场景数据,无法确保数据处理的速度和精度的场景需求。因此,如何提供一种确保数据处理的速度和精度的场景需求的数据处理方法成为亟待解决的问题。
发明内容
本申请提供了数据处理方法、装置和终端,由此来确保数据处理的速度和精度的场景需求。
第一方面,本申请提供了一种数据处理方法,该方法可以由终端执行,具体包括如下步骤:终端获取到待处理的应用数据和场景感知数据后,根据场景感知数据和预设条件确定处理应用数据的第一神经网络,利用第一神经网络得到应用数据的处理结果。场景感知数据用于指示终端处理应用数据的影响因素。预设条件用于指示影响神经网络运行的场景数据与神经网络的对应关系。
如此,由于终端在选取处理应用数据的第一神经网络时考虑了影响处理应用数据的场景感知数据,依据场景感知数据和预设条件选取适于处理应用数据的第一神经网络,由此来确保数据处理的速度和精度的场景需求,提升用户体验。
其中,应用数据包括图像、语音和文字中至少一种形式的数据。终端可以通过传感器获取应用数据。传感器包括摄像头、音频传感器和激光雷达中至少一种。
可理解的,场景感知数据用于指示终端处理应用数据时影响速度和精度的因素。其中,场景感知数据包括外部影响因素和内部影响因素中的至少一个;外部影响因素用于描述终端获取应用数据的应用场景特征,内部影响因素用于描述终端运行应用数据的硬件资源的运行场景特征。示例地,外部影响因素包含温度数据、湿度数据、光照数据和时间数据中至少一种。示例地,内部影响因素包含处理器的计算能力、可用存储容量和可用剩余电量中至少一种。
由于终端是根据场景感知数据和预设条件选取适于处理应用数据的第一神经网络,则在确保速度需求的前提下,第一神经网络是满足精度需求的规模较大的网络;或者,在确保精度需求的前提下,第一神经网络是满足速度需求的规模较小网络。从而平衡了处理应用数据时的精度和速度,提升用户体验。
在一种可能的实现方式中,根据场景感知数据和预设条件确定处理应用数据的第一神经网络,包括:终端确定预设条件中包括场景感知数据的场景数据对应的第一神经网络的参数,根据第一神经网络的参数从超网络中确定第一神经网络。其中,第一神经网络的参数包括通道的数量和网络层的数量。超网络用于确定场景数据对应的第一神经网络。第一神经网络为超网络中的子网络。子网络包含的网络层的数量小于超网络包括的网络层的数量,或者,子网络包含的通道的数量小于超网络包括的通道的数量,每层网络层包括至少一个神经元。
在另一种可能的实现方式中,终端存储超网络和超网络包含的至少一个子网络的参数;则根据第一神经网络的参数从超网络中确定第一神经网络包括:根据第一神经网络的参数从超网络的权重中确定第一神经网络的权重。由于子网络共享了超网络的参数,相对于终端存储多个子网络,有效地降低了终端的存储空间。
在另一种可能的实现方式中,根据场景感知数据和预设条件确定处理应用数据的第一神经网络之后,方法还包括:终端从超网络中确定第二神经网络,利用第二神经网络得到应用数据的处理结果。第二神经网络为超网络中的子网络,第二神经网络包含的网络层的数量大于或小于第一神经网络包括的网络层的数量,或者,第二神经网络包含的通道的数量大于或小于第一神经网络包括的通道的数量。如果第一神经网络的处理结果不满足用户的速度需求和精度需求,终端还可以调整神经网络,使得终端利用第二神经网络得到应用数据的处理结果满足用户的速度需求和精度需求。
在另一种可能的实现方式中,方法还包括:若第一神经网络的速度和精度不满足用户需求,调整第一神经网络对应的场景数据,使得终端利用第一神经网络再次处理应用数据得到的处理结果满足用户的速度需求和精度需求。
可选地,方法还包括:终端还显示影响第一神经网络的速度和精度的场景数据与第一神经网络的对应关系,以及处理结果。使用户可以直观地看到处理结果,以便于用户判断运行时长是否满足用户的速度需求,以及判断处理结果的精度是否满足用户的精度需求。
第二方面,本申请提供了一种数据处理装置,所述装置包括用于执行第一方面或第一方面任一种可能设计中的数据处理方法的各个模块。
第三方面,本申请提供一种终端,该终端包括至少一个处理器和存储器,存储器用于存储一组计算机指令;当处理器作为第一方面或第一方面任一种可能实现方式中的执行设备执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的数据处理方法的操作步骤。
第四方面,本申请提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在终端中运行时,使得终端执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
第五方面,本申请提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得终端执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请提供的一种神经网络的结构示意图;
图2为本申请提供的一种卷积神经网络的结构示意图;
图3为本申请提供的一种数据处理***的架构示意图;
图4为本申请提供的一种生成预设条件方法的流程图;
图5为本申请提供的一种超网络和子网络的结构示意图;
图6为本申请提供的一种帕累托边界的示意图;
图7为本申请提供的一种数据处理方法的流程图;
图8为本申请提供的另一种数据处理方法的流程图;
图9为本申请提供的另一种数据处理方法的流程图;
图10为本申请提供的一种调整场景数据的界面示意图;
图11为本申请提供的一种***的结构示意图;
图12为本申请提供的一种数据处理装置的结构示意图;
图13为本申请提供的一种终端的结构示意图。
具体实施方式
为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)神经网络
神经网络可以是由神经元组成的,神经元可以是指以xs和截距1为输入的运算单元。该运算单元的输出满足如下公式(1)。
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经元的偏置。f为神经元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经元联结在一起形成的网络,即一个神经元的输出可以是另一个神经元的输入。每个神经元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经元组成的区域。权重表征不同神经元之间连接的强度。权重决定着输入对输出的影响力。权重近于0意味着改变输入不改变输出。负权重意味着增加输入降低输出。
如图1所示,为本申请实施例提供的一种神经网络的结构示意图。神经网络100包括N个处理层,N为大于或等于3的整数。神经网络100的第一层为输入层110,负责接收输入信号,神经网络100的最后一层为输出层130,负责输出神经网络的处理结果。除去第一层和最后一层的其他层为中间层140,这些中间层140共同组成隐藏层120,隐藏层120中的每一层中间层140既可以接收输入信号,也可以输出信号。隐藏层120负责输入信号的处理过程。每一层代表了信号处理的一个逻辑级别,通过多个层,数据信号可经过多级逻辑的处理。
在一些可行的实施例中该神经网络的输入信号可以是视频信号、语音信号、文本信号、图像信号、温度信号等各种形式的信号。图像信号可以是相机(图像传感器)拍摄的风景信号、显监控设备捕捉的社区环境的图像信号以及门禁***获取的人脸的面部信号等各类传感器信号。该神经网络的输入信号还包括其他各种计算机可处理的工程信号,在此不再一一列举。若利用神经网络对图像信号进行深度学习,可提高图像质量。
(2)深度神经网络
深度神经网络(Deep Neural Network,DNN)也称多层神经网络,可以理解为具有多层隐藏层的神经网络。按照不同层的位置对深度神经网络进行划分,深度神经网络内部的神经网络可以分为三类:输入层,隐藏层和输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐藏层。层与层之间是全连接的,也就是说,第i层的任意一个神经元与第i+1层的任意一个神经元相连。
虽然深度神经网络看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于深度神经网络的层数多,系数W和偏移向量的数量也比较多。这些参数在深度神经网络中的定义如下所述:以系数W为例:假设在一个三层的深度神经网络中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为其中,上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐藏层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(Convolutional Neuron Network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者特征图(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层可以输出若干个特征图,特征图可以是指卷积神经网络运算过程中的中间结果。同一特征图的神经元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。也就是,图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
示例地,如图2所示,为本申请实施例提供的一种卷积神经网络的结构示意图。卷积神经网络200可以包括输入层210、卷积层/池化层220(其中池化层为可选的)和神经网络层230。
卷积层/池化层220例如可以包括层221至层226。在一种示例中,层221例如可以为卷积层,层222例如可以为池化层,层223例如可以为卷积层,层224例如可以为池化层,层225例如可以为卷积层,层226例如可以为池化层。在另一种示例中,层221和层222例如可以为卷积层,层223例如可以为池化层,层224和层225例如可以为卷积层,层226例如可以为池化层。卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
将以卷积层221为例,介绍一层卷积层的内部工作原理。
卷积层221可以包括很多个卷积算子,卷积算子也可称为核。卷积算子在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器。卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义。在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素,这取决于步长(stride)的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小与图像的大小相关。需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的。在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的特征图的尺寸也相同,再将提取到的多个尺寸相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如层221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征。随着卷积神经网络200深度的加深,越往后的卷积层(例如层226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层。在如图2中卷积层/池化层220所示例的层221至层226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层230中可以包括多层隐藏层(如图2所示的层231、层232至层23n)以及输出层240,该多层隐藏层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
在神经网络层230中的多层隐藏层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由层210至层240方向的传播为前向传播)完成,反向传播(如图2由层240至层210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图2所示的卷积神经网络200仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(5)反向传播算法
卷积神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
下面将结合附图对本申请实施例的实施方式进行详细描述。
图3为本申请实施例提供的一种数据处理***的架构示意图。如图3所示,***300包括执行设备310、训练设备320、数据库330、终端设备340、数据存储***350和数据采集设备360。
执行设备310可以是终端,如手机终端,平板电脑,笔记本电脑,虚拟现实(virtualreality,VR)/增强现实(augmented reality,AR)设备,车载终端等,还可以是边缘设备(例如,携带具有处理能力芯片的盒子)等。
训练设备320可以是服务器或者云端设备等。训练设备320具备较强的计算能力,能够运行神经网络,对神经网络进行训练等计算。
作为一种可能的实施例,执行设备310和训练设备320是部署在不同物理设备(如:服务器或集群中的服务器)上的不同处理器。例如,执行设备310可以是中央处理器(central processing unit,CPU)、其他通用处理器、数字信号处理器(digital signalprocessing,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)、或一个或多个用于控制本申请方案程序执行的集成电路。
数据采集设备360用于采集训练数据和测试数据,并将训练数据和测试数据存入数据库330。训练数据和测试数据均可以是图像、语音和文字中至少一种形式的数据。例如,训练数据包括训练图像和训练图像中的目标。测试数据包括测试图像和测试图像中的目标。训练图像的特征和测试图像的特征均是与同一应用场景特征相似的特征。应用场景特征至少包括环境特征(如:温度、湿度、光照等)和时间特征(如:白天时段、黑夜时段、交通高峰时段、交通低峰时段等),等等。
训练设备320用于实现基于数据库330中维护的训练数据和测试数据从超网络301(super net)中搜索N个子网络(sub network),以及,生成预设条件302的功能。预设条件302用于指示影响神经网络运行的场景数据与神经网络的对应关系。其中,所述神经网络是指从超网络中搜索到的子网络。N为大于或等于2的整数。
示例地,如图4所示,关于生成预设条件的具体过程的阐述。
步骤410、训练设备320基于数据库330中维护的训练数据训练超网络和超网络中采样的M个子网络。
训练设备320可以根据预设规则从超网络中采样M个子网络。预设规则例如是从超网络的第一个网络层的第一个神经元开始选取不同规模大小的M个子网络。可选地,训练设备320从超网络中随机采样M个子网络。M为大于等于2的整数。
训练设备320利用训练数据对超网络进行训练,直到超网络中的损失函数收敛,且损失函数值小于特定阈值则超网络训练完成,从而使得超网络达到一定精度。或者,训练集中所有的训练数据被用于训练,则超网络训练完成。
训练设备320利用训练数据对子网络进行训练,直到子网络中的损失函数收敛,且损失函数值小于特定阈值则子网络训练完成,从而使得子网络达到一定精度。或者,训练集中所有的训练数据被用于训练,则子网络训练完成。
可理解的,超网络可以作为子网搜索的基础网络。超网络是一个包括超多网络层,每层网络层包含大量神经元的超大神经网络。示例地,图5中的(a)示例了一种超网络的结构。子网络是超网络中的部分网络。子网络是一个小型的神经网络。如图5中的(b)所示,子网络包含了三层网络层,子网络包含的网络层的数量小于图5中的(a)所示的超网络包括的网络层的数量。超网络和子网络中的每层网络层包括至少一个神经元。图5中的(c)所示,子网络包含的神经元的数量小于图5中的(a)所示的超网络包括的神经元的数量。子网络包含的通道的数量也可以小于图5中的(a)所示的超网络包括的通道的数量。子网络的权重共享超网络的权重。例如,子网络包括超网络中的第一网络层和第二网络层,且第一网络层中的第一神经元与第二网络层中的第一神经元连接。第一网络层中的第一神经元与第二网络层中的第一神经元连接的权重复用超网络中第一网络层中的第一神经元与第二网络层中的第一神经元连接的权重。本实施例中所述的神经网络可以是深度神经网络。具体地,神经网络可以是卷积神经网络。
需要说明的是,训练设备320可以对超网络和子网络进行多轮次的训练。例如,训练设备320在每个轮次可以重新从超网络中随机采样子网络,对超网络和随机采样的子网络进行训练。训练设备320执行完所有轮次后,即随机采样了M个子网络,并对M个子网络完成训练。训练设备320在每个轮次可以随机采样不同数量的子网络;或者,训练设备320在每个轮次可以随机采样不同网络大小的子网络。
在训练设备320完成对超网络和超网络中的子网络的训练后,可以从超网络中搜索子网络,例如,训练设备320还可以执行步骤420至步骤460获得多个子网。
步骤420、训练设备320从超网络中搜索Q个子网络。
步骤430、训练设备320基于数据库330中维护的测试数据测试Q个子网络的精度。
用于测试子网络的精度的测试数据包括大量的图像。对于Q个子网络中的每个子网络,训练设备320将大量的图像输入子网络,以得到预测结果。将预测结果与原始图像进行对比,得到子网络的精度。
由于训练设备320具备较强的计算能力,能够快速地运行神经网络,从而有效地降低了对神经网络进行训练和测试的时长。
步骤440、执行设备310基于数据库330中维护的测试数据测试Q个子网络的运行时长。
由于执行设备310的计算能力小于训练设备320的计算能力,测试执行设备310运行子网络时的运行时长所使用的测试数据的数据量远远小于测试训练设备320运行子网络时的精度所使用的测试数据的数据量。例如,测试执行设备310运行子网络的运行时长的测试数据可以是一张图像。
对于Q个子网络中的每个子网络,执行设备310将测试数据输入子网络,以得到预测结果和子网络的运行时长。子网络的运行时长可以是指从执行设备310运行子网络处理测试数据开始至得到测试结果的时长。可理解的,子网络的运行时长越长,表示数据处理的速度越慢;子网络的运行时长越短,表示数据处理的速度越快。
需要说明的是,由于不同型号的执行设备配置了不同的硬件资源(如:处理器、存储器和电池),则配置不同硬件资源的执行设备运行神经网络的速度也是不一样的。因此,在配置不同硬件资源的执行设备上分别测试Q个子网络的速度,以便于训练设备320为配置有不同硬件资源的执行设备选取运行尽可能快的神经网络。
步骤450、执行设备310向训练设备320传输Q个子网络的运行时长。
需要说明的是,由于训练设备320依据上述步骤410已经对超网络和随机采样的大量子网络进行了训练,因此,训练设备320从超网络中搜索的Q个子网络是具有一定精度的子网络,训练设备320执行步骤460。Q个子网络可以是训练设备320依据上述步骤410训练得到的M个子网络中的部分子网络。或者,Q个子网络可以是训练设备320随机采样的子网络。
可选地,训练设备320可以首次从超网络中随机搜索Q个子网络,根据Q个子网络的精度和Q个子网络的运行时长更新Q个子网络,循环执行步骤430至步骤450,经过多轮次迭代更新Q个子网络后,得到精度较高的Q个子网络,训练设备320执行步骤460。
步骤460、训练设备320根据Q个子网络的精度和Q个子网络的运行时长,从Q个子网络中搜索N个子网络。
在一种示例中,训练设备320可以依据进化算法、强化学习或者贪心算法从Q个子网络中搜索N个子网络。Q和N均为大于或等于2的整数,Q大于N。
在另一种示例中,训练设备320还可以对Q个子网络的精度和Q个子网络的运行时长进行统计,生成如图6所示的帕累托边界。横轴表示错误率,纵轴表示网络大小。网络大小也可以称为神经网络的规模。神经网络的规模越大,神经网络的精度越高,错误率越低,运行时长越长;反之,神经网络的规模越小,神经网络的精度越低,错误率越高,运行时长越短。因此,神经网络的精度和速度是成反比的。
从神经网络的精度的角度而言,帕累托边界上的每个点表示一个精度下的速度最快的神经网络。从神经网络的速度的角度而言,帕累托边界上的每个点表示一个速度下的精度最高的神经网络。
训练设备320可以依据帕累托边界权衡神经网络的精度和速度从Q个子网络中选取N个子网络,训练设备320为不同硬件资源配置的执行设备选取满足精度需求和速度需求的神经网络。
在另一种示例中,训练设备320还可以依据进化算法、强化学习或者贪心算法从超网络中搜索Q个子网络,训练设备320根据Q个子网络的精度和Q个子网络的运行时长生成如图6所示的帕累托边界,训练设备320可以依据帕累托边界权衡神经网络的精度和速度从Q个子网络中选取N个子网络。
在另一种示例中,训练设备320还可以依据进化算法、强化学习或者贪心算法从超网络中搜索N个子网络。
可选地,训练设备320还可以利用训练数据对N个子网络进行训练,调整N个子网络权重,提高N个子网络的精度。
步骤470、训练设备320根据N个子网络,以及与N个子网络中每个子网络关联的场景数据生成预设条件。
由于一个神经网络处理的应用数据可以是在不同应用场景下获取的,不同应用场景具有不同的应用场景特征,则导致神经网络处理不同应用场景下的应用数据的精度不同。
例如,对于自动驾驶场景,自动驾驶汽车在天空晴朗的环境下通过道闸时,由于天空晴朗,车牌图像足够清晰,执行设备利用规模较小的神经网络对车牌进行识别的准确率较高,可以满足车牌识别的精度需求。应用场景特征包括光线充足和晴天。又如,自动驾驶汽车在大雨天的环境下通过道闸时,由于雨天视线不清楚,车牌图像可能较模糊,执行设备利用规模较小的神经网络对车牌进行识别的准确率较低,无法满足车牌识别的精度需求。应用场景特征包括光线不足和雨天。
又如,对于闸机口场景,上下班高峰期人流量比较大,执行设备利用规模较大的神经网络对人流进行识别的速度较慢,无法满足人流识别的速度需求。应用场景特征可以包括上下班高峰期时段和人流量。
因此,训练设备320可以根据大量的应用场景特征和N个子网络生成预设条件。预设条件可以包括大量的应用场景特征与N个子网络的关联关系。例如,应用场景特征包括晴天、阴天和雨天。预设条件包括晴天与第一子网络的关联关系,阴天与第二子网络的关联关系,雨天与第三子网络的关联关系。第一子网络的规模小于第二子网络的规模。第二子网络的规模小于第三子网络的规模。
应用场景特征可以是训练设备320分析测试数据和训练数据获得的。或者,数据库330中维护有采集测试数据的应用场景下的应用场景特征和采集训练数据的应用场景下的应用场景特征。
另外,由于执行设备的硬件资源是动态变化的,执行设备在不同硬件资源下,运行神经网络的时长也可能不同。例如,以手机为例,不同用户使用同一品牌手机,由于不同用户的使用习惯不同,则可用存储容量和可用剩余电量是不同的。即使是同一部手机,在不同的时段手机运行的应用、可用存储容量和可用剩余电量也是不一样的。手机在低电量的情况下,运行神经网络的时长可能较长,因此,手机在低电量的情况下,可以选取规模较小的神经网络来处理应用数据。
因此,训练设备320还可以接收执行设备310发送的测试N个子网络时的硬件资源的运行场景特征。训练设备320根据大量的应用场景特征、运行场景特征和N个子网络生成预设条件。
运行场景特征可以包括处理器的计算能力、可用存储容量和可用剩余电量中至少一种。处理器的计算能力也可以理解为处理器的计算资源的占用率。例如,运行场景特征包括低电量、中电量和高电量。预设条件包括低电量与第四子网络的关联关系,中电量与第五子网络的关联关系,高电量与第六子网络的关联关系。第四子网络的规模小于第五子网络的规模。第五子网络的规模小于第六子网络的规模。
训练设备320根据上述步骤410至步骤470生成预先条件302后,可以将超网络301和预设条件302配置到执行设备310。
执行设备310用于实现根据场景感知数据和预设条件302从超网络301中确定处理应用数据的第一神经网络的功能。
由于执行设备310是根据场景感知数据和预设条件302从超网络301中选取适于处理应用数据的第一神经网络,则在确保速度需求的前提下,第一神经网络是满足精度需求的规模较大的网络;或者,在确保精度需求的前提下,第一神经网络是满足速度需求的规模较小网络。从而平衡了处理应用数据时的精度和速度,提升用户体验。第一神经网络是超网络301中的子网络。
关于执行设备310确定处理应用数据的第一神经网络的具体方法可以参考下面图7的阐述。
需要说明的是,在实际的应用中,数据库330中维护的训练数据和测试数据不一定都来自于数据采集设备360,也有可能是从其他设备接收得到的。另外,训练设备320也不一定完全基于数据库330维护的训练数据训练子网络,也有可能从云端或其他地方获取训练数据训练超网络。执行设备310也不一定完全基于数据库330维护的测试数据测试子网络,也有可能从云端或其他地方获取测试数据,以便基于测试数据测试子网络处理数据的速度。上述描述不应该作为对本申请实施例的限定。
进一步地,根据执行设备310所执行的功能,还可以进一步将执行设备310细分为如图3所示的架构,如图所示,执行设备310配置有计算模块311、I/O接口312和预处理模块313。
I/O接口312用于与外部设备进行数据交互。用户可以通过终端设备340向I/O接口312输入数据。输入数据可以包括图像或视频。另外,输入数据也可以来自数据库330。
预处理模块313用于根据I/O接口312接收到的输入数据进行预处理。在本申请实施例中,预处理模块313可以用于识别从I/O接口312接收到的应用数据的应用场景特征。
在执行设备310对输入数据进行预处理,或者在执行设备310的计算模块311执行计算等相关的处理过程中,执行设备310可以调用数据存储***350中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储***350中。
例如,执行设备310存储的超网络301和预设条件302可以应用于执行设备310。执行设备310获取到应用数据后,计算模块311根据场景感知数据和预设条件302从超网络301中搜索第一神经网络,利用第一神经网络对应用数据进行处理。由于第一神经网络是由执行设备310基于场景感知数据确定的,因此,利用第一神经网络对应用数据进行处理,可以满足用户对数据处理的速度需求和精度需求。
最后,I/O接口312将处理结果返回给终端设备340,从而提供给用户,以便用户查看处理结果。
在图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。
图3仅是本申请实施例提供的一种***架构的示意图,图3中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图3中,数据存储***350相对执行设备310是外部存储器,在其它情况下,也可以将数据存储***350置于执行设备310中。
接下来,结合图7至图11对本申请实施例提供的数据处理方法进行详细阐述。图7为本申请实施例提供的一种数据处理方法的流程示意图。在这里由图3中的执行设备310为例进行说明。如图7所示,该方法包括以下步骤。
步骤710、执行设备310获取待处理的应用数据。
应用数据包括图像、语音和文字中至少一种形式的数据。执行设备310可以通过传感器获取待处理的应用数据。传感器包括摄像头、音频传感器和激光雷达中至少一种。对于不同应用的应用数据,采集应用数据的传感器可以不同。
例如,若执行设备310是智能终端,应用场景为智能终端利用人脸识别功能对用户的人脸进行识别,实现对智能终端进行解锁的功能。智能终端可以利用摄像头拍摄人脸,得到人脸图像,则待处理的应用数据为人脸图像。又如,应用场景为智能终端利用语音助手功能对用户的语音进行识别,实现对智能终端进行解锁的功能。智能终端可以利用音频传感器获取用户的语音,得到音频数据,则待处理的应用数据为音频数据。
又如,若执行设备310是道闸监控器。应用场景为自动驾驶汽车通过道闸时,道闸监控器进行车牌识别。道闸监控器可以利用摄像头对自动驾驶汽车的车牌进行拍摄,得到车牌图像,则待处理的应用数据为车牌图像。
步骤720、执行设备310获取场景感知数据。
由上述步骤460的阐述可知,影响神经网络处理应用数据时的速度和精度的因素包括获取应用数据的应用场景的应用场景特征和运行应用数据的硬件资源的运行场景特征。因此,执行设备310在获取到待处理的应用数据后,获取场景感知数据。场景感知数据用于指示执行设备310处理应用数据时的影响因素。
可理解的,场景感知数据用于指示执行设备310采用神经网络处理应用数据时影响速度和精度的因素。场景感知数据包括外部影响因素和内部影响因素中的至少一个。外部影响因素用于描述执行设备310获取应用数据时的应用场景特征。外部影响因素包含温度数据、湿度数据、光照数据和时间数据中至少一种。内部影响因素用于描述执行设备310运行应用数据的硬件资源的运行场景特征。内部影响因素包含处理器的计算能力、可用存储容量和可用剩余电量中至少一种。
若场景感知数据包括外部影响因素,在一种可能的实现方式中,执行设备310可以从其他设备获取场景感知数据。例如,若场景感知数据是温度数据,执行设备310可以从温度传感器获取温度数据。又如,若场景感知数据是湿度数据,执行设备310可以从湿度传感器获取温度数据。在另一种可能的实现方式中,执行设备310可以根据待处理的应用数据获取场景感知数据。例如,应用数据是图像,场景感知数据可以是亮度或光照强度,执行设备310可以分析图像获取亮度或光照强度。
若场景感知数据包括内部影响因素,执行设备310中的控制器可以监控执行设备310中处理器、存储器和电量,以获取处理器的计算能力、可用存储容量和可用剩余电量中至少一种。控制器可以是执行设备310中的中央处理器。
步骤730、执行设备310根据场景感知数据和预设条件确定处理应用数据的第一神经网络。
预设条件用于指示影响神经网络运行的场景数据与神经网络的对应关系。
在第一种可能的情形下,场景数据包括应用场景标识和应用场景特征。应用场景标识用于指示应用场景。一个应用场景可以具有一个或多个应用场景特征。可理解的,一个应用场景标识可以与一个应用场景特征关联,或者,一个应用场景标识也可以与多个应用场景特征关联。例如,应用场景为小区车库的闸机场景,应用场景特征包括晴天、阴天和雨天。
预设条件用于指示影响神经网络运行的应用场景特征与神经网络的对应关系。每个应用场景特征关联一个神经网络。预设条件可以包括多项应用场景特征与神经网络的对应关系。在一种示例中,应用场景特征与神经网络的对应关系可以以表格的形式呈现,如表1所示。
表1
由表1可知,标识1指示的应用场景关联的应用场景特征包括晴天、阴天和雨天。晴天与神经网络1具有绑定关系,阴天与神经网络2具有绑定关系,雨天与神经网络3具有绑定关系。标识2指示的应用场景关联的应用场景特征包括强光照、中光照和弱光照。强光照与神经网络4具有绑定关系,中光照与神经网络5具有绑定关系,弱光照与神经网络6具有绑定关系。标识3指示的应用场景关联的应用场景特征包括应用的使用间隔时长。应用的使用间隔时长与神经网络7具有绑定关系。
假设标识1指示的应用场景为小区车库的闸机场景。汽车在天空晴朗的环境下通过道闸时,执行设备310获取到的场景感知数据包括汽车通过道闸和晴天,执行设备310根据场景感知数据查询表1,确定应用场景为标识1指示的场景,执行设备310再确定标识1指示的场景的应用场景特征为晴天,将晴天对应的神经网络1确定为第一神经网络。
由于天空晴朗,执行设备310拍摄到的车牌图像足够清晰。执行设备310根据应用场景特征和预设条件确定的第一神经网络可以是规模较小的神经网络。执行设备310利用规模较小的神经网络对车牌进行识别的准确率较高,可以满足车牌识别的精度需求。而且,执行设备310利用规模较小的神经网络对车牌进行识别的运行时长较短,可以满足车牌识别的速度需求。
又如,汽车在大雨天的环境下通过道闸时,执行设备310获取到的场景感知数据包括汽车通过道闸和雨天,执行设备310根据场景感知数据查询表1,确定应用场景为标识1指示的场景,执行设备310再确定标识1指示的场景的应用场景特征为雨天,将雨天对应的神经网络3确定为第一神经网络。神经网络3的规模大于神经网络1的规模。
由于雨天视线不清楚,执行设备310拍摄到的车牌图像可能较模糊。如果执行设备310继续利用规模较小的神经网络对车牌进行识别的准确率较低,无法满足车牌识别的精度需求。因此执行设备310根据应用场景特征和预设条件确定的第一神经网络可以是规模较大的神经网络。执行设备310利用规模较大的神经网络对车牌进行识别的准确率较高,可以确保速度需求的前提下,满足车牌识别的精度需求。
从而,执行设备310根据应用场景特征动态地选取处理应用数据的第一神经网络,在满足精度需求的前提下,使速度尽可能快,或者,在满足速度需求的前提下,使精度尽可能高,平衡处理应用数据时的精度需求和速度需求,提升用户体验。
需要说明的是,表1只是以表格的形式示意对应关系在存储设备中的存储形式,并不是对该对应关系在存储设备中的存储形式的限定,当然,该对应关系在存储设备中的存储形式还可以以其他的形式存储,本实施例对此不做限定。
另外,应用场景特征可以以一个具体的数值或取值范围的形式表示。例如,若应用场景特征为光照强度,光照强度的取值范围可以包括强光照、中光照和弱光照的三个取值范围。又如,应用场景特征为应用的使用间隔时长,应用的使用间隔时长可以为3秒。一个应用场景特征对应的取值范围越多,执行设备310确定处理应用数据的第一神经网络越准确。
在第二种可能的情形下,场景数据包括运行场景标识和运行场景特征。运行场景标识用于指示运行场景。一个运行场景可以具有一个或多个运行场景特征。可理解的,一个运行场景标识可以与一个运行场景特征关联,或者,一个运行场景标识也可以与多个运行场景特征关联。例如,运行场景为可用剩余电量,运行场景特征包括高电量、中电量和低电量。
预设条件用于指示影响神经网络运行的运行场景特征与神经网络的对应关系。每个运行场景特征关联一个神经网络。预设条件可以包括多项运行场景特征与神经网络的对应关系。在一种示例中,运行场景特征与神经网络的对应关系可以以表格的形式呈现,如表2所示。
表2
由表2可知,标识4指示的运行场景为执行设备310的可用剩余电量场景。可用剩余电量场景关联的运行场景特征包括可用剩余电量高、可用剩余电量中和可用剩余电量低。可用剩余电量高与神经网络8具有绑定关系,可用剩余电量中神经网络9具有绑定关系,可用剩余电量低与神经网络10具有绑定关系。
运行场景特征可以以一个具体的数值或取值范围的形式表示。例如,若运行场景特征为可用剩余电量。可用剩余电量强的取值范围为100%到60%。可用剩余电量中的取值范围为60%到30%。可用剩余电量低的取值范围为30%到5%。一个运行场景特征对应的取值范围越多,执行设备310确定处理运行数据的第一神经网络越准确。
假设执行设备31需要启动语音助手功能时,执行设备310确定电量低于20%,则执行设备310确定场景感知数据为电量低于20%。执行设备310根据场景感知数据查询表2,确定运行场景为标识4指示的场景,执行设备310再确定标识4指示的场景的运行场景特征为可用剩余电量低,将可用剩余电量低对应的神经网络10确定为第一神经网络。
由于执行设备310的可用剩余电量低,如果执行设备310继续利用规模较大的神经网络进行语音识别,无法满足车牌识别的速度需求。此时,执行设备310根据运行场景特征和预设条件确定的第一神经网络可以是规模较小的神经网络。执行设备310利用规模较小的神经网络可以对用户语音进行识别,可以确保精度需求的前提下,满足语音识别的速度需求,且可以节省电量。
又如,执行设备310确定电量高于80%,则执行设备310确定场景感知数据为电量高于80%。执行设备310根据场景感知数据查询表2,确定运行场景为标识4指示的场景,执行设备310再确定标识4指示的场景的运行场景特征为可用剩余电量高,将可用剩余电量高对应的神经网络8确定为第一神经网络。
由于执行设备310的可用剩余电量高,执行设备310根据运行场景特征和预设条件确定的第一神经网络可以是规模较大的神经网络。执行设备310利用规模较大的神经网络可以对用户语音进行识别,可以确保速度需求的前提下,满足语音识别的精度需求。
从而,执行设备310根据运行场景特征动态地选取处理应用数据的第一神经网络,在满足精度需求的前提下,使速度尽可能快,或者,在满足速度需求的前提下,使精度尽可能高,平衡处理应用数据时的精度需求和速度需求,提升用户体验。
需要说明的是,表2只是以表格的形式示意对应关系在存储设备中的存储形式,并不是对该对应关系在存储设备中的存储形式的限定,当然,该对应关系在存储设备中的存储形式还可以以其他的形式存储,本实施例对此不做限定。
在第三种可能的情形下,场景数据包括应用场景特征和运行场景特征。关于应用场景特征和运行场景特征的解释可以参考上述第一种可能的情形和第二种可能的情形的阐述。一个应用场景特征可以对应一个或多个运行场景特征。一个运行场景特征可以对应一个或多个应用场景特征。本申请实施例对应用场景特征和运行场景特征的关联关系不予限定,具体关联关系可以根据应用场景设置。
在一种示例中,场景数据与神经网络的对应关系可以以表格的形式呈现,如表3所示。
表3
由表3可知,标识7指示的应用场景关联的应用场景特征包括晴天。标识7指示的应用场景关联的运行场景特征包括可用剩余电量高和可用剩余电量低。晴天和可用剩余电量高均与神经网络17具有绑定关系。晴天和可用剩余电量低均与神经网络18具有绑定关系。
假设标识7指示的应用场景为自动驾驶汽车通过道闸场景。自动驾驶汽车在天空晴朗的环境下通过道闸时,执行设备310获取到的场景感知数据包括汽车通过道闸和晴天,以及执行设备310确定场景感知数据还包括可用剩余电量高,执行设备310根据场景感知数据查询表3,确定应用场景为标识7指示的场景,执行设备310再确定标识7指示的场景的应用场景特征为晴天,运行场景特征为可用剩余电量高,将晴天和可用剩余电量高对应的神经网络17确定为第一神经网络。
由于天空晴朗,执行设备310拍摄到的车牌图像足够清晰,执行设备310可以利用规模较小的神经网络对车牌进行识别,确保精度需求的前提下,满足车牌识别的速度需求。但是,执行设备310的可用剩余电量高,则执行设备310可以根据应用场景特征、运行场景特征和预设条件确定的第一神经网络可以是满足车牌识别的速度需求的前提下,进一步提升车牌识别的精度的神经网络,来满足车牌识别的精度需求。
如果执行设备310的可用剩余电量低,由于执行设备310在电量较低的情况下可能影响神经网络的运行时长,因此,执行设备310可以选择晴天和可用剩余电量低对应的神经网络18确定为第一神经网络。可以确保精度需求的前提下,利用比神经网络17的规模更小的神经网络18对车牌进行识别,满足车牌识别的速度需求。
又如,自动驾驶汽车在雨天的环境下通过道闸时,执行设备310获取到的场景感知数据包括汽车通过道闸和雨天,以及执行设备310确定场景感知数据还包括可用剩余电量高,执行设备310根据场景感知数据查询表3,确定应用场景为标识8指示的场景,执行设备310再确定标识8指示的场景的应用场景特征为雨天,运行场景特征为可用剩余电量高,将雨天和可用剩余电量高对应的神经网络19确定为第一神经网络。
由于雨天视线不清楚,执行设备310拍摄到的车牌图像可能较模糊,执行设备310利用规模较大的神经网络对车牌进行识别的准确率较高,可以确保速度需求的前提下,满足车牌识别的精度需求。但是,执行设备310的可用剩余电量高,执行设备310根据应用场景特征、运行场景特征和预设条件确定的第一神经网络可以是满足车牌识别的速度需求的前提下,进一步提升车牌识别的精度的神经网络,来满足车牌识别的精度需求。
如果执行设备310的可用剩余电量低,执行设备310利用规模较大的神经网络对车牌进行识别的运行时长较长,无法满足车牌识别的速度需求。因此,执行设备310可以选择雨天和可用剩余电量低对应的神经网络20确定为第一神经网络。可以确保精度需求的前提下,利用比神经网络19的规模更小的神经网络20对车牌进行识别,可以确保精度需求的前提下,满足车牌识别的速度需求。
从而,执行设备310根据应用场景特征和运行场景特征动态地选取处理应用数据的第一神经网络,在满足精度需求的前提下,使速度尽可能快,或者,在满足速度需求的前提下,使精度尽可能高,平衡处理应用数据时的精度需求和速度需求,提升用户体验。
图8所述的方法流程是对图7中步骤730所包括的具体操作过程的阐述。
步骤7301、执行设备310确定预设条件中包括场景感知数据的场景数据对应的第一神经网络的参数。
可理解的,场景数据是用于生成预设条件所预先确定的数据。场景感知数据是执行设备310根据应用数据实时获取到的数据。
在一些实施例中,如果执行设备310在预设条件中查询到了场景感知数据标识的应用场景特征(如上述第一种可能的情形的阐述),或者,如果执行设备310在预设条件中查询到了场景感知数据标识的运行场景特征(如上述第二种可能的情形的阐述),或者,如果执行设备310在预设条件中查询到了场景感知数据标识的应用场景特征和运行场景特征(如上述第三种可能的情形的阐述),则执行设备310根据与场景数据关联的第一神经网络处理应用数据,平衡了处理应用数据时的精度和速度,满足了用户需求,提升了用户体验。
步骤7302、执行设备310根据第一神经网络的参数从超网络中确定第一神经网络。
预设条件还可以包括第一神经网络的标识和第一神经网络的参数。第一神经网络的参数包括通道的数量和网络层的数量。第一神经网络可以为超网络中的子网络,超网络用于确定场景数据对应的第一神经网络。通道可以是指卷积神经网络中卷积层的输入结果,即通道也可以称为特征图。网络层可以是卷积神经网络中的卷积层。
执行设备310可以根据第一神经网络的参数从超网络中确定第一神经网络。具体地,执行设备310根据第一神经网络的参数从超网络的权重中确定第一神经网络的权重。由于子网络共享了超网络的参数,相对于执行设备310存储多个子网络,有效地降低了执行设备310的存储空间。
步骤740、执行设备310利用第一神经网络得到应用数据的处理结果。
执行设备310将应用数据输入第一神经网络,利用第一神经网络得到应用数据的处理结果。例如,应用场景为智能终端利用人脸识别功能对用户的人脸进行识别,实现对智能终端进行解锁的功能。应用数据为人脸图像,执行设备310将人脸图像输入第一神经网络,得到处理结果。若处理结果为识别人脸成功,智能终端解锁成功;若处理结果为识别人脸失败,智能终端解锁失败。
进一步地,执行设备310在确定第一神经网络后,还可以对第一神经网络进行调整。图9所述的方法流程是对图7中所述方法的补充阐述。
步骤750、执行设备310显示影响第一神经网络运行的速度和精度的场景数据与第一神经网络的对应关系,以及处理结果。
处理结果可以包括运行时长和精度。运行时长可以是指从执行设备310运行第一神经网络处理应用数据开始至得到处理结果的时长。执行设备310将应用数据输入第一神经网络后开始计时,直到第一神经网络输出处理结果结束计时,得到运行时长。处理结果的精度用于表示利用第一神经网络处理应用数据的处理结果是否满足用户的精度需求的程度。执行设备310可以通过用户反馈信息获取处理结果的精度。执行设备310显示影响第一神经网络运行的速度和精度的场景数据与第一神经网络的对应关系,以及处理结果,使用户可以直观地看到处理结果,以便于用户判断运行时长是否满足用户的速度需求,以及判断处理结果的精度是否满足用户的精度需求。
如果第一神经网络的处理结果不满足用户的速度需求和精度需求,执行设备310还可以执行步骤760和步骤770,或者执行设备310还可以执行步骤780。
步骤760、执行设备310从超网络中确定第二神经网络。
第二神经网络可以是用户指定的神经网络,例如,第二神经网络可以为超网络中的子网络。用户指定神经网络的规则如下:如果用户需要提升执行设备310处理应用数据的精度,第二神经网络包含的网络层的数量大于第一神经网络包括的网络层的数量,或者,第二神经网络包含的通道的数量大于第一神经网络包括的通道的数量。如果用户需要提升执行设备310处理应用数据的速度,即减少执行设备310处理应用数据的运行时长,第二神经网络包含的网络层的数量小于第一神经网络包括的网络层的数量,或者,第二神经网络包含的通道的数量小于第一神经网络包括的通道的数量。
步骤770、执行设备310利用第二神经网络得到应用数据的处理结果。
步骤780、执行设备310调整第一神经网络对应的场景数据。
如果执行设备310利用第一神经网络处理应用数据的处理结果的精度无法满足用户的精度需求,或执行设备310利用第一神经网络处理应用数据得到处理结果的运行时长无法满足用户的速度需求,可能是第一神经网络关联的应用场景特征和运行场景特征较多,执行设备310可以修改第一神经网络关联的应用场景特征和运行场景特征中至少一个。
例如,应用场景为在上下班高峰期时段识别人流量,由于上下班高峰期时段人流量非常多,如果执行设备310继续利用规模较小的神经网络对人流量进行识别的准确率较低,无法满足人流量识别的精度需求。因此执行设备310根据人流量将上下班高峰期时段划分为多个时段,每个时段关联一个神经网络,使得执行设备310根据在每个时段利用不同的神经网络进行人流量识别。例如,人流量较大的时段,执行设备310利用规模较小的神经网络对人流量进行识别,可以确保精度需求的前提下,满足人流量识别的速度需求。又如,人流量较小的时段,执行设备310利用规模较大的神经网络对人流量进行识别,可以确保速度需求的前提下,满足人流量识别的精度需求。
又如,应用场景为智能终端利用人脸识别功能对用户的人脸进行识别,实现对智能终端进行解锁的功能。用户在短时间内进行了两次人脸识别来解锁智能终端。如果智能终端连续利用规模较大的神经网络对人脸进行识别,虽然准确率较高,满足人脸识别的精度需求,但是人脸识别的运行时长较长,无法满足用户对人脸识别的速度需求。因此智能终端可以调整人脸识别的预设间隔与神经网络的对应关系。若智能终端检测到两次人脸识别的时间间隔在预设间隔内,使得智能终端确定预设间隔关联的第一神经网络可以是规模较小的神经网络。智能终端利用规模较小的神经网络对人脸进行识别,可以确保精度需求的前提下,满足人脸识别的速度需求。
示例地,图10为本申请实施例提供的一种调整场景数据的界面示意图。假设执行设备310为智能终端,如图10中的(a)所示,智能终端显示人脸识别的结果示意图。智能终端显示有在十分钟内进行两次人脸识别,两次人脸识别的时长均为4分钟。可选地,智能终端还可以显示“是否更新”按钮1010。若用户点击“是否更新”按钮1010。智能终端可以显示如图10中的(b)所示的界面。如图10中的(b)所示,智能终端显示有在两分钟内进行两次人脸识别,第一次人脸识别的时长为4分钟,第二次人脸识别的时长为2分钟,是否执行。界面可以显示“是”按钮1020和“否”按钮1030。用户可以点击“是”按钮1020。若智能终端在两分钟内进行两次人脸识别,第一次人脸识别的时长为4分钟,第二次人脸识别的时长为2分钟。
需要说明的是,本申请实施例所述的应用场景可以包括目标检测场景、监控场景和语音识别场景,商品推荐场景,等等。
目标检测是计算机视觉重要的组成部分。计算机视觉是各个应用领域,如制造业、检验、文档分析和医疗诊断等领域中各种智能/自主***中不可分割的一部分,它是一门关于如何运用照相机/摄像机和计算机来获取用户所需的被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机/摄像机)和大脑(算法)用来代替人眼对目标进行识别和测量等,从而使计算机能够感知环境。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工***从图像或多维数据中“感知”的科学。总的来说,计算机视觉就是用各种成像***代替视觉器官获取输入信息,再由计算机来代替大脑对这些输入信息完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。
目标检测方法可以应用在人脸检测、车辆检测、行人计数、自动驾驶、安全***和医疗领域等场景。例如,在自动驾驶场景中,自动驾驶汽车在行驶过程中,识别周围环境内的物体,以调整自动驾驶汽车的速度和方向,以便于自动驾驶汽车能够安全行驶,避免发生交通事故。物体可以是其它车辆、交通控制设备或者其它类型的物体。又如,在安全***中,对大量的用户进行识别,辅助工作人员尽快地确定目标人物。通常,将输入数据(如图像或视频)输入到具有目标检测功能的神经网络,神经网络对输入数据进行特征提取,基于提取的特征进行目标检测,得到检测结果。
另外,执行设备310可以在执行步骤730,即执行设备310根据场景感知数据和预设条件确定处理应用数据的第一神经网络之前,已经存储了超网络和预设条件,因此,执行设备310可以从存储器中读取超网络和预设条件,根据场景感知数据和预设条件确定处理应用数据的第一神经网络。
可选地,执行设备310没有存储超网络和预设条件,需要从服务器下载超网络和预设条件。服务器可以是指云服务器。
示例地,图11为本申请提供的一种***1100的结构示意图,如图11所示,***1100可以是利用基础资源向用户提供云服务的实体。***1100包括云数据中心1110。所述云数据中心1110包括设备资源池(包括计算资源1111、存储资源1112和网络资源1113)和云服务平台1120。云数据中心1110包括的计算资源1111可以是计算设备(例如服务器)。
执行设备1200上可以部署交互装置1210。交互装置1210可以是浏览器或者能够实现与云服务平台1120进行消息交互的应用。用户可以通过交互装置1210访问云服务平台1120,向云数据中心1110上传请求,请求获取超网络301和预设条件302。云数据中心1110接收到执行设备1200上传的请求后,向执行设备1200反馈超网络301和预设条件302。执行设备1200可以是智能终端或边缘小站。边缘小站可以处理自动驾驶汽车的应用数据,将处理结果传输给自动驾驶汽车。处理结果用于指示自动驾驶汽车运行操作。
可以理解的是,为了实现上述实施例中的功能,终端包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
上文中结合图1至图11,详细描述了根据本实施例所提供的数据处理方法,下面将结合图12,描述根据本实施例所提供的数据处理装置。
图12为本实施例提供的可能的数据处理装置的结构示意图。这些数据处理装置可以用于实现上述方法实施例中执行设备的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该数据处理装置可以是如图3所示的执行设备310,还可以是应用于服务器的模块(如芯片)。
如图12所示,数据处理装置1200包括通信模块1210、选择模块1220、检测模块1230和存储模块1240。数据处理装置1200用于实现上述图7、图8、或图9中所示的方法实施例中执行设备310的功能。
通信模块1210用于获取待处理的应用数据和场景感知数据。所述场景感知数据用于指示执行设备310处理所述应用数据的影响因素。所述场景感知数据用于指示执行设备310处理所述应用数据时影响速度和精度的因素。其中,所述场景感知数据包括外部影响因素和内部影响因素中的至少一个。所述外部影响因素用于描述所述终端获取所述应用数据的应用场景特征。所述内部影响因素用于描述所述终端运行所述应用数据的硬件资源的运行场景特征。示例地,所述外部影响因素包含温度数据、湿度数据、光照数据和时间数据中至少一种。所述内部影响因素包含处理器的计算能力、可用存储容量和可用剩余电量中至少一种。例如,通信模块1210用于执行图7、图8和图9中步骤710和步骤720。
选择模块1220用于根据所述场景感知数据和预设条件确定处理所述应用数据的第一神经网络,所述预设条件用于指示影响神经网络运行的场景数据与神经网络的对应关系。例如,选择模块1220用于执行图7、图8和图9中步骤730。
检测模块1230用于利用所述第一神经网络得到所述应用数据的处理结果。例如,检测模块1230用于执行图7、图8和图9中步骤740。
选择模块1220根据所述场景感知数据和预设条件确定处理所述应用数据的第一神经网络时,具体用于:确定所述预设条件中包括所述场景感知数据的场景数据对应的第一神经网络的参数,根据所述第一神经网络的参数从超网络中确定所述第一神经网络。所述第一神经网络的参数包括通道的数量和网络层的数量。所述第一神经网络为所述超网络中的子网络,所述超网络用于确定所述场景数据对应的第一神经网络。其中,所述子网络包含的网络层的数量小于所述超网络包括的网络层的数量,或者,所述子网络包含的通道的数量小于所述超网络包括的通道的数量,每层网络层包括至少一个神经元。
存储模块1240用于存储预设条件、所述超网络和所述超网络包含的至少一个子网络的参数。选择模块1220根据所述第一神经网络的参数从超网络中确定所述第一神经网络时,具体用于:根据所述第一神经网络的参数从超网络的权重中确定所述第一神经网络的权重。
可选地,选择模块1220还用于从超网络中确定第二神经网络,所述第二神经网络为所述超网络中的子网络,所述第二神经网络包含的网络层的数量大于或小于所述第一神经网络包括的网络层的数量,或者,所述第二神经网络包含的通道的数量大于或小于所述第一神经网络包括的通道的数量。
可选地,检测模块1230还用于利用所述第二神经网络得到所述应用数据的处理结果。例如,检测模块1230用于执行图9中步骤770。
数据处理装置1200还包括更新模块1250和显示模块1260。
更新模块1250用于若所述第一神经网络的速度和精度不满足用户需求,调整所述第一神经网络对应的场景数据,得到调整后的场景数据,将调整后的场景数据存入存储模块1240。例如,更新模块1250用于执行图9中步骤760和步骤780。
显示模块1260用于显示影响所述第一神经网络的速度和精度的场景数据与所述第一神经网络的对应关系,以及所述处理结果。例如,显示模块1260用于执行图9中步骤750。
应理解的是,本申请实施例的数据处理装置1200可以通过ASIC实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图7、图8和图9所示的数据处理方法时,数据处理装置1200及其各个模块也可以为软件模块。
根据本申请实施例的数据处理装置1200可对应于执行本申请实施例中描述的方法,并且数据处理装置1200中的各个单元的上述和其它操作和/或功能分别为了实现图7、图8和图9中的各个方法的相应流程,为了简洁,在此不再赘述。
图13为本实施例提供的一种终端1300的结构示意图。如图所示,终端1300包括处理器1310、总线1320、存储器1330通信接口1340。
应理解,在本实施例中,处理器1310可以是CPU,该处理器1310还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
处理器还可以是GPU、NPU、微处理器、ASIC、或一个或多个用于控制本申请方案程序执行的集成电路。
通信接口1340用于实现终端1300与外部设备或器件的通信。在本实施例中,通信接口1340用于接收待处理的应用数据和场景感知数据。
总线1320可以包括一通路,用于在上述组件(如处理器1310和存储器1330)之间传送信息。总线1320除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1320。
作为一个示例,终端1300可以包括多个处理器。处理器可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的计算单元。处理器1310可以调用存储器1330存储的超网络和预设条件根据所述场景感知数据和所述预设条件确定处理应用数据的第一神经网络,利用所述第一神经网络得到所述应用数据的处理结果。
值得说明的是,图13中仅以终端1300包括1个处理器1310和1个存储器1330为例,此处,处理器1310和存储器1330分别用于指示一类器件或设备,具体实施例中,可以根据业务需求确定每种类型的器件或设备的数量。
存储器1330可以对应上述方法实施例中用于存储超网络和预设条件等信息的存储介质,例如,磁盘,如机械硬盘或固态硬盘。
上述终端1300可以是一个通用设备或者是一个专用设备。例如,终端1300可以是手机终端,平板电脑,笔记本电脑,VR设备、AR设备、混合现实(Mixed Reality,MR)设备或扩展现实(Extended Reality,ER)设备,车载终端等,还可以是边缘设备(例如,携带具有处理能力芯片的盒子)等。可选地,终端1330也可以是服务器或其他具有计算能力的设备。
应理解,根据本实施例的终端1300可对应于本实施例中的数据处理装置1200,并可以对应于执行根据图7、图8和图9中任一方法中的相应主体,并且数据处理装置1200中的各个模块的上述和其它操作和/或功能分别为了实现图7、图8和图9中的各个方法的相应流程,为了简洁,在此不再赘述。
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (21)
1.一种数据处理方法,其特征在于,所述方法由终端执行,所述方法包括:
获取待处理的应用数据;
获取场景感知数据,所述场景感知数据用于指示所述终端处理所述应用数据的影响因素;
根据所述场景感知数据和预设条件确定处理所述应用数据的第一神经网络,所述预设条件用于指示影响神经网络运行的场景数据与神经网络的对应关系;
利用所述第一神经网络得到所述应用数据的处理结果。
2.根据权利要求1所述的方法,其特征在于,所述场景感知数据用于指示所述终端处理所述应用数据时影响速度和精度的因素。
3.根据权利要求2所述的方法,其特征在于,所述场景感知数据包括外部影响因素和内部影响因素中的至少一个;所述外部影响因素用于描述所述终端获取所述应用数据的应用场景特征,所述内部影响因素用于描述所述终端运行所述应用数据的硬件资源的运行场景特征。
4.根据权利要求3所述的方法,其特征在于,所述外部影响因素包含温度数据、湿度数据、光照数据和时间数据中至少一种。
5.根据权利要求3所述的方法,其特征在于,所述内部影响因素包含处理器的计算能力、可用存储容量和可用剩余电量中至少一种。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据所述场景感知数据和预设条件确定处理所述应用数据的第一神经网络,包括:
确定所述预设条件中包括所述场景感知数据的场景数据对应的第一神经网络的参数,所述第一神经网络的参数包括通道的数量和网络层的数量;
根据所述第一神经网络的参数从超网络中确定所述第一神经网络,所述第一神经网络为所述超网络中的子网络,所述超网络用于确定所述场景数据对应的第一神经网络;
其中,所述子网络包含的网络层的数量小于所述超网络包括的网络层的数量,或者,所述子网络包含的通道的数量小于所述超网络包括的通道的数量,每层网络层包括至少一个神经元。
7.根据权利要求6所述的方法,其特征在于,所述终端存储所述超网络和所述超网络包含的至少一个子网络的参数;则所述根据所述第一神经网络的参数从超网络中确定所述第一神经网络包括:
根据所述第一神经网络的参数从所述超网络的权重中确定所述第一神经网络的权重。
8.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据所述场景感知数据和预设条件确定处理所述应用数据的第一神经网络之后,所述方法还包括:
从超网络中确定第二神经网络,所述第二神经网络为所述超网络中的子网络,所述第二神经网络包含的网络层的数量大于或小于所述第一神经网络包括的网络层的数量,或者,所述第二神经网络包含的通道的数量大于或小于所述第一神经网络包括的通道的数量;
利用所述第二神经网络得到所述应用数据的处理结果。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一神经网络的速度和精度不满足用户需求,调整所述第一神经网络对应的场景数据。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
显示影响所述第一神经网络的速度和精度的场景数据与所述第一神经网络的对应关系,以及所述处理结果。
11.一种数据处理装置,其特征在于,所述装置包括:
通信模块,用于获取待处理的应用数据;
所述通信模块,还用于获取场景感知数据,所述场景感知数据用于指示终端处理所述应用数据的影响因素;
选择模块,用于根据所述场景感知数据和预设条件确定处理所述应用数据的第一神经网络,所述预设条件用于指示影响神经网络运行的场景数据与神经网络的对应关系;
检测模块,用于利用所述第一神经网络得到所述应用数据的处理结果。
12.根据权利要求11所述的装置,其特征在于,所述场景感知数据用于指示所述终端处理所述应用数据时影响速度和精度的因素。
13.根据权利要求12所述的装置,其特征在于,所述场景感知数据包括外部影响因素和内部影响因素中的至少一个;所述外部影响因素用于描述所述终端获取所述应用数据的应用场景特征,所述内部影响因素用于描述所述终端运行所述应用数据的硬件资源的运行场景特征。
14.根据权利要求13所述的装置,其特征在于,所述外部影响因素包含温度数据、湿度数据、光照数据和时间数据中至少一种。
15.根据权利要求13所述的装置,其特征在于,所述内部影响因素包含处理器的计算能力、可用存储容量和可用剩余电量中至少一种。
16.根据权利要求11至15中任一项所述的装置,其特征在于,所述选择模块根据所述场景感知数据和预设条件确定处理所述应用数据的第一神经网络时,具体用于:
确定所述预设条件中包括所述场景感知数据的场景数据对应的第一神经网络的参数,所述第一神经网络的参数包括通道的数量和网络层的数量;
根据所述第一神经网络的参数从超网络中确定所述第一神经网络,所述第一神经网络为所述超网络中的子网络,所述超网络用于确定所述场景数据对应的第一神经网络;
其中,所述子网络包含的网络层的数量小于所述超网络包括的网络层的数量,或者,所述子网络包含的通道的数量小于所述超网络包括的通道的数量,每层网络层包括至少一个神经元。
17.根据权利要求16所述的装置,其特征在于,所述终端存储所述超网络和所述超网络包含的至少一个子网络的参数;则所述选择模块根据所述第一神经网络的参数从超网络中确定所述第一神经网络时,具体用于:
根据所述第一神经网络的参数从超网络的权重中确定所述第一神经网络的权重。
18.根据权利要求11至15中任一项所述的装置,其特征在于,所述选择模块,还用于:
从超网络中确定第二神经网络,所述第二神经网络为所述超网络中的子网络,所述第二神经网络包含的网络层的数量大于或小于所述第一神经网络包括的网络层的数量,或者,所述第二神经网络包含的通道的数量大于或小于所述第一神经网络包括的通道的数量;
所述检测模块,还用于利用所述第二神经网络得到所述应用数据的处理结果。
19.根据权利要求11所述的装置,其特征在于,所述装置还包括更新模块;
所述更新模块,用于若所述第一神经网络的速度和精度不满足用户需求,调整所述第一神经网络对应的场景数据。
20.根据权利要求11所述的装置,其特征在于,所述装置还包括显示模块;
所述显示模块,用于显示影响所述第一神经网络的速度和精度的场景数据与所述第一神经网络的对应关系,以及所述处理结果。
21.一种终端,其特征在于,所述终端包括存储器和至少一个处理器,所述存储器用于存储一组计算机指令;当所述处理器执行所述一组计算机指令时,执行上述权利要求1至10中任一所述的方法的操作步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110558861.1A CN114970654B (zh) | 2021-05-21 | 2021-05-21 | 数据处理方法、装置和终端 |
PCT/CN2021/141388 WO2022242175A1 (zh) | 2021-05-21 | 2021-12-24 | 数据处理方法、装置和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110558861.1A CN114970654B (zh) | 2021-05-21 | 2021-05-21 | 数据处理方法、装置和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114970654A CN114970654A (zh) | 2022-08-30 |
CN114970654B true CN114970654B (zh) | 2023-04-18 |
Family
ID=82972903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110558861.1A Active CN114970654B (zh) | 2021-05-21 | 2021-05-21 | 数据处理方法、装置和终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114970654B (zh) |
WO (1) | WO2022242175A1 (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019114147A1 (zh) * | 2017-12-15 | 2019-06-20 | 华为技术有限公司 | 图像美学处理方法及电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115690558A (zh) * | 2014-09-16 | 2023-02-03 | 华为技术有限公司 | 数据处理的方法和设备 |
CN105678278A (zh) * | 2016-02-01 | 2016-06-15 | 国家电网公司 | 一种基于单隐层神经网络的场景识别方法 |
US20200027009A1 (en) * | 2018-07-23 | 2020-01-23 | Kabushiki Kaisha Toshiba | Device and method for optimising model performance |
CN110569984B (zh) * | 2019-09-10 | 2023-04-14 | Oppo广东移动通信有限公司 | 配置信息生成方法、装置、设备及存储介质 |
CN110956269B (zh) * | 2019-10-12 | 2024-05-10 | 平安科技(深圳)有限公司 | 数据模型的生成方法、装置、设备以及计算机存储介质 |
CN110956262A (zh) * | 2019-11-12 | 2020-04-03 | 北京小米智能科技有限公司 | 超网络训练方法及装置、电子设备、存储介质 |
CN111338669B (zh) * | 2020-02-17 | 2023-10-24 | 深圳英飞拓仁用信息有限公司 | 智能分析盒子中智能功能的更新方法及装置 |
CN111459022B (zh) * | 2020-04-21 | 2023-10-20 | 深圳市英维克信息技术有限公司 | 设备参数调整方法、设备控制装置和计算机可读存储介质 |
-
2021
- 2021-05-21 CN CN202110558861.1A patent/CN114970654B/zh active Active
- 2021-12-24 WO PCT/CN2021/141388 patent/WO2022242175A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019114147A1 (zh) * | 2017-12-15 | 2019-06-20 | 华为技术有限公司 | 图像美学处理方法及电子设备 |
Non-Patent Citations (1)
Title |
---|
基于卷积神经网络的室内场景识别;杨鹏等;《郑州大学学报(理学版)》(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114970654A (zh) | 2022-08-30 |
WO2022242175A1 (zh) | 2022-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378381B (zh) | 物体检测方法、装置和计算机存储介质 | |
WO2020192736A1 (zh) | 物体识别方法及装置 | |
CN112445823A (zh) | 神经网络结构的搜索方法、图像处理方法和装置 | |
CN111797983A (zh) | 一种神经网络构建方法以及装置 | |
CN112424795B (zh) | 人脸防伪方法、处理器芯片及电子设备 | |
CN110678873A (zh) | 基于级联神经网络的注意力检测方法、计算机装置及计算机可读存储介质 | |
CN111291809A (zh) | 一种处理装置、方法及存储介质 | |
CN110222718B (zh) | 图像处理的方法及装置 | |
CN112990211A (zh) | 一种神经网络的训练方法、图像处理方法以及装置 | |
CN113570029A (zh) | 获取神经网络模型的方法、图像处理方法及装置 | |
CN111401517A (zh) | 一种感知网络结构搜索方法及其装置 | |
CN111368972A (zh) | 一种卷积层量化方法及其装置 | |
CN113011562A (zh) | 一种模型训练方法及装置 | |
CN112489072B (zh) | 一种车载视频感知信息传输负载优化方法及装置 | |
CN112101114B (zh) | 一种视频目标检测方法、装置、设备以及存储介质 | |
CN112464930A (zh) | 目标检测网络构建方法、目标检测方法、装置和存储介质 | |
WO2023125628A1 (zh) | 神经网络模型优化方法、装置及计算设备 | |
CN110705564B (zh) | 图像识别的方法和装置 | |
CN110909656B (zh) | 一种雷达与摄像机融合的行人检测方法和*** | |
CN116363748A (zh) | 基于红外-可见光图像融合的电网现场作业一体管控方法 | |
CN116187398A (zh) | 一种无人机海洋图像检测用轻量神经网络搭建方法及设备 | |
CN116258940A (zh) | 一种多尺度特征及自适应权重的小目标检测方法 | |
CN117217280A (zh) | 神经网络模型优化方法、装置及计算设备 | |
CN113379045A (zh) | 数据增强方法和装置 | |
CN114970654B (zh) | 数据处理方法、装置和终端 |
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 |