CN110929836B - 神经网络训练及图像处理方法和装置、电子设备、介质 - Google Patents

神经网络训练及图像处理方法和装置、电子设备、介质 Download PDF

Info

Publication number
CN110929836B
CN110929836B CN201811103501.7A CN201811103501A CN110929836B CN 110929836 B CN110929836 B CN 110929836B CN 201811103501 A CN201811103501 A CN 201811103501A CN 110929836 B CN110929836 B CN 110929836B
Authority
CN
China
Prior art keywords
network
image
feature
subset
loss
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
Application number
CN201811103501.7A
Other languages
English (en)
Other versions
CN110929836A (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.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development 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 Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN201811103501.7A priority Critical patent/CN110929836B/zh
Publication of CN110929836A publication Critical patent/CN110929836A/zh
Application granted granted Critical
Publication of CN110929836B publication Critical patent/CN110929836B/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本申请实施例公开了一种神经网络训练及图像处理方法和装置、电子设备、介质,其中神经网络训练方法包括:基于参考网络,训练第一网络,得到第二网络;响应于第二网络不符合预设网络条件,对第二网络进行剪枝处理,得到剪枝处理后的第二网络;基于参考网络,训练剪枝处理后的第二网络,得到目标网络,通过模仿学习,使第二网络的性能接近参考网络,并在第二网络仍不满足预设网络条件的情况下,通过剪枝处理减小第二网络的规模,并继续通过模仿学习来提高网络性能,使规模较小的目标网络能够在运算能力较小的设备中具有较好的处理性能。

Description

神经网络训练及图像处理方法和装置、电子设备、介质
技术领域
本申请涉及计算机视觉技术,尤其是一种神经网络训练及图像处理方法和装置、电子设备、介质。
背景技术
人脸识别是计算机视觉以及智能视频领域的核心技术。移动端的人脸识别也已经开始逐渐普及,这就要求神经网络模型不仅仅要具备运算量、参数量少的特点,同时要保证很高的性能。然而,使用大规模数据训练的方式要求神经网络模型有较大的参数量,将大规模数据训练的方式直接应用到小模型,会由于小模型拟合能力不足,最后训练得到的模型表达性能有限。
发明内容
本申请实施例提供了一种神经网络训练及图像处理技术。
根据本申请实施例的一个方面,提供的一种神经网络训练方法,包括:
基于参考网络,训练第一网络,得到第二网络;
响应于所述第二网络不符合预设网络条件,对所述第二网络进行剪枝处理,得到剪枝处理后的第二网络;
基于所述参考网络,训练所述剪枝处理后的第二网络,得到目标网络。
可选地,在本发明上述任一方法实施例中,所述方法还包括:
响应于所述第二网络符合预设网络条件,将所述第二网络作为所述目标网络。
可选地,在本发明上述任一方法实施例中,所述预设网络条件包括以下至少一种:网络参数的数量小于设定值、网络运行速度达到设定速度。
可选地,在本发明上述任一方法实施例中,所述对所述第二网络进行剪枝处理,得到剪枝处理后的第二网络,包括:
去除所述第二网络中的至少一个网络通道,得到所述剪枝处理后的第二网络。
可选地,在本发明上述任一方法实施例中,所述去除所述第二网络中的至少一个网络通道,得到所述剪枝处理后的第二网络,包括:
根据所述第二网络中每个网络通道的反向梯度和所述每个网络通道的输出,确定所述每个网络通道的重要性参数;
基于所述第二网络的多个网络通道中每个网络通道的重要性参数,从所述多个网络通道中去除重要性最低的至少一个网络通道,得到所述剪枝处理后的第二网络。
可选地,在本发明上述任一方法实施例中,所述基于参考网络,训练第一网络,得到第二网络,包括:
将样本图像集的至少一个样本图像中每个样本图像分别输入所述参考网络和所述第一网络,获得所述至少一个样本图像中每个样本图像的第一特征和第二特征;
基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述第一网络的网络参数,得到所述第二网络。
可选地,在本发明上述任一方法实施例中,所述基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述第一网络的网络参数,得到所述第二网络,包括:
基于所述样本图像的第一特征和第二特征,确定第一损失;
基于所述第一损失,调整所述第一网络的网络参数,得到所述第二网络。
可选地,在本发明上述任一方法实施例中,所述基于所述样本图像的第一特征和第二特征,确定第一损失,包括:
对所述第一特征进行归一化处理,得到归一化特征;
基于所述归一化特征与所述第二特征之间的距离,确定第一损失。
可选地,在本发明上述任一方法实施例中,所述将样本图像集的至少一个样本图像中每个样本图像分别输入所述参考网络和所述第一网络,获得每个所述样本图像的第一特征和第二特征,包括:
将多个图像子集中每个图像子集包括的至少一个样本图像分别输入所述参考网络和所述第一网络,获得所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,其中,所述样本图像集包括对应于不同数据源的所述多个图像子集,所述第一特征子集包括至少一个所述第一特征,所述第二特征子集包括至少一个所述第二特征;
所述基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述第一网络的网络参数,得到所述第二网络,包括:
基于所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,确定所述每个图像子集对应的第二损失;
基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述第一网络的网络参数,得到所述第二网络。
可选地,在本发明上述任一方法实施例中,所述基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述第一网络的网络参数,得到所述第二网络,包括:
将所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集对应的权重的乘积相加,得到第三损失;
基于所述第三损失,调整所述第一网络的网络参数,得到所述第二网络。
可选地,在本发明上述任一方法实施例中,所述基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述第一网络的网络参数,得到所述第二网络,包括:
基于所述多个图像子集中每个图像子集的第二损失,确定所述第一网络中的网络层的与所述每个图像子集对应的反向梯度;
将所述网络层的与所述多个图像子集中每个图像子集对应的反向梯度进行加权求和,获得所述网络层的总梯度;
基于所述总梯度,调整所述网络层的参数,得到所述第二网络。
根据本申请实施例的另一个方面,提供的一种神经网络训练方法,包括:
对第二网络进行剪枝处理,得到剪枝处理后的第二网络;
基于参考网络,训练所述剪枝处理后的第二网络,得到第三网络;
基于所述第三网络,得到目标网络。
可选地,在本发明上述任一方法实施例中,所述基于所述第三网络,得到目标网络,包括:
响应于所述第三网络符合预设网络条件,将所述第三网络作为所述目标网络。
可选地,在本发明上述任一方法实施例中,所述方法还包括:
响应于所述第三网络不符合所述预设网络条件,对所述第三网络进行剪枝处理,并基于所述参考网络,对剪枝处理后的所述第三网络进行训练,得到所述目标网络。
可选地,在本发明上述任一方法实施例中,所述预设网络条件包括以下至少一种:网络参数的数量小于设定值、网络运行速度达到设定速度。
可选地,在本发明上述任一方法实施例中,所述对所述第二网络进行剪枝处理,得到剪枝处理后的第二网络,包括:
去除所述第二网络中的至少一个网络通道,得到所述剪枝处理后的第二网络。
可选地,在本发明上述任一方法实施例中,所述去除所述第二网络中的至少一个网络通道,得到所述剪枝处理后的第二网络,包括:
根据所述第二网络中每个网络通道的反向梯度和所述每个网络通道的输出,确定所述每个网络通道的重要性参数;
基于所述第二网络的多个网络通道中每个网络通道的重要性参数,从所述多个网络通道中去除重要性最低的至少一个网络通道,得到所述剪枝处理后的第二网络。
可选地,在本发明上述任一方法实施例中,所述基于参考网络,训练所述剪枝处理后的第二网络,得到第三网络,包括:
将样本图像集的至少一个样本图像中每个样本图像分别输入所述参考网络和所述剪枝处理后的第二网络,获得所述至少一个样本图像中每个样本图像的第一特征和第二特征;
基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
可选地,在本发明上述任一方法实施例中,所述基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络,包括:
基于所述样本图像的第一特征和第二特征,确定第一损失;
基于所述第一损失,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
可选地,在本发明上述任一方法实施例中,所述基于所述样本图像的第一特征和第二特征,确定第一损失,包括:
对所述第一特征进行归一化处理,得到归一化特征;
基于所述归一化特征与所述第二特征之间的距离,确定第一损失。
可选地,在本发明上述任一方法实施例中,所述将样本图像集的至少一个样本图像中每个样本图像分别输入所述参考网络和所述减值处理后的第二网络,获得所述至少一个样本图像中每个样本图像的第一特征和第二特征,包括:
将多个图像子集中每个图像子集包括的至少一个样本图像分别输入所述参考网络和所述剪枝处理后的第二网络,获得所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,其中,所述样本图像集包括对应于不同数据源的所述多个图像子集,所述第一特征子集包括至少一个所述第一特征,所述第二特征子集包括至少一个所述第二特征;
所述基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络,包括:
基于所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,确定所述每个图像子集对应的第二损失;
基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
可选地,在本发明上述任一方法实施例中,所述基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络,包括:
将所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集对应的权重的乘积相加,得到第三损失;
基于所述第三损失,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
可选地,在本发明上述任一方法实施例中,所述基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络,包括:
基于所述多个图像子集中每个图像子集的第二损失,确定所述剪枝处理后的第二网络中的网络层的与所述每个图像子集对应的反向梯度;
将所述网络层的与所述多个图像子集中每个图像子集对应的反向梯度进行加权求和,获得所述网络层的总梯度;
基于所述总梯度,调整所述网络层的参数,得到所述第三网络。
根据本申请实施例的又一个方面,提供的一种图像处理方法,包括:
获取待处理图像;
将所述待处理图像输入到目标神经网络进行处理,得到图像处理结果;
其中,所述目标神经网络是利用如上任一项所述的神经网络训练方法训练得到的。
根据本申请实施例的另一个方面,提供的一种神经网络训练装置,包括:
模仿学习单元,用于基于参考网络,训练第一网络,得到第二网络;
剪枝处理单元,用于响应于所述第二网络不符合预设网络条件,对所述第二网络进行剪枝处理,得到剪枝处理后的第二网络;
目标网络单元,用于基于所述参考网络,训练所述剪枝处理后的第二网络,得到目标网络。
可选地,在本发明上述任一装置实施例中,所述装置还包括:
符合条件单元,用于响应于所述第二网络符合预设网络条件,将所述第二网络作为所述目标网络。
可选地,在本发明上述任一装置实施例中,所述预设网络条件包括以下至少一种:网络参数的数量小于设定值、网络运行速度达到设定速度。
可选地,在本发明上述任一装置实施例中,所述剪枝处理单元,用于去除所述第二网络中的至少一个网络通道,得到所述剪枝处理后的第二网络。
可选地,在本发明上述任一装置实施例中,所述去剪枝处理单元,具体用于根据所述第二网络中每个网络通道的反向梯度和所述每个网络通道的输出,确定所述每个网络通道的重要性参数;基于所述第二网络的多个网络通道中每个网络通道的重要性参数,从所述多个网络通道中去除重要性最低的至少一个网络通道,得到所述剪枝处理后的第二网络。
可选地,在本发明上述任一装置实施例中,所述模仿学习单元,包括:
特征提取模块,用于将样本图像集的至少一个样本图像中每个样本图像分别输入所述参考网络和所述第一网络,获得所述至少一个样本图像中每个样本图像的第一特征和第二特征;
参数调整模块,用于基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述第一网络的网络参数,得到所述第二网络。
可选地,在本发明上述任一装置实施例中,所述参数调整模块,具体用于基于所述样本图像的第一特征和第二特征,确定第一损失;基于所述第一损失,调整所述第一网络的网络参数,得到所述第二网络。
可选地,在本发明上述任一装置实施例中,所述参数调整模块在基于所述样本图像的第一特征和第二特征,确定第一损失时,用于对所述第一特征进行归一化处理,得到归一化特征;基于所述归一化特征与所述第二特征之间的距离,确定第一损失。
可选地,在本发明上述任一装置实施例中,所述特征提取模块,具体用于将多个图像子集中每个图像子集包括的至少一个样本图像分别输入所述参考网络和所述第一网络,获得所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,其中,所述样本图像集包括对应于不同数据源的所述多个图像子集,所述第一特征子集包括至少一个所述第一特征,所述第二特征子集包括至少一个所述第二特征;
所述参数调整模块包括:第二损失模块,用于基于所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,确定所述每个图像子集对应的第二损失;
加权训练模块,用于基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述第一网络的网络参数,得到所述第二网络。
可选地,在本发明上述任一装置实施例中,所述加权训练模块,具体用于将所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集对应的权重的乘积相加,得到第三损失;基于所述第三损失,调整所述第一网络的网络参数,得到所述第二网络。
可选地,在本发明上述任一装置实施例中,所述加权训练模块,具体用于基于所述多个图像子集中每个图像子集的第二损失,确定所述第一网络中的网络层的与所述每个图像子集对应的反向梯度;将所述网络层的与所述多个图像子集中每个图像子集对应的反向梯度进行加权求和,获得所述网络层的总梯度;基于所述总梯度,调整所述网络层的参数,得到所述第二网络。
根据本申请实施例的另一个方面,提供的一种神经网络训练装置,包括:
网络剪枝单元,用于对第二网络进行剪枝处理,得到剪枝处理后的第二网络;
模仿参考单元,用于基于参考网络,训练所述剪枝处理后的第二网络,得到第三网络;
网络获得单元,用于基于所述第三网络,得到目标网络。
可选地,在本发明上述任一装置实施例中,所述网络获得单元,用于响应于所述第三网络符合预设网络条件,将所述第三网络作为所述目标网络。
可选地,在本发明上述任一装置实施例中,所述装置还包括:
不符合条件单元,用于响应于所述第三网络不符合所述预设网络条件,对所述第三网络进行剪枝处理,并基于所述参考网络,对剪枝处理后的所述第三网络进行训练,得到所述目标网络。
可选地,在本发明上述任一装置实施例中,所述预设网络条件包括以下至少一种:网络参数的数量小于设定值、网络运行速度达到设定速度。
可选地,在本发明上述任一装置实施例中,所述网络剪枝单元,具体用于去除所述第二网络中的至少一个网络通道,得到所述剪枝处理后的第二网络。
可选地,在本发明上述任一装置实施例中,所述网络剪枝单元,具体用于根据所述第二网络中每个网络通道的反向梯度和所述每个网络通道的输出,确定所述每个网络通道的重要性参数;基于所述第二网络的多个网络通道中每个网络通道的重要性参数,从所述多个网络通道中去除重要性最低的至少一个网络通道,得到所述剪枝处理后的第二网络。
可选地,在本发明上述任一装置实施例中,所述模仿参考单元,包括:
特征提取模块,用于将样本图像集的至少一个样本图像中每个样本图像分别输入所述参考网络和所述剪枝处理后的第二网络,获得所述至少一个样本图像中每个样本图像的第一特征和第二特征;
参数调整模块,用于基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
可选地,在本发明上述任一装置实施例中,所述参数调整模块,具体用于基于所述样本图像的第一特征和第二特征,确定第一损失;基于所述第一损失,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
可选地,在本发明上述任一装置实施例中,所述参数调整模块在基于所述样本图像的第一特征和第二特征,确定第一损失时,用于对所述第一特征进行归一化处理,得到归一化特征;基于所述归一化特征与所述第二特征之间的距离,确定第一损失。
可选地,在本发明上述任一装置实施例中,所述特征提取模块,具体用于将多个图像子集中每个图像子集包括的至少一个样本图像分别输入所述参考网络和所述剪枝处理后的第二网络,获得所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,其中,所述样本图像集包括对应于不同数据源的所述多个图像子集,所述第一特征子集包括至少一个所述第一特征,所述第二特征子集包括至少一个所述第二特征;
所述参数调整模块包括:第二损失模块,用于基于所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,确定所述每个图像子集对应的第二损失;
加权训练模块,用于基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
可选地,在本发明上述任一装置实施例中,所述加权训练模块,具体用于将所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集对应的权重的乘积相加,得到第三损失;基于所述第三损失,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
可选地,在本发明上述任一装置实施例中,所述加权训练模块,具体用于基于所述多个图像子集中每个图像子集的第二损失,确定所述剪枝处理后的第二网络中的网络层的与所述每个图像子集对应的反向梯度;将所述网络层的与所述多个图像子集中每个图像子集对应的反向梯度进行加权求和,获得所述网络层的总梯度;基于所述总梯度,调整所述网络层的参数,得到所述第三网络。
根据本申请实施例的另一个方面,提供的一种图像处理装置,包括:
图像获取单元,用于获取待处理图像;
图像处理单元,用于将所述待处理图像输入到目标神经网络进行处理,得到图像处理结果;
其中,所述目标神经网络是利用如上任一项所述的神经网络训练方法训练得到的。
根据本申请实施例的另一个方面,提供的一种电子设备,包括处理器,所述处理器包括如上任意一项所述的神经网络训练装置或如上所述的图像处理装置。
根据本申请实施例的另一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成如上任意一项所述神经网络训练方法或如上所述图像处理方法的操作。
根据本申请实施例的另一个方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时执行如上任意一项所述神经网络训练方法或如上所述图像处理方法的操作。
根据本申请实施例的另一个方面,提供的一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现如上任意一项所述神经网络训练方法或如上所述图像处理方法的指令。
根据本申请实施例的再一个方面,提供的另一种计算机程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任一可能的实现方式中所述神经网络训练方法或所述图像处理方法的操作。
在一个可选实施方式中,所述计算机程序产品具体为计算机存储介质,在另一个可选实施方式中,所述计算机程序产品具体为软件产品,例如SDK等。
根据本申请实施例还提供了另一种神经网络训练及图像处理方法和装置、电子设备、计算机存储介质、计算机程序产品,其中,基于参考网络,训练第一网络,得到第二网络;响应于第二网络不符合预设网络条件,对第二网络进行剪枝处理,得到剪枝处理后的第二网络;基于参考网络,训练剪枝处理后的第二网络,得到目标网络。
基于本申请上述实施例提供的一种神经网络训练及图像处理方法和装置、电子设备、介质,基于参考网络,训练第一网络,得到第二网络;响应于第二网络不符合预设网络条件,对第二网络进行剪枝处理,得到剪枝处理后的第二网络;基于参考网络,训练剪枝处理后的第二网络,得到目标网络,通过模仿学习,使第二网络的性能接近参考网络,并在第二网络仍不满足预设网络条件的情况下,通过剪枝处理减小第二网络的规模,并继续通过模仿学习来提高网络性能,使规模较小的目标网络能够在运算能力较小的设备中具有较好的处理性能。
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本申请的实施例,并且连同描述一起用于解释本申请的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:
图1为本申请实施例提供的神经网络训练方法的示意性流程图。
图2为本申请实施例提供的神经网络的训练方法的一个例子的流程示意图。
图3为本申请实施例提供的神经网络训练方法中训练第一网络的一个例子的示意性流程图。
图4为本申请实施例提供的神经网络训练方法中训练第一网络的另一示例的示意性流程图。
图5为本申请实施例提供的神经网络训练方法的又一个示例的流程示意图。
图6为本申请实施例提供的神经网络训练装置的一个结构示意图。
图7为本申请实施例提供的另一神经网络训练方法的示意性流程图。
图8为本申请实施例提供的另一神经网络训练方法中训练剪枝处理后的第二网络的一个例子的示意性流程图。
图9为本申请实施例提供的另一神经网络训练方法中训练剪枝处理后的第二网络的另一示例的示意性流程图。
图10为本申请实施例提供的另一神经网络训练的一个结构示意图。
图11为本申请实施例提供的图像处理方法的示意性流程图。
图12为本申请实施例提供的图像处理装置的一个结构示意图。
图13为适于用来实现本申请实施例的终端设备或服务器的电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为本申请实施例提供的神经网络训练方法的示意性流程图。该方法可以由任意模型训练设备执行,例如终端设备、服务器、移动设备等等,本申请实施例对此不做限定。本实施方法包括:
步骤110,基于参考网络,训练第一网络,得到第二网络。
其中,参考网络为训练好的神经网络,基于参考网络训练第一网络,可以通过模仿学习,使得到的第二网络的性能接近参考网络。其中,可选地,参考网络的网络规模大于第一网络。例如,参考网络的网络参数量大于第一阈值,而第一网络的网络参数量小于第二阈值,其中,第一阈值大于第二阈值。再例如,参考网络为较大规模的网络,第一网络为中等规模的网络或较小规模的网络,但本申请实施例对此不做限定。这样,通过模仿学习大模型,可以获得比直接训练更加优异的泛化能力。
步骤120,响应于第二网络不符合预设网络条件,对第二网络进行剪枝处理,得到剪枝处理后的第二网络。
在得到第二网络之后,可以确定第二网络是否满足预设网络条件。预设网络条件可以基于网络的应用场景和实际需求确定,在一些可能的实现方式中,预设网络条件包括:网络参数的数量小于或等于设定值,和/或网络运行速度达到设定速度。或者,预设网络条件也可以包括其他条件,本申请实施例对此不做限定。
可选地,在第二网络不满足预设网络条件的情况下,对第二网络进行剪枝处理,得到剪枝处理后的第二网络,并基于参考网络,对剪枝处理后的第二网络进行训练,得到目标网络。
在步骤120中,可以通过多种方式对第二网络进行剪枝处理,在一个或多个可选的实施例中,去除第二网络中的至少一个网络通道,得到剪枝处理后的第二网络。
具体地,第二网络包括多个网络层,每个网络层包含至少一个网络通道。可以从第二网络包括的所有网络通道中选取一个或多个网络通道并将其去除,得到剪枝处理后的第二网络。在实现的过程中,可以通过多种方式确定需要去除的网络通道。在一些可能的实现方式中,基于第二网络中的每个网络通道的重要性,从第二网络的多个网络通道中选取至少一个网络通道进行去除,得到剪枝处理后的第二网络。例如,从第二网络的多个网络通道中去除重要性最低的至少一个网络通道,这样能够降低剪枝处理对网络性能的影响,在降低网络规模的条件下保持较好的网络处理性能。
网络通道的重要性可以通过多种方式进行度量。在一些可能的实现方式中,根据网络通道的反向梯度和输出,确定用于指示网络通道的重要性参数,并基于第二网络的多个网络通道中每个网络通道的重要性参数,从多个网络通道中去除重要性最低的至少一个网络通道,得到剪枝处理后的第二网络。
在一个可选的例子中,可以根据第一神经网络的损失函数和修剪网络的损失函数,基于最小化损失函数的损失,并对修剪网络的损失函数进行一阶泰勒展开,得到第一神经网络中的多个网络通道中每个网络通道对第一神经网络的输出结果产生的偏移量。
在一个例子中,对第二网络的剪枝处理可以基于以下公式进行:
其中,C()表示损失函数,D为样本图像,W和W′分别为第二神经网络和剪枝处理后的第二网络中的参数,||W′||0限定W′中非零参数的个数,st表示限制条件,B为常数。从公式(1)可以得知,去除的至少一个网络通道使得第二网络与剪枝处理后的第二网络对于样本图像的损失值之间的差别最小。这样,可选地,可以确定第二网络的多个网络通道中每个网络通道对于网络损失的贡献,并从多个网络通道中取出对网络损失贡献最小的至少一个网络通道。
对公式(1)进行一阶泰勒展开,得到公式(1)的近似公式如下:
其中,hi为第二神经网络中的网络通道i的输出,表示网络通道i的反向梯度。在公式(2)中,网络通道i对于网络损失的贡献,即网络通道i的重要性参数,可以基于去除网络通道i前后的网络损失之间的差别来衡量,具体等于网络通道i的反向梯度和输出的乘积。参数Wi是否被去除取决于其对应的输出hi,参数Wi表示网络通道i的参数。这样,可以基于各个网络通道对网络损失的贡献,去除多个网络通道中对网络损失的贡献最小的至少一个网络通道,得到剪枝处理后的第二网络,但本申请实施例对此不做限定。
在本申请实施例中,去除的至少一个网络通道的数量可以通过多种方式确定。例如,可以基于重要性参数阈值确定去除的至少一个网络通道。再例如,可以设定剪枝比例,并基于剪枝比例和第二网络中包括的网络通道的数量,确定去除的至少一个网络通道的数量。作为一个例子,可以按照网络通道的重要性对网络通道进行降序排列,并按照设定剪裁比例保留重要程度高的网络通道,但本申请实施例不限于此。
可选地,也可以通过去除第二网络中的至少一个网络层来实现对第二网络的剪枝处理。为了缩减网络参数的数量,可以通过减少网络通道和/或网络层的数量实现对第二网络的剪枝处理,但本申请实施例对此不做限定。
在一些可能的实现方式中,在对第二网络进行剪枝处理后,可以结合参考网络对剪枝处理后的第二网络进行训练,获得第三网络,并基于第三网络确定目标网络。
在一个或多个可选的实施例中,响应于第二网络符合预设网络条件,将第二网络作为目标网络。
根据预设网络条件对第二网络进行判断,存在符合和不符合两种情况,当训练后的第二网络符合预设网络条件,将该第二网络作为目标网络输出,即获得了需要的网络;当训练后的第二网络不符合预设网络条件,需要将该训练后的第二网络进行剪枝处理(例如去除部分网络层和/或网络通道channel),使剪枝处理后的网络参数减少。可选地,如果剪枝处理后的第二网络不符合预设网络条件,可以迭代进行多次剪枝处理,使获得的网络符合预设网络条件,但本申请实施例不限于此。
在上述各实施例中,可选地,预设网络条件可以包括但不限于以下至少一种:网络参数的数量小于设定值、网络运行速度达到设定速度。
随着人脸识别等计算机视觉技术的发展,移动端的计算机视觉技术已经开始逐渐普及,例如:手机端的人脸识别支付以及人脸识别解锁等应用已经开始落地市场,移动端人脸识别模型的性能对于用户安全性具有很大的影响。这就要求移动端的模型不仅仅要具备运算量、参数量少的特点,同时要保证很高的性能。
为了实现将网络模型应用到移动端等空间和运算能力有限的设备中,需要控制网络的大小(对应的参数量)和/或网络处理速度,以提高第二网络在移动端等设备中的可实现性。
步骤130,基于参考网络,训练剪枝处理后的第二网络,得到目标网络。
基于本申请上述实施例提供的一种神经网络训练及图像处理方法,基于参考网络,训练第一网络,得到第二网络;响应于第二网络不符合预设网络条件,对第二网络进行剪枝处理,得到剪枝处理后的第二网络;基于参考网络,训练剪枝处理后的第二网络,得到目标网络,通过模仿学习,使第二网络的性能接近参考网络,并在第二网络仍不满足预设网络条件的情况下,通过剪枝处理减小第二网络的规模,并继续通过模仿学习来提高网络性能,使规模较小的目标网络能够在运算能力较小的设备中具有较好的处理性能。
可选地,在本申请实施例中,可以利用模仿学习和剪枝处理对神经网络进行级联训练。图2为本申请实施例提供的神经网络的训练方法的一个例子的流程示意图。
步骤210,基于模型A对模型Bi进行训练,使训练后的模型Bi获得与模型A相近的性能。
具体地,将样本图像集输入模型A(Model A)和模型Bi(Model Bi)中,得到第一特征集和第二特征集,并基于第一特征集和第二特征集调整模型Bi的参数。
可选地,模型A为已训练好的较大模型(对应上述实施例中的参考网络),模型Bi为具备一定参数量的模型(对应上述实施例中的第一网络)。
步骤220,判断训练得到的模型Bi+1(对应上述实施例中的第二网络)是否符合预设网络条件。
如果符合,则训练结束,将训练得到的模型Bi+1作为目标模型;否则,执行步骤230和步骤240。
步骤230,对训练得到的模型Bi+1进行剪枝处理,得到剪枝处理后的模型Bi+1(对应上述实施例中剪枝处理后的第二网络)。
步骤240,将剪枝处理后的模型Bi+1作为更新后的模型Bi,并对更新后的模型Bi执行步骤210。
其中,将剪枝处理后的模型Bi+1中的参数作为更新后的模型Bi中的初始化参数。
这样,可以迭代执行上述流程,直到训练得到的神经网络符合预设网络条件。
可选地,为了保证网络性能不会突然降低,在每次剪枝处理中,可以通过预设剪裁比例(例如:5%、10%等)去除第二网络中的网络通道,即在迭代剪裁过程中,每次去除第二网络总数量预设剪裁比例的网络通道,例如:假设预设剪裁比例为10%,当训练后的第二网络不符合预设网络条件时,如果该第二网络包括10个网络通道,按照预设剪裁比例去除该网络层中的10%,即剪裁后获得包括9个网络通道的第三网络,该9个网络通道中的网络参数继承了训练后的第二网络中对应层的网络参数。
图3为本申请实施例提供的神经网络训练方法中训练第一网络的一个例子的示意性流程图。本实施例方法包括:
步骤310,将样本图像集的至少一个样本图像中每个样本图像分别输入参考网络和第一网络,获得至少一个样本图像中每个样本图像的第一特征和第二特征。
这样,通过两个网络分别对样本图像集中的至少一个样本图像进行处理,得到两组特征数据。具体地,将样本图像输入到参考网络中进行处理,得到样本图像的第一特征,并将样本图像输入到第一网络中进行处理,得到样本图像的第二特征。这样,可以得到至少一个样本图像中每个样本图像的第一特征和第二特征,其中,至少一个样本图像的至少一个第一特征可以构成第一特征集,至少一个样本图像的至少一个第二特征可以构成第二特征集。
参考网络可以是较大的网络,为了获得功能相同的小型网络(适用于移动端),以经过训练后的参考网络为基准,通过第一网络对参考网络模仿学习,以获得训练后的第二网络。
可选地,样本图像集中的样本图像可以为原始图像,或者是通过增强处理(augmentation)获得的样本图像,例如:对原始的样本图像通过镜像、反转等操作得到新的样本图像,以增加样本图像的数量,这样,通过增加样本图像集中样本图像的数量,提高网络训练的性能,但本申请实施例对此不做限定。
步骤320,基于至少一个样本图像中每个样本图像的第一特征和第二特征,调整第一网络的网络参数,得到第二网络。
本申请实施例通过第一网络和参考网络处理同一图像,通过比较相同图像的第一特征和第二特征(例如缩小得到的第一特征和第二特征之间的距离)使两个网络的性能相似,从而提高训练得到的第二网络的性能。
可选地,基于样本图像的第一特征和第二特征,确定第一损失;基于第一损失,调整第一网络的网络参数,得到第二网络。
本申请实施例中,样本图像通过参考网络的处理可得到第一特征,该样本图像通过第一网络的处理得到第二特征,此时,由于第一特征和第二特征对应同一样本图像,可选地,第一特征和第二特征之间的距离,可用于度量参考网络和第一网络之间的性能差异,可选地,基于第一特征和第二特征之间的距离(如:欧式距离、余弦距离等)确定第一损失,基于第一损失训练第一网络,使得到的第二网络性能接近参考网络。
在一个例子中,对第一特征进行归一化处理,得到归一化特征,并基于归一化特征与第二特征之间的距离,确定第一损失。
具体地,对参考网络输出的第一特征执行归一化处理(例如:正则化处理);再基于归一化特征与第二特征之间的距离(如:欧式距离、余弦距离等)确定第一损失,能够加快训练速度。
归一化或者正则化(Regularization)是指在机器学习中在损失函数后面添加一个额外项,常用的额外项一般有两种,一般英文称作L1正则化和L2正则化,或者L1范数和L2范数。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓“惩罚”是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归(套索回归),使用L2正则化的模型叫做Ridge回归(岭回归)。
图4为本申请实施例提供的神经网络训练方法中训练第一网络的另一示例的示意性流程图。在该示例中,样本图像集包括多个图像子集,其中不同图像子集对应于不同的数据源,从而实现多任务联合学习。
步骤410,将多个图像子集中每个图像子集包括的至少一个样本图像分别输入参考网络和第一网络,获得多个图像子集中每个图像子集对应的第一特征子集和第二特征子集。
多个图像子集中的每个图像子集可以对应于第一特征子集和第二特征子集,其中,第一特征子集包括至少一个第一特征,即图像子集包括的至少一个样本图像中每个样本图像的第一特征,第二特征子集包括至少一个第二特征,即图像子集中包括的至少一个样本图像中每个样本图像的第二特征。
步骤420,基于多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,确定每个图像子集对应的第二损失。
这里,基于图像子集对应的第一特征子集和第二特征子集,确定图像子集对应的第二损失。具体地,可以基于图像子集包括的每个样本图像的第一特征和第二特征,确定每个样本图像的第一损失,例如如图3所述的例子,并基于图像子集中每个样本图像的第一损失,确定图像子集对应的第二损失,例如进行平均或者相加,等等。
步骤430,基于多个图像子集中每个图像子集对应的第二损失和每个图像子集的权重,调整第一网络的网络参数,得到第二网络。
可选地,不同的图像子集可以对应于不同的权重,这样,通过基于每个图像子集对应的第二损失及其权重来调整网络参数,可以使得训练得到的第二网络能够处理来自于不同数据源的图像,提高网络的应用范围。
本实施例提出了多任务联合模仿学习,网络的训练不再通过分类任务获得,而是采用一种多任务联合模仿学习,通过小模型来直接学习大模型在不同数据域(本实施例中的图像子集)下的特征来获得比直接训练分类任务更加优异的泛化能力,可选地,本申请实施例中的图像子集可基于多种方式进行划分,例如:将对应不同的应用场景或者区域的图像划分到不同的图像子集中,本申请实施例对此不做限定。
可选地,在一个可选示例中,将多个图像子集中每个图像子集对应的第二损失和每个图像子集对应的权重的乘积相加,得到第三损失,并基于第三损失,调整第一网络的网络参数,得到第二网络。
可选地,通过多个图像子集分别可得到多个第二损失,在基于多个第二损失训练第一网络时,可结合每个图像子集(数据任务)对应的权重对第二损失进行加权求和,以得到的和作为第三损失,利用第三损失训练第一网络,实现快速的多任务模仿学习。
可选地,在另一个可选示例中,基于多个图像子集中每个图像子集的第二损失,确定第一网络中的网络层的与每个图像子集对应的反向梯度;将网络层的与多个图像子集中每个图像子集对应的反向梯度进行加权求和,获得网络层的总梯度;并基于网络层的总梯度,调整该网络层的参数,得到第二网络。
本申请实施利用多数据源的样本图像集对参考网络进行模仿学习,对于每个图像子集分别获得一个第二损失,第二损失通过反向梯度方法对第一网络进行训练,在训练过程中基于每个第二损失对每个网络层都会获得对应的梯度,即每个网络层会获得至少一个梯度,而每个图像子集具有不同的权重,在训练时,基于该权重将每个网络层对应的至少一个梯度进行加权求和,以加权求和得到的和作为梯度对网络层进行参数调整。
图5为本申请实施例提供的神经网络训练方法的又一个示例的流程示意图。如图5所示,整个训练过程基于某个已经训练完成的模型Model A(对应上述实施例中的参考网络)进行,通过模仿学习Model A的特征,对模型B进行训练。在本示例中,样本图像集对应于多数据源或多任务,此时,样本图像集包括多个图像子集,即图像子集1、…、图像子集i、…。首先,对图像子集进行预处理,并将预处理后的图像子集分别输入到模型A和模型B中,模型A对图像Iij进行特征提取,或者对图像Iij经过增强(augmentation)后获得的图像进行特征提取,得到特征Fij;其中i表示第i个任务(Task,对应本申请上述实施例中的图像子集i),j表示任务(Task)下的第j张图像。对于待训练的模型Model B(对应上述实施例中的第一网络),输入图像为Iij,经过特征提取得到该图像在Model B下的特征表达FBij;然后,基于两个模型得到的不同特征表达获得网络损失,例如,对Model A得到的特征Fij进行L2正则化处理,得到正则化处理后的特征,并基于正则化处理后的特征和确定网络损失;然后,基于网络损失对模型B中的参数进行调整,使得模型B的性能接近模型A,实现模仿学习。
其中,可选地,图像预处理包括但不限于人脸检测、人脸校准以及人脸放缩等,本公开实施例对此不做限定
在本公开实施例中,作为一个例子,神经网络的损失函数如公式(3)所示:
其中,L表示第i个图像子集(或Task)对应的损失,Norm(fij)表示对特征Fij执行L2正则化操作,N为每个图像子集包括的图像的数量。在整个训练过程中模型A中的参数被固定而不进行更新操作。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图6为本申请实施例提供的神经网络训练装置的一个结构示意图。该实施例的装置可用于实现本申请上述各方法实施例。如图6所示,该实施例的装置包括:
模仿学习单元61,用于基于参考网络,训练第一网络,得到第二网络。
其中,参考网络为训练好的神经网络,基于参考网络训练第一网络,可以通过模仿学习,使得到的第二网络的性能接近参考网络。其中,可选地,参考网络的网络规模大于第一网络。
剪枝处理单元62,用于响应于第二网络不符合预设网络条件,对第二网络进行剪枝处理,得到剪枝处理后的第二网络。
在得到第二网络之后,可以确定第二网络是否满足预设网络条件。预设网络条件可以基于网络的应用场景和实际需求确定,在一些可能的实现方式中,预设网络条件包括:网络参数的数量小于或等于设定值,和/或网络运行速度达到设定速度。或者,预设网络条件也可以包括其他条件,本申请实施例对此不做限定。
可选地,在第二网络不满足预设网络条件的情况下,对第二网络进行剪枝处理,得到剪枝处理后的第二网络,并基于参考网络,对剪枝处理后的第二网络进行训练,得到目标网络。
可以通过多种方式对第二网络进行剪枝处理,在一个或多个可选的实施例中,去除第二网络中的至少一个网络通道,得到剪枝处理后的第二网络。
具体地,第二网络包括多个网络层,每个网络层包含至少一个网络通道。可以从第二网络包括的所有网络通道中选取一个或多个网络通道并将其去除,得到剪枝处理后的第二网络。在实现的过程中,可以通过多种方式确定需要去除的网络通道。在一些可能的实现方式中,基于第二网络中的每个网络通道的重要性,从第二网络的多个网络通道中选取至少一个网络通道进行去除,得到剪枝处理后的第二网络。例如,从第二网络的多个网络通道中去除重要性最低的至少一个网络通道,这样能够降低剪枝处理对网络性能的影响,在降低网络规模的条件下保持较好的网络处理性能。
网络通道的重要性可以通过多种方式进行度量。在一些可能的实现方式中,根据网络通道的反向梯度和输出,确定用于指示网络通道的重要性参数,并基于第二网络的多个网络通道中每个网络通道的重要性参数,从多个网络通道中去除重要性最低的至少一个网络通道,得到剪枝处理后的第二网络。
在本申请实施例中,去除的至少一个网络通道的数量可以通过多种方式确定。例如,可以基于重要性参数阈值确定去除的至少一个网络通道。再例如,可以设定剪枝比例,并基于剪枝比例和第二网络中包括的网络通道的数量,确定去除的至少一个网络通道的数量。作为一个例子,可以按照网络通道的重要性对网络通道进行降序排列,并按照设定剪裁比例保留重要程度高的网络通道,但本申请实施例不限于此。
在一些可能的实现方式中,在对第二网络进行剪枝处理后,可以结合参考网络对剪枝处理后的第二网络进行训练,获得第三网络,并基于第三网络确定目标网络。
在一个或多个可选的实施例中,本实施例装置还可以包括:符合条件单元,响应于第二网络符合预设网络条件,将第二网络作为目标网络。
根据预设网络条件对第二网络进行判断,存在符合和不符合两种情况,当训练后的第二网络符合预设网络条件,将该第二网络作为目标网络输出,即获得了需要的网络;当训练后的第二网络不符合预设网络条件,需要将该训练后的第二网络进行剪枝处理(例如去除部分网络层和/或网络通道channel),使剪枝处理后的网络参数减少。可选地,如果剪枝处理后的第二网络不符合预设网络条件,可以迭代进行多次剪枝处理,使获得的网络符合预设网络条件,但本申请实施例不限于此。
在上述各实施例中,可选地,预设网络条件可以包括但不限于以下至少一种:网络参数的数量小于设定值、网络运行速度达到设定速度。
目标网络单元63,用于基于参考网络,训练剪枝处理后的第二网络,得到目标网络。
基于本申请上述实施例提供的一种神经网络训练装置,基于参考网络,训练第一网络,得到第二网络;响应于第二网络不符合预设网络条件,对第二网络进行剪枝处理,得到剪枝处理后的第二网络;基于参考网络,训练剪枝处理后的第二网络,得到目标网络,通过模仿学习,使第二网络的性能接近参考网络,并在第二网络仍不满足预设网络条件的情况下,通过剪枝处理减小第二网络的规模,并继续通过模仿学习来提高网络性能,使规模较小的目标网络能够在运算能力较小的设备中具有较好的处理性能。
在一个或多个可选的实施例中,模仿学习单元61,包括:
特征提取模块,用于将样本图像集的至少一个样本图像中每个样本图像分别输入参考网络和所述第一网络,获得至少一个样本图像中每个样本图像的第一特征和第二特征;
参数调整模块,用于基于至少一个样本图像中每个样本图像的第一特征和第二特征,调整第一网络的网络参数,得到第二网络。
本申请实施例通过第一网络和参考网络处理同一图像,通过比较相同图像的第一特征和第二特征(例如缩小得到的第一特征和第二特征之间的距离)使两个网络的性能相似,从而提高训练得到的第二网络的性能。
可选地,参数调整模块,具体用于基于样本图像的第一特征和第二特征,确定第一损失;基于第一损失,调整第一网络的网络参数,得到第二网络。
可选地,参数调整模块在基于样本图像的第一特征和第二特征,确定第一损失时,用于对第一特征进行归一化处理,得到归一化特征;基于归一化特征与第二特征之间的距离,确定第一损失。
可选地,特征提取模块,具体用于将多个图像子集中每个图像子集包括的至少一个样本图像分别输入参考网络和第一网络,获得多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,其中,样本图像集包括对应于不同数据源的多个图像子集,第一特征子集包括至少一个第一特征,第二特征子集包括至少一个所述第二特征;
参数调整模块包括:第二损失模块,用于基于多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,确定每个图像子集对应的第二损失;
加权训练模块,用于基于多个图像子集中每个图像子集对应的第二损失和每个图像子集的权重,调整第一网络的网络参数,得到所述第二网络。
可选地,加权训练模块,具体用于将多个图像子集中每个图像子集对应的第二损失和每个图像子集对应的权重的乘积相加,得到第三损失;基于第三损失,调整第一网络的网络参数,得到第二网络。
可选地,加权训练模块,具体用于基于多个图像子集中每个图像子集的第二损失,确定第一网络中的网络层的与每个图像子集对应的反向梯度;将网络层的与多个图像子集中每个图像子集对应的反向梯度进行加权求和,获得网络层的总梯度;基于总梯度,调整网络层的参数,得到第二网络。
本申请实施例提供的神经网络训练装置任一实施例的工作过程以及设置方式均可以参照本申请上述相应方法实施例的具体描述,限于篇幅,在此不再赘述。
图7为本申请实施例提供的另一神经网络训练方法的示意性流程图。该方法可以由任意模型训练设备执行,例如终端设备、服务器、移动设备等等,本申请实施例对此不做限定。本实施方法包括:
步骤710,对第二网络进行剪枝处理,得到剪枝处理后的第二网络。
在步骤710中,可以通过多种方式对第二网络进行剪枝处理,在一个或多个可选的实施例中,去除第二网络中的至少一个网络通道,得到剪枝处理后的第二网络。
具体地,第二网络包括多个网络层,每个网络层包含至少一个网络通道。可以从第二网络包括的所有网络通道中选取一个或多个网络通道并将其去除,得到剪枝处理后的第二网络。在实现的过程中,可以通过多种方式确定需要去除的网络通道。在一些可能的实现方式中,基于第二网络中的每个网络通道的重要性,从第二网络的多个网络通道中选取至少一个网络通道进行去除,得到剪枝处理后的第二网络。例如,从第二网络的多个网络通道中去除重要性最低的至少一个网络通道,这样能够降低剪枝处理对网络性能的影响,在降低网络规模的条件下保持较好的网络处理性能。
网络通道的重要性可以通过多种方式进行度量。在一些可能的实现方式中,根据网络通道的反向梯度和输出,确定用于指示网络通道的重要性参数,并基于第二网络的多个网络通道中每个网络通道的重要性参数,从多个网络通道中去除重要性最低的至少一个网络通道,得到剪枝处理后的第二网络。
在一个可选的例子中,可以根据第一神经网络的损失函数和修剪网络的损失函数,基于最小化损失函数的损失,并对修剪网络的损失函数进行一阶泰勒展开,得到第一神经网络中的多个网络通道中每个网络通道对第一神经网络的输出结果产生的偏移量。
在一个例子中,对第二网络的剪枝处理可以基于上述公式(1)和公式(2)进行。
在本申请实施例中,去除的至少一个网络通道的数量可以通过多种方式确定。例如,可以基于重要性参数阈值确定去除的至少一个网络通道。再例如,可以设定剪枝比例,并基于剪枝比例和第二网络中包括的网络通道的数量,确定去除的至少一个网络通道的数量。作为一个例子,可以按照网络通道的重要性对网络通道进行降序排列,并按照设定剪裁比例保留重要程度高的网络通道,但本申请实施例不限于此。
可选地,也可以通过去除第二网络中的至少一个网络层来实现对第二网络的剪枝处理。为了缩减网络参数的数量,可以通过减少网络通道和/或网络层的数量实现对第二网络的剪枝处理,但本申请实施例对此不做限定。
步骤720,基于参考网络,训练剪枝处理后的第二网络,得到第三网络。
其中,参考网络为训练好的神经网络,基于参考网络训练剪枝处理后的第二网络,可以通过模仿学习,使得到的第三网络的性能接近参考网络。其中,可选地,参考网络的网络规模大于剪枝处理后的第二网络。例如,参考网络的网络参数量大于第一阈值,而剪枝处理后的第二网络的网络参数量小于第二阈值,其中,第一阈值大于第二阈值。再例如,参考网络为较大规模的网络,剪枝处理后的第二网络为中等规模的网络或较小规模的网络,但本申请实施例对此不做限定。这样,通过模仿学习大模型,可以获得比直接训练更加优异的泛化能力。
步骤730,基于第三网络,得到目标网络。
基于本申请上述实施例提供的一种神经网络训练方法,通过剪枝处理减小第二网络的规模,通过模仿学习,使第三网络的性能接近参考网络,使规模较小的目标网络能够在运算能力较小的设备中具有较好的处理性能。
在一个或多个可选的实施例中,步骤730可以包括:
响应于第三网络符合预设网络条件,将第三网络作为目标网络。
根据预设网络条件对第三网络进行判断,存在符合和不符合两种情况,当训练后的第三网络符合预设网络条件,将该第三网络作为目标网络输出,即获得了需要的网络;可选地,本实施例方法还可以包括:
响应于第三网络不符合预设网络条件,对第三网络进行剪枝处理,并基于参考网络,对剪枝处理后的第三网络进行训练,得到目标网络。
当训练后的第三网络不符合预设网络条件,需要将该训练后的第三网络进行剪枝处理(例如去除部分网络层和/或网络通道channel),使剪枝处理后的网络参数减少,本实施例中的剪枝处理过程可参照上述实施例。可选地,如果剪枝处理后的第三网络不符合预设网络条件,可以迭代进行多次剪枝处理,使获得的网络符合预设网络条件,但本申请实施例不限于此。
在上述各实施例中,可选地,预设网络条件可以包括但不限于以下至少一种:网络参数的数量小于设定值、网络运行速度达到设定速度。
随着人脸识别等计算机视觉技术的发展,移动端的计算机视觉技术已经开始逐渐普及,例如:手机端的人脸识别支付以及人脸识别解锁等应用已经开始落地市场,移动端人脸识别模型的性能对于用户安全性具有很大的影响。这就要求移动端的模型不仅仅要具备运算量、参数量少的特点,同时要保证很高的性能。
为了实现将网络模型应用到移动端等空间和运算能力有限的设备中,需要控制网络的大小(对应的参数量)和/或网络处理速度,以提高第二网络在移动端等设备中的可实现性。
图8为本申请实施例提供的另一神经网络训练方法中训练剪枝处理后的第二网络的一个例子的示意性流程图。本实施例方法包括:
步骤810,将样本图像集的至少一个样本图像中每个样本图像分别输入参考网络和剪枝处理后的第二网络,获得至少一个样本图像中每个样本图像的第一特征和第二特征。
这样,通过两个网络分别对样本图像集中的至少一个样本图像进行处理,得到两组特征数据。具体地,将样本图像输入到参考网络中进行处理,得到样本图像的第一特征,并将样本图像输入到剪枝处理后的第二网络中进行处理,得到样本图像的第二特征。这样,可以得到至少一个样本图像中每个样本图像的第一特征和第二特征,其中,至少一个样本图像的至少一个第一特征可以构成第一特征集,至少一个样本图像的至少一个第二特征可以构成第二特征集。
参考网络可以是较大的网络,为了获得功能相同的小型网络(适用于移动端),以经过训练后的参考网络为基准,通过剪枝处理后的第二网络对参考网络模仿学习,以获得训练后的第三网络。
可选地,样本图像集中的样本图像可以为原始图像,或者是通过增强处理(augmentation)获得的样本图像,例如:对原始的样本图像通过镜像、反转等操作得到新的样本图像,以增加样本图像的数量,这样,通过增加样本图像集中样本图像的数量,提高网络训练的性能,但本申请实施例对此不做限定。
步骤820,基于至少一个样本图像中每个样本图像的第一特征和第二特征,调整剪枝处理后的第二网络的网络参数,得到第三网络。
本申请实施例通过剪枝处理后的第二网络和参考网络处理同一图像,通过比较相同图像的第一特征和第二特征(例如缩小得到的第一特征和第二特征之间的距离)使两个网络的性能相似,从而提高训练得到的第三网络的性能。
可选地,基于样本图像的第一特征和第二特征,确定第一损失;基于第一损失,调整剪枝处理后的第二网络的网络参数,得到第三网络。
本申请实施例中,样本图像通过参考网络的处理可得到第一特征,该样本图像通过剪枝处理后的第二网络的处理得到第二特征,此时,由于第一特征和第二特征对应同一样本图像,可选地,第一特征和第二特征之间的距离,可用于度量参考网络和剪枝处理后的第二网络之间的性能差异,可选地,基于第一特征和第二特征之间的距离(如:欧式距离、余弦距离等)确定第一损失,基于第一损失训练剪枝处理后的第二网络,使得到的第三网络性能接近参考网络。
在一个例子中,对第一特征进行归一化处理,得到归一化特征,并基于归一化特征与第二特征之间的距离,确定第一损失。
具体地,对参考网络输出的第一特征执行归一化处理(例如:正则化处理);再基于归一化特征与第二特征之间的距离(如:欧式距离、余弦距离等)确定第一损失,能够加快训练速度。
图9为本申请实施例提供的另一神经网络训练方法中训练剪枝处理后的第二网络的另一示例的示意性流程图。在该示例中,样本图像集包括多个图像子集,其中不同图像子集对应于不同的数据源,从而实现多任务联合学习。
步骤910,将多个图像子集中每个图像子集包括的至少一个样本图像分别输入参考网络和剪枝处理后的第二网络,获得多个图像子集中每个图像子集对应的第一特征子集和第二特征子集。
多个图像子集中的每个图像子集可以对应于第一特征子集和第二特征子集,其中,第一特征子集包括至少一个第一特征,即图像子集包括的至少一个样本图像中每个样本图像的第一特征,第二特征子集包括至少一个第二特征,即图像子集中包括的至少一个样本图像中每个样本图像的第二特征。
步骤920,基于多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,确定每个图像子集对应的第二损失。
这里,基于图像子集对应的第一特征子集和第二特征子集,确定图像子集对应的第二损失。具体地,可以基于图像子集包括的每个样本图像的第一特征和第二特征,确定每个样本图像的第一损失,例如如图8所述的例子,并基于图像子集中每个样本图像的第一损失,确定图像子集对应的第二损失,例如进行平均或者相加,等等。
步骤930,基于多个图像子集中每个图像子集对应的第二损失和每个图像子集的权重,调整剪枝处理后的第二网络的网络参数,得到第三网络。
可选地,不同的图像子集可以对应于不同的权重,这样,通过基于每个图像子集对应的第二损失及其权重来调整网络参数,可以使得训练得到的第三网络能够处理来自于不同数据源的图像,提高网络的应用范围。
本实施例提出了多任务联合模仿学习,网络的训练不再通过分类任务获得,而是采用一种多任务联合模仿学习,通过小模型来直接学习大模型在不同数据域(本实施例中的图像子集)下的特征来获得比直接训练分类任务更加优异的泛化能力,可选地,本申请实施例中的图像子集可基于多种方式进行划分,例如:将对应不同的应用场景或者区域的图像划分到不同的图像子集中,本申请实施例对此不做限定。
可选地,在一个可选示例中,将多个图像子集中每个图像子集对应的第二损失和每个图像子集对应的权重的乘积相加,得到第三损失;基于第三损失,调整剪枝处理后的第二网络的网络参数,得到第三网络。
可选地,通过多个图像子集分别可得到多个第二损失,在基于多个第二损失训练剪枝处理后的第二网络时,可结合每个图像子集(数据任务)对应的权重对第二损失进行加权求和,以得到的和作为第三损失,利用第三损失训练剪枝处理后的第二网络,实现快速的多任务模仿学习。
可选地,在另一个可选示例中,基于多个图像子集中每个图像子集的第二损失,确定剪枝处理后的第二网络中的网络层的与每个图像子集对应的反向梯度;将网络层的与多个图像子集中每个图像子集对应的反向梯度进行加权求和,获得网络层的总梯度;基于总梯度,调整网络层的参数,得到第三网络。
本申请实施利用多数据源的样本图像集对参考网络进行模仿学习,对于每个图像子集分别获得一个第二损失,第二损失通过反向梯度方法对剪枝处理后的第二网络进行训练,在训练过程中基于每个第二损失对每个网络层都会获得对应的梯度,即每个网络层会获得至少一个梯度,而每个图像子集具有不同的权重,在训练时,基于该权重将每个网络层对应的至少一个梯度进行加权求和,以加权求和得到的和作为梯度对网络层进行参数调整。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图10为本申请实施例提供的另一神经网络训练的一个结构示意图。该实施例的装置可用于实现本申请上述各方法实施例。如图10所示,该实施例的装置包括:
网络剪枝单元101,用于对第二网络进行剪枝处理,得到剪枝处理后的第二网络。
可选地,可以通过多种方式对第二网络进行剪枝处理,在一个或多个可选的实施例中,去除第二网络中的至少一个网络通道,得到剪枝处理后的第二网络。
具体地,第二网络包括多个网络层,每个网络层包含至少一个网络通道。可以从第二网络包括的所有网络通道中选取一个或多个网络通道并将其去除,得到剪枝处理后的第二网络。在实现的过程中,可以通过多种方式确定需要去除的网络通道。在一些可能的实现方式中,基于第二网络中的每个网络通道的重要性,从第二网络的多个网络通道中选取至少一个网络通道进行去除,得到剪枝处理后的第二网络。例如,从第二网络的多个网络通道中去除重要性最低的至少一个网络通道,这样能够降低剪枝处理对网络性能的影响,在降低网络规模的条件下保持较好的网络处理性能。
网络通道的重要性可以通过多种方式进行度量。在一些可能的实现方式中,根据网络通道的反向梯度和输出,确定用于指示网络通道的重要性参数,并基于第二网络的多个网络通道中每个网络通道的重要性参数,从多个网络通道中去除重要性最低的至少一个网络通道,得到剪枝处理后的第二网络。
模仿参考单元102,用于基于参考网络,训练剪枝处理后的第二网络,得到第三网络。
其中,参考网络为训练好的神经网络,基于参考网络训练剪枝处理后的第二网络,可以通过模仿学习,使得到的第三网络的性能接近参考网络。其中,可选地,参考网络的网络规模大于剪枝处理后的第二网络。例如,参考网络的网络参数量大于第一阈值,而剪枝处理后的第二网络的网络参数量小于第二阈值,其中,第一阈值大于第二阈值。再例如,参考网络为较大规模的网络,剪枝处理后的第二网络为中等规模的网络或较小规模的网络,但本申请实施例对此不做限定。这样,通过模仿学习大模型,可以获得比直接训练更加优异的泛化能力。
网络获得单元103,用于基于第三网络,得到目标网络。
基于本申请上述实施例提供的一种神经网络训练装置,通过剪枝处理减小第二网络的规模,通过模仿学习,使第三网络的性能接近参考网络,使规模较小的目标网络能够在运算能力较小的设备中具有较好的处理性能。
可选地,网络获得单元103,用于响应于第三网络符合预设网络条件,将第三网络作为目标网络。
根据预设网络条件对第三网络进行判断,存在符合和不符合两种情况,当训练后的第三网络符合预设网络条件,将该第三网络作为目标网络输出,即获得了需要的网络;可选地,本实施例方法还可以包括:
响应于第三网络不符合预设网络条件,对第三网络进行剪枝处理,并基于参考网络,对剪枝处理后的第三网络进行训练,得到目标网络。
可选地,本实施例装置还可以包括:
不符合条件单元,用于响应于第三网络不符合预设网络条件,对第三网络进行剪枝处理,并基于参考网络,对剪枝处理后的第三网络进行训练,得到目标网络。
可选地,预设网络条件可以包括但不限于以下至少一种:网络参数的数量小于设定值、网络运行速度达到设定速度。
在一个或多个可选的实施例中,模仿参考单元102,包括:
特征提取模块,用于将样本图像集的至少一个样本图像中每个样本图像分别输入参考网络和剪枝处理后的第二网络,获得至少一个样本图像中每个样本图像的第一特征和第二特征;
参数调整模块,用于基于至少一个样本图像中每个样本图像的第一特征和第二特征,调整剪枝处理后的第二网络的网络参数,得到第三网络。
本申请实施例通过剪枝处理后的第二网络和参考网络处理同一图像,通过比较相同图像的第一特征和第二特征(例如缩小得到的第一特征和第二特征之间的距离)使两个网络的性能相似,从而提高训练得到的第三网络的性能。
可选地,参数调整模块,具体用于基于样本图像的第一特征和第二特征,确定第一损失;基于第一损失,调整剪枝处理后的第二网络的网络参数,得到第三网络。
可选地,参数调整模块在基于样本图像的第一特征和第二特征,确定第一损失时,用于对第一特征进行归一化处理,得到归一化特征;基于归一化特征与第二特征之间的距离,确定第一损失。
可选地,特征提取模块,具体用于将多个图像子集中每个图像子集包括的至少一个样本图像分别输入参考网络和剪枝处理后的第二网络,获得多个图像子集中每个图像子集对应的第一特征子集和第二特征子集。
其中,样本图像集包括对应于不同数据源的多个图像子集,第一特征子集包括至少一个所述第一特征,第二特征子集包括至少一个第二特征;
参数调整模块包括:第二损失模块,用于基于多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,确定每个图像子集对应的第二损失;
加权训练模块,用于基于多个图像子集中每个图像子集对应的第二损失和每个图像子集的权重,调整剪枝处理后的第二网络的网络参数,得到第三网络。
可选地,加权训练模块,具体用于将多个图像子集中每个图像子集对应的第二损失和每个图像子集对应的权重的乘积相加,得到第三损失;基于第三损失,调整剪枝处理后的第二网络的网络参数,得到第三网络。
可选地,加权训练模块,具体用于基于多个图像子集中每个图像子集的第二损失,确定剪枝处理后的第二网络中的网络层的与每个图像子集对应的反向梯度;将网络层的与多个图像子集中每个图像子集对应的反向梯度进行加权求和,获得网络层的总梯度;基于总梯度,调整网络层的参数,得到第三网络。
本申请实施例提供的神经网络训练装置任一实施例的工作过程以及设置方式均可以参照本申请上述相应方法实施例的具体描述,限于篇幅,在此不再赘述。
图11为本申请实施例提供的图像处理方法的示意性流程图。该方法可以由任意模型设备执行,例如终端设备、服务器、移动设备等等,本申请实施例对此不做限定。本实施方法包括:
步骤1110,获取待处理图像。
步骤1120,将待处理图像输入到目标神经网络进行处理,得到图像处理结果。
其中,目标神经网络是利用上述任一实施例提供的神经网络训练方法训练得到的。
本实施中的图像处理方法可以在任意模型中实现,由于经过上述神经网络训练方法得到的目标神经网络具备运算量、参数量少的特点,同时保证了很高的性能,因此,本实施例中的图像处理方法可以应用到移动端等空间和运算能力有限的设备中,降低了图像处理对硬件的要求。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图12为本申请实施例提供的图像处理装置的一个结构示意图。该实施例的装置可用于实现本申请上述各方法实施例。如图12所示,该实施例的装置包括:
图像获取单元1201,用于获取待处理图像。
图像处理单元1202,用于将待处理图像输入到目标神经网络进行处理,得到图像处理结果。
其中,目标神经网络是利用上述任一实施例提供的神经网络训练方法训练得到的。
本实施中的图像处理装置,由于经过上述神经网络训练方法得到的目标神经网络具备运算量、参数量少的特点,同时保证了很高的性能,因此,本实施例中的图像处理装置可以应用到移动端等空间和运算能力有限的设备中,降低了图像处理对硬件的要求。
根据本申请实施例的另一个方面,提供的一种电子设备,包括处理器,该处理器包括如上任意一实施例的神经网络训练装置或上述实施例提供的图像处理装置。
根据本申请实施例的另一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;
以及处理器,用于与存储器通信以执行可执行指令从而完成如上任意一实施例神经网络训练方法或上述实施例提供的图像处理方法的操作。
根据本申请实施例的另一个方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,指令被执行时执行如上任意一实施例神经网络训练方法或上述实施例提供的图像处理方法的操作。
根据本申请实施例的另一个方面,提供的一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任意一实施例神经网络训练方法或上述实施例提供的图像处理方法的指令。
根据本申请实施例的再一个方面,提供的另一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任一可能的实现方式中的神经网络训练方法或上述实施例提供的图像处理方法的操作。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
根据本申请实施例还提供了神经网络训练及图像处理方法和装置、电子设备、计算机存储介质、计算机程序产品,其中,基于参考网络,训练第一网络,得到第二网络;响应于第二网络不符合预设网络条件,对第二网络进行剪枝处理,得到剪枝处理后的第二网络;基于参考网络,训练剪枝处理后的第二网络,得到目标网络。
在一些实施例中,该神经网络训练指示或图像处理指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行神经网络训练或图像处理,相应地,响应于接收到调用指令,第二装置可以执行上述神经网络训练方法或图像处理方法中的任意实施例中的步骤和/或流程。
应理解,本申请实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本申请实施例的限定。
还应理解,在本申请中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本申请中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
还应理解,本申请对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
本申请实施例还提供了一种电子设备,例如可以是移动终端、个人计算机(PC)、平板电脑、服务器等。下面参考图13,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备1300的结构示意图:如图13所示,电子设备1300包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(CPU)1301,和/或一个或多个图像处理器(GPU)1313等,处理器可以根据存储在只读存储器(ROM)1302中的可执行指令或者从存储部分1308加载到随机访问存储器(RAM)1303中的可执行指令而执行各种适当的动作和处理。通信部1312可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡。
处理器可与只读存储器1302和/或随机访问存储器1303中通信以执行可执行指令,通过总线1304与通信部1312相连、并经通信部1312与其他目标设备通信,从而完成本申请实施例提供的任一项方法对应的操作,例如,基于参考网络,训练第一网络,得到第二网络;响应于第二网络不符合预设网络条件,对第二网络进行剪枝处理,得到剪枝处理后的第二网络;基于参考网络,训练剪枝处理后的第二网络,得到目标网络。
此外,在RAM 1303中,还可存储有装置操作所需的各种程序和数据。CPU1301、ROM1302以及RAM1303通过总线1304彼此相连。在有RAM1303的情况下,ROM1302为可选模块。RAM1303存储可执行指令,或在运行时向ROM1302中写入可执行指令,可执行指令使中央处理单元1301执行上述通信方法对应的操作。输入/输出(I/O)接口1305也连接至总线1304。通信部1312可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
需要说明的,如图13所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图13的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU1313和CPU1301可分离设置或者可将GPU1313集成在CPU1301上,通信部可分离设置,也可集成设置在CPU1301或GPU1313上,等等。这些可替换的实施方式均落入本申请公开的保护范围。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本申请实施例提供的方法步骤对应的指令,例如,基于参考网络,训练第一网络,得到第二网络;响应于第二网络不符合预设网络条件,对第二网络进行剪枝处理,得到剪枝处理后的第二网络;基于参考网络,训练剪枝处理后的第二网络,得到目标网络。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本申请的方法中限定的上述功能的操作。
可能以许多方式来实现本申请的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。
本申请的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本申请限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本申请的原理和实际应用,并且使本领域的普通技术人员能够理解本申请从而设计适于特定用途的带有各种修改的各种实施例。

Claims (43)

1.一种神经网络训练方法,其特征在于,包括:
基于参考网络,训练第一网络,得到第二网络;包括:将样本图像集的至少一个样本图像中每个样本图像分别输入所述参考网络和所述第一网络,获得所述至少一个样本图像中每个样本图像的第一特征和第二特征;基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述第一网络的网络参数,得到所述第二网络;所述样本图像集包括对应于不同数据源的多个图像子集;
响应于所述第二网络不符合预设网络条件,对所述第二网络进行剪枝处理,得到剪枝处理后的第二网络;所述剪枝处理包括:从所述第二网络的多个网络通道中去除重要性最低的至少一个网络通道;
基于所述参考网络,训练所述剪枝处理后的第二网络,得到目标网络;
所述基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述第一网络的网络参数,得到所述第二网络,包括:基于所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,确定所述每个图像子集对应的第二损失;基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述第一网络的网络参数,得到所述第二网络。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述第二网络符合预设网络条件,将所述第二网络作为所述目标网络。
3.根据权利要求1所述的方法,其特征在于,所述预设网络条件包括以下至少一种:网络参数的数量小于设定值、网络运行速度达到设定速度。
4.根据权利要求1-3任一所述的方法,其特征在于,所述从所述第二网络的多个网络通道中去除重要性最低的至少一个网络通道,得到所述剪枝处理后的第二网络,包括:
根据所述第二网络中每个网络通道的反向梯度和所述每个网络通道的输出,确定所述每个网络通道的重要性参数;
基于所述第二网络的多个网络通道中每个网络通道的重要性参数,从所述多个网络通道中去除重要性最低的至少一个网络通道,得到所述剪枝处理后的第二网络。
5.根据权利要求1-3任一所述的方法,其特征在于,所述基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述第一网络的网络参数,得到所述第二网络,包括:
基于所述样本图像的第一特征和第二特征,确定第一损失;
基于所述第一损失,调整所述第一网络的网络参数,得到所述第二网络。
6.根据权利要求5所述的方法,其特征在于,所述基于所述样本图像的第一特征和第二特征,确定第一损失,包括:
对所述第一特征进行归一化处理,得到归一化特征;
基于所述归一化特征与所述第二特征之间的距离,确定第一损失。
7.根据权利要求1-3任一所述的方法,其特征在于,所述将样本图像集的至少一个样本图像中每个样本图像分别输入所述参考网络和所述第一网络,获得每个所述样本图像的第一特征和第二特征,包括:
将多个图像子集中每个图像子集包括的至少一个样本图像分别输入所述参考网络和所述第一网络,获得所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,其中,所述第一特征子集包括至少一个所述第一特征,所述第二特征子集包括至少一个所述第二特征。
8.根据权利要求7所述的方法,其特征在于,所述基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述第一网络的网络参数,得到所述第二网络,包括:
将所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集对应的权重的乘积相加,得到第三损失;
基于所述第三损失,调整所述第一网络的网络参数,得到所述第二网络。
9.根据权利要求7所述的方法,其特征在于,所述基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述第一网络的网络参数,得到所述第二网络,包括:
基于所述多个图像子集中每个图像子集的第二损失,确定所述第一网络中的网络层的与所述每个图像子集对应的反向梯度;
将所述网络层的与所述多个图像子集中每个图像子集对应的反向梯度进行加权求和,获得所述网络层的总梯度;
基于所述总梯度,调整所述网络层的参数,得到所述第二网络。
10.一种神经网络训练方法,其特征在于,包括:
对第二网络进行剪枝处理,得到剪枝处理后的第二网络;所述剪枝处理包括:从所述第二网络的多个网络通道中去除重要性最低的至少一个网络通道;
基于参考网络,训练所述剪枝处理后的第二网络,得到第三网络;包括:将样本图像集的至少一个样本图像中每个样本图像分别输入所述参考网络和所述剪枝处理后的第二网络,获得所述至少一个样本图像中每个样本图像的第一特征和第二特征;基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络;所述样本图像集包括对应于不同数据源的多个图像子集;
基于所述第三网络,得到目标网络;
所述基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络,包括:基于所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,确定所述每个图像子集对应的第二损失;基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
11.根据权利要求10所述的方法,其特征在于,所述基于所述第三网络,得到目标网络,包括:
响应于所述第三网络符合预设网络条件,将所述第三网络作为所述目标网络。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
响应于所述第三网络不符合所述预设网络条件,对所述第三网络进行剪枝处理,并基于所述参考网络,对剪枝处理后的所述第三网络进行训练,得到所述目标网络。
13.根据权利要求11所述的方法,其特征在于,所述预设网络条件包括以下至少一种:网络参数的数量小于设定值、网络运行速度达到设定速度。
14.根据权利要求10-13任一所述的方法,其特征在于,所述从所述第二网络的多个网络通道中去除重要性最低的至少一个网络通道,包括:
根据所述第二网络中每个网络通道的反向梯度和所述每个网络通道的输出,确定所述每个网络通道的重要性参数;
基于所述第二网络的多个网络通道中每个网络通道的重要性参数,从所述多个网络通道中去除重要性最低的至少一个网络通道,得到所述剪枝处理后的第二网络。
15.根据权利要求10-13任一所述的方法,其特征在于,所述基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络,包括:
基于所述样本图像的第一特征和第二特征,确定第一损失;
基于所述第一损失,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
16.根据权利要求15所述的方法,其特征在于,所述基于所述样本图像的第一特征和第二特征,确定第一损失,包括:
对所述第一特征进行归一化处理,得到归一化特征;
基于所述归一化特征与所述第二特征之间的距离,确定第一损失。
17.根据权利要求10-13任一所述的方法,其特征在于,所述将样本图像集的至少一个样本图像中每个样本图像分别输入所述参考网络和所述剪枝处理后的第二网络,获得所述至少一个样本图像中每个样本图像的第一特征和第二特征,包括:
将多个图像子集中每个图像子集包括的至少一个样本图像分别输入所述参考网络和所述剪枝处理后的第二网络,获得所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,其中,所述第一特征子集包括至少一个所述第一特征,所述第二特征子集包括至少一个所述第二特征。
18.根据权利要求17所述的方法,其特征在于,所述基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络,包括:
将所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集对应的权重的乘积相加,得到第三损失;
基于所述第三损失,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
19.根据权利要求17所述的方法,其特征在于,所述基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络,包括:
基于所述多个图像子集中每个图像子集的第二损失,确定所述剪枝处理后的第二网络中的网络层的与所述每个图像子集对应的反向梯度;
将所述网络层的与所述多个图像子集中每个图像子集对应的反向梯度进行加权求和,获得所述网络层的总梯度;
基于所述总梯度,调整所述网络层的参数,得到所述第三网络。
20.一种图像处理方法,其特征在于,包括:
获取待处理图像;
将所述待处理图像输入到目标神经网络进行处理,得到图像处理结果;
其中,所述目标神经网络是利用权利要求1-19中任一项所述的神经网络训练方法训练得到的。
21.一种神经网络训练装置,其特征在于,包括:
模仿学习单元,用于基于参考网络,训练第一网络,得到第二网络;
剪枝处理单元,用于响应于所述第二网络不符合预设网络条件,对所述第二网络进行剪枝处理,得到剪枝处理后的第二网络;所述剪枝处理包括:从所述第二网络的多个网络通道中去除重要性最低的至少一个网络通道;
目标网络单元,用于基于所述参考网络,训练所述剪枝处理后的第二网络,得到目标网络;
所述模仿学习单元,包括:
特征提取模块,用于将样本图像集的至少一个样本图像中每个样本图像分别输入所述参考网络和所述第一网络,获得所述至少一个样本图像中每个样本图像的第一特征和第二特征;所述样本图像集包括对应于不同数据源的多个图像子集;
参数调整模块,用于基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述第一网络的网络参数,得到所述第二网络;
所述参数调整模块包括:第二损失模块,用于基于所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,确定所述每个图像子集对应的第二损失;加权训练模块,用于基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述第一网络的网络参数,得到所述第二网络。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括:
符合条件单元,用于响应于所述第二网络符合预设网络条件,将所述第二网络作为所述目标网络。
23.根据权利要求21所述的装置,其特征在于,所述预设网络条件包括以下至少一种:网络参数的数量小于设定值、网络运行速度达到设定速度。
24.根据权利要求21-23任一所述的装置,其特征在于,所述剪枝处理单元,具体用于根据所述第二网络中每个网络通道的反向梯度和所述每个网络通道的输出,确定所述每个网络通道的重要性参数;基于所述第二网络的多个网络通道中每个网络通道的重要性参数,从所述多个网络通道中去除重要性最低的至少一个网络通道,得到所述剪枝处理后的第二网络。
25.根据权利要求21-23任一所述的装置,其特征在于,所述参数调整模块,具体用于基于所述样本图像的第一特征和第二特征,确定第一损失;基于所述第一损失,调整所述第一网络的网络参数,得到所述第二网络。
26.根据权利要求25所述的装置,其特征在于,所述参数调整模块在基于所述样本图像的第一特征和第二特征,确定第一损失时,用于对所述第一特征进行归一化处理,得到归一化特征;基于所述归一化特征与所述第二特征之间的距离,确定第一损失。
27.根据权利要求21-23任一所述的装置,其特征在于,所述特征提取模块,具体用于将多个图像子集中每个图像子集包括的至少一个样本图像分别输入所述参考网络和所述第一网络,获得所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,其中,所述第一特征子集包括至少一个所述第一特征,所述第二特征子集包括至少一个所述第二特征。
28.根据权利要求27所述的装置,其特征在于,所述加权训练模块,具体用于将所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集对应的权重的乘积相加,得到第三损失;基于所述第三损失,调整所述第一网络的网络参数,得到所述第二网络。
29.根据权利要求27所述的装置,其特征在于,所述加权训练模块,具体用于基于所述多个图像子集中每个图像子集的第二损失,确定所述第一网络中的网络层的与所述每个图像子集对应的反向梯度;将所述网络层的与所述多个图像子集中每个图像子集对应的反向梯度进行加权求和,获得所述网络层的总梯度;基于所述总梯度,调整所述网络层的参数,得到所述第二网络。
30.一种神经网络训练装置,其特征在于,包括:
网络剪枝单元,用于对第二网络进行剪枝处理,得到剪枝处理后的第二网络;所述剪枝处理包括:从所述第二网络的多个网络通道中去除重要性最低的至少一个网络通道;
模仿参考单元,用于基于参考网络,训练所述剪枝处理后的第二网络,得到第三网络;
网络获得单元,用于基于所述第三网络,得到目标网络;
所述模仿参考单元,包括:
特征提取模块,用于将样本图像集的至少一个样本图像中每个样本图像分别输入所述参考网络和所述剪枝处理后的第二网络,获得所述至少一个样本图像中每个样本图像的第一特征和第二特征;所述样本图像集包括对应于不同数据源的多个图像子集;
参数调整模块,用于基于所述至少一个样本图像中每个样本图像的第一特征和第二特征,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络;
所述参数调整模块包括:第二损失模块,用于基于所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,确定所述每个图像子集对应的第二损失;加权训练模块,用于基于所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集的权重,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
31.根据权利要求30所述的装置,其特征在于,所述网络获得单元,用于响应于所述第三网络符合预设网络条件,将所述第三网络作为所述目标网络。
32.根据权利要求31所述的装置,其特征在于,所述装置还包括:
不符合条件单元,用于响应于所述第三网络不符合所述预设网络条件,对所述第三网络进行剪枝处理,并基于所述参考网络,对剪枝处理后的所述第三网络进行训练,得到所述目标网络。
33.根据权利要求31所述的装置,其特征在于,所述预设网络条件包括以下至少一种:网络参数的数量小于设定值、网络运行速度达到设定速度。
34.根据权利要求30-33任一所述的装置,其特征在于,所述网络剪枝单元,具体用于根据所述第二网络中每个网络通道的反向梯度和所述每个网络通道的输出,确定所述每个网络通道的重要性参数;基于所述第二网络的多个网络通道中每个网络通道的重要性参数,从所述多个网络通道中去除重要性最低的至少一个网络通道,得到所述剪枝处理后的第二网络。
35.根据权利要求30-33任一所述的装置,其特征在于,所述参数调整模块,具体用于基于所述样本图像的第一特征和第二特征,确定第一损失;基于所述第一损失,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
36.根据权利要求35所述的装置,其特征在于,所述参数调整模块在基于所述样本图像的第一特征和第二特征,确定第一损失时,用于对所述第一特征进行归一化处理,得到归一化特征;基于所述归一化特征与所述第二特征之间的距离,确定第一损失。
37.根据权利要求30-33任一所述的装置,其特征在于,所述特征提取模块,具体用于将多个图像子集中每个图像子集包括的至少一个样本图像分别输入所述参考网络和所述剪枝处理后的第二网络,获得所述多个图像子集中每个图像子集对应的第一特征子集和第二特征子集,其中,所述第一特征子集包括至少一个所述第一特征,所述第二特征子集包括至少一个所述第二特征。
38.根据权利要求37所述的装置,其特征在于,所述加权训练模块,具体用于将所述多个图像子集中每个图像子集对应的第二损失和所述每个图像子集对应的权重的乘积相加,得到第三损失;基于所述第三损失,调整所述剪枝处理后的第二网络的网络参数,得到所述第三网络。
39.根据权利要求37所述的装置,其特征在于,所述加权训练模块,具体用于基于所述多个图像子集中每个图像子集的第二损失,确定所述剪枝处理后的第二网络中的网络层的与所述每个图像子集对应的反向梯度;将所述网络层的与所述多个图像子集中每个图像子集对应的反向梯度进行加权求和,获得所述网络层的总梯度;基于所述总梯度,调整所述网络层的参数,得到所述第三网络。
40.一种图像处理装置,其特征在于,包括:
图像获取单元,用于获取待处理图像;
图像处理单元,用于将所述待处理图像输入到目标神经网络进行处理,得到图像处理结果;
其中,所述目标神经网络是利用权利要求1-19中任一项所述的神经网络训练方法训练得到的。
41.一种电子设备,其特征在于,包括处理器,所述处理器包括权利要求21至39任意一项所述的神经网络训练装置或权利要求40所述的图像处理装置。
42.一种电子设备,其特征在于,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成权利要求1至19任意一项所述神经网络训练方法或权利要求20所述图像处理方法的操作。
43.一种计算机可读存储介质,用于存储计算机可读取的指令,其特征在于,所述指令被执行时执行权利要求1至19任意一项所述神经网络训练方法或权利要求20所述图像处理方法的操作。
CN201811103501.7A 2018-09-20 2018-09-20 神经网络训练及图像处理方法和装置、电子设备、介质 Active CN110929836B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811103501.7A CN110929836B (zh) 2018-09-20 2018-09-20 神经网络训练及图像处理方法和装置、电子设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811103501.7A CN110929836B (zh) 2018-09-20 2018-09-20 神经网络训练及图像处理方法和装置、电子设备、介质

Publications (2)

Publication Number Publication Date
CN110929836A CN110929836A (zh) 2020-03-27
CN110929836B true CN110929836B (zh) 2023-10-31

Family

ID=69856322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811103501.7A Active CN110929836B (zh) 2018-09-20 2018-09-20 神经网络训练及图像处理方法和装置、电子设备、介质

Country Status (1)

Country Link
CN (1) CN110929836B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111523640B (zh) * 2020-04-09 2023-10-31 北京百度网讯科技有限公司 神经网络模型的训练方法和装置
CN111582446B (zh) * 2020-04-28 2022-12-06 北京达佳互联信息技术有限公司 用于神经网络剪枝的系统和神经网络的剪枝处理方法
CN111639815B (zh) * 2020-06-02 2023-09-05 贵州电网有限责任公司 一种多模型融合预测电网缺陷物资的方法及系统
CN111553169B (zh) * 2020-06-25 2023-08-25 北京百度网讯科技有限公司 语义理解模型的剪枝方法、装置、电子设备和存储介质
CN111539224B (zh) * 2020-06-25 2023-08-25 北京百度网讯科技有限公司 语义理解模型的剪枝方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779075A (zh) * 2017-02-16 2017-05-31 南京大学 一种计算机中采用剪枝方法改进的神经网络
CN107247989A (zh) * 2017-06-15 2017-10-13 北京图森未来科技有限公司 一种神经网络训练方法及装置
CN108021916A (zh) * 2017-12-31 2018-05-11 南京航空航天大学 基于注意力机制的深度学习糖尿病视网膜病变分类方法
CN108334934A (zh) * 2017-06-07 2018-07-27 北京深鉴智能科技有限公司 基于剪枝和蒸馏的卷积神经网络压缩方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779075A (zh) * 2017-02-16 2017-05-31 南京大学 一种计算机中采用剪枝方法改进的神经网络
CN108334934A (zh) * 2017-06-07 2018-07-27 北京深鉴智能科技有限公司 基于剪枝和蒸馏的卷积神经网络压缩方法
CN107247989A (zh) * 2017-06-15 2017-10-13 北京图森未来科技有限公司 一种神经网络训练方法及装置
CN108021916A (zh) * 2017-12-31 2018-05-11 南京航空航天大学 基于注意力机制的深度学习糖尿病视网膜病变分类方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Channel Pruning for Accelerating Very Deep Neural Networks;He Yihui 等;《IEEE International Conference on Computer Vision》;第1398-1406页 *
Learning Efficient Convolutional Networks through Network Slimming;Liu Zhuang 等;《IEEE International Conference on Computer Vision》;第2755-2763页 *

Also Published As

Publication number Publication date
CN110929836A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
CN110929836B (zh) 神经网络训练及图像处理方法和装置、电子设备、介质
CN111860573B (zh) 模型训练方法、图像类别检测方法、装置和电子设备
CN110210560B (zh) 分类网络的增量训练方法、分类方法及装置、设备及介质
CN108351984B (zh) 硬件高效的深度卷积神经网络
CN106570464B (zh) 一种快速处理人脸遮挡的人脸识别方法及装置
CN107679572B (zh) 一种图像判别方法、存储设备及移动终端
CN107679466B (zh) 信息输出方法和装置
CN109711358B (zh) 神经网络训练方法、人脸识别方法及系统和存储介质
CN108269254A (zh) 图像质量评估方法和装置
CN110993094A (zh) 一种基于医学图像的智能辅助诊断方法及终端
CN108229419A (zh) 用于聚类图像的方法和装置
CN111476268A (zh) 翻拍识别模型训练、图像识别方法、装置、设备及介质
CN109242092B (zh) 图像处理方法和装置、电子设备、存储介质
CN108228700B (zh) 图像描述模型的训练方法、装置、电子设备及存储介质
CN111428557A (zh) 基于神经网络模型的手写签名的自动校验的方法和装置
CN110689136B (zh) 一种深度学习模型获得方法、装置、设备及存储介质
CN109726291B (zh) 分类模型的损失函数优化方法、装置及样本分类方法
CN111325190A (zh) 一种表情识别方法、装置、计算机设备及可读存储介质
CN109766476B (zh) 视频内容情感分析方法、装置、计算机设备及存储介质
CN113011532A (zh) 分类模型训练方法、装置、计算设备及存储介质
CN114579743A (zh) 基于注意力的文本分类方法、装置及计算机可读介质
CN111062440A (zh) 一种样本选择方法、装置、设备及存储介质
CN114299304A (zh) 一种图像处理方法及相关设备
CN116152938A (zh) 身份识别模型训练和电子资源转移方法、装置及设备
CN117315758A (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