CN110503181A - 用于生成多层神经网络的方法和装置 - Google Patents

用于生成多层神经网络的方法和装置 Download PDF

Info

Publication number
CN110503181A
CN110503181A CN201810478003.4A CN201810478003A CN110503181A CN 110503181 A CN110503181 A CN 110503181A CN 201810478003 A CN201810478003 A CN 201810478003A CN 110503181 A CN110503181 A CN 110503181A
Authority
CN
China
Prior art keywords
layer
output data
neural network
target
multilayer neural
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
Application number
CN201810478003.4A
Other languages
English (en)
Other versions
CN110503181B (zh
Inventor
姜志超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810478003.4A priority Critical patent/CN110503181B/zh
Publication of CN110503181A publication Critical patent/CN110503181A/zh
Application granted granted Critical
Publication of CN110503181B publication Critical patent/CN110503181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Abstract

本申请实施例公开了用于生成多层神经网络的方法和装置。该方法的一具体实施方式包括:将预先获取到的针对初始多层神经网络的输入数据输入至初始多层神经网络,得到初始多层神经网络所包含的层序列中的各个层的初始输出数据;基于预先获取到的目标输出数据,确定目标层子序列中的各个层的目标输出数据;执行如下更新步骤,以生成新多层神经网络:针对层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,以及将该层的初始权重值更新为该层的目标权重值。该实施方式丰富了多层神经网络的生成方式,有助于提高多层神经网络的训练效率。

Description

用于生成多层神经网络的方法和装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及用于生成多层神经网络的方法和装置。
背景技术
多层神经网络(Multilayer Perceptron,MLP),即多层感知器,是一种人工神经网络,映射一组输入向量到一组输出向量。多层神经网络可以被看作是一个有向图,由多个节点层组成,每一层全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(或称处理单元)。
通常情况下,一种被称为反向传播算法的监督学习方法可以被用来训练多层神经网络。
发明内容
本申请实施例提出了用于生成多层神经网络的方法和装置。
第一方面,本申请实施例提供了一种用于生成多层神经网络的方法,该方法包括:将预先获取到的针对初始多层神经网络的输入数据输入至初始多层神经网络,得到初始多层神经网络所包含的层序列中的各个层的初始输出数据;基于预先获取到的目标输出数据,确定目标层子序列中的各个层的目标输出数据,其中,预先获取到的目标输出数据是与输入数据对应的、层序列中的最后一层的目标输出数据,目标层子序列是层序列中除最后一层之外的其他层组成的序列;执行如下更新步骤,以生成新多层神经网络:针对层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,以及将该层的初始权重值更新为该层的目标权重值。
在一些实施例中,基于预先获取到的目标输出数据,确定目标层子序列中的各个层的目标输出数据,包括:基于预先获取到的目标输出数据,针对目标层子序列中的每个层,利用启发法和该层的后一层传到该层的梯度值,确定该层的目标输出数据。
在一些实施例中,上述该层的后一层传到该层的梯度值是基于该层的后一层的目标输出数据和该层的后一层的损失函数得到的。
在一些实施例中,对于上述目标层子序列中的层,该层的损失函数是关于该层的目标输出、该层的初始输出和该层的后一层传到该层的梯度的函数,其中,该层的目标输出的取值为该层的目标输出数据,该层的初始输出的取值为该层的初始输出数据,该层的后一层传到该层的梯度的取值为该层的后一层传到该层的梯度值。
在一些实施例中,输入数据是图像,预先获取到的目标输出数据是用于表征输入的图像是否包括人脸图像的检测结果。
在一些实施例中,上述方法还包括:响应于确定新多层神经网络的准确度大于预设的准确度阈值,存储新多层神经网络。
第二方面,本申请实施例提供了一种用于检测图像的方法,该方法包括:获取待检测图像;将待检测图像输入多层神经网络,生成检测结果,其中,多层神经网络是按照上述用于生成多层神经网络的方法中后两个实施例中任一实施例的方法生成的。
第三方面,本申请实施例提供了一种用于生成多层神经网络的装置,该装置包括:输入单元,被配置成将预先获取到的针对初始多层神经网络的输入数据输入至初始多层神经网络,得到初始多层神经网络所包含的层序列中的各个层的初始输出数据;确定单元,被配置成基于预先获取到的目标输出数据,确定目标层子序列中的各个层的目标输出数据,其中,预先获取到的目标输出数据是与输入数据对应的、层序列中的最后一层的目标输出数据,目标层子序列是层序列中除最后一层之外的其他层组成的序列;生成单元,被配置成执行如下更新步骤,以生成新多层神经网络:针对层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,以及将该层的初始权重值更新为该层的目标权重值。
在一些实施例中,确定单元,进一步被配置成基于预先获取到的目标输出数据,针对目标层子序列中的每个层,利用启发法和该层的后一层传到该层的梯度值,确定该层的目标输出数据。
在一些实施例中,该层的后一层传到该层的梯度值是基于该层的后一层的目标输出数据和该层的后一层的损失函数得到的。
在一些实施例中,对于上述目标层子序列中的层,该层的损失函数是关于该层的目标输出、该层的初始输出和该层的后一层传到该层的梯度的函数,其中,该层的目标输出的取值为该层的目标输出数据,该层的初始输出的取值为该层的初始输出数据,该层的后一层传到该层的梯度的取值为该层的后一层传到该层的梯度值。
在一些实施例中,输入数据是图像,预先获取到的目标输出数据是用于表征输入的图像是否包括人脸图像的检测结果。
在一些实施例中,上述装置还包括:存储单元,被配置成响应于确定新多层神经网络的准确度大于预设的准确度阈值,存储新多层神经网络。
第四方面,本申请实施例提供了一种用于检测图像的装置,该装置包括:获取单元,被配置成获取待检测图像;输入单元,被配置成将待检测图像输入多层神经网络,生成检测结果,其中,多层神经网络是按照上述用于生成多层神经网络的方法中后两个实施例中任一实施例的方法生成的。
第五方面,本申请实施例提供了一种用于生成多层神经网络的电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行,使得该一个或多个处理器实现如上述用于生成多层神经网络的方法或上述用于检测图像的方法中任一实施例的方法。
第六方面,本申请实施例提供了一种用于生成多层神经网络的计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述用于生成多层神经网络的方法或上述用于检测图像的方法中任一实施例的方法。
本申请实施例提供的用于生成多层神经网络的方法和装置,通过将预先获取到的针对初始多层神经网络的输入数据输入至初始多层神经网络,得到初始多层神经网络所包含的层序列中的各个层的初始输出数据,然后,基于预先获取到的目标输出数据,确定目标层子序列中的各个层的目标输出数据,其中,预先获取到的目标输出数据是与输入数据对应的、层序列中的最后一层的目标输出数据,目标层子序列是层序列中除最后一层之外的其他层组成的序列,最后,执行如下更新步骤,以生成新多层神经网络:针对层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,以及将该层的初始权重值更新为该层的目标权重值,从而丰富了多层神经网络的生成方式,有助于提高多层神经网络的训练效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的用于生成多层神经网络的方法的一个实施例的流程图;
图3是根据本申请的用于生成多层神经网络的方法的一个应用场景的示意图;
图4是根据本申请的用于生成多层神经网络的方法的又一个实施例的流程图;
图5是根据本申请的用于生成多层神经网络的装置的一个实施例的结构示意图;
图6是根据本申请的用于检测图像的方法的一个实施例的流程图;
图7是根据本申请的用于监测图像的装置的一个实施例的结构示意图;
图8是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的用于生成多层神经网络的方法或用于生成多层神经网络的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种客户端应用,例如图像处理应用、语音识别应用、网页浏览器应用、购物类应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有信息接收和/或信息发送功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103发送的数据提供支持的后台数据处理服务器。后台数据处理服务器可以对接收到的待检测图像进行分析等处理,并将处理结果(例如检测结果)反馈给终端设备。
需要说明的是,本申请实施例所提供的用于生成多层神经网络的方法通常由服务器105执行,相应地,用于生成多层神经网络的装置通常设置于服务器105中;然而,本申请实施例所提供的用于生成多层神经网络的方法也可以由终端设备101、102、103执行,相应地,用于生成多层神经网络的装置也可以设置于终端设备101、102、103中。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。当用于生成多层神经网络的方法运行于其上的电子设备不需要与其他设备进行数据传输时,该系统架构可以不包括网络。
继续参考图2,示出了根据本申请的用于生成多层神经网络的方法的一个实施例的流程200。该用于生成多层神经网络的方法,包括以下步骤:
步骤201,将预先获取到的针对初始多层神经网络的输入数据输入至初始多层神经网络,得到初始多层神经网络所包含的层序列中的各个层的初始输出数据。
在本实施例中,用于生成多层神经网络的方法的执行主体(例如图1所示的服务器或终端设备)可以通过有线连接方式或者无线连接方式从其他电子设备或者本地,获取针对初始多层神经网络的输入数据。然后,上述执行主体可以将上述输入数据输入至该初始多层神经网络,由此得到初始多层神经网络所包含的层序列中的各个层的初始输出数据。其中,上述初始多层神经网络可以是未经训练或训练后输出未达到预期输出的多层神经网络。上述多层神经网络可以是卷积神经网络、深度神经网络、循环神经网络等等。上述多层神经网络可以包括由多个层组成的层序列。例如,上述多层神经网络可以包括输入层、激活层、卷积层、全连接层、输出层等等。
在这里,上述输入数据可以是在训练上述初始多层神经网络时,技术人员确定的训练样本中所包括的作为初始多层神经网络的输入的数据。该输入数据可以通过多种形式表征,例如,该输入数据可以通过数值、向量、矩阵等形式表征。上述初始多层神经网络所包含的层序列中的层可以是以下一个层,也可以是多个层的组合:输入层、激活层、卷积层、全连接层、输出层。上述初始输出数据可以是将上述输入数据输入到初始多层神经网络,经过计算后,初始多层神经网络所输出的数据。该初始输出数据可以通过多种形式表征,例如,该初始输出数据可以通过数值、向量、矩阵等形式表征。
可以理解,在上述层序列中,每一层的输入可以是该层的前一层(如果有前一层的话)的输出;该层的输出可以是该层的后一层(如果有后一层的话)的输入;该层的输出可以由该层的输入数据与该层的权重值进行运算(例如卷积等)得到。由此,上述执行主体将上述输入数据输入至初始多层神经网络之后,可以得到该初始多层神经网络所包含的层序列中的各个层的初始输出数据。其中,上述权重值可以通过多种形式表征,例如,可以通过数值、向量、矩阵等形式表征。可以理解,当上述初始多层神经网络为卷积神经网络时,上述权重值可以为卷积神经网络的卷积核。
步骤202,基于预先获取到的目标输出数据,确定目标层子序列中的各个层的目标输出数据。
在本实施例中,上述执行主体可以通过有线连接方式或者无线连接方式从其他电子设备或者本地,获取目标输出数据。之后,上述执行主体可以基于上述目标输出数据,确定目标层子序列中的各个层的目标输出数据。其中,预先获取到的目标输出数据是与输入数据对应的、层序列中的最后一层的目标输出数据,目标层子序列是层序列中除最后一层之外的其他层组成的序列。
可以理解,由于初始多层神经网络是由层序列组成的,因而,初始多层神经网络输出的数据即为层序列中的最后一层输出的数据。上述目标输出数据可以是将上述输入数据输入上述初始多层神经网络后,技术人员期望初始多层神经网络输出的数据。实践中,对于模型(例如多层神经网络)的训练,通常需要由技术人员确定训练样本,该训练样本包括输入数据,以及与该输入数据对应的、期望模型(例如多层神经网络)输出的输出数据。在这里,上述输入数据和目标输出数据可以分别作为上述初始多层神经网络的训练的训练样本中所包括的输入数据和输出数据。对于每一层而言,该层的目标输出数据可以是将该层的输入数据输入到该层之后,技术人员期望该层输出的数据。
示例性的,上述步骤202可以如下执行:
第一步骤,上述执行主体可以获取针对层序列中的最后一层的损失函数。
第二步骤,上述执行主体可以确定上述最后一层的损失函数关于最后一层的权重的偏导,由此得到最后一层传到倒数第二层(即最后一层的前一层)的梯度值。
第三步骤,上述执行主体可以计算第二步骤中得到的梯度值与倒数第二层的初始输出数据的乘积,将上述乘积与倒数第二层的初始输出数据的和确定为倒数第二层的目标输出数据。
第四步骤,上述执行主体可以将倒数第二层作为最后一层,将倒数第三层作为倒数第二层,执行上述第一步骤至第三步骤,得到倒数第三层的目标输出数据;将倒数第三层作为最后一层,将倒数第四层作为倒数第二层,执行上述第一步骤至第三步骤,得到倒数第四层的目标输出数据,以此类推,直到确定出目标层子序列中的各个层的目标输出数据。
步骤203,执行如下更新步骤,以生成新多层神经网络:针对层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,以及将该层的初始权重值更新为该层的目标权重值。
在本实施例中,上述执行主体可以执行如下更新步骤,以生成新多层神经网络:首先,针对上述层序列中的每个层,上述执行主体可以基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,然后上述执行主体可以将该层的初始权重值更新为该层的目标权重值。其中,上述初始权重值是未经训练或训练后输出未达到预期输出的多层神经网络的权重值。上述该层的目标权重值是在训练过程中计算得到的,用于替换上述初始权重值的权重值。上述该层的目标权重值、初始权重值可以通过多种形式表征,例如,目标权重值、初始权重值可以通过数值、向量、矩阵等形式表征。可以理解,当上述初始多层神经网络为卷积神经网络时,上述该层的目标权重值以及初始权重值可以为卷积神经网络的卷积核。
作为示例,上述执行主体可以利用梯度下降法、最小二乘法等,针对层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值。
在本实施例的一些可选的实现方式中,上述该层的后一层传到该层的梯度值可以基于该层的后一层的目标输出数据和该层的后一层的损失函数得到。其中,上述该层的损失函数可以是0-1损失函数,也可以是绝对值损失函数,还可以是关于该层的目标输出、该层的初始输出和该层的后一层传到该层的梯度的函数等等。
作为示例,上述执行主体可以计算该层的损失函数关于该层的权重的偏导,然后,将该层的后一层的目标输出数据代入计算偏导所得到的结果中,从而得到该层的后一层传到该层的梯度值。可选的,上述执行主体还可以利用梯度下降法,基于该层的后一层的目标输出数据和该层的后一层的损失函数得到该层的后一层传到该层的梯度值。
在本实施例的一些可选的实现方式中,对于上述目标层子序列中的层,该层的损失函数是关于该层的目标输出、该层的初始输出和该层的后一层传到该层的梯度的函数,其中,该层的目标输出的取值为该层的目标输出数据,该层的初始输出的取值为该层的初始输出数据,该层的后一层传到该层的梯度的取值为该层的后一层传到该层的梯度值。
可以理解,针对除最后一层之外的某一层,该层的损失函数可以表示为:
Loss=f(Out',Out″,diff)
其中,Loss为该层的损失函数的因变量,Loss的取值为损失函数的函数值。Out'为该层的初始输出,Out'的取值为该层的初始输出数据。Out″为该层的目标输出,Out″的取值为该层的目标输出数据。diff为该层的后一层传到该层的梯度,diff的取值为该层的后一层传到该层的梯度值。f(Out',Out″,diff)用于表征对Out'、Out″、diff施加对应法则f。该对应法则可以由技术人员设定。
示例性的,针对某一层,该层的损失函数可以是Loss=F'(Out',Out″)×diff。其中,Loss为该层的损失函数的因变量,Loss的取值为损失函数的函数值。Out'为该层的初始输出,Out'的取值为该层的初始输出数据。Out″为该层的目标输出,Out″的取值为该层的目标输出数据。diff为该层的后一层传到该层的梯度,diff的取值为该层的后一层传到该层的梯度值。F'(Out',Out″)用于表征对Out'、Out″、施加对应法则F'。该对应法则可以由技术人员设定。
在本实施例的一些可选的实现方式中,上述输入数据可以是图像,预先获取到的目标输出数据可以是用于表征输入的图像是否包括人脸图像的检测结果。其中,上述待检测图像可以是任意图像,例如,上述待检测图像可以是包括人脸的图像,也可以是不包括人脸的图像等等。
在本实施例的一些可选的实现方式中,上述执行主体还可以:响应于确定新多层神经网络的准确度大于预设的准确度阈值,存储新多层神经网络。其中,上述新多层神经网络的准确度可以通过精确率(precision)、准确率(Accuracy)、召回率(Recall)、F1值(F1-Measure)中的任意一个或者多个的加权求和得到。上述准确度阈值可以是技术人员预先设置的用于区分新多层神经网络的准确度是否达到训练要求的数值。例如,上述准确度阈值可以是80%、85%等等。
可以理解,上述图像和检测结果可以通过数值、向量、矩阵等形式表征。
继续参见图3,图3是根据本实施例的用于生成多层神经网络的方法的应用场景的一个示意图。在图3的应用场景中,服务器首先获取到针对初始多层神经网络的输入数据(图示中为5)和目标输出数据(图示中为119)301。然后,服务器将上述输入数据(即5)输入至初始多层神经网络,得到初始多层神经网络所包含的层序列中的各个层(即层302、303、304)的初始输出数据1(例如10)、初始输出数据2(例如40)、初始输出数据3(例如120)。之后,上述服务器确定出层303的目标输出数据为38.4,层302的目标输出数据为9.4。之后,服务器采用上述方法,根据层304的初始输出数据3(即120)和层304的目标输出数据(即119),确定出层304的目标权重值为3.1;根据层303的初始输出数据2(即40)和层303目标输出数据(即38.4),确定出层303的目标权重值为4.1;根据层302的初始输出数据1(即10)和层302目标输出数据(即9.4),确定出层302的目标权重值为1.9。最后,上述服务器将层304的初始权重值“3”(即权重3的取值)更新为目标权重值“3.1”;将层303的初始权重值“4”(即权重2的取值)更新为目标权重值“4.1”;将层302的初始权重值“2”(即权重1的取值)更新为目标权重值“1.9”。由此,得到了新多层神经网络。
本申请的上述实施例提供的方法,通过将预先获取到的针对初始多层神经网络的输入数据输入至初始多层神经网络,得到初始多层神经网络所包含的层序列中的各个层的初始输出数据,然后,基于预先获取到的目标输出数据,确定目标层子序列中的各个层的目标输出数据,其中,预先获取到的目标输出数据是与输入数据对应的、层序列中的最后一层的目标输出数据,目标层子序列是层序列中除最后一层之外的其他层组成的序列,最后执行如下更新步骤,以生成新多层神经网络:针对层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,以及将该层的初始权重值更新为该层的目标权重值,从而丰富了多层神经网络的生成方式,有助于提高多层神经网络的训练效率。
进一步参考图4,其示出了用于生成多层神经网络的方法的又一个实施例的流程400。该用于生成多层神经网络的方法的流程400,包括以下步骤:
步骤401,将预先获取到的针对初始多层神经网络的输入数据输入至初始多层神经网络,得到初始多层神经网络所包含的层序列中的各个层的初始输出数据。
在本实施例中,步骤401与图2对应实施例中的步骤201基本一致,这里不再赘述。
步骤402,基于预先获取到的目标输出数据,针对目标层子序列中的每个层,利用启发法和该层的后一层传到该层的梯度值,确定该层的目标输出数据。
在本实施例中,上述执行主体可以基于预先获取到的目标输出数据,针对目标层子序列中的每个层,利用启发法和该层的后一层传到该层的梯度值,确定该层的目标输出数据。其中,预先获取到的目标输出数据是与输入数据对应的、层序列中的最后一层的目标输出数据,目标层子序列是层序列中除最后一层之外的其他层组成的序列。上述该层的后一层传到该层的梯度值可以基于该层的后一层的目标输出数据和该层的后一层的损失函数得到。其中,上述该层的损失函数可以是0-1损失函数,也可以是绝对值损失函数,还可以是关于该层的目标输出、该层的初始输出和该层的后一层传到该层的梯度的函数等等。上述启发法是一种逐次接近最优解的方法。启发法对所求得的解进行反复判断、修正,直到达到技术人员所设置的条件。
作为示例,上述步骤402可以如下执行:
第一步骤,上述执行主体可以获取针对层序列中的最后一层的损失函数。
第二步骤,上述执行主体可以确定上述最后一层的损失函数关于最后一层的权重的偏导,由此得到最后一层传到倒数第二层(即最后一层的前一层)的梯度值。
第三步骤,上述执行主体可以通过如下公式确定出倒数第二层的目标输出数据:
Out″=H(diff)
其中,Out″为倒数第二层的目标输出,Out″的取值为倒数第二层的目标输出数据。diff为最后一层传到倒数第二层的梯度,diff的取值为最后一层传到倒数第二层的梯度值。H(diff)用于表征对diff施加对应法则H。该对应法则可以由技术人员设定。Out″=H(diff)为启发函数。示例性的,该启发函数可以是Out″=sign(-diff)等。需要说明的是,技术人员可以针对不同的初始多层神经网络,确定不同的启发函数,在此不作限定。
第四步骤,上述执行主体可以将倒数第二层作为最后一层,将倒数第三层作为倒数第二层,执行上述第一步骤至第三步骤,得到倒数第三层的目标输出数据;将倒数第三层作为最后一层,将倒数第四层作为倒数第二层,执行上述第一步骤至第三步骤,得到倒数第四层的目标输出数据,以此类推,直到确定出目标层子序列中的各个层的目标输出数据。
可选的,上述损失函数还可以是hinge损失函数、euclidean损失函数,也可以是上述任一损失函数的变体,还可以是其他损失函数,本申请实施例对此不作限定。
步骤403,执行如下更新步骤,以生成新多层神经网络:针对层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,以及将该层的初始权重值更新为该层的目标权重值。
在本实施例中,步骤403与图2对应实施例中的步骤203基本一致,这里不再赘述。
从图4中可以看出,与图2对应的实施例相比,本实施例中的用于生成多层神经网络的方法的流程400突出了利用启发法确定目标输出数据的步骤。由此,本实施例描述的方案可以进一步丰富了多层神经网络的生成方式,提高了多层神经网络的训练效率。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于生成多层神经网络的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,除下面所记载的特征、效果外,该装置实施例还可以包括与图2所示的方法实施例相同或相应的特征及其产生的效果。该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于生成多层神经网络的装置500包括:输入单元501、确定单元502和生成单元503。其中,输入单元501被配置成将预先获取到的针对初始多层神经网络的输入数据输入至初始多层神经网络,得到初始多层神经网络所包含的层序列中的各个层的初始输出数据;确定单元502被配置成基于预先获取到的目标输出数据,确定目标层子序列中的各个层的目标输出数据,其中,预先获取到的目标输出数据是与输入数据对应的、层序列中的最后一层的目标输出数据,目标层子序列是层序列中除最后一层之外的其他层组成的序列;生成单元503被配置成执行如下更新步骤,以生成新多层神经网络:针对层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,以及将该层的初始权重值更新为该层的目标权重值。
在本实施例中,用于生成多层神经网络的装置500的输入单元501可以通过有线连接方式或者无线连接方式从其他电子设备或者本地,获取针对初始多层神经网络的输入数据。然后,上述输入单元501可以将上述输入数据输入至该初始多层神经网络,由此得到初始多层神经网络所包含的层序列中的各个层的初始输出数据。其中,上述初始多层神经网络可以是未经训练或训练后输出未达到预期输出的多层神经网络。上述多层神经网络可以是卷积神经网络、深度神经网络、循环神经网络等等。上述多层神经网络可以包括由多个层组成的层序列。例如,上述多层神经网络可以包括输入层、激活层、卷积层、全连接层、输出层等等。上述输入数据可以是在训练上述初始多层神经网络时,技术人员确定的训练样本中所包括的作为初始多层神经网络的输入的数据。该输入数据可以通过多种形式表征,例如,该输入数据可以通过数值、向量、矩阵等形式表征。上述初始多层神经网络所包含的层序列中的层可以是以下一个层,也可以是多个层的组合:输入层、激活层、卷积层、全连接层、输出层。上述初始输出数据可以是将上述输入数据输入到初始多层神经网络经过计算后,初始多层神经网络所输出的数据。该初始输出数据可以通过多种形式表征,例如,该初始输出数据可以通过数值、向量、矩阵等形式表征。
可以理解,在上述层序列中,每一层的输入可以是该层的前一层(如果有前一层的话)的输出;该层的输出可以是该层的后一层(如果有后一层的话)的输入;该层的输出可以由该层的输入数据与该层的权重值进行运算(例如卷积等)得到。由此,上述输入单元501将上述输入数据输入至初始多层神经网络之后,可以得到该初始多层神经网络所包含的层序列中的各个层的初始输出数据。
在本实施例中,上述确定单元502可以通过有线连接方式或者无线连接方式从其他电子设备或者本地,获取目标输出数据。之后,上述确定单元502可以基于上述目标输出数据,确定目标层子序列中的各个层的目标输出数据。其中,预先获取到的目标输出数据是与输入数据对应的、层序列中的最后一层的目标输出数据,目标层子序列是层序列中除最后一层之外的其他层组成的序列。
可以理解,由于初始多层神经网络是由层序列组成的,因而,初始多层神经网络输出的数据即为层序列中的最后一层输出的数据。上述目标输出数据可以是将上述输入数据输入上述初始多层神经网络后,技术人员期望初始多层神经网络输出的数据。实践中,对于模型(例如多层神经网络)的训练,通常需要由技术人员确定训练样本,该训练样本包括输入数据,以及与该输入数据对应的、期望模型输出的输出数据。在这里,上述输入数据和目标输出数据可以分别作为上述初始多层神经网络的训练的训练样本中所包括的输入数据和输出数据。对于每一层而言,该层的目标输出数据可以是将该层的输入数据输入到该层之后,技术人员期望该层输出的数据。
示例性的,该确定单元502可以如下执行:
第一步骤,上述确定单元502可以获取针对层序列中的最后一层的损失函数。
第二步骤,上述确定单元502可以确定上述最后一层的损失函数关于最后一层的权重的偏导,由此得到最后一层传到倒数第二层(即最后一层的前一层)的梯度值。
第三步骤,上述确定单元502可以计算第二步骤所得到的梯度值与倒数第二层的初始输出数据的乘积,将上述乘积与倒数第二层的初始输出数据的和确定为倒数第二层的目标输出数据。
第四步骤,上述确定单元502可以将倒数第二层作为最后一层,将倒数第三层作为倒数第二层,执行上述第一步骤至第三步骤,得到倒数第三层的目标输出数据;将倒数第三层作为最后一层,将倒数第四层作为倒数第二层,执行上述第一步骤至第三步骤,得到倒数第四层的目标输出数据,以此类推,直到确定出目标层子序列中的各个层的目标输出数据。
在本实施例中,上述生成单元503可以基于输入单元501得到的各个层的初始输出数据和确定单元502得到的各个层的目标输出数据,执行如下更新步骤,以生成新多层神经网络:针对层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,以及将该层的初始权重值更新为该层的目标权重值。其中,上述初始权重值是未经训练或训练后输出未达到预期输出的多层神经网络的权重值。上述该层的目标权重值是在训练过程中计算得到的,用于替换上述初始权重值的权重值。
作为示例,上述生成单元503可以利用梯度下降法、最小二乘法等,针对层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值。需要说明的是,上述利用梯度下降法,确定该层的目标权重值,是本领域的技术人员的公知技术在此不再赘述。
在本实施例的一些可选的实现方式中,确定单元502进一步被配置成基于预先获取到的目标输出数据,针对目标层子序列中的每个层,利用启发法和该层的后一层传到该层的梯度值,确定该层的目标输出数据。其中,启发法是一种逐次通近最优解的方法。启发法对所求得的解进行反复判断、修正,直到达到技术人员所设置的条件。
在本实施例的一些可选的实现方式中,该层的后一层传到该层的梯度值是基于该层的后一层的目标输出数据和该层的后一层的损失函数得到的。其中,上述该层的损失函数可以是0-1损失函数,也可以是绝对值损失函数,还可以是关于该层的目标输出、该层的初始输出和该层的后一层传到该层的梯度的函数等等。
作为示例,上述装置500可以计算该层的损失函数关于该层的权重的偏导,然后,将该层的后一层的目标输出数据代入计算偏导所得到的结果中,从而得到该层的后一层传到该层的梯度值。可选的,上述装置500还可以利用梯度下降法,基于该层的后一层的目标输出数据和该层的后一层的损失函数得到该层的后一层传到该层的梯度值。
在本实施例的一些可选的实现方式中,对于上述目标层子序列中的层,该层的损失函数是关于该层的目标输出、该层的初始输出和该层的后一层传到该层的梯度的函数,其中,该层的目标输出的取值为该层的目标输出数据,该层的初始输出的取值为该层的初始输出数据,该层的后一层传到该层的梯度的取值为该层的后一层传到该层的梯度值。可以理解,针对某一层,该层的损失函数可以表示为:
Loss=f(Out',Out″,diff)
其中,Loss为该层的损失函数的因变量,Loss的取值为损失函数的函数值。Out'为该层的初始输出,Out'的取值为该层的初始输出数据。Out″为该层的目标输出,Out″的取值为该层的目标输出数据。diff为该层的后一层传到该层的梯度,diff的取值为该层的后一层传到该层的梯度值。f(Out',Out″,diff)用于表征对Out'、Out″、diff施加对应法则f。该对应法则可以由技术人员设定。
示例性的,针对某一层,该层的损失函数可以是Loss=F'(Out',Out″)×diff。其中,Loss为该层的损失函数的因变量,Loss的取值为损失函数的函数值。Out'为该层的初始输出,Out'的取值为该层的初始输出数据。Out″为该层的目标输出,Out″的取值为该层的目标输出数据。diff为该层的后一层传到该层的梯度,diff的取值为该层的后一层传到该层的梯度值。F'(Out',Out″)用于表征对Out'、Out″、施加对应法则F'。该对应法则可以由技术人员设定。
在本实施例的一些可选的实现方式中,上述输入数据是图像,预先获取到的目标输出数据是用于表征输入的图像是否包括人脸图像的检测结果。其中,上述待检测图像可以是任意图像,例如,上述待检测图像可以是包括人脸的图像,也可以是不包括人脸的图像等等。
在本实施例的一些可选的实现方式中,上述装置还包括:存储单元,被配置成响应于确定新多层神经网络的准确度大于预设的准确度阈值,存储新多层神经网络。其中,上述新多层神经网络的准确度通过精确率(precision)、准确率(Accuracy)、召回率(Recall)、F1值(F1-Measure)中的任意一个或者多个的加权求和得到。上述准确度阈值可以是技术人员预先设置的用于区分新多层神经网络的准确度是否达到训练要求的数值。例如,上述准确度阈值可以是80%、85%等等。
可以理解,上述图像和检测结果可以通过数值、向量、矩阵等形式表征。
本申请的上述实施例提供的装置,通过输入单元501将预先获取到的针对初始多层神经网络的输入数据输入至初始多层神经网络,得到初始多层神经网络所包含的层序列中的各个层的初始输出数据,然后确定单元502基于预先获取到的目标输出数据,确定目标层子序列中的各个层的目标输出数据,最后生成单元503执行如下更新步骤,以生成新多层神经网络:针对层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,以及将该层的初始权重值更新为该层的目标权重值,从而丰富了多层神经网络的生成方式,有助于提高多层神经网络的训练效率。
请继续参考图6,示出了根据本申请的用于检测图像的方法的一个实施例的流程600。该用于检测图像的方法,包括以下步骤:
步骤601,获取待检测图像。
在本实施例中,用于检测图像的方法的执行主体(例如图1所示的服务器或终端设备)可以通过有线连接方式或者无线连接方式从其他电子设备或者本地,获取待检测图像。其中,该用于检测图像的方法的执行主体与上述用于生成多层神经网络的方法的执行主体可以为同一执行主体,也可以是不同执行主体。上述待检测图像可以是用于检测其上是否包括人脸图像的图像。
步骤602,将待检测图像输入多层神经网络,生成检测结果。
在本实施例中,上述执行主体可以将待检测图像输入多层神经网络,生成检测结果。其中,该多层神经网络可以是按照上述用于生成多层神经网络的方法中后两个实施例中任一实施例的方法生成的。上述检测结果可以用于表征输入的待检测图像是否包括人脸图像。
本申请的上述实施例提供的方法,通过将待检测图像输入按照上述用于生成多层神经网络的方法中后两个实施例中任一实施例的方法生成的多层神经网络,生成检测结果,从而丰富了人脸检测的方式。
下面请参考图7,示出了一种用于检测人脸图像的装置的一个实施例,该装置实施例与图6所示的方法实施例相对应,除下面所记载的特征、效果外,该装置实施例还可以包括与图2所示的方法实施例相同或相应的特征及其产生的效果。该装置具体可以应用于各种电子设备中。
如图7所示,本实施例的用于检测人脸图像的装置700包括:获取单元701和输入单元702。其中,获取单元701被配置成获取待检测图像;输入单元702被配置成将待检测图像输入多层神经网络,生成检测结果,其中,多层神经网络是按照上述用于生成多层神经网络的方法中后两个实施例中任一实施例的方法生成的。
在本实施例中,用于检测人脸图像的装置700的获取单元701可以通过有线连接方式或者无线连接方式从其他电子设备或者本地,获取待检测图像。
在本实施例中,上述输入单元702可以将待检测图像输入多层神经网络,生成检测结果。其中,该多层神经网络可以是按照上述用于生成多层神经网络的方法中后两个实施例中任一实施例的方法生成的。上述检测结果可以用于表征输入的待检测图像是否包括人脸图像。
本申请的上述实施例提供的装置,通过获取单元701获取待检测图像;输入单元702将待检测图像输入多层神经网络,生成检测结果,其中,多层神经网络是按照上述用于生成多层神经网络的方法中后两个实施例中任一实施例的方法生成的,从而丰富了人脸检测的方式。
下面参考图8,其示出了适于用来实现本申请实施例的控制设备的计算机系统800的结构示意图。图8示出的控制设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括输入单元、确定单元和生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,输入单元还可以被描述为“将预先获取到的针对初始多层神经网络的输入数据输入至初始多层神经网络,得到初始多层神经网络所包含的层序列中的各个层的初始输出数据的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:将预先获取到的针对初始多层神经网络的输入数据输入至初始多层神经网络,得到初始多层神经网络所包含的层序列中的各个层的初始输出数据;基于预先获取到的目标输出数据,确定目标层子序列中的各个层的目标输出数据,其中,预先获取到的目标输出数据是与输入数据对应的、层序列中的最后一层的目标输出数据,目标层子序列是层序列中除最后一层之外的其他层组成的序列;执行如下更新步骤,以生成新多层神经网络:针对层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,以及将该层的初始权重值更新为该层的目标权重值。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (16)

1.一种用于生成多层神经网络的方法,包括:
将预先获取到的针对初始多层神经网络的输入数据输入至所述初始多层神经网络,得到所述初始多层神经网络所包含的层序列中的各个层的初始输出数据;
基于预先获取到的目标输出数据,确定目标层子序列中的各个层的目标输出数据,其中,所述预先获取到的目标输出数据是与所述输入数据对应的、所述层序列中的最后一层的目标输出数据,所述目标层子序列是所述层序列中除所述最后一层之外的其他层组成的序列;
执行如下更新步骤,以生成新多层神经网络:针对所述层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,以及将该层的初始权重值更新为该层的目标权重值。
2.根据权利要求1所述的方法,其中,所述基于预先获取到的目标输出数据,确定目标层子序列中的各个层的目标输出数据,包括:
基于预先获取到的目标输出数据,针对目标层子序列中的每个层,利用启发法和该层的后一层传到该层的梯度值,确定该层的目标输出数据。
3.根据权利要求2所述的方法,其中,所述该层的后一层传到该层的梯度值是基于该层的后一层的目标输出数据和该层的后一层的损失函数得到的。
4.根据权利要求3所述的方法,其中,对于所述目标层子序列中的层,该层的损失函数是关于该层的目标输出、该层的初始输出和该层的后一层传到该层的梯度的函数,其中,该层的目标输出的取值为该层的目标输出数据,该层的初始输出的取值为该层的初始输出数据,该层的后一层传到该层的梯度的取值为该层的后一层传到该层的梯度值。
5.根据权利要求1-4之一所述的方法,其中,所述输入数据是图像,所述预先获取到的目标输出数据是用于表征输入的图像是否包括人脸图像的检测结果。
6.根据权利要求5所述的方法,其中,所述方法还包括:
响应于确定所述新多层神经网络的准确度大于预设的准确度阈值,存储所述新多层神经网络。
7.一种用于检测图像的方法,包括:
获取待检测图像;
将所述待检测图像输入多层神经网络,生成检测结果,其中,所述多层神经网络是按照权利要求5或6所述的方法生成的。
8.一种用于生成多层神经网络的装置,包括:
输入单元,被配置成将预先获取到的针对初始多层神经网络的输入数据输入至所述初始多层神经网络,得到所述初始多层神经网络所包含的层序列中的各个层的初始输出数据;
确定单元,被配置成基于预先获取到的目标输出数据,确定目标层子序列中的各个层的目标输出数据,其中,所述预先获取到的目标输出数据是与所述输入数据对应的、所述层序列中的最后一层的目标输出数据,所述目标层子序列是所述层序列中除所述最后一层之外的其他层组成的序列;
生成单元,被配置成执行如下更新步骤,以生成新多层神经网络:针对所述层序列中的每个层,基于该层的初始输出数据和该层的目标输出数据,确定该层的目标权重值,以及将该层的初始权重值更新为该层的目标权重值。
9.根据权利要求8所述的装置,其中,所述确定单元,进一步被配置成:
基于预先获取到的目标输出数据,针对目标层子序列中的每个层,利用启发法和该层的后一层传到该层的梯度值,确定该层的目标输出数据。
10.根据权利要求9所述的装置,其中,所述该层的后一层传到该层的梯度值是基于该层的后一层的目标输出数据和该层的后一层的损失函数得到的。
11.根据权利要求10所述的装置,其中,对于所述目标层子序列中的层,该层的损失函数是关于该层的目标输出、该层的初始输出和该层的后一层传到该层的梯度的函数,其中,该层的目标输出的取值为该层的目标输出数据,该层的初始输出的取值为该层的初始输出数据,该层的后一层传到该层的梯度的取值为该层的后一层传到该层的梯度值。
12.根据权利要求8-11之一所述的装置,其中,所述输入数据是图像,所述预先获取到的目标输出数据是用于表征输入的图像是否包括人脸图像的检测结果。
13.根据权利要求12所述的装置,其中,所述装置还包括:
存储单元,被配置成响应于确定所述新多层神经网络的准确度大于预设的准确度阈值,存储所述新多层神经网络。
14.一种用于检测图像的装置,包括:
获取单元,被配置成获取待检测图像;
输入单元,被配置成将所述待检测图像输入多层神经网络,生成检测结果,其中,所述多层神经网络是按照权利要求5或6所述的方法生成的。
15.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN201810478003.4A 2018-05-18 2018-05-18 用于生成多层神经网络的方法和装置 Active CN110503181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810478003.4A CN110503181B (zh) 2018-05-18 2018-05-18 用于生成多层神经网络的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810478003.4A CN110503181B (zh) 2018-05-18 2018-05-18 用于生成多层神经网络的方法和装置

Publications (2)

Publication Number Publication Date
CN110503181A true CN110503181A (zh) 2019-11-26
CN110503181B CN110503181B (zh) 2022-03-01

Family

ID=68584754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810478003.4A Active CN110503181B (zh) 2018-05-18 2018-05-18 用于生成多层神经网络的方法和装置

Country Status (1)

Country Link
CN (1) CN110503181B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111582376A (zh) * 2020-05-09 2020-08-25 北京字节跳动网络技术有限公司 神经网络的可视化方法、装置、电子设备和介质
CN113592082A (zh) * 2020-04-30 2021-11-02 意法半导体股份有限公司 用于从人工神经网络分配中间数据的设备和方法
WO2022007880A1 (zh) * 2020-07-09 2022-01-13 北京灵汐科技有限公司 数据精度配置方法和装置、神经网络设备、介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345656A (zh) * 2013-07-17 2013-10-09 中国科学院自动化研究所 一种基于多任务深度神经网络的数据识别方法及装置
US20160321540A1 (en) * 2015-04-28 2016-11-03 Qualcomm Incorporated Filter specificity as training criterion for neural networks
CN107145904A (zh) * 2017-04-28 2017-09-08 北京小米移动软件有限公司 图像类别的确定方法、装置及存储介质
CN107168952A (zh) * 2017-05-15 2017-09-15 北京百度网讯科技有限公司 基于人工智能的信息生成方法和装置
CN107590482A (zh) * 2017-09-29 2018-01-16 百度在线网络技术(北京)有限公司 信息生成方法和装置
CN108009600A (zh) * 2017-11-30 2018-05-08 北京小米移动软件有限公司 模型优化、质量检测方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345656A (zh) * 2013-07-17 2013-10-09 中国科学院自动化研究所 一种基于多任务深度神经网络的数据识别方法及装置
US20160321540A1 (en) * 2015-04-28 2016-11-03 Qualcomm Incorporated Filter specificity as training criterion for neural networks
CN107145904A (zh) * 2017-04-28 2017-09-08 北京小米移动软件有限公司 图像类别的确定方法、装置及存储介质
CN107168952A (zh) * 2017-05-15 2017-09-15 北京百度网讯科技有限公司 基于人工智能的信息生成方法和装置
CN107590482A (zh) * 2017-09-29 2018-01-16 百度在线网络技术(北京)有限公司 信息生成方法和装置
CN108009600A (zh) * 2017-11-30 2018-05-08 北京小米移动软件有限公司 模型优化、质量检测方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
R PASTI等: "An Immune and Gradient-Based Method to Train MultiLayer Perceptron Neural Networks", 《IEEE》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113592082A (zh) * 2020-04-30 2021-11-02 意法半导体股份有限公司 用于从人工神经网络分配中间数据的设备和方法
CN111582376A (zh) * 2020-05-09 2020-08-25 北京字节跳动网络技术有限公司 神经网络的可视化方法、装置、电子设备和介质
CN111582376B (zh) * 2020-05-09 2023-08-15 抖音视界有限公司 神经网络的可视化方法、装置、电子设备和介质
WO2022007880A1 (zh) * 2020-07-09 2022-01-13 北京灵汐科技有限公司 数据精度配置方法和装置、神经网络设备、介质

Also Published As

Publication number Publication date
CN110503181B (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
CN109145781A (zh) 用于处理图像的方法和装置
CN108985446A (zh) 用于告警的方法及装置
CN108446651A (zh) 人脸识别方法和装置
CN109002842A (zh) 图像识别方法和装置
CN108985208A (zh) 生成图像检测模型的方法和装置
CN108880931A (zh) 用于输出信息的方法和装置
CN109976997A (zh) 测试方法和装置
CN108989882A (zh) 用于输出视频中的音乐片段的方法和装置
CN109634767A (zh) 用于检测信息的方法和装置
CN109426593A (zh) 自动评估系统性能的方法和装置
CN109389072A (zh) 数据处理方法和装置
CN108831505A (zh) 用于识别应用的使用场景的方法和装置
CN108182472A (zh) 用于生成信息的方法和装置
CN108900388A (zh) 用于监控网络质量的方法和设备
CN110503181A (zh) 用于生成多层神经网络的方法和装置
CN109815365A (zh) 用于处理视频的方法和装置
CN109086780A (zh) 用于检测电极片毛刺的方法和装置
CN108121961A (zh) 巡检行为识别方法、装置、计算机设备和存储介质
CN108427941A (zh) 用于生成人脸检测模型的方法、人脸检测方法和装置
CN109359194A (zh) 用于预测信息类别的方法和装置
CN109634833A (zh) 一种软件缺陷预测方法和装置
CN108388563A (zh) 信息输出方法和装置
CN109460652A (zh) 用于标注图像样本的方法、设备及计算机可读介质
CN109902446A (zh) 用于生成信息预测模型的方法和装置
CN108829518A (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