CN114898180A - 多任务神经网络的训练方法、多任务处理方法及装置 - Google Patents
多任务神经网络的训练方法、多任务处理方法及装置 Download PDFInfo
- Publication number
- CN114898180A CN114898180A CN202210519345.2A CN202210519345A CN114898180A CN 114898180 A CN114898180 A CN 114898180A CN 202210519345 A CN202210519345 A CN 202210519345A CN 114898180 A CN114898180 A CN 114898180A
- Authority
- CN
- China
- Prior art keywords
- network
- subtask
- sub
- neural network
- image detection
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 181
- 238000012549 training Methods 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000003672 processing method Methods 0.000 title abstract description 6
- 238000001514 detection method Methods 0.000 claims abstract description 166
- 230000008569 process Effects 0.000 claims description 37
- 230000000694 effects Effects 0.000 abstract description 17
- 230000000875 corresponding effect Effects 0.000 description 62
- 238000010586 diagram Methods 0.000 description 15
- 230000010354 integration Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 210000000697 sensory organ Anatomy 0.000 description 3
- 206010000117 Abnormal behaviour Diseases 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000007786 learning performance Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 210000000746 body region Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及计算机视觉技术领域,具体提供了一种多任务神经网络的训练方法、多任务处理方法及装置。一种多任务神经网络的训练方法,包括:将预先获取的图像数据集输入待训练的多任务神经网络,并根据输出的图像检测结果确定每个子任务的图像检测结果的损失值;基于每个子任务的损失值,对所述多任务神经网络中所有子任务网络共享的第一子网络的网络参数进行调整;针对所述多任务神经网络包括的任意一个关联任务组,基于所述关联任务组包括的各个子任务的损失值,对所述关联任务组中各个子任务网络共享的第二子网络的网络参数进行调整,直至满足收敛条件。本公开实施方式提高多任务图像检测效果和效率。
Description
技术领域
本公开涉及计算机视觉技术领域,具体涉及一种多任务神经网络的训练方法、多任务处理方法及装置。
背景技术
多任务神经网络是指将多个计算机视觉任务整合在同一个网络中,统一进行网络训练得到的神经网络。多任务神经网络是深度学习领域目前较为新颖且实用的方向,在很多领域具有重要的应用,例如人体检测与跟踪、人群行为分析、目标属性分析以及异常行为检测等。
相关技术中,多任务神经网络在进行网络训练时,多个任务之间可能会出现相互制约的问题,导致网络性能较差。
发明内容
为提高多任务神经网络的图像检测任务性能,本公开实施方式提供了一种多任务神经网络的训练方法及装置、多任务处理方法及装置、电子设备、存储介质。
第一方面,本公开实施方式提供了一种多任务神经网络的训练方法,包括:
将预先获取的图像数据集输入待训练的多任务神经网络,得到所述多任务神经网络输出的每个子任务的图像检测结果,并根据所述图像检测结果确定每个子任务的图像检测结果的损失值;
基于每个子任务的损失值,对所述多任务神经网络中所有子任务网络共享的第一子网络的网络参数进行调整;
针对所述多任务神经网络包括的任意一个关联任务组,基于所述关联任务组包括的各个子任务的损失值,对所述关联任务组中各个子任务网络共享的第二子网络的网络参数进行调整,直至满足收敛条件;其中,所述多任务神经网络包括至少两个所述关联任务组,每个所述关联任务组包括至少一个子任务,每个子任务用于进行一种图像检测任务。
在一些实施方式中,所述的训练方法,还包括:
利用所述图像数据集对待训练的图像检测网络进行网络训练,得到网络训练过程中所述图像检测网络的各个子任务之间的性能相关性;所述图像检测网络包括所述多任务神经网络的各个子任务;
根据所述性能相关性,确定所述多任务神经网络中包括的各个所述关联任务组。
在一些实施方式中,所述基于每个子任务的损失值,对所述多任务神经网络中所有子任务网络共享的第一子网络的网络参数进行调整,包括:
获取每个子任务对应的第一权重参数;
根据每个子任务的所述损失值和所述第一权重参数,对所述第一子网络的网络参数进行调整。
在一些实施方式中,所述基于所述关联任务组包括的各个子任务的损失值,对所述关联任务组中各个子任务网络共享的第二子网络的网络参数进行调整,包括:
获取所述关联任务组包括的每个子任务对应的第二权重参数;
根据所述关联任务组包括的每个子任务的所述损失值和所述第二权重参数,对所述第二子网络的网络参数进行调整。
在一些实施方式中,所述图像数据集包括每个子任务对应的样本图像子集;所述将预先获取的图像数据集输入待训练的多任务神经网络,得到所述多任务神经网络输出的每个子任务的图像检测结果,包括:
根据所述多任务神经网络的第一子网络和每个子任务对应的第二子网络,建立每个子任务对应的训练子网络;
对于每个子任务对应的训练子网络,将所述子任务对应的所述样本图像子集输入所述训练子网络,得到所述训练子网络输出的所述子任务的图像检测结果。
在一些实施方式中,所述根据所述图像检测结果确定每个子任务的图像检测结果的损失值,包括:
获取每个子任务的所述图像检测结果以及所述图像数据集的标签数据;
根据所述图像检测结果与所述标签数据之间的差异,得到所述损失值。
第二方面,本公开实施方式提供了一种多任务处理方法,包括:
获取待处理图像;
将所述待处理图像输入预先训练的多任务神经网络,得到所述多任务神经网络输出的每个子任务的图像检测结果;其中,所述多任务神经网络为根据第一方面任意实施方式所述的训练方法得到。
在一些实施方式中,所述将所述待处理图像输入预先训练的多任务神经网络,得到所述多任务神经网络输出的每个子任务的图像检测结果,包括:
将所述待处理图像输入所述多任务神经网络的第一子网络,得到所述待处理图像的特征信息;
将所述特征信息分别输入每个子任务对应的第二子网络,得到每个子任务的所述图像检测结果。
第三方面,本公开实施方式提供了一种多任务神经网络的训练装置,包括:
输入模块,被配置为将预先获取的图像数据集输入待训练的多任务神经网络,得到所述多任务神经网络输出的每个子任务的图像检测结果,并根据所述图像检测结果确定每个子任务的图像检测结果的损失值;
第一调整模块,被配置为基于每个子任务的损失值,对所述多任务神经网络中所有子任务网络共享的第一子网络的网络参数进行调整;
第二调整模块,被配置为针对所述多任务神经网络包括的任意一个关联任务组,基于所述关联任务组包括的各个子任务的损失值,对所述关联任务组中各个子任务网络共享的第二子网络的网络参数进行调整,直至满足收敛条件;其中,所述多任务神经网络包括至少两个所述关联任务组,每个所述关联任务组包括至少一个子任务,每个子任务用于进行一种图像检测任务。
在一些实施方式中,所述的训练装置还包括:
相关性模块,被配置为利用所述图像数据集对待训练的图像检测网络进行网络训练,得到网络训练过程中所述图像检测网络的各个子任务之间的性能相关性;所述图像检测网络包括所述多任务神经网络的各个子任务;
分组模块,被配置为根据所述性能相关性,确定所述多任务神经网络中包括的各个所述关联任务组。
在一些实施方式中,所述第一调整模块被配置为:
获取每个子任务对应的第一权重参数;
根据每个子任务的所述损失值和所述第一权重参数,对所述第一子网络的网络参数进行调整。
在一些实施方式中,所述第二调整模块被配置为:
获取所述关联任务组包括的每个子任务对应的第二权重参数;
根据所述关联任务组包括的每个子任务的所述损失值和所述第二权重参数,对所述第二子网络的网络参数进行调整。
在一些实施方式中,所述图像数据集包括每个子任务对应的样本图像子集;所述输入模块被配置为:
根据所述多任务神经网络的第一子网络和每个子任务对应的第二子网络,建立每个子任务对应的训练子网络;
对于每个子任务对应的训练子网络,将所述子任务对应的所述样本图像子集输入所述训练子网络,得到所述训练子网络输出的所述子任务的图像检测结果。
在一些实施方式中,所述输入模块被配置为:
获取每个子任务的所述图像检测结果以及所述图像数据集的标签数据;
根据所述图像检测结果与所述标签数据之间的差异,得到所述损失值。
第四方面,本公开实施方式提供了一种多任务处理装置,包括:
获取模块,被配置为获取待处理图像;
图像检测模块,被配置为将所述待处理图像输入预先训练的多任务神经网络,得到所述多任务神经网络输出的每个子任务的图像检测结果;其中,所述多任务神经网络为根据第一方面任意实施方式所述的训练方法得到。
在一些实施方式中,所述图像检测模块被配置为:
将所述待处理图像输入所述多任务神经网络的第一子网络,得到所述待处理图像的特征信息;
将所述特征信息分别输入每个子任务对应的第二子网络,得到每个子任务的所述图像检测结果。
第五方面,本公开实施方式提供了一种电子设备,包括:
处理器;和
存储器,存储有计算机指令,所述计算机指令用于使处理器执行第一方面或第二方面任意实施方式所述的方法。
第六方面,本公开实施方式提供了一种存储介质,存储有计算机指令,所述计算机指令用于使计算机执行第一方面或第二方面任意实施方式所述的方法。
本公开实施方式的训练方法,利用图像数据集对所有图像检测任务共享的第一子网络进行训练,同时,基于性能相关性将图像检测任务划分为多个关联任务组,利用同一关联任务组的多个子任务损失值对该关联任务组对应的第二子网络进行训练,降低不同图像检测任务之间的相互制约影响,同时兼顾所有任务的性能,提高多任务图像检测效果,并且可以实现更多任务的整合,拓宽多任务神经网络的应用场景。
附图说明
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中传统多任务神经网络的网络结构。
图2是根据本公开一些实施方式中多任务神经网络的网络结构。
图3是根据本公开一些实施方式中多任务神经网络的网络结构。
图4是根据本公开一些实施方式中多任务神经网络的训练方法的流程图。
图5是根据本公开一些实施方式中多任务神经网络的训练方法的流程图。
图6是根据本公开一些实施方式中多任务神经网络的训练方法的原理图。
图7是根据本公开一些实施方式中多任务神经网络的训练方法的流程图。
图8是根据本公开一些实施方式中多任务神经网络的训练方法的流程图。
图9是根据本公开一些实施方式中多任务神经网络的训练方法的流程图。
图10是根据本公开一些实施方式中多任务神经网络的训练方法的原理图。
图11是根据本公开一些实施方式中多任务处理方法的流程图。
图12是根据本公开一些实施方式中多任务神经网络的训练装置的结构框图。
图13是根据本公开一些实施方式中多任务神经网络的训练装置的结构框图。
图14是根据本公开一些实施方式中多任务处理装置的结构框图。
图15是根据本公开一些实施方式中电子设备的结构框图。
具体实施方式
下面将结合附图对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本公开保护的范围。此外,下面所描述的本公开不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
多任务神经网络是深度学习领域目前较为新颖且实用的方向,多任务神经网络是指将多个使用相似信息的视觉任务整合在同一个神经网络中,通过统一的网络训练得到的神经网络。多任务神经网络在多种场景具有重要应用,例如人体/人脸检测跟踪、人群行为分析、人体属性分析以及异常行为检测等。
在多任务神经网络中,需要尽可能优化每个任务的性能。然而对于多任务场景,虽然不同任务之间使用的图像特征具有一定的相关性,但是任务与任务之间可能会出现相互制约的情况,导致多任务神经网络的性能不佳。
本案发明人通过研究发现,这是由于,对于多任务神经网络而言,不同任务所需的感受野大小不同,例如人脸检测任务与人体行为检测任务,两者所需的图像特征的感受野大小不同,导致针对两个任务的学习出现相互制约的关系。也即,随着其中一方任务的学习性能逐渐强化,另一方任务出现效果退化,尤其对于较多任务(例如七八种任务)的场景,相关技术中的多任务神经网络难以满足使用需求。
图1示出了相关技术中多任务神经网络的结构图,对于多任务神经网络,一般主要包括多任务共享部分结构和每个任务的私有部分结构。
例如图1所示,多个任务所共享部分的网络结构主要包括骨干网络100和解码网络200,骨干网络100的输入为待处理图像,其主要用于对待处理图像进行深层的特征提取,得到待处理图像的特征图。解码网络200用于对骨干网络100输出的特征图进行解码,例如对特征图进行上采样,得到对依赖于大尺度感受野的任务相关的特征信息。
而每个任务的私有部分网络结构主要包括分别连接在解码网络200之后的多个子任务网络300,例如图1示例中共包括3个子任务网络,也即多任务网络可以同时处理三种任务。每个子任务网络300的输入为解码网络200输出的特征图,然后每个子任务网络300根据特征图预测得到各自任务对应的输出结果。
本案发明人研究发现,对于上述多任务神经网络,每种任务所需的感受野大小不同,例如“子任务网络1”为针对人脸五官关键点进行检测的网络,而“子任务网络2”为针对人体进行检测的网络。由于人脸五官关键点检测任务更加关注于人脸区域特征,而人体检测任务更加关注于人体区域特征,因此两者所需的感受野大小不同。在对多任务神经网络训练时,需要根据所有子任务的损失值对共享部分(也即骨干网络100和解码网络200)进行训练,根据每个子任务的损失值对私有部分(也即每个子任务网络)进行训练。对于网络共享部分的骨干网络100和解码网络200,其对某个任务的学习性能得到强化时,另一个或多个任务的性能往往就会出现退化,难以兼顾多任务的性能。也是由于此原因,相关技术中的多任务神经网络往往只能同时整合2、3种任务,难以实现更多(例如8种、10种)任务的整合。
由此可知,相关技术中的多任务神经网络性能不佳,难以兼顾多种任务的性能,同时较难实现更多任务数量的整合。
基于上述相关技术提到的问题,本公开实施方式提供了一种多任务神经网络的训练方法、多任务检测方法及装置、电子设备、存储介质,旨在同时兼顾多任务性能,保证每种任务均具有很好的效果,同时可实现更多任务数量的网络整合。
在一些实施方式中,本公开提供了一种多任务神经网络的训练方法,该训练方法可以应用于电子设备,由电子设备执行下述的一个或者多个方法步骤。
本公开实施方式中,所述的电子设备可以是任何具有计算能力的设备类型,例如手持式移动终端、桌面终端设备、车载终端设备、可穿戴设备、服务器及云平台等,本公开对此不作限制。
本公开实施方式中,所述的多任务神经网络是指,能够实现多种图像检测任务的神经网络,例如人脸检测、人体检测、人体行为检测等,将这些图像检测任务整合在同一个神经网络中,也即本公开所述的多任务神经网络。
图2示出了本公开一些实施方式中多任务神经网络的结构示意图,下面结合图2对本公开多任务神经网络的结构及原理进行说明。
如图2所示,本公开实施方式的多任务神经网络包括第一子网络、第二子网络以及子任务网络。
第一子网络为所有子任务所共享的骨干网络(Backbone),第一子网络用于对待处理图像进行深层次的特征提取,得到待处理图像的第一特征图。例如一个示例中,考虑到网络的轻量化,第一子网络可以使用基于Mobilenet V2的网络,其结构如图3所示。具体来说,第一子网络包括1层批规范化卷积层(BN层,Batch Normalization),用于初步提取待处理图像的特征信息,并将待处理图像进行升维之后依次通过后续的多个逆向残差模块进行深层次的特征提取,多个逆向残差模块提取特征的尺度越来越小,维度也越来越高。
第二子网络为中间层网络(Neck),其用于对第一子网络输出的第一特征图进行解码,从而将较小图像尺度的第一特征图进行上采样,得到具有更大尺度特征信息的第二特征图,从而提供依赖于大尺度感受野的任务所需的特征信息。
在一些实施例中,可以并非所有的子任务共享一个第二子网络,而是将所有子任务根据相关性划分为多个相关任务组,每一个相关任务组中的子任务共享一个第二子网络。
例如图2所示中,多任务神经网络共整合有子任务1~子任务m,共计m个子任务,每个子任务对应有各自私有的子任务网络,也即图2中所示的子任务网络1~子任务网络m。
本公开实施方式中,在构建多任务神经网络时,需要预先根据所有子任务中各个子任务之间的相关性,对多个子任务进行分组,得到关联任务组。例如图2所示,m个子任务共分为n个关联任务组,其中关联任务组1包括子任务1~a1,关联任务组2包括子任务a1+1~a2……关联任务组n包括子任务az+1~m。
在得到关联任务组之后,对每个关联任务组设置1个第二子网络,从而,对于关联任务组1~n共设置如图2所示的第二子网络1~n,共计n个第二子网络。
可以理解,本公开实施方式中,第二子网络的数量取决于多个子任务所划分的关联任务组的数量,在确定多个子任务的关联任务组之后,只需要复制相同数量的第二子网络即可,对于具体的数量可以根据不同的应用场景进行选择,本公开对此不作限制。
在得到n个第二子网络之后,对于每个第二子网络,可根据对应的关联任务组所包括的子任务,将各个子任务私有的子任务网络连接于该第二子网络之后即可。以第二子网络1为例,第二子网络1对应的相关任务组1共包括子任务1~a1共计a1个子任务,从而可以将这a1个任务的子任务网络连接于第二子网络1之后。
本公开实施方式中,所述的关联任务组是指,多个子任务之间具有的关联性,关联性可以理解为子任务与子任务之间具有相互促进的正相关效果。
举例来说,对于“佩戴口罩检测”和“佩戴眼镜检测”两个子任务,两者均关注于人体面部区域,两者对感受野和特征信息的需求极为相近,当其中一方性能提高时,另一方性能也相应提高,定义这样的两类子任务为具有关联性的子任务,即可将该两类任务划分为同一个关联任务组。
又例如,对于“佩戴口罩检测”和“人体检测”两个子任务来说,佩戴口罩检测任务更关注于人体面部区域,所需的感受野较小;而人体检测任务则更关注于人体区域,所需的感受野较大。当针对其中一方任务性能提高时,另一方任务性能可能出现退化,定义这样的两类子任务为不具关联性的子任务,该两类任务即不能划分至同一个关联任务组。
本公开下文实施方式中,将对多个子任务进行关联任务组划分的过程进行说明,在此暂不展开。
继续参见图2所示的网络结构,第二子网络可以采用基于三次卷积和双线性插值的上采样模块,利用上采样模块对第一子网络输出的第一特征图进行上采样,也即对第一特征图进行逐步解码,得到具有更大尺度且包含更丰富语义信息的第二特征图,使得后续的子任务网络能获取更多特征和所需尺度的信息,从而更好地完成相应的子任务处理。
子任务网络为每个子任务所私有的头部网络(Head),其输入即为对应的第二子网络输出的第二特征图,其输出即为该子任务对应的输出结果。例如一个示例中,每个子任务网络包括三层卷积层,其中第一层为卷积核大小为1的卷积层,用于对第二特征图进行降维,第二层为卷积核为3的卷积层,用于对每个任务增加非线性变换,第三层为输出层,用于输出该子任务的输出结果。
基于上述图2所示的多任务神经网络,本公开下文实施方式对网络训练过程进行说明。
首先,值得说明的是,本公开实施方式的训练方法,所要解决的问题是:例如图1所示的传统多任务神经网络中,多个图像检测子任务的性能出现互相制约、难以同时提高。该问题是由于,所需图像感受野不同的图像检测子任务共享同样的图像特征导致的,显示是符合自然规律且在多任务图像检测领域客观存在的技术问题。
而在本公开实施方式中,通过找到具有相关性的图像检测任务,将这些性能正相关的任务划分为同一个关联任务组,并单独训练关联任务组所对应的第二子网络,可以使得所需图像感受野相近的子任务共享1个第二子网络,而图像感受野相差较大的子任务分别设置在两个关联任务组中。显然,本公开实施方式的方案也是符合自然规律且与多任务图像检测具有紧密关联的技术手段。
其次,参见图4所示,在一些实施方式中,本公开示例的多任务神经网络的训练方法,包括:
S410、将预先获取的图像数据集输入待训练的多任务神经网络,得到多任务神经网络输出的每个子任务的图像检测结果,并根据图像检测结果确定每个子任务的图像检测结果的损失值。
本公开实施方式中,图像数据集是指用于对多任务神经网络进行训练的样本图像数据集。图像数据集中包括多个样本数据,每个样本数据包括样本图像以及对应任务的标签数据。
在一些实施方式中,可以针对多个子任务,利用用一个数据集进行训练,也即对于图像数据集中的一个样本数据,其包括样本图像和所有任务的标签数据。
在另一些实施方式中,也可以针对每个子任务分别设置对应的数据集,也即本公开所述的图像数据集中包括与子任务数量相同的样本图像子集,每个样本图像子集表示一种子任务的样本数据集,也即对于样本图像子集中的一个样本数据,其包括样本图像和该子任务的标签数据。本公开实施方式中,可以利用各自对应的样本图像子集对每个任务并行训练,提高子任务性能和训练效率。本公开下述实施方式进行说明,在此暂不详述。
以图像数据集中的一个样本数据为例,将样本数据输入图2所示的多任务神经网络中,得到多任务神经网络输出的每个子任务的图像检测结果。
可以理解,图像检测结果表示多任务神经网络对该子任务的预测结果,而样本数据的标签数据表示真实值(Groundtruth),基于预先设置的损失函数可以计算得到图像检测结果与标签数据之间的损失值。该损失值即表示网络预测结果与真实结果之间的差异,损失值越大,表示网络的性能越差,反之损失值越小,表示网络的性能越好,网络训练的目标即为使多次迭代的损失值收敛至一个较好的范围。
S420、基于每个子任务的损失值,对多任务神经网络中所有子任务网络共享的第一子网络的网络参数进行调整。
仍以上述示例中的一次迭代过程为例,在得到每个子任务的图像检测结果与标签数据之间的差异,也即损失值之后,即可根据损失值利用反向传播对多任务神经网络的网络参数进行优化调整。
具体来说,在本公开实施方式中,对多任务神经网络的网络参数进行优化调整的过程可分为三个部分:对所有子任务网络共享的第一子网络进行优化、对关联任务组共享的第二子网络进行优化以及对每个子任务所私有的子任务网络进行优化。
首先,对每个子任务私有的子任务网络的优化过程进行说明。以图2所示的子任务网络1为例,在得到子任务网络1输出的图像检测结果1之后,即可根据图像检测结果1和子任务1的标签数据确定子任务1的损失值,然后根据该损失值反向传播对子任务网络1的网络参数进行优化调整。对于其他每个子任务网络,均与之同理,本公开对此不再赘述。
其次,对所有子任务共享的第一子网络的优化过程进行说明。
如图2所示,在得到每个子任务网络输出的图像检测结果之后,根据图像检测结果与对应的标签数据得到每个子任务的损失值。由于第一子网络为所有子任务的共享部分,因此第一子网络应当对所有子任务所需的特征进行学习。在对第一子网络进行优化时,可以融合每个子任务的损失值,利用所有子任务的损失值对第一子网络的网络参数进行优化调整。
S430、针对多任务神经网络包括的任意一个关联任务组,基于关联任务组包括的各个子任务的损失值,对关联任务组中各个子任务网络共享的第二子网络的网络参数进行调整,直至满足收敛条件。
如图2所示,结合前述可知,每个第二子网络表示的是具有关联性的子任务所共享的中间层网络,因此本公开实施方式中,对于每个第二子网络进行训练时,需要依据该第二子网络所包括的各个子任务的损失值进行训练。
以第二子网络1为例,在得到子任务1~a1对应的损失值之后,可以融合子任务1~a1的损失值,利用融合后的损失值对第二子网络1的网络参数进行优化调整。同理,对于第二子网络2~n,同样按照上述过程完成优化。
上述对利用一个样本数据进行一次迭代训练的过程进行了说明,对于图像数据集中的多个样本数据,重复执行上述过程即可,直至各个网络的损失值满足收敛条件,完成对上述多任务神经网络的训练。
可以理解,结合图2所示的网络结构,对于训练完成的多任务神经网络,每个第二子网络所学习到的多任务特征信息,为该第二子网络所对应的关联任务组中各个子任务所需的特征信息,而关联任务组中的各个子任务是具有相互促进效果的任务。因此,对于训练后的各个第二子网络,其所包括的各个子任务均为具有相互促进效果的任务,而不存在相互制约的影响,对于每个任务的性能均可以达到最佳,可以有效兼顾所有任务的性能。
并且,由于本公开实施方式的多任务神经网络,可以将不同任务的相会制约影响尽可能降低,因此可以兼容更多数量的任务,实现数种、甚至十几种任务的整合,在涉及人体检测分析有关的通用场景中,本公开实施方式的多任务神经网络可以兼容8种以上的任务检测。
通过上述可知,本公开实施方式中,通过对具有关联性的图像检测任务划分为多个关联任务组,并对每个关联任务组共享的第二子网络进行分别训练,降低不同图像检测任务之间的相互制约影响,同时兼顾所有任务的性能,提高多任务图像检测效果,并且可以实现更多任务的整合,拓宽多任务神经网络的应用场景。
结合前述可知,本公开实施方式中,在构建多任务神经网络时,需要对多任务神经网络包括的多个子任务根据相关性进行划分,得到多个关联任务组。下面结合图5实施方式对得到关联任务组的过程进行说明。
如图5所示,在一些实施方式中,本公开示例的多任务神经网络的训练方法,对多个子任务进行划分得到多个关联任务组的过程包括:
S510、利用图像数据集对待训练的图像检测网络进行网络训练,得到网络训练过程中图像检测网络的各个子任务之间的性能相关性。
S520、根据性能相关性,确定多任务神经网络中包括的各个关联任务组。
可以理解,本公开实施方式中,对多个子任务进行分组的目的是:找出多个子任务中具有相互促进效果的子任务,将具有相互促进效果的子任务划分为一个关联任务组。
在此目标的要求下,可以利用图像数据集对包括上述多个子任务的图像检测网络进行网络训练,通过网络训练过程中各个子任务的性能变化情况,确定各个子任务之间是否存在相关性。
例如一个示例中,在图像检测网络的训练过程中,两个子任务表现出性能同时提高或者同时下降的规律,则说明这两个子任务为正相关,具有相关性。
例如另一个示例中,在图像检测网络的训练过程中,两个子任务表现出一方性能提高或降低的同时,另一方性能不受影响,则说明这两个子任务无相关性。
例如又一个示例中,在图像检测网络的训练过程中,两个子任务表现出其中一方性能提高的同时另一方性能下降的规律,则说明这两个子任务为负相关,不仅不具有相关性,还具有冲突性。
基于上述规律,即可将多个子任务中具有相关性的子任务划分为同一个关联任务组,将具有冲突性或者不具有相关性的子任务划分至不同的关联任务组。
在一些实施方式中,为保证关联任务组的划分具有较好的参照性,可以采用与多任务神经网络相同的网络结构作为图像检测网络,但是在图像检测网络中,第二子网络仅设置一个即可,也即所有的子任务共享同一个第二子网络,例如图6所示。这样,通过对第二子网络的优化,可以得到每个子任务的损失值随着第二子网络的优化过程发生的性能变化,通过多个子任务的性能变化,得到各个子任务之间的性能相关性。
在确定各个子任务之间的性能相关性之后,即可对这些子任务根据性能相关性进行分组,也即按照上文所述的规律,将具有相关性的子任务划分至同一个关联任务组中,将具有冲突性或者无相关性的子任务划分至不同的关联任务组中,得到最终确定的多个关联任务组。
可以理解,本公开实施方式中,多任务神经网络可以兼容多种图像检测子任务,对于多种子任务进行关联性分组时,可以至少划分为两个关联任务组,当然,也可以划分为更多的关联任务组,本领域技术人员可以根据具体场景需求通过试验的手段完成关联任务组的划分,本公开对此不作限制。
在完成对多个子任务的关联任务组划分之后,即可为每个关联任务组设置一个第二子网络,从而构建出的多任务神经网络即可如图2所示,对此不再赘述。
通过上述可知,本公开实施方式中,通过将多个图像检测子任务划分至多个关联任务组中,使得每个关联任务组中具有相互促进效果的子任务共享同一个第二子网络,从而训练过程中大大降低任务之间的相互制约影响,提高网络对每个任务的性能。
在一些实施方式中,考虑到不同任务在网络训练时,标签数据不一致,下降梯度也会不一样,从而不同任务的学习速率也不一致,造成共享部分的第一子网络或者第二子网络对不同任务的性能出现偏向性。
因此本公开实施方式中,为了平衡不同子任务的学习速率,在融合每个子任务的损失值对第一子网络和第二子网络的网络参数进行优化调整的过程中,可以为每个子任务设置权重参数,利用权重参数平衡各个子任务的梯度和学习速率。下面结合图7和图8实施方式进行说明。
如图7所示,在一些实施方式中,本公开示例的对任务神经网络的训练方法,对第一子网络的网络参数进行调整的过程包括:
S710、获取每个子任务对应的第一权重参数。
S720、根据每个子任务的损失值和第一权重参数,对第一子网络的网络参数进行调整。
结合图2所示,仍以一个样本数据的一次迭代过程为例进行说明。将样本数据的样本图像输入多任务神经网络中,得到多任务神经网络输出的每个子任务的图像检测结果,然后根据每个子任务的图像检测结果和标签数据之间的差异,得到每个子任务的损失值。
在融合各个子任务的损失值对第一子网络进行反向传播优化时,还需要基于预先设置的每个子任务的第一权重参数,对损失值进行加权平衡。
具体来说,可以预先根据每种子任务的下降梯度的不同,为每种图像检测子任务设置对应的超参数,也即第一权重参数。在得到每个子任务的损失值之后,可以为每个子任务的损失值乘以其对应的第一权重参数,然后再将各个损失值相加反向传播对第一子网络的网络参数进行优化调整。
在一些实施方式中,对于多任务神经网络,网络训练的目标是使得第一子网络对每种任务具有较为平衡的偏向性,也即每种子任务的偏向性保持在一致的水平。从而,即可为具有较大梯度的任务设置较小的第一权重参数,降低其学习速率;而可为具有较小梯度的任务设置较大的第一权重参数,提高其学习速率。使得各个子任务的学习速率保持在基本一致的水平。
在另一些实施方式中,对于多任务神经网络,网络训练的目标是使得第一子网络对高优先级的目标任务具有更多的偏向性,而对于低优先级的辅助任务具有更低的偏向性。从而,即可为高优先的目标任务设置较大的第一权重参数,提高其学习速率;而可为低优先级的任务设置较小的第一权重参数,降低其学习速率。使得多任务网络对高优先的目标任务相较于低优先级的辅助任务具有更多的偏向性。
本公开实施方式中,对于第一权重参数的具体取值,本领域技术人员可以根据具体的应用场景进行选择,本公开对此不作限制。
通过上述可知,本公开实施方式中,通过第一权重参数可以调整网络对各个任务的偏向性,平衡各个子任务的学习速率。
如图8所示,在一些实施方式中,本公开示例的对任务神经网络的训练方法,对第二子网络的网络参数进行调整的过程包括:
S810、获取关联任务组包括的每个子任务对应的第二权值参数。
S820、根据关联任务组包括的每个子任务的损失值和第二权重参数,对第二子网络的网络参数进行调整。
结合图2所示,仍以一个样本数据的一次迭代过程为例进行说明。将样本数据的待处理图像输入多任务神经网络中,得到多任务神经网络输出的每个子任务的图像检测结果,然后根据每个子任务的图像检测结果和标签数据之间的差异,得到每个子任务的损失值。
以第二子网络1的训练过程为例,其对应的关联任务组1共包括图2所示的图像检测子任务1~a1。在融合子任务1~a1的损失值对第二子网络1的网络参数进行优化调整时,还需要基于预先设置的每个子任务的第二权重参数,对损失值进行加权平衡。
具体来说,可以预先根据子任务1~a1的下降梯度的不同,为每种子任务设置对应的超参数,也即第二权重参数。在得到子任务1~a1的损失值之后,可以为每个子任务的损失值乘以其对应的第二权重参数,然后再将各个损失值相加反向传播对第二子网络1的网络参数进行优化调整。
同样,在一些实施方式中,对于多任务神经网络,网络训练的目标是使得第二子网络对每种任务具有较为平衡的偏向性,也即关联任务组中的每种子任务的偏向性保持在一致的水平。从而,可为关联任务组中具有较大梯度的任务设置较小的第二权重参数,降低其学习速率;而可为关联任务组中具有较小梯度的任务设置较大的第二权重参数,提高其学习速率。使得关联任务组中各个子任务的学习速率保持在基本一致的水平。
在另一些实施方式中,对于多任务神经网络,网络训练的目标是使得第二子网络对高优先级的目标任务具有更多的偏向性,而对于低优先级的辅助任务具有更低的偏向性。从而,可为关联任务组中高优先的目标任务设置较大的第二权重参数,提高其学习速率;而可为关联任务组中低优先级的任务设置较小的第二权重参数,降低其学习速率。使得多任务网络对高优先的目标任务相较于低优先级的辅助任务具有更多的偏向性。
本公开实施方式中,对于第二权重参数的具体取值,本领域技术人员可以根据具体的应用场景进行选择,本公开对此不作限制。
通过上述可知,本公开实施方式中,通过第二权重参数可以调整网络对各个任务的偏向性,平衡各个子任务的学习速率。
在如图1所示的相关技术中的多任务神经网络中,由于不同任务之间的相互制约影响,导致其只能整合少量且近似的任务,例如人脸关键点检测、人脸佩戴物检测等使用相似信息的任务。因此,在对网络训练时,只需要使用同一个训练样本集对多个子任务统一训练即可。
而在本公开实施方式中,通过相关任务组对多个子任务的分组,可以降低不同子任务之间的相互制约影响,从而可以将更多数量且相关性不强的子任务整合在一起。在此情况下,不同子任务所需的训练样本集可能存在较大差异,难以适用同一训练样本集。因此,本公开一些实施方式中,为每种子任务设置对应的样本图像子集,利用样本图像子集的数据对每种子任务并行训练,在不增加训练时长的情况下,提高各个子任务性能。
具体来说,本公开上述的图像数据集包括每个子任务对应的样本图像子集,也即每种子任务均具有对应的训练样本集。当然,本领域技术人员可以理解,对于任务目标十分相似的子任务,两个或者多个子任务也可以使用同一个样本图像子集的数据,本公开对此不作限制。下面结合图9和图10实施方式对训练过程进行说明。
如图9所示,在一些实施方式中,本公开示例的多任务神经网络的训练方法,将图像数据集输入待训练的多任务神经网络,得到多任务神经网络输出的每个子任务的图像检测结果的过程,包括:
S910、根据多任务神经网络的第一子网络和每个子任务对应的第二子网络,建立每个子任务对应的训练子网络。
S920、对于每个子任务对应的训练子网络,将子任务对应的样本图像子集输入训练子网络,得到训练子网络输出的子任务的图像检测结果。
本公开实施方式中,由于每种子任务对应有各自的样本图像子集,因此在网络训练过程中,为了实现多种任务的同时并行训练,需要预先针对每个任务初始化出一个训练子网络。
参见图2所示的多任务神经网络结构,本公开实施方式中,初始化的每种子任务的训练子网络,包括第一子网络、该子任务对应的第二子网络和子任务网络。
例如图10示出了关联任务组1中包括的子任务1~a1所对应的训练子网络的网络结构。结合图2和图10,对于子任务1,其对应的训练子网络包括第一子网络、第二子网络1以及子任务网络1。对于子任务2,其对应的训练子网络包括第一子网络、第二子网络1以及子任务网络2。以此类推,对于子任务a1,其对应的训练子网络包括第一子网络、第二子网络1以及子任务网络a1。
当然,可以理解,图10中受限于篇幅,仅仅示出了相关任务组1所对应的各个子任务的训练子网络,而对于其他相关任务组包括的每个子任务,均按照上述的过程初始化出各自对应的训练子网络。
例如对于子任务a2,其对应的训练子网络包括第一子网络、第二子网络2以及子任务网络a2。对于子任务m,其对应的训练子网络包括第一子网络、第二子网络m以及子任务网络m。
总而言之,本公开实施方式中,基于每个子任务所对应的第一子网络和第二子网络,以及私有的子任务网络建立训练子网络,本领域技术人员对此可以理解,本公开不再穷举。
下面仍以图10示出了子任务1~a1的训练子网络为例,对多任务神经网络的训练过程进行说明。
如图10所示,每个子任务对应有各自的样本图像子集,也即子任务1的样本图像子集1、子任务2的样本图像子集2、……、子任务a1的样本图像子集a1。将各个样本图像子集的样本输入对应的训练子网络中,从而可以得到每个训练子网络的图像检测结果。
可以理解,在得到每个子任务的图像检测结果之后,即可基于前述实施方式的训练过程,得到每个子任务的损失值,并利用损失值反向传播对第一子网络、第二子网络以及子任务网络进行优化调整。
需要特征说明的是,在本公开实施方式中,例如图10所示,在利用子任务1~a1的损失值对第二子网络1进行优化调整时,需要对所有训练子网络中的第二子网络1进行优化调整,使得网络参数保持一致。同理,在利用子任务1~m的损失值对第一子网络进行优化调整时,需要对所有训练子网络中的第一子网络进行优化调整,使得网络参数保持一致。而对于每个子任务私有的子任务网络,只需要优化调整各自的子任务网络即可。
在训练子网络训练完成之后,只需要将网络恢复至图2所示的结构即可。对于具体的网络训练过程,本领域技术人员参照前述任一实施方式即可,本公开对此不再赘述。
可以理解,在本公开实施方式中,针对每种子任务设置各自的样本图像子集,从而使得训练更有针对性,子任务的性能更高。并且,本公开实施方式的训练方法,多个子任务同时并行训练,无需依次对每个子任务进行训练,在提高每个子任务性能的基础上,缩短训练时长,提高训练效率。
通过上述可知,本公开实施方式中,通过对具有相关性的图像检测任务划分为多个关联任务组,并对每个关联任务组共享的第二子网络进行分别训练,降低不同任务之间的相互制约影响,同时兼顾所有图像检测任务的性能,提高多任务检测效果,并且可以实现更多任务的整合,拓宽多任务神经网络的应用场景。而且,通过权重参数可以调整网络对各个任务的偏向性,平衡各个子任务的学习速率。另外,针对每种子任务设置各自的样本图像子集,从而使得训练更有针对性,子任务的性能更高,多个子任务同时并行训练,在提高每个子任务性能的基础上,缩短训练时长,提高训练效率。
在一些实施方式中,本公开示例提供了一种多任务检测方法,该方法可基于例如图2所示的多任务神经网络,实现多种图像检测任务,下面结合图11实施方式进行说明。
如图11所示,在一些实施方式中,本公开示例的多任务处理方法,包括:
S1110、获取待处理图像。
S1120、将待处理图像输入预先训练的多任务神经网络,得到多任务神经网络输出的每个子任务的图像检测结果。
本公开实施方式中,多任务神经网络可以是例如图2所示的网络结构,网络训练过程参见前述实施方式即可,对此不再赘述。在对多任务神经网络训练完成之后,即可利用该多任务神经网络进行多种图像检测任务的处理。
待处理图像是指期望于进行相关图像检测任务的场景图像,例如一个示例中,待处理图像可以通过图像采集设备采集的自然场景图像,图像检测任务可以包括例如人脸检测、人体检测、行为检测、年龄检测、佩戴物检测等等,本公开对此不作限制。另外,待处理图像可以是采集的单张图像,也可以是视频流序列中的帧图像,本公开对此不作限制。
结合图2所示,得到待处理图像之后,可以将待处理图像输入多任务神经网络的第一子网络,从而得到第一子网络输出的待处理图像的特征信息。然后将特征信息分别输入每个第二子网络,得到第二子网络输出的特征图。之后将第二子网络输出的特征图输入每个第二子网络所连接的子任务网络,得到每个子任务网络输出的图像检测结果,也即得到多任务结果。本领域技术人员参照前述实施方式毫无疑问可以理解并充分实施,本公开对此不再赘述。
通过上述可知,本公开实施方式中,通过对具有关联性的图像检测任务划分为多个关联任务组,并对每个关联任务组共享的第二子网络进行分别训练,降低不同图像检测任务之间的相互制约影响,同时兼顾所有任务的性能,提高多任务图像检测效果,并且可以实现更多任务的整合,拓宽多任务神经网络的应用场景。
在一些实施方式中,本公开示例提供了一种多任务神经网络的训练装置。
如图12所示,在一些实施方式中,本公开示例的训练装置,包括:
输入模块10,被配置为将预先获取的图像数据集输入待训练的多任务神经网络,得到多任务神经网络输出的每个子任务的图像检测结果,并根据图像检测结果确定每个子任务的图像检测结果的损失值;
第一调整模块20,被配置为基于每个子任务的损失值,对多任务神经网络中所有子任务网络共享的第一子网络的网络参数进行调整;
第二调整模块30,被配置为针对多任务神经网络包括的任意一个关联任务组,基于关联任务组包括的各个子任务的损失值,对关联任务组中各个子任务网络共享的第二子网络的网络参数进行调整,直至满足收敛条件;其中,多任务神经网络包括至少两个关联任务组,每个关联任务组包括至少一个子任务,每个子任务用于进行一种图像检测任务。
通过上述可知,本公开实施方式中,通过对具有关联性的图像检测任务划分为多个关联任务组,并对每个关联任务组共享的第二子网络进行分别训练,降低不同图像检测任务之间的相互制约影响,同时兼顾所有任务的性能,提高多任务图像检测效果,并且可以实现更多任务的整合,拓宽多任务神经网络的应用场景。
如图13所示,在一些实施方式中,的训练装置还包括:
相关性模块40,被配置为利用图像数据集对待训练的图像检测网络进行网络训练,得到网络训练过程中图像检测网络的各个子任务之间的性能相关性;图像检测网络包括多任务神经网络的各个子任务;
分组模块50,被配置为根据性能相关性,确定多任务神经网络中包括的各个关联任务组。
通过上述可知,本公开实施方式中,通过将多个图像检测子任务划分至多个关联任务组中,使得每个关联任务组中具有相互促进效果的子任务共享同一个第二子网络,从而训练过程中大大降低任务之间的相互制约影响,提高网络对每个任务的性能。
在一些实施方式中,第一调整模块20被配置为:
获取每个子任务对应的第一权重参数;
根据每个子任务的损失值和第一权重参数,对第一子网络的网络参数进行调整。
通过上述可知,本公开实施方式中,通过第一权重参数可以调整网络对各个任务的偏向性,平衡各个子任务的学习速率。
在一些实施方式中,第二调整模块30被配置为:
获取关联任务组包括的每个子任务对应的第二权重参数;
根据关联任务组包括的每个子任务的损失值和第二权重参数,对第二子网络的网络参数进行调整。
通过上述可知,本公开实施方式中,通过第二权重参数可以调整网络对各个任务的偏向性,平衡各个子任务的学习速率。
在一些实施方式中,图像数据集包括每个子任务对应的样本图像子集;输入模块10被配置为:
根据多任务神经网络的第一子网络和每个子任务对应的第二子网络,建立每个子任务对应的训练子网络;
对于每个子任务对应的训练子网络,将子任务对应的样本图像子集输入训练子网络,得到训练子网络输出的子任务的图像检测结果。
在一些实施方式中,输入模块10被配置为:
获取每个子任务的图像检测结果以及图像数据集的标签数据;
根据图像检测结果与标签数据之间的差异,得到损失值。
通过上述可知,本公开实施方式中,通过对具有相关性的图像检测任务划分为多个关联任务组,并对每个关联任务组共享的第二子网络进行分别训练,降低不同任务之间的相互制约影响,同时兼顾所有图像检测任务的性能,提高多任务检测效果,并且可以实现更多任务的整合,拓宽多任务神经网络的应用场景。而且,通过权重参数可以调整网络对各个任务的偏向性,平衡各个子任务的学习速率。另外,针对每种子任务设置各自的样本图像子集,从而使得训练更有针对性,子任务的性能更高,多个子任务同时并行训练,在提高每个子任务性能的基础上,缩短训练时长,提高训练效率。
在一些实施方式中,本公开示例提供了一种多任务处理装置,如图14所示,多任务处理装置包括:
获取模块60,被配置为获取待处理图像;
图像检测模块70,被配置为将待处理图像输入预先训练的多任务神经网络,得到多任务神经网络输出的每个子任务的图像检测结果;其中,多任务神经网络为根据第一方面任意实施方式的训练方法得到。
在一些实施方式中,图像检测模块70被配置为:
将待处理图像输入多任务神经网络的第一子网络,得到待处理图像的特征信息;
将特征信息分别输入每个子任务对应的第二子网络,得到每个子任务的图像检测结果。
通过上述可知,本公开实施方式中,通过对具有关联性的图像检测任务划分为多个关联任务组,并对每个关联任务组共享的第二子网络进行分别训练,降低不同图像检测任务之间的相互制约影响,同时兼顾所有任务的性能,提高多任务图像检测效果,并且可以实现更多任务的整合,拓宽多任务神经网络的应用场景。
在一些实施方式中,本公开实施方式提供了一种电子设备,包括:
处理器;和
存储器,存储有计算机指令,计算机指令用于使处理器执行上述任意实施方式的方法。
在一些实施方式中,本公开实施方式提供了一种存储介质,存储有计算机指令,计算机指令用于使计算机执行上述任意实施方式的方法。
具体而言,图15示出了适于用来实现本公开方法的电子设备600的结构示意图,通过图15所示电子设备,可实现上述处理器及存储介质相应功能。
如图15所示,电子设备600包括处理器601,其可以根据存储在存储器602中的程序或者从存储部分608加载到存储器602中的程序而执行各种适当的动作和处理。在存储器602中,还存储有电子设备600操作所需的各种程序和数据。处理器601和存储器602通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施方式,上文方法过程可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行上述方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获取个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
显然,上述实施方式仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本公开创造的保护范围之中。
Claims (12)
1.一种多任务神经网络的训练方法,其特征在于,包括:
将预先获取的图像数据集输入待训练的多任务神经网络,得到所述多任务神经网络输出的每个子任务的图像检测结果,并根据所述图像检测结果确定每个子任务的图像检测结果的损失值;
基于每个子任务的损失值,对所述多任务神经网络中所有子任务网络共享的第一子网络的网络参数进行调整;
针对所述多任务神经网络包括的任意一个关联任务组,基于所述关联任务组包括的各个子任务的损失值,对所述关联任务组中各个子任务网络共享的第二子网络的网络参数进行调整,直至满足收敛条件;其中,所述多任务神经网络包括至少两个所述关联任务组,每个所述关联任务组包括至少一个子任务,每个子任务用于进行一种图像检测任务。
2.根据权利要求1所述的训练方法,其特征在于,还包括:
利用所述图像数据集对待训练的图像检测网络进行网络训练,得到网络训练过程中所述图像检测网络的各个子任务之间的性能相关性;所述图像检测网络包括所述多任务神经网络的各个子任务;
根据所述性能相关性,确定所述多任务神经网络中包括的各个所述关联任务组。
3.根据权利要求1或2所述的训练方法,其特征在于,所述基于每个子任务的损失值,对所述多任务神经网络中所有子任务网络共享的第一子网络的网络参数进行调整,包括:
获取每个子任务对应的第一权重参数;
根据每个子任务的所述损失值和所述第一权重参数,对所述第一子网络的网络参数进行调整。
4.根据权利要求1至3任一项所述的训练方法,其特征在于,所述基于所述关联任务组包括的各个子任务的损失值,对所述关联任务组中各个子任务网络共享的第二子网络的网络参数进行调整,包括:
获取所述关联任务组包括的每个子任务对应的第二权重参数;
根据所述关联任务组包括的每个子任务的所述损失值和所述第二权重参数,对所述第二子网络的网络参数进行调整。
5.根据权利要求1至4任一项所述的训练方法,其特征在于,所述图像数据集包括每个子任务对应的样本图像子集;所述将预先获取的图像数据集输入待训练的多任务神经网络,得到所述多任务神经网络输出的每个子任务的图像检测结果,包括:
根据所述多任务神经网络的第一子网络和每个子任务对应的第二子网络,建立每个子任务对应的训练子网络;
对于每个子任务对应的训练子网络,将所述子任务对应的所述样本图像子集输入所述训练子网络,得到所述训练子网络输出的所述子任务的图像检测结果。
6.根据权利要求1至5任一项所述的训练方法,其特征在于,所述根据所述图像检测结果确定每个子任务的图像检测结果的损失值,包括:
获取每个子任务的所述图像检测结果以及所述图像数据集的标签数据;
根据所述图像检测结果与所述标签数据之间的差异,得到所述损失值。
7.一种多任务处理方法,其特征在于,包括:
获取待处理图像;
将所述待处理图像输入预先训练的多任务神经网络,得到所述多任务神经网络输出的每个子任务的图像检测结果;其中,所述多任务神经网络为根据权利要求1至6任一项所述的训练方法得到。
8.根据权利要求7所述的多任务处理方法,其特征在于,所述将所述待处理图像输入预先训练的多任务神经网络,得到所述多任务神经网络输出的每个子任务的图像检测结果,包括:
将所述待处理图像输入所述多任务神经网络的第一子网络,得到所述待处理图像的特征信息;
将所述特征信息分别输入每个子任务对应的第二子网络,得到每个子任务的所述图像检测结果。
9.一种多任务神经网络的训练装置,其特征在于,包括:
输入模块,被配置为将预先获取的图像数据集输入待训练的多任务神经网络,得到所述多任务神经网络输出的每个子任务的图像检测结果,并根据所述图像检测结果确定每个子任务的图像检测结果的损失值;
第一调整模块,被配置为基于每个子任务的损失值,对所述多任务神经网络中所有子任务网络共享的第一子网络的网络参数进行调整;
第二调整模块,被配置为针对所述多任务神经网络包括的任意一个关联任务组,基于所述关联任务组包括的各个子任务的损失值,对所述关联任务组中各个子任务网络共享的第二子网络的网络参数进行调整,直至满足收敛条件;其中,所述多任务神经网络包括至少两个所述关联任务组,每个所述关联任务组包括至少一个子任务,每个子任务用于进行一种图像检测任务。
10.一种多任务处理装置,其特征在于,包括:
获取模块,被配置为获取待处理图像;
图像检测模块,被配置为将所述待处理图像输入预先训练的多任务神经网络,得到所述多任务神经网络输出的每个子任务的图像检测结果;其中,所述多任务神经网络为根据权利要求1至6任一项所述的训练方法得到。
11.一种电子设备,其特征在于,包括:
处理器;和
存储器,存储有计算机指令,所述计算机指令用于使处理器执行根据权利要求1至8任一项所述的方法。
12.一种存储介质,其特征在于,存储有计算机指令,所述计算机指令用于使计算机执行根据权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210519345.2A CN114898180A (zh) | 2022-05-12 | 2022-05-12 | 多任务神经网络的训练方法、多任务处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210519345.2A CN114898180A (zh) | 2022-05-12 | 2022-05-12 | 多任务神经网络的训练方法、多任务处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114898180A true CN114898180A (zh) | 2022-08-12 |
Family
ID=82722192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210519345.2A Pending CN114898180A (zh) | 2022-05-12 | 2022-05-12 | 多任务神经网络的训练方法、多任务处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114898180A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347839A (zh) * | 2019-07-18 | 2019-10-18 | 湖南数定智能科技有限公司 | 一种基于生成式多任务学习模型的文本分类方法 |
CN111222522A (zh) * | 2018-11-23 | 2020-06-02 | 北京市商汤科技开发有限公司 | 神经网络训练、路面检测、智能驾驶控制方法和装置 |
CN111353541A (zh) * | 2020-03-03 | 2020-06-30 | 浙江新再灵科技股份有限公司 | 一种多任务模型的训练方法 |
CN111862067A (zh) * | 2020-07-28 | 2020-10-30 | 中山佳维电子有限公司 | 一种焊接缺陷检测方法、装置、电子设备以及存储介质 |
CN111931929A (zh) * | 2020-07-29 | 2020-11-13 | 深圳地平线机器人科技有限公司 | 一种多任务模型的训练方法、装置及存储介质 |
CN112507943A (zh) * | 2020-12-18 | 2021-03-16 | 华南理工大学 | 基于多任务神经网络的视觉定位导航方法、系统及介质 |
-
2022
- 2022-05-12 CN CN202210519345.2A patent/CN114898180A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111222522A (zh) * | 2018-11-23 | 2020-06-02 | 北京市商汤科技开发有限公司 | 神经网络训练、路面检测、智能驾驶控制方法和装置 |
CN110347839A (zh) * | 2019-07-18 | 2019-10-18 | 湖南数定智能科技有限公司 | 一种基于生成式多任务学习模型的文本分类方法 |
CN111353541A (zh) * | 2020-03-03 | 2020-06-30 | 浙江新再灵科技股份有限公司 | 一种多任务模型的训练方法 |
CN111862067A (zh) * | 2020-07-28 | 2020-10-30 | 中山佳维电子有限公司 | 一种焊接缺陷检测方法、装置、电子设备以及存储介质 |
CN111931929A (zh) * | 2020-07-29 | 2020-11-13 | 深圳地平线机器人科技有限公司 | 一种多任务模型的训练方法、装置及存储介质 |
CN112507943A (zh) * | 2020-12-18 | 2021-03-16 | 华南理工大学 | 基于多任务神经网络的视觉定位导航方法、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109800732B (zh) | 用于生成漫画头像生成模型的方法和装置 | |
CN112132847A (zh) | 模型训练方法、图像分割方法、装置、电子设备和介质 | |
US11416743B2 (en) | Swarm fair deep reinforcement learning | |
CN113379627A (zh) | 图像增强模型的训练方法和对图像进行增强的方法 | |
CN109377508B (zh) | 图像处理方法和装置 | |
CN111784566A (zh) | 图像处理方法、迁移模型训练方法、装置、介质及设备 | |
CN111368973B (zh) | 用于训练超网络的方法和装置 | |
CN110570383B (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN110046571B (zh) | 用于识别年龄的方法和装置 | |
CN114511576B (zh) | 尺度自适应特征增强深度神经网络的图像分割方法与系统 | |
CN117576264B (zh) | 图像生成方法、装置、设备及介质 | |
CN111539903A (zh) | 训练人脸图像合成模型的方法和装置 | |
CN112633234A (zh) | 人脸去眼镜模型训练、应用方法及其装置、设备和介质 | |
CN109871942B (zh) | 神经网络的训练方法和装置、系统、存储介质 | |
CN113011210B (zh) | 视频处理方法和装置 | |
CN110489955B (zh) | 应用于电子设备的图像处理、装置、计算设备、介质 | |
CN115114329A (zh) | 数据流异常检测的方法、装置、电子设备和存储介质 | |
CN114420135A (zh) | 基于注意力机制的声纹识别方法及装置 | |
CN109992679A (zh) | 一种多媒体数据的分类方法及装置 | |
CN116030077B (zh) | 基于多数据集协作学习的视频显著性区域检测方法 | |
CN116363457B (zh) | 任务处理、图像分类、任务处理模型的数据处理方法 | |
CN112183946A (zh) | 多媒体内容评估方法、装置及其训练方法 | |
CN112241761A (zh) | 模型训练方法、装置和电子设备 | |
CN114898180A (zh) | 多任务神经网络的训练方法、多任务处理方法及装置 | |
CN115495656A (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 |