CN114004357A - 神经网络训练的方法、装置、电子设备及存储介质 - Google Patents
神经网络训练的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114004357A CN114004357A CN202111313776.5A CN202111313776A CN114004357A CN 114004357 A CN114004357 A CN 114004357A CN 202111313776 A CN202111313776 A CN 202111313776A CN 114004357 A CN114004357 A CN 114004357A
- Authority
- CN
- China
- Prior art keywords
- neural network
- feature extraction
- target
- extraction layer
- feature
- 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.)
- Pending
Links
Images
Classifications
-
- 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/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种神经网络训练的方法、装置、电子设备及存储介质,其中,该方法包括:获取训练数据、以及训练得到的多个目标神经网络;利用多个目标神经网络分别对训练数据进行特征提取,得到每个目标神经网络包括的特征提取层输出的特征信息;基于各个目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值,其中,联合神经网络由多个目标神经网络以及各个目标神经网络包括的特征提取层之间的连接层构成;基于损失函数值对待训练的联合神经网络进行至少一轮网络训练,得到训练好的联合神经网络。本公开不仅考虑了不同任务各自的特征,还利用连接层实现了任务之间的特征交流,提升了所训练的联合神经网络的通用性。
Description
技术领域
本公开涉及人工智能技术领域,具体而言,涉及一种神经网络训练的方法、装置、电子设备及存储介质。
背景技术
随着人工智能技术的飞速发展,基于端到端的深度学习技术也日趋成熟。大多数情况下,需要为每一个任务学习一个神经网络,例如,可以为图像分类任务学习一个图像分类神经网络,还可以为目标检测任务学习一个目标检测神经网络。
为了通过联合任务学习获得更好的泛化性能,相关技术中提供了一种多任务学习的方法,该方法可以在上游为各类任务共同学习一个预训练神经网络,该神经网络可以在面对下游各类不同的任务时,直接共享预训练好的早期权重。
由于不同的任务通常存在不同的学习方向,这导致各任务之间的异构冲突较大,而不同任务的异构问题将会干扰整个多任务学习的目标方向,导致多任务学习性能不佳。
发明内容
本公开实施例至少提供一种神经网络训练的方法、装置、电子设备及存储介质,以提升多任务学习的训练性能。
第一方面,本公开实施例提供了一种神经网络训练的方法,所述方法包括:
获取训练数据、以及训练得到的多个目标神经网络;所述训练数据包括多个图像样本;所述多个目标神经网络分别用于执行不同的目标任务;
利用所述多个目标神经网络分别对所述训练数据进行特征提取,得到每个目标神经网络包括的特征提取层输出的特征信息;
基于各个所述目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值,其中,所述联合神经网络由所述多个目标神经网络以及各个所述目标神经网络包括的特征提取层之间的连接层构成;
基于所述损失函数值对所述待训练的联合神经网络进行至少一轮网络训练,得到训练好的联合神经网络。
采用上述神经网络训练的方法,在获取到训练数据以及训练得到的多个目标神经网络的情况下,可以首先利用用于执行不同的目标任务的多个目标神经网络对训练数据进行特征提取,并根据各个目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值,然后基于损失函数值进行联合神经网络的训练。本公开实施例在学习联合神经网络的过程中,不仅考虑了不同任务各自的特征,还利用连接层实现了不同任务之间的特征交流,这一定程度上可以提升所训练的联合神经网络的通用性,从而便于实现相关的下游应用。
在一种可能的实施方式中,所述多个目标神经网络中的一个目标神经网络作为所述联合神经网络的主神经网络,所述多个目标神经网络中的其它目标神经网络作为所述联合神经网络的副神经网络;所述基于各个所述目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值,包括:
基于所述副神经网络包括的第一特征提取层输出的第一特征信息对所述主神经网络包括的第二特征提取层输出的第二特征信息进行更新,得到更新后的第二特征信息;
基于所述更新后的第二特征信息,确定所述待训练的联合神经网络的损失函数值。
这里,考虑基于副神经网络对主神经网络的特征辅助作用,实现有关联合神经网络的训练,这样所训练得到的联合神经网络的任务适应性也会更强,也即,可以更好的应用于各种业务场景。
在一种可能的实施方式中,所述主神经网络包括任务层;所述基于所述更新后的第二特征信息,确定所述待训练的联合神经网络的损失函数值,包括:
将所述更新后的第二特征信息输入至所述主神经网络包括的任务层,确定所述主神经网络的任务输出结果;
基于所述任务输出结果与对应输入的训练数据的任务标注结果之间的差值运算,确定所述主神经网络的损失函数值;
将所述主神经网络的损失函数值,确定为所述待训练的联合神经网络的损失函数值。
这里,可以基于主神经网络的任务输出结果以及对应输入的训练数据的任务标注结果之间的差值运算来确定的待训练的联合神经网络的损失函数值,可知的是,这里所确定的损失函数值从主神经网络层着手,通过更新后的第二特征信息可以挖掘出更多的特征信息,再基于两个结果(即任务输出结果和任务标注结果)之间的匹配可以更为准确的挖掘出任务特性,从而提升了网络训练的性能。
在一种可能的实施方式中,所述副神经网络包括具有不同输出尺寸的多个第一特征提取层,所述主神经网络包括具有不同输出尺寸的多个第二特征提取层;所述基于所述副神经网络包括的第一特征提取层输出的第一特征信息对所述主神经网络包括的第二特征提取层输出的第二特征信息进行更新,包括:
针对所述主神经网络包括的多个第二特征提取层中的目标第二特征提取层,基于所述副神经网络包括的至少一个第一特征提取层输出的第一特征信息对所述目标第二特征提取层输出的第二特征信息进行更新,得到针对所述目标第二特征提取层的更新后的第二特征信息。
这里,在进行第二特征信息更新的过程中,可以基于主神经网络和副神经网络的具体网络结构选取相应的第一特征信息,以通过更为多样性的特征选取方案挖掘出更为丰富的融合特征。
在一种可能的实施方式中,所述基于所述副神经网络包括的至少一个第一特征提取层输出的第一特征信息对所述目标第二特征提取层输出的第二特征信息进行更新,包括:
针对所述主神经网络包括的多个第二特征提取层中的目标第二特征提取层,从所述副神经网络包括的多个第一特征提取层中选取与所述目标第二特征提取层的输出尺寸匹配的一个第一特征提取层;以及,
基于选取出的一个所述第一特征提取层输出的第一特征信息对所述目标第二特征提取层输出的第二特征信息进行更新,得到针对所述目标第二特征提取层的更新后的第二特征信息。
这里,可以在输出尺寸匹配的层面进行有关第一特征提取层的选取,从而实现在相同或相似尺寸下的特征融合,以实现更为准确的网络训练。
在一种可能的实施方式中,所述基于选取出的一个所述第一特征提取层输出的第一特征信息对所述目标第二特征提取层输出的第二特征信息进行更新,包括:
基于选取出的一个所述第一特征提取层与所述目标第二特征提取层之间的连接层,将所述选取出的一个所述第一特征提取层输出的第一特征信息与所述目标第二特征提取层输出的第二特征信息进行融合,得到针对所述目标第二特征提取层的更新后的第二特征信息。
在一种可能的实施方式中,在选取出的一个第一特征提取层包括多个特征提取块,且每个所述特征提取块与所述目标第二特征提取层之间具有一个连接层的情况下;所述将所述选取出的一个所述第一特征提取层输出的第一特征信息与所述目标第二特征提取层输出的第二特征信息进行融合,包括:
将所述选取出的一个所述第一特征提取层包括的每个所述特征提取块输出的第一特征信息与所述目标第二特征提取层输出的第二特征信息进行融合,得到针对所述目标第二特征提取层的更新后的第二特征信息。
在一种可能的实施方式中,所述基于所述副神经网络包括的至少一个第一特征提取层输出的第一特征信息对所述目标第二特征提取层输出的第二特征信息进行更新,包括:
针对所述主神经网络包括的多个第二特征提取层中的目标第二特征提取层,从所述副神经网络包括的多个第一特征提取层中选取与所述目标第二特征提取层对应的多个第一特征提取层;以及,
基于选取出的多个所述第一特征提取层输出的第一特征信息对所述目标第二特征提取层输出的第二特征信息进行更新。
这里,可以在输出尺寸多样性的层面进行有关第一特征提取层的选取,从而实现多尺寸下的特征融合,以提升在不同尺度的目标任务下的网络训练性能。
在一种可能的实施方式中,在得到训练好的联合神经网络之后,所述方法还包括:
利用待训练的蒸馏神经网络对所述训练数据进行特征提取,得到所述蒸馏神经网络包括的特征提取层输出的特征信息;
基于所述蒸馏神经网络包括的特征提取层输出的特征信息与所述联合神经网络中每个目标神经网络包括的特征提取层输出的特征信息之间的特征相似度,确定所述待训练的蒸馏神经网络的损失函数值;
基于所述损失函数值对所述待训练的蒸馏神经网络的进行至少一轮网络训练,得到训练好的蒸馏神经网络。
这里,为了便于实现下游任务的应用,可以针对联合神经网络训练对应的蒸馏神经网络,该蒸馏神经网络基于两个网络(即蒸馏神经网络和目标神经网络)之间的特征相似度将较为复杂的联合神经网络中学习到的特征知识蒸馏出来,在确保了网络准确性的前提下,更为轻量。
在一种可能的实施方式中,在得到训练好的联合神经网络之后,所述方法还包括:
获取目标任务下采集的测试数据、以及针对所述目标任务构建的剪枝权重掩码,其中,所述剪枝权重掩码用于表征所述联合神经网络中的各个计算单元是否参与所述目标任务的网络训练;
将采集的所述测试数据输入到所述训练好的联合神经网络,确定所述联合神经网络的损失函数值;
重复执行以下步骤直至所述损失函数值小于预设阈值:
基于所述损失函数值对所述剪枝权重掩码进行调整,并基于调整后的剪枝权重掩码对所述联合神经网络进行剪枝;
将采集的所述测试数据输入到所述剪枝后的联合神经网络进行下一轮网络训练。
这里,在进行联合神经网络的过程中,可以同步学习一个针对目标任务构建的剪枝权重掩码,基于剪枝权重掩码可以对联合神经网络进行对应的剪枝操作,这使得剪枝操作更有针对性,从而可以确保在基本不降低网络精度的情况下,大大的降低网络资源的消耗。
在一种可能的实施方式中,所述目标神经网络包括用于进行特征提取的特征提取层以及用于进行任务处理的任务层;按照如下步骤训练所述目标神经网络:
从获取的所述训练数据中选取与当前任务匹配的训练数据;
将选取的所述训练数据输入到待训练的目标神经网络包括的特征提取层,得到所述特征提取层输出的特征信息;
将所述特征提取层输出的特征信息输入到所述待训练的目标神经网络包括的任务层,得到所述任务层的任务输出结果;
在所述任务输出结果以及针对选取的所述训练数据的任务标注结果不匹配的情况下,对所述待训练的目标神经网络再次进行训练,直至所述任务输出结果以及针对选取的所述训练数据的任务标注结果匹配。
这里,可以基于特征提取层学习一个目标任务内共有的特征,又可以基于任务层学习一些任务独有的特征,确保了所训练的目标神经网络针对目标任务进行应用的精准度。
第二方面,本公开实施例还提供了一种神经网络训练的装置,所述装置包括:
获取模块,用于获取训练数据、以及训练得到的多个目标神经网络;所述训练数据包括多个图像样本;所述多个目标神经网络分别用于执行不同的目标任务;
提取模块,用于利用所述多个目标神经网络分别对所述训练数据进行特征提取,得到每个目标神经网络包括的特征提取层输出的特征信息;
生成模块,用于基于各个所述目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值,其中,所述联合神经网络由所述多个目标神经网络以及各个所述目标神经网络包括的特征提取层之间的连接层构成;
训练模块,用于基于所述损失函数值对所述待训练的联合神经网络进行至少一轮网络训练,得到训练好的联合神经网络。
第三方面,本公开实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面及其各种实施方式任一所述的神经网络训练的方法的步骤。
第四方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面及其各种实施方式任一所述的神经网络训练的方法的步骤。
关于上述神经网络训练的装置、电子设备、及计算机可读存储介质的效果描述参见上述神经网络训练的方法的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种神经网络训练的方法的流程图;
图2示出了本公开实施例所提供的神经网络训练的方法中,联合神经网络训练具体方法的流程图;
图3(a)示出了本公开实施例所提供的神经网络训练的方法中,第一种连接层的连接方式示意图;
图3(b)示出了本公开实施例所提供的神经网络训练的方法中,第二种连接层的连接方式示意图;
图3(c)示出了本公开实施例所提供的神经网络训练的方法中,第三种连接层的连接方式示意图;
图4示出了本公开实施例所提供的一种神经网络训练的装置的示意图;
图5示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,为了通过联合任务学习获得更好的泛化性能,相关技术中提供了一种多任务学习的方法,该方法可以在上游为各类任务共同学习一个预训练神经网络,该神经网络可以在面对下游各类不同的任务时,直接共享预训练好的早期权重。
由于不同的任务通常存在不同的学习方向,这导致各任务之间的异构冲突较大,而不同任务的异构问题将会干扰整个多任务学习的目标方向,导致多任务学习性能不佳。
基于上述研究,本公开提供了一种神经网络训练的方法、装置、电子设备及存储介质,以提升多任务学习的训练性能。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种神经网络训练的方法进行详细介绍,本公开实施例所提供的神经网络训练的方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该神经网络训练的方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的神经网络训练的方法的流程图,方法包括步骤S101~S104,其中:
S101:获取训练数据、以及训练得到的多个目标神经网络;训练数据包括多个图像样本;多个目标神经网络分别用于执行不同的目标任务;
S102:利用多个目标神经网络分别对训练数据进行特征提取,得到每个目标神经网络包括的特征提取层输出的特征信息;
S103:基于各个目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值,其中,联合神经网络由多个目标神经网络以及各个目标神经网络包括的特征提取层之间的连接层构成;
S104:基于损失函数值对待训练的联合神经网络进行至少一轮网络训练,得到训练好的联合神经网络。
为了便于理解本公开实施例提供的神经网络训练的方法,接下来首先对该方法的应用场景进行简单说明。本公开实施例中的神经网络训练的方法主要可以应用于视觉领域,例如,基于训练好的联合神经网络可以应用于目标检测、图像分类、深度估计等任务场景中。
考虑到相关技术中的多任务学习方法可以在上游为各类任务共同学习一个预训练神经网络,该神经网络可以在面对下游各类不同的任务时,直接共享预训练好的早期权重。然而,由于不同的任务通常存在不同的学习方向,这导致各任务之间的异构冲突较大,而不同任务的异构问题将会干扰整个多任务学习的目标方向,导致多任务学习性能不佳。除此之外,相关多任务学习的性能在很大程度上取决于现有任务字典,字典的大小、任务类型、标签源等等,都影响最终的结果,这进一步对多任务学习的性能带来了不良影响。
正是为了解决上述问题,本公开实施例才提供了一种基于各个目标神经网络包括的特征提取层之间的连接层进行神经网络联合训练的方案,以提升多任务学习的性能。
这里,可以结合各个目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值,由于各个目标神经网络包括的特征提取层之间具有连接层,利用这一连接层可以融合各个目标神经网络包括的特征提取层输出的特征信息,进一步使得所训练的联合神经网络具有各个目标神经网络的任务特征。
本公开实施例中的各个目标神经网络可以分别用于执行不同的目标任务。以具有三个目标神经网络为例,这三个目标神经网络可以包括用于执行目标检测任务的检测神经网络,还可以包括用于执行目标图像分类任务的分类神经网络,还可以包括用于执行目标语义分割任务的分割神经网络。
在利用多个目标神经网络提取特征信息之前,这里,可以先训练得到多个目标神经网络。在进行目标神经网络训练之前,可以基于该目标神经网络所对应目标任务的任务特性从获取的训练数据中选取相应的训练数据,例如,可以基于目标检测任务下的训练数据来训练对应的检测神经网络,再如,可以基于目标图像分类任务下的训练数据来训练对应的分类神经网络。
本公开实施例中的训练数据主要可以是在计算机视觉领域内采集的图像样本,这里的图像样本可以是带有任务标注结果的标记样本,而不同目标神经网络采用的图像样本所具有的任务标注也不同。有的图像样本可以是针对目标检测任务标记的有关目标对象的位置、大小等信息,有的图像样本可以是针对目标语义分割任务标记的对象语义信息。
这里,针对不同的目标神经网络可以采用对应的训练数据进行训练,进而可以得到训练好的分别用于执行不同的目标任务的多个目标神经网络。这里的目标神经网络可以包括用于进行特征提取的特征提取层以及用于进行任务处理的任务层,具体可以通过如下步骤训练上述目标神经网络:
步骤一、从获取的训练数据中选取与当前任务匹配的训练数据;
步骤二、将选取的训练数据输入到待训练的目标神经网络包括的特征提取层,得到特征提取层输出的特征信息;
步骤三、将特征提取层输出的特征信息输入到待训练的目标神经网络包括的任务层,得到任务层的任务输出结果;
步骤四、在任务输出结果以及针对选取的训练数据的任务标注结果不匹配的情况下,对待训练的目标神经网络再次进行训练,直至任务输出结果以及针对选取的训练数据的任务标注结果匹配。
这里,可以基于当前任务匹配的训练数据,而后通过目标神经网络包括的特征提取层进行特征提取,在将特征提取层输出的特征信息输入到待训练的目标神经网络包括的任务层的情况下,可以基于任务输出结果以及针对选取的训练数据的任务标注结果的匹配结果进行目标神经网络的多轮训练。
本公开实施例中,在任务输出结果以及针对选取的训练数据的任务标注结果不匹配的情况下,说明当前的网络性能不佳,需要进行网络参数值的调整以进行下一轮训练,直到两个结果相匹配。
为了实现多个目标神经网络之间的联合训练,这里,首先可以利用训练好的多个目标神经网络分别对训练数据进行特征提取,以得到每个目标神经网络包括的特征提取层输出的特征信息,而后可以基于各个目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值。由于各个目标神经网络包括的特征提取层之间具有连接层,其利用连接层可以实现各个目标神经网络之间的特征交流,这样所确定的损失函数值是指向融合特征的损失函数值,进而使得所训练的联合神经网络的性能较佳。
在具体应用中,多个目标神经网络中的一个目标神经网络可以作为联合神经网络的主神经网络,多个目标神经网络中的其它目标神经网络可以作为联合神经网络的副神经网络,这里,可以按照如下步骤确定待训练的联合神经网络的损失函数值:
步骤一、基于副神经网络包括的第一特征提取层输出的第一特征信息对主神经网络包括的第二特征提取层输出的第二特征信息进行更新,得到更新后的第二特征信息;
步骤二、将更新后的第二特征信息输入到主神经网络包括的任务层,得到主神经网络的任务输出结果;
步骤三、基于任务输出结果以及对应输入的训练数据的任务标注结果,确定主神经网络的损失函数值;
步骤四、将主神经网络的损失函数值,确定为待训练的联合神经网络的损失函数值。
这里,可以基于更新后的第二特征信息所确定的任务输出结果以及对应的任务标注结果的比对结果,确定联合神经网络的损失函数值。
在具体应用中,主神经网络和副神经网络对应的可以是异构任务,例如,可以分别是目标检测任务和目标分类任务。
其中,主神经网络可以是利用同构数据训练得到的,这里的同构数据可以指向的是执行同类任务的数据,例如,这里的主神经网络可以用于执行行人检测的目标检测任务1以及用于执行车辆检测的目标检测任务2。同理,副神经网络也可以是利用同构数据训练得到的,例如,这里的副神经网络可以用于执行图像分类的目标分类任务1和目标分类任务2。
其中,同类任务可以共享网络的同几层隐藏层,只不过在网络的靠近输出层的网络开始分叉去做不同的任务,如上述目标检测任务1和目标检测任务2。不同任务(即异构任务)通过共享网络底部的几层隐藏层来学习一些共有的抽象层次低的特征,底层共享的参数可以是完全相同的。
此外,针对各个目标任务的特点,针对每个目标任务均可以设计各自的任务特有层来学习抽象层次更高的特征。其中,所有目标任务在保留任务特有的输出层的同时可以共享一些相关的隐藏层。
在异构多任务学习的联合神经网络训练中,多个任务(如分类、检测)都有与参数空间大小相同的特征提取层。这里,可以将副任务所对应副神经网络的特征提取层输出的特征信息与主任务所对应主神经网络的特征提取层输出的特征信息进行融合。
在上述特征融合的过程中,本公开实施例引入了连接层T来帮助各个神经网络之间的特征交流。如图2所示为本公开实施例的两个目标神经网络的联合训练示意图。左侧分支对应的是主神经网络,右侧分支所对应的是副神经网络,连接层T实现了主神经网络和副神经网络之间的连接。Stage对应的是神经网络的特征提取层,Head对应的是与任务相关的任务层,例如,Head1和Head2分别对应的目标检测任务1和目标检测任务2,Head3和Head4分别对应的目标分类任务1和目标分类任务2。
在将训练数据输入到主神经网络和副神经网络的情况下,主神经网络包括的Stage可以提取相应的第二特征信息,副神经网络包括的Stage可以提取相应的第一特征信息,通过连接层T可以实现第一特征信息和第二特征信息之间融合。
在具体应用中,上述副神经网络可以包括具有不同输出尺寸的多个第一特征提取层,主神经网络可以包括具有不同输出尺寸的多个第二特征提取层,上述连接层T具体可以实现的是第一特征提取层和第二特征提取层之间的链接。
本公开实施例中,可以主神经网络包括的多个第二特征提取层中的目标第二特征提取层,基于副神经网络包括的至少一个第一特征提取层输出的第一特征信息对目标第二特征提取层输出的第二特征信息进行更新,得到针对目标第二特征提取层的更新后的第二特征信息。
其中,上述目标第二特征提取层可以指的是多个第二特征提取层中任一个随机选取的或者指定的第二特征提取层,也即,本公开实施例可以仅对一个第二特征提取层进行特征融合;除此之外,上述目标第二特征提取层也可以指的是多个第二特征提取层中的部分或全部第二特征提取层,也即,本公开实施例可以对多个第二特征提取层进行特征融合。
本公开实施例中的连接层T的摆放位置可以是多样的。这样所形成的特征融合方案也是多种。可以通过如下几个方面进行具体说明:
第一方面:针对神经网络包括的目标第二特征提取层,这里可以从副神经网络包括的多个第一特征提取层中选取与目标第二特征提取层的输出尺寸匹配的一个第一特征提取层,并基于这一选取的第一特征提取层对目标第二特征提取层输出的第二特征信息进行更新。
在具体应用中,可以基于选取出的一个第一特征提取层与目标第二特征提取层之间的连接层实现两个特征信息之间的融合。
此外,在选取出的一个第一特征提取层包括多个特征提取块,且每个特征提取块与目标第二特征提取层之间具有一个连接层的情况下,这里通过将选取出的一个第一特征提取层包括的每个特征提取块输出的第一特征信息与目标第二特征提取层输出的第二特征信息进行融合来实现特征融合。
需要说明的是,本公开实施例中,输出尺寸匹配可以是指的是两个特征提取层的输出尺寸完全一致,也可以是输出尺寸相差不大。
第二方面:针对神经网络包括的目标第二特征提取层,这里可以从副神经网络包括的多个第一特征提取层中选取与目标第二特征提取层对应的多个第一特征提取层,而后基于选取的多个第一特征提取层进行特征融合。
其中,选取的多个第一特征提取层可以是与目标第二特征提取层具有相同或相近输出尺寸的第一特征提取层,还可以是与目标第二特征提取层具有一定关联度的第一特征提取层。有关选取的第一特征提取层的个数不做具体的限制。
为了便于进一步理解上述连接层T的摆放位置,可以通过图3(a)~3(c)所示的三种连接方式进行具体说明。
图3(a)表示的可以摆放在特定层中间,在尺寸相同的特征提取层进行特征迁移,3(b)表示的是在不同的尺寸间进行特征迁移,图3(c)表示的是在相同尺寸的不同特征提取层的block进行融合。
本公开实施例提供的神经网络训练的方法通过引入的连接层T帮助各个目标神经网络之间的特征交流。通过引入迁移层的概念,将不同的目标神经网络根据不同的任务分为任务的主分支(对应主任务)和辅助分支(对应副任务),连接层的目的在于学习新特征以在具有辅助分支的主分支中进行推理,将主神经网络E组织成联合神经网络G,此时,联合神经网络的计算公式则为:G=f(E,T)。
本公开实施例中,在训练好联合神经网络的情况下,可以通过知识蒸馏实现网络压缩。具体可以通过如下步骤来实现:
步骤一、利用待训练的蒸馏神经网络对训练数据进行特征提取,得到蒸馏神经网络包括的特征提取层输出的特征信息;
步骤二、基于蒸馏神经网络包括的特征提取层输出的特征信息与联合神经网络中每个目标神经网络包括的特征提取层输出的特征信息之间的特征相似度,确定待训练的蒸馏神经网络的损失函数值;
步骤三、基于损失函数值对待训练的蒸馏神经网络的进行至少一轮网络训练,得到训练好的蒸馏神经网络。
这里,可以基于蒸馏神经网络包括的特征提取层输出的特征信息与联合神经网络中每个目标神经网络包括的特征提取层输出的特征信息之间的特征相似度,进行蒸馏神经网络的训练。在特征相似度足够高的情况下,说明蒸馏神经网络的特性越是逼近于联合神经网络,反之,在特征相似度不够高的情况下,说明蒸馏神经网络的特性越是远离联合神经网络,此时可以通过多轮迭代训练实现蒸馏神经网络的收敛。
在具体应用中,本公开实施例可以采用考虑到教师-学生框架实现知识蒸馏,将从复杂、学习能力强的联合神经网络学到的特征表示“知识”蒸馏出来,传递给标准的参数量网络(即蒸馏神经网络)。
在得到联合神经网络G之后,可以先定义一个随机初始化的蒸馏网络Dt,然后再根据联合神经网络的分支数量,定义一个蒸馏辅助转换层dt。在蒸馏时,为了让蒸馏神经网络相比其他网络具有通用性,这里的训练目标在于让蒸馏神经网络的特征与联合神经网络的各个分支联系增大,所以在特定的蒸馏神经网络的stage后,可以通过将该特征输入到蒸馏辅助转换层dt中,得到蒸馏辅助特征ft,其中,ft=dt(Et)。
这里,可以通过定义蒸馏辅助特征与联合神经网络G的分支特征的L2距离确定蒸馏神经网络训练的辅助损失函数,辅助损失函数的定义为:
需要说明的是,蒸馏神经网络的损失函数不仅包括有上述辅助损失函数,还包括有蒸馏神经网络自身任务所确定的主损失函数。
考虑到联合神经网络一定程度上覆盖了多任务的任务特性,这使得联合神经网络在参数量和计算资源的消耗较大。为了便于将联合神经网络灵活的应用于下游的各个目标任务,这里,可以针对不同的下游任务进行网络兼职,以得到一个更加轻量的下游剪枝模型(对应剪枝后的联合神经网络)。
本公开实施例中,可以在获取目标任务下采集的测试数据、以及针对目标任务构建的剪枝权重掩码的情况下,将测试数据输入到训练好的联合神经网络,确定联合神经网络的损失函数值,在确定这一损失函数值不小于预设阈值的情况下,可以基于损失函数值对剪枝权重掩码进行调整,并基于调整后的剪枝权重掩码对联合神经网络进行剪枝,并可以将采集的测试数据输入到剪枝后的联合神经网络进行下一轮网络训练,依此循环,直至得到的损失函数值小于预设阈值。
其中,上述剪枝权重掩码用于表征的是联合神经网络中的各个计算单元是否需要参与目标任务的网络训练。由于有关损失函数值的确定是在下游采集的测试数据确定的,这样,即可以评估利用剪枝权重掩码进行剪枝的效果。
在具体应用中,可以将不同的下游任务称作为St,在这里不再单独的去训练St,而是定义与目标任务t相对应的一组剪枝权重掩码Mt。这个权重掩码Mt代表的是联合神经网络G中相对应的计算单元是否参与下游模型的计算标志。
其中,Mt共有0和1两种取值,0表示这个计算单元将在剪枝过程中被舍弃,1表示这个计算单元在剪枝过程中被留下,并参与剪枝的计算过程。此时剪枝模型的计算公式由联合神经网络的St=f(x,G)变换成了St=f(x,G,Mt)。
针对每个目标任务,本公开实施例首先可以将所有的M均置为1,然后经过特定次数i的网络迭代,得到Gi,然后将下游任务中Gi与原本G中变化最少的几个计算单元根据一个特定的剪枝概率a(例如,0.7)进行剪枝,被剪枝的计算单元的M变为0,循环迭代直到Gi与原本G的相似度达到预先设定好的阈值,这时,所对应剪枝模型的损失函数值足够小。
需要说明的是,在多个下游任务同时迁移时,可以定义多个M,并可以将多个任务的剪枝任务进行同步操作。这里,梯度优化将可以在对应的任务进行共享,以便于在多个任务上同时达到剪枝的最优操作。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与神经网络训练的方法对应的神经网络训练的装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述神经网络训练的方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图4所示,为本公开实施例提供的一种神经网络训练的装置的示意图,装置包括:获取模块401、提取模块402、生成模块403、训练模块404;其中,
获取模块401,用于获取训练数据、以及训练得到的多个目标神经网络;训练数据包括多个图像样本;多个目标神经网络分别用于执行不同的目标任务;
提取模块402,用于利用多个目标神经网络分别对训练数据进行特征提取,得到每个目标神经网络包括的特征提取层输出的特征信息;
生成模块403,用于基于各个目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值,其中,联合神经网络由多个目标神经网络以及各个目标神经网络包括的特征提取层之间的连接层构成;
训练模块404,用于基于损失函数值对待训练的联合神经网络进行至少一轮网络训练,得到训练好的联合神经网络。
采用上述神经网络训练的装置,在获取到训练数据以及训练得到的多个目标神经网络的情况下,可以首先利用用于执行不同的目标任务的多个目标神经网络对训练数据进行特征提取,并根据各个目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值,然后基于损失函数值进行联合神经网络的训练。本公开实施例在学习联合神经网络的过程中,不仅考虑了不同任务各自的特征,还利用连接层实现了不同任务之间的特征交流,这一定程度上可以提升所训练的联合神经网络的通用性,从而便于实现相关的下游应用。
在一种可能的实施方式中,多个目标神经网络中的一个目标神经网络作为联合神经网络的主神经网络,多个目标神经网络中的其它目标神经网络作为联合神经网络的副神经网络;生成模块403,用于按照如下步骤基于各个目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值:
基于副神经网络包括的第一特征提取层输出的第一特征信息对主神经网络包括的第二特征提取层输出的第二特征信息进行更新,得到更新后的第二特征信息;
基于更新后的第二特征信息,确定待训练的联合神经网络的损失函数值。
在一种可能的实施方式中,主神经网络包括任务层;生成模块403,用于按照如下步骤基于更新后的第二特征信息,确定待训练的联合神经网络的损失函数值:
将更新后的第二特征信息输入至主神经网络包括的任务层,确定主神经网络的任务输出结果;
基于任务输出结果与对应输入的训练数据的任务标注结果之间的差值运算,确定主神经网络的损失函数值;
将主神经网络的损失函数值,确定为待训练的联合神经网络的损失函数值。
在一种可能的实施方式中,副神经网络包括具有不同输出尺寸的多个第一特征提取层,主神经网络包括具有不同输出尺寸的多个第二特征提取层;生成模块403,用于按照如下步骤基于副神经网络包括的第一特征提取层输出的第一特征信息对主神经网络包括的第二特征提取层输出的第二特征信息进行更新:
针对主神经网络包括的多个第二特征提取层中的目标第二特征提取层,基于副神经网络包括的至少一个第一特征提取层输出的第一特征信息对目标第二特征提取层输出的第二特征信息进行更新,得到针对目标第二特征提取层的更新后的第二特征信息。
在一种可能的实施方式中,生成模块403,用于按照如下步骤基于副神经网络包括的至少一个第一特征提取层输出的第一特征信息对目标第二特征提取层输出的第二特征信息进行更新:
针对主神经网络包括的多个第二特征提取层中的目标第二特征提取层,从副神经网络包括的多个第一特征提取层中选取与目标第二特征提取层的输出尺寸匹配的一个第一特征提取层;以及,
基于选取出的一个第一特征提取层输出的第一特征信息对目标第二特征提取层输出的第二特征信息进行更新,得到针对目标第二特征提取层的更新后的第二特征信息。
在一种可能的实施方式中,生成模块403,用于按照如下步骤基于选取出的一个第一特征提取层输出的第一特征信息对目标第二特征提取层输出的第二特征信息进行更新:
基于选取出的一个第一特征提取层与目标第二特征提取层之间的连接层,将选取出的一个第一特征提取层输出的第一特征信息与目标第二特征提取层输出的第二特征信息进行融合,得到针对目标第二特征提取层的更新后的第二特征信息。
在一种可能的实施方式中,在选取出的一个第一特征提取层包括多个特征提取块,且每个特征提取块与目标第二特征提取层之间具有一个连接层的情况下;生成模块403,用于按照如下步骤将选取出的一个第一特征提取层输出的第一特征信息与目标第二特征提取层输出的第二特征信息进行融合:
将选取出的一个第一特征提取层包括的每个特征提取块输出的第一特征信息与目标第二特征提取层输出的第二特征信息进行融合,得到针对目标第二特征提取层的更新后的第二特征信息。
在一种可能的实施方式中,生成模块403,用于按照如下步骤基于副神经网络包括的至少一个第一特征提取层输出的第一特征信息对目标第二特征提取层输出的第二特征信息进行更新:
针对主神经网络包括的多个第二特征提取层中的目标第二特征提取层,从副神经网络包括的多个第一特征提取层中选取与目标第二特征提取层对应的多个第一特征提取层;以及,
基于选取出的多个第一特征提取层输出的第一特征信息对目标第二特征提取层输出的第二特征信息进行更新。
在一种可能的实施方式中,上述装置还包括:
蒸馏模块405,用于在得到训练好的联合神经网络之后,利用待训练的蒸馏神经网络对训练数据进行特征提取,得到蒸馏神经网络包括的特征提取层输出的特征信息;基于蒸馏神经网络包括的特征提取层输出的特征信息与联合神经网络中每个目标神经网络包括的特征提取层输出的特征信息之间的特征相似度,确定待训练的蒸馏神经网络的损失函数值;基于损失函数值对待训练的蒸馏神经网络的进行至少一轮网络训练,得到训练好的蒸馏神经网络。
在一种可能的实施方式中,上述装置还包括:
剪枝模块406,用于在得到训练好的联合神经网络之后,获取目标任务下采集的测试数据、以及针对目标任务构建的剪枝权重掩码,其中,剪枝权重掩码用于表征联合神经网络中的各个计算单元是否参与目标任务的网络训练;将采集的测试数据输入到训练好的联合神经网络,确定联合神经网络的损失函数值;重复执行以下步骤直至损失函数值小于预设阈值:
基于损失函数值对剪枝权重掩码进行调整,并基于调整后的剪枝权重掩码对联合神经网络进行剪枝;将采集的测试数据输入到剪枝后的联合神经网络进行下一轮网络训练。
在一种可能的实施方式中,目标神经网络包括用于进行特征提取的特征提取层以及用于进行任务处理的任务层;获取模块401,用于按照如下步骤训练目标神经网络:
从获取的训练数据中选取与当前任务匹配的训练数据;
将选取的训练数据输入到待训练的目标神经网络包括的特征提取层,得到特征提取层输出的特征信息;
将特征提取层输出的特征信息输入到待训练的目标神经网络包括的任务层,得到任务层的任务输出结果;
在任务输出结果以及针对选取的训练数据的任务标注结果不匹配的情况下,对待训练的目标神经网络再次进行训练,直至任务输出结果以及针对选取的训练数据的任务标注结果匹配。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种电子设备,如图5所示,为本公开实施例提供的电子设备结构示意图,包括:处理器501、存储器502、和总线503。存储器502存储有处理器501可执行的机器可读指令(比如,图4中的装置中获取模块401、提取模块402、生成模块403、训练模块404对应的执行指令等),当电子设备运行时,处理器501与存储器502之间通过总线503通信,机器可读指令被处理器501执行时执行如下处理:
获取训练数据、以及训练得到的多个目标神经网络;训练数据包括多个图像样本;多个目标神经网络分别用于执行不同的目标任务;
利用多个目标神经网络分别对训练数据进行特征提取,得到每个目标神经网络包括的特征提取层输出的特征信息;
基于各个目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值,其中,联合神经网络由多个目标神经网络以及各个目标神经网络包括的特征提取层之间的连接层构成;
基于损失函数值对待训练的联合神经网络进行至少一轮网络训练,得到训练好的联合神经网络。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的神经网络训练的方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的神经网络训练的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种神经网络训练的方法,其特征在于,所述方法包括:
获取训练数据、以及训练得到的多个目标神经网络;所述训练数据包括多个图像样本;所述多个目标神经网络分别用于执行不同的目标任务;
利用所述多个目标神经网络分别对所述训练数据进行特征提取,得到每个目标神经网络包括的特征提取层输出的特征信息;
基于各个所述目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值,其中,所述联合神经网络由所述多个目标神经网络以及各个所述目标神经网络包括的特征提取层之间的连接层构成;
基于所述损失函数值对所述待训练的联合神经网络进行至少一轮网络训练,得到训练好的联合神经网络。
2.根据权利要求1所述的方法,其特征在于,所述多个目标神经网络中的一个目标神经网络作为所述联合神经网络的主神经网络,所述多个目标神经网络中的其它目标神经网络作为所述联合神经网络的副神经网络;
所述基于各个所述目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值,包括:
基于所述副神经网络包括的第一特征提取层输出的第一特征信息对所述主神经网络包括的第二特征提取层输出的第二特征信息进行更新,得到更新后的第二特征信息;
基于所述更新后的第二特征信息,确定所述待训练的联合神经网络的损失函数值。
3.根据权利要求2所述的方法,其特征在于,所述主神经网络包括任务层;所述基于所述更新后的第二特征信息,确定所述待训练的联合神经网络的损失函数值,包括:
将所述更新后的第二特征信息输入至所述主神经网络包括的任务层,确定所述主神经网络的任务输出结果;
基于所述任务输出结果与对应输入的训练数据的任务标注结果之间的差值运算,确定所述主神经网络的损失函数值;
将所述主神经网络的损失函数值,确定为所述待训练的联合神经网络的损失函数值。
4.根据权利要求2或3所述的方法,其特征在于,所述副神经网络包括具有不同输出尺寸的多个第一特征提取层,所述主神经网络包括具有不同输出尺寸的多个第二特征提取层;所述基于所述副神经网络包括的第一特征提取层输出的第一特征信息对所述主神经网络包括的第二特征提取层输出的第二特征信息进行更新,包括:
针对所述主神经网络包括的多个第二特征提取层中的目标第二特征提取层,基于所述副神经网络包括的至少一个第一特征提取层输出的第一特征信息对所述目标第二特征提取层输出的第二特征信息进行更新,得到针对所述目标第二特征提取层的更新后的第二特征信息。
5.根据权利要求4所述的方法,其特征在于,所述基于所述副神经网络包括的至少一个第一特征提取层输出的第一特征信息对所述目标第二特征提取层输出的第二特征信息进行更新,包括:
针对所述主神经网络包括的多个第二特征提取层中的目标第二特征提取层,从所述副神经网络包括的多个第一特征提取层中选取与所述目标第二特征提取层的输出尺寸匹配的一个第一特征提取层;以及,
基于选取出的一个所述第一特征提取层输出的第一特征信息对所述目标第二特征提取层输出的第二特征信息进行更新,得到针对所述目标第二特征提取层的更新后的第二特征信息。
6.根据权利要求5所述的方法,其特征在于,所述基于选取出的一个所述第一特征提取层输出的第一特征信息对所述目标第二特征提取层输出的第二特征信息进行更新,包括:
基于选取出的一个所述第一特征提取层与所述目标第二特征提取层之间的连接层,将所述选取出的一个所述第一特征提取层输出的第一特征信息与所述目标第二特征提取层输出的第二特征信息进行融合,得到针对所述目标第二特征提取层的更新后的第二特征信息。
7.根据权利要求6所述的方法,其特征在于,在选取出的一个第一特征提取层包括多个特征提取块,且每个所述特征提取块与所述目标第二特征提取层之间具有一个连接层的情况下;所述将所述选取出的一个所述第一特征提取层输出的第一特征信息与所述目标第二特征提取层输出的第二特征信息进行融合,包括:
将所述选取出的一个所述第一特征提取层包括的每个所述特征提取块输出的第一特征信息与所述目标第二特征提取层输出的第二特征信息进行融合,得到针对所述目标第二特征提取层的更新后的第二特征信息。
8.根据权利要求4所述的方法,其特征在于,所述基于所述副神经网络包括的至少一个第一特征提取层输出的第一特征信息对所述目标第二特征提取层输出的第二特征信息进行更新,包括:
针对所述主神经网络包括的多个第二特征提取层中的目标第二特征提取层,从所述副神经网络包括的多个第一特征提取层中选取与所述目标第二特征提取层对应的多个第一特征提取层;以及,
基于选取出的多个所述第一特征提取层输出的第一特征信息对所述目标第二特征提取层输出的第二特征信息进行更新。
9.根据权利要求1-8任一所述的方法,其特征在于,在得到训练好的联合神经网络之后,所述方法还包括:
利用待训练的蒸馏神经网络对所述训练数据进行特征提取,得到所述蒸馏神经网络包括的特征提取层输出的特征信息;
基于所述蒸馏神经网络包括的特征提取层输出的特征信息与所述联合神经网络中每个目标神经网络包括的特征提取层输出的特征信息之间的特征相似度,确定所述待训练的蒸馏神经网络的损失函数值;
基于所述损失函数值对所述待训练的蒸馏神经网络的进行至少一轮网络训练,得到训练好的蒸馏神经网络。
10.根据权利要求1-9任一所述的方法,其特征在于,在得到训练好的联合神经网络之后,所述方法还包括:
获取目标任务下采集的测试数据、以及针对所述目标任务构建的剪枝权重掩码,其中,所述剪枝权重掩码用于表征所述联合神经网络中的各个计算单元是否参与所述目标任务的网络训练;
将采集的所述测试数据输入到所述训练好的联合神经网络,确定所述联合神经网络的损失函数值;
重复执行以下步骤直至所述损失函数值小于预设阈值:
基于所述损失函数值对所述剪枝权重掩码进行调整,并基于调整后的剪枝权重掩码对所述联合神经网络进行剪枝;
将采集的所述测试数据输入到所述剪枝后的联合神经网络进行下一轮网络训练。
11.根据权利要求1-10任一所述的方法,其特征在于,所述目标神经网络包括用于进行特征提取的特征提取层以及用于进行任务处理的任务层;按照如下步骤训练所述目标神经网络:
从获取的所述训练数据中选取与当前任务匹配的训练数据;
将选取的所述训练数据输入到待训练的目标神经网络包括的特征提取层,得到所述特征提取层输出的特征信息;
将所述特征提取层输出的特征信息输入到所述待训练的目标神经网络包括的任务层,得到所述任务层的任务输出结果;
在所述任务输出结果以及针对选取的所述训练数据的任务标注结果不匹配的情况下,对所述待训练的目标神经网络再次进行训练,直至所述任务输出结果以及针对选取的所述训练数据的任务标注结果匹配。
12.一种神经网络训练的装置,其特征在于,所述装置包括:
获取模块,用于获取训练数据、以及训练得到的多个目标神经网络;所述训练数据包括多个图像样本;所述多个目标神经网络分别用于执行不同的目标任务;
提取模块,用于利用所述多个目标神经网络分别对所述训练数据进行特征提取,得到每个目标神经网络包括的特征提取层输出的特征信息;
生成模块,用于基于各个所述目标神经网络包括的特征提取层输出的特征信息,确定待训练的联合神经网络的损失函数值,其中,所述联合神经网络由所述多个目标神经网络以及各个所述目标神经网络包括的特征提取层之间的连接层构成;
训练模块,用于基于所述损失函数值对所述待训练的联合神经网络进行至少一轮网络训练,得到训练好的联合神经网络。
13.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至11任一所述的神经网络训练的方法的步骤。
14.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至11任一所述的神经网络训练的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111313776.5A CN114004357A (zh) | 2021-11-08 | 2021-11-08 | 神经网络训练的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111313776.5A CN114004357A (zh) | 2021-11-08 | 2021-11-08 | 神经网络训练的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114004357A true CN114004357A (zh) | 2022-02-01 |
Family
ID=79928026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111313776.5A Pending CN114004357A (zh) | 2021-11-08 | 2021-11-08 | 神经网络训练的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114004357A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114723966A (zh) * | 2022-03-30 | 2022-07-08 | 北京百度网讯科技有限公司 | 多任务识别方法、训练方法、装置、电子设备及存储介质 |
-
2021
- 2021-11-08 CN CN202111313776.5A patent/CN114004357A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114723966A (zh) * | 2022-03-30 | 2022-07-08 | 北京百度网讯科技有限公司 | 多任务识别方法、训练方法、装置、电子设备及存储介质 |
CN114723966B (zh) * | 2022-03-30 | 2023-04-07 | 北京百度网讯科技有限公司 | 多任务识别方法、训练方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111639679B (zh) | 一种基于多尺度度量学习的小样本学习方法 | |
CN111507768B (zh) | 一种潜在用户的确定方法及相关装置 | |
CN113707236B (zh) | 基于图神经网络的药物小分子性质预测方法、装置及设备 | |
CN110096588A (zh) | 跨语言文本分类 | |
CN107330074A (zh) | 基于深度学习和哈希编码的图像检索方法 | |
CN107391542A (zh) | 一种基于文件知识图谱的开源软件社区专家推荐方法 | |
CN114386694A (zh) | 基于对比学习的药物分子性质预测方法、装置及设备 | |
CN112396106A (zh) | 内容识别方法、内容识别模型训练方法及存储介质 | |
CN112200889A (zh) | 样本图像生成、图像处理、智能行驶控制方法及装置 | |
CN108537168A (zh) | 基于迁移学习技术的面部表情识别方法 | |
CN112733602B (zh) | 关系引导的行人属性识别方法 | |
CN116580257A (zh) | 特征融合模型训练及样本检索方法、装置和计算机设备 | |
CN114037055A (zh) | 数据处理系统、方法、装置、设备及存储介质 | |
CN114298122A (zh) | 数据分类方法、装置、设备、存储介质及计算机程序产品 | |
CN114492601A (zh) | 资源分类模型的训练方法、装置、电子设备及存储介质 | |
CN114004357A (zh) | 神经网络训练的方法、装置、电子设备及存储介质 | |
CN110659702A (zh) | 基于生成式对抗网络模型书法字帖评价系统及方法 | |
CN111488460A (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN107273478B (zh) | 一种基于Group Lasso的半监督哈希图像搜索方法 | |
CN113392868A (zh) | 一种模型训练的方法、相关装置、设备及存储介质 | |
CN112529057A (zh) | 一种基于图卷积网络的图相似性计算方法及装置 | |
CN114648679A (zh) | 神经网络训练、目标检测的方法及装置、设备及存储介质 | |
CN114170484B (zh) | 图片属性预测方法、装置、电子设备和存储介质 | |
CN114648650A (zh) | 神经网络训练、目标检测的方法及装置、设备及存储介质 | |
CN112749364A (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 |