CN114821538A - 一种多任务模型的训练方法及装置 - Google Patents
一种多任务模型的训练方法及装置 Download PDFInfo
- Publication number
- CN114821538A CN114821538A CN202210563203.6A CN202210563203A CN114821538A CN 114821538 A CN114821538 A CN 114821538A CN 202210563203 A CN202210563203 A CN 202210563203A CN 114821538 A CN114821538 A CN 114821538A
- Authority
- CN
- China
- Prior art keywords
- model
- layer
- parameters
- subtask
- sharing
- 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
- 238000012549 training Methods 0.000 title claims abstract description 278
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000002159 abnormal effect Effects 0.000 claims abstract description 125
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 230000004927 fusion Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 12
- 238000001514 detection method Methods 0.000 description 48
- 238000012545 processing Methods 0.000 description 46
- 238000012360 testing method Methods 0.000 description 24
- 238000004364 calculation method Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008447 perception Effects 0.000 description 4
- 241000283070 Equus zebra Species 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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
-
- 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/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/95—Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Image Analysis (AREA)
Abstract
公开了一种多任务模型的训练方法及装置,用于对初始多任务模型进行训练,初始多任务模型可以包括至少一个第一异常子任务层,本公开提供的方法可以利用训练数据集对预先建立的至少一个第一单任务模型进行训练,得到各第一单任务模型分别对应的第一模型参数,其中,第一单任务模型包括一个第二异常子任务层,第二异常子任务层基于第一异常子任务层获得,并基于第一模型参数更新初始多任务模型,得到训练后的多任务模型,以实现对初始多任务模型的训练,解决了现有技术中对多任务模型进行训练时,若训练过程中出现异常,需重新利用训练数据对多任务模型进行训练的情况发生,减少迭代耗时,提升训练效率。
Description
技术领域
本公开涉及智能驾驶技术领域,尤其涉及一种多任务模型的训练方法及装置。
背景技术
随着人工智能领域的技术突破,高级驾驶辅助系统和无人驾驶技术有了飞速发展,感知算法作为高级驾驶辅助系统和无人驾驶技术的重要部分,是车辆实现安全驾驶的先决条件。车辆可通过如车载摄像头等车载传感器获取车辆当前环境信息,之后车载处理系统通过感知算法对环境信息进行处理提炼,供车辆控制系统做出相应决策。
现有的感知算法大多依赖于多任务模型实现计算,但是,多任务模型在训练过程中,一但某个模型参数发生改变,就需要重新对该多任务模型进行训练,会导致迭代耗时长、训练速度慢的情况发生,影响训练效率。
发明内容
本公开的实施例提供了一种多任务模型的训练方法及装置,以解决现有技术中对多任务模型的训练由于迭代耗时长、训练速度慢,影响训练效率的问题。具体地,本公开实施例提供如下技术方案:
根据本公开的第一个方面,提供了一种多任务模型的训练方法,包括:
获取训练数据集;
利用所述训练数据集对预先建立的至少一个第一单任务模型进行训练,得到各所述第一单任务模型分别对应的第一模型参数,其中,各所述第一单任务模型均包括一个第二异常子任务层,各所述第二异常子任务层分别基于各所述第一异常子任务层获得;
基于所述第一模型参数更新所述初始多任务模型,得到训练后的多任务模型。
根据本公开的第二个方面,提供了一种多任务模型的训练装置,用于训练初始多任务模型,所述初始多任务模型包括至少一个第一异常子任务层,所述装置包括:
训练数据获取模块:用于获取训练数据集;
训练模块,利用根据所述训练数据获取模块获取的所述训练数据集对预先建立的至少一个第一单任务模型进行训练,得到各所述第一单任务模型分别对应的第一模型参数,其中,各所述第一单任务模型均包括一个第二异常子任务层,各所述第二异常子任务层分别基于各所述第一异常子任务层获得;
参数更新模块,用于根据所述训练模块获取的所述第一模型参数更新所述初始多任务模型,得到训练后的多任务模型。
根据本公开的第三方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述的多任务模型的训练方法。
根据本公开的第四方面,提供了一种电子设备,所述电子设备包括
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述的多任务模型的训练方法。
本公开的多任务模型的训练方法,用于对初始多任务模型进行训练,初始多任务模型可以包括至少一个第一异常子任务层,本公开提供的方法可以利用训练数据集对预先建立的至少一个第一单任务模型进行训练,得到各第一单任务模型分别对应的第一模型参数,其中,第一单任务模型包括一个第二异常子任务层,第二异常子任务层基于第一异常子任务层获得,并基于第一模型参数更新初始多任务模型,得到训练后的多任务模型,以实现对初始多任务模型的训练,解决了现有技术中对多任务模型进行训练时,若训练过程中出现异常,需重新利用训练数据对多任务模型进行训练的情况发生,减少迭代耗时,提升训练效率。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开一示例性实施例提供的初始多任务模型的结构示意图。
图2是本公开一示例性实施例提供的多任务模型训练系统的结构示意图。
图3是本公开一示例性实施例提供的多任务模型的训练方法的流程示意图。
图4是本公开一示例性实施例提供的更新初始多任务模型的流程示意图。
图5是本公开一示例性实施例提供的训练单任务模型的流程示意图。
图6是本公开一示例性实施例提供的得到目标参数的流程示意图。
图7是本公开一示例性实施例提供的得到目标共享层参数的流程示意图。
图8是本公开一示例性实施例提供的更新初始多任务模型的流程示意图。
图9是本公开一示例性实施例提供的多任务模型的训练方法的流程示意图。
图10是本公开一示例性实施例提供的多任务模型的训练方法的流程示意图。
图11是本公开一示例性实施例提供的多任务模型训练装置的结构示意图。
图12是本公开一示例性实施例提供的参数更新模块的结构示意图。
图13是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
申请概述
在辅助驾驶或自动驾驶等应用场景下,需要车辆能够感知周边的环境,为了满足这一需求,需要采集包括车辆周边环境的视频,并利用感知算法对视频中各视频帧对应的特征数据进行逐帧计算,以获取各视频帧中包含的环境信息(如红绿灯信息、车道线信息、障碍物位置信息等)。现有的感知算法大多依赖于多任务模型实现计算,若将视频帧中包含的各环境信息视为多个子任务,多任务模型可以同时处理这些子任务,与利用多个单任务模型分别处理这些子任务相比,多任务模型无疑减少了计算量和资源占用率。
上述多任务模型可以利用训练数据集对初始多任务模型进行训练得到,其中,训练数据集可以包括标注有各环境信息对应的特征标签的训练数据。在利用训练数据集对初始多任务模型进行训练时,需要将训练数据集中的各训练数据作为初始多任务模型的输入,将各训练数据对应的特征标签作为初始多任务模型的期望输出,计算损失函数,以根据损失函数更新多任务模型的模型参数。
但是,采用上述方式对初始多任务模型进行训练时,若训练过程中出现异常,例如,因对初始多任务模型的学习率设置异常而导致的训练结果始终无法达到预设的收敛条件,则需要调整多任务模型的学习率,并利用训练数据重新训练初始多任务模型,直至达到收敛条件,才能结束训练,得到用于同时处理各子任务的多任务模型,这就导致迭代耗时长、训练速度慢的情况发生,影响训练效率。
示例性系统
图1是本公开一示例性实施例提供的初始多任务模型的结构示意图。如图1所示,包括用于获取待处理数据的输入模块110、用于计算待处理数据的计算模块120和用于输出计算模块120的计算结果的输出模块130。其中,待处理数据可以是训练数据或者待执行任务的任务数据,对初始多任务模型进行训练时,输入模块110用于获取训练样本,当使用初始多任务模型进行预测时输入模块110用于获取待执行任务的任务数据。本公开不限制输入至输入模块110的待处理数据的格式,可以根据初始多任务模型的应用领域或任务类型等灵活选择。例如,对于图像识别任务,待处理数据可以为图像数据,对于自然语言理解任务,待处理数据可以为文本数据。
计算模块120包括第一计算单元121和第二计算单元122,具体的,第一计算单元121可以是用于分别处理各多任务特有特征的多分支型结构的神经网络,第二计算单元122可以是用于处理各多任务共有特征的单分支型结构的神经网络。利用训练数据对初始多任务模型进行训练,得到可以高效且精确的处理各子任务的多任务模型。
输出模块130可以对计算模块120输出的计算结果进行编码转换,以将输入至输出模块130的计算结果由不可读的数字数据转换为可读的音频/视频/文本数据。
图2是本公开一示例性实施例提供的多任务模型训练系统的结构示意图。如图2所示,该系统包括数据存储设备210、模型训练平台220和参数存储设备230。其中,数据存储设备210可以是数据存储服务器,数据存储服务器可以用于存储训练数据集,数据存储服务器的存储容量远大于模型训练平台220中计算服务器的存储容量。训练数据集可以是包括语言数据、图像数据以及视频数据等训练数据的数据集,训练数据集可以由多个子训练数据集组成,且每个子训练数据集包括多个同种类型的训练数据和/或各训练数据对应的真值(特征标签)。
模型训练平台220包括用于迭代计算的计算服务器,也可以称为节点,具体可以为普通的计算机、移动终端、工作站或通用服务器、专用服务器等,以及用于负责计算服务器间进行数据通信的交换机。计算服务器有本地的存储,其容量小于数据存储服务器。在对模型进行训练时,每个计算服务器通过采样的方式从数据存储服务器中读取一定的训练数据到本地的存储设备中,以根据读取的训练数据对初始多任务模型进行训练,具体的,模型训练平台220用于获取初始多任务模型可以处理的各子任务的任务类别,并基于各子任务的任务类别匹配对应的单任务模型,例如,在辅助驾驶或自动驾驶等应用场景下,各子任务的任务类别可以包括信号灯识别任务、障碍物识别任务以及车道线识别任务等,各子任务的任务类别对应的单任务模型可以分别是用于处理信号灯识别任务的单任务模型、用于处理障碍物识别任务的单任务模型以及用于处理车道线识别任务的单任务模型。模型训练平台220还可以利用训练数据对各单任务模型分别进行训练,获取训练后的各单任务模型对应的模型参数,并根据预设数值关系对各模型参数进行整理,得到目标参数。
参数存储设备230用于存储训练得到的目标参数,当模型训练平台220训练完成时,可以将最终得到的目标参数输入至参数存储设备230,使参数存储设备230进行存储,以便根据目标参数更新初始多任务模型的计算模块120对应的模型参数,实现对初始多任务模型的训练。
示例性方法
图3是本公开一示例性实施例提供的多任务模型的训练方法的流程示意图。本实施例可应用在电子设备上,如图3所示,本方法包括如下步骤:
S301:获取训练数据集。
训练数据集可以包括分别对应初始多任务模型可处理的多任务中各子任务对应的多个训练数据和各训练数据对应的真值。其中,训练数据可以是通过对预先采集的各样本图像进行编码转换得到的各样本图像对应的图像特征,训练数据也可以是预先采集的各样本图像。
在辅助驾驶或自动驾驶等应用场景下,初始多任务模型可以同时处理6种任务类别对应的子任务,分别为信号灯识别任务、行人检测任务、障碍物检测任务、车道线检测任务、车距检测任务以及标志牌识别任务,为了保证对初始多任务模型的训练精度,使训练后的多任务模型可以高效且精确的并行处理上述6种子任务,需从训练数据集中分别获取对应上述6种子任务的训练数据和各训练数据对应的真值,其中,采集的对应于各子任务的训练数据的数量可以不同。
各训练数据分别对应至少一种真值,例如,对应于信号灯识别任务的训练数据对应的真值可以是信号灯的亮灯情况(红灯亮、黄灯亮、绿灯亮、红灯黄灯同时亮或者绿灯黄灯同时亮),每一种情况均为一个真值,因此,对应信号灯识别任务的训练数据对应的真值的种类可以为6个。对应于车道线检测任务的训练数据对应的真值可以是训练数据中车道线的种类、车道线距离驾驶车辆的距离等。对应于障碍物检测任务的训练数据对应的真值可以是训练数据中障碍物的种类、障碍物距离驾驶车辆的距离、障碍物的面积值等,本公开对各训练数据对应的真值种类及数量不做具体限制。
S302:利用训练数据集对预先建立的至少一个第一单任务模型进行训练,得到各第一单任务模型分别对应的第一模型参数。
为了提升初始多任务模型的任务处理精度和效率,需要迭代初始多任务模型,以更新初始多任务模型的参数,得到训练后的多任务模型。其中,初始多任务模型包括至少一个第一异常子任务层,各第一异常子任务层用于分别学习或处理多任务中的一个子任务,例如,当对初始多任务模型进行训练时,各第一异常子任务层用于分别学习不同任务类别的子任务,当使用初始多任务模型进行预测时,各第一异常子任务层用于分别处理不同任务类别的子任务。
在一些实施例中,可以利用初始多任务模型处理预先采集的测试图像,并基于初始多任务模型的处理结果确定第一异常子任务层。例如,测试图像中包括红绿灯图像特征(红灯亮)、行人图像特征(存在行人)、障碍物图像特征(存在障碍物)、车道线图像特征(存在斑马线)、车距图像特征(前方5米有车辆)以及标志牌图像特征(禁止左转)等,利用初始多任务模型处理预先采集的测试图像,可以得到初始多任务模型预测的各图像特征对应的预测特征,各预测特征可以包括红绿灯预测特征(红灯亮)、行人预测特征(不存在行人)、障碍物预测特征(不存在障碍物)、车道线预测特征(存在斑马线)、车距预测特征(前方2米有车辆)以及标志牌预测特征(禁止左转)等,由此可见,根据初始多任务模型得到的行人预测特征、障碍物预测特征以及车距预测特征与测试图像对应的行人图像特征、障碍物图像特征以及车距图像特征有差异,因此可以确定初始多任务模型中存在3个第一异常子任务层,分别为用于处理行人检测任务、障碍物检测任务以及车距检测任务的网络层。
根据各第一异常子任务层可以学习或处理的子任务的任务类别,可以预先建立与第一异常子任务层数量相等的第一单任务模型,各第一单任务模型分别用于学习或处理一种第一异常子任务层可以学习或处理的子任务。例如,基于前述可以存在3个第一异常子任务层的初始多任务模型,预先建立的各第一单任务模型可以分别为:用于处理行人检测任务的第一单任务模型、用于处理障碍物检测任务的第一单任务模型以及用于处理车距检测任务的第一单任务模型。
在一些实施例中,各第一单任务模型均包括一个第二异常子任务层,各第二异常子任务层分别基于各第一异常子任务层获得,其中,各第二异常子任务层与各第一异常子任务层的网络结构均相同,因此,各第二异常子任务层对应的模型参数的维度与各第一异常子任务层对应的模型参数的维度相同,例如,其中一个第二异常子任务层对应的模型参数为其中一个第一异常子任务层对应的模型参数为则该第二异常子任务层对应的模型参数的维度与该第一异常子任务层对应的模型参数的维度均为2×2。
需要说明的是,上述第二异常子任务层对应的模型参数和第一异常子任务层对应的模型参数仅为示例性的说明二者之间的维度关系的举例,第二异常子任务层对应的模型参数的维度和第一异常子任务层对应的模型参数的维度可以是任意数值组合的形式(例如,n×m×r,其中,n、m和r均为正整数),只要满足第二异常子任务层对应的模型参数的维度和第一异常子任务层对应的模型参数的维度相等即可。
此外,尽管各第二异常子任务层与各第一异常子任务层的网络结构均相同,各第二异常子任务层对应的模型参数的维度与各第一异常子任务层对应的模型参数的维度也相同,但各第二异常子任务层对应的模型参数与各第一异常子任务层对应的模型参数可以不相等。
在一些实施例中,第一单任务模型还包括编码转换层,利用训练数据集对第一单任务模型进行训练时,编码转换层会识别训练数据集中的训练数据是否为编码数据,编码数据用于表征各样本图像对应的图像特征,编码数据可以被第一单任务模型中包括的各网络层(例如,第二异常子任务层)识别,若编码转换层识别到训练数据是编码数据,则训练数据可以直接参与对第一单任务模型的训练,若编码转换层识别到训练数据不是编码数据,例如,训练数据是预先采集的各样本图像,则编码转换层可以将训练数据转换为编码数据,经过编码转换的训练数据可以参与对第一单任务模型的训练。
利用训练数据集对第一单任务模型进行训练时,可以分别利用训练数据集中对应各子任务的训练数据和各训练数据对应的真值对各第一单任务模型进行训练(如利用对应于障碍物识别任务的训练数据和训练数据对应的真值对用于处理障碍物识别任务的第一单任务模型进行训练等,本公开不再一一赘述)。当达到预设训练条件时,停止训练,得到各第一单任务模型分别对应的第一模型参数。
S303:基于第一模型参数更新初始多任务模型,得到训练后的多任务模型。
对各第一单任务模型每进行一次训练,均会得到对应的第一模型参数,可以基于第一模型参数对初始多任务模型的模型参数进行更新,以迭代初始多任务模型。
其中,对初始多任务模型的模型参数进行迭代的次数与对各第一单任务模型进行训练的次数相同,当对各第一单任务模型的训练达到预设训练条件时,停止训练,并最后一次基于得到的第一模型参数对多任务模型的模型参数进行更新,得到训练好的多任务模型。
本公开的多任务模型的训练方法,用于对初始多任务模型进行训练,初始多任务模型可以包括至少一个第一异常子任务层,本公开提供的方法可以利用训练数据集对预先建立的至少一个第一单任务模型进行训练,得到各第一单任务模型分别对应的第一模型参数,其中,第一单任务模型包括一个第二异常子任务层,第二异常子任务层基于第一异常子任务层获得,并基于第一模型参数更新初始多任务模型,得到训练后的多任务模型,以实现对初始多任务模型的训练,解决了现有技术中对多任务模型进行训练时,若训练过程中出现异常,需重新利用训练数据对多任务模型进行训练的情况发生,减少迭代耗时,提升训练效率。
图4是本公开一示例性实施例提供的基于第一模型参数更新初始多任务模型的流程示意图。
如图4所示,在上述图3所示的实施例的基础上,本公开一示例性实施例中,步骤S303所示基于第一模型参数更新初始多任务模型步骤具体可以包括如下步骤:
S401:获取至少一个预先建立的第二单任务模型对应的第二模型参数。
利用初始多任务模型处理预先采集的测试图像,并基于初始多任务模型的处理结果确定第一异常子任务层的同时,还可以确定第一子任务层,以确定第一异常子任务层的方式为例,由于初始多任务模型得到的行人预测特征、障碍物预测特征以及车距预测特征与测试图像对应的行人图像特征、障碍物图像特征以及车距图像特征有差异,因此可以确定初始多任务模型中存在3个第一异常子任务层,即分别为用于处理行人检测任务、障碍物检测任务以及车距检测任务的网络层,相应的,由于红绿灯预测特征、车道线预测特征以及标志牌预测特征与测试图像对应的红绿灯图像特征、车道线图像特征以及标志牌图像特征一致(或存在的差异小于阈值),因此可以确定初始多任务模型中存在3个第一子任务层,即分别为用于处理红绿灯检测任务、车道线检测任务以及标志牌检测任务的网络层。
根据各第一子任务层可以学习或处理的子任务的任务类别,可以预先建立与第一子任务层数量相等的第二单任务模型,各第二单任务模型分别用于学习或处理一种第一子任务层可以学习或处理的子任务。例如,基于前述存在3个第一子任务层的初始多任务模型,预先建立的各第二单任务模型可以分别为:用于处理红绿灯检测任务的第二单任务模型、用于处理车道线检测任务的第二单任务模型以及用于处理标志牌检测任务的第二单任务模型。
在一些实施例中,各第二单任务模型均包括一个第二子任务层,各第二子任务层分别基于各所述第一子任务层获得。其中,各第二子任务层与各第一子任务层的网络结构均相同,因此,各第二子任务层对应的模型参数的维度与各第一子任务层对应的模型参数的维度相同,例如,其中一个第二子任务层对应的模型参数为其中一个第一子任务层对应的模型参数为则该第二子任务层对应的模型参数的维度与该第一子任务层对应的模型参数的维度均为2×2。
需要说明的是,上述第二子任务层对应的模型参数和第一子任务层对应的模型参数仅为示例性的说明二者之间的维度关系的举例,第二子任务层对应的模型参数的维度和第一子任务层对应的模型参数的维度可以是任意数值组合的形式(例如,n×m×r,其中,n、m和r均为正整数),只要满足第二子任务层对应的模型参数的维度和第一子任务层对应的模型参数的维度相等即可。
此外,尽管各第二子任务层与各第一子任务层的网络结构均相同,各第二子任务层对应的模型参数的维度与各第一子任务层对应的模型参数的维度也相同,但各第二子任务层对应的模型参数与各第一子任务层对应的模型参数可以不相等。
在一些实施例中,第二单任务模型也可以包括编码转换层,第二单任务模型的编码转换层的结构和用途可参照上述对第一单任务模型的编码转换层的阐述,在此不作赘述。
S402:基于各第一模型参数和各第二模型参数,得到目标参数。
其中,第一模型参数是指由多个约束参数组成的描述第一单任务模型的参数,第二模型参数是指由多个约束参数组成的描述第二单任务模型的参数,基于各第一模型参数和各第二模型参数与预设数值关系进行融合,可以确定目标参数。
S403:基于目标参数更新初始多任务模型。
利用目标参数更新初始多任务模型中的各网络层,以间接实现对初始多任务模型的训练,得到训练好的多任务模型,训练好的多任务模型可以高效且精确的对多任务实现并行处理。
如图5所示,在上述图4所示的实施例的基础上,本公开一示例性实施例中,步骤S302所示利用训练数据集对预先建立的至少一个第一单任务模型进行训练步骤具体可以包括如下步骤:
S501:基于初始多任务模型包括的第一共享层,确定各第一单任务模型包括的第二异常共享层。
其中,初始多任务模型包括一个第一共享层,第一共享层用于根据多任务中各子任务对应的训练数据同时对各子任务进行学习或处理,用于训练第一共享层的训练数据是在训练数据集中重复出现的训练数据,以子任务是障碍物检测任务和行人检测任务为例,训练数据集中可以包括对应于障碍物检测任务的子训练数据集和对应于行人检测任务的子训练数据集,对应于障碍物检测任务的子训练数据集中可以出现关于行人A的位置信息的训练数据,而对应于行人检测任务的子训练数据集中也可以出现关于行人A的位置信息的训练数据,则行人A的位置信息的训练数据即为训练数据集中重复出现的训练数据,又例如,对应于障碍物检测任务的子训练数据集中可以出现关于行人A的占地面积的训练数据,而对应于行人检测任务的子训练数据集中也可以出现关于行人A的占地面积的训练数据,则关于行人A的占地面积的训练数据即为训练数据集中重复出现的训练数据等。
各第一单任务模型分别包括一个第二异常共享层,各第二异常共享层均基于第一共享层获得,其中,各第二异常共享层与第一共享层的网络结构均相同,因此,各第二异常共享层对应的模型参数的维度与第一共享层对应的模型参数的维度相同,例如,其中一个第二异常共享层对应的模型参数为第一共享层对应的模型参数为则该第二异常共享层对应的模型参数的维度与该第一共享层对应的模型参数的维度均为2×2。
需要说明的是,上述第二异常共享层对应的模型参数和第一共享层对应的模型参数仅为示例性的说明二者之间的维度关系的举例,第二异常共享层对应的模型参数的维度和第一共享层对应的模型参数的维度可以是任意数值组合的形式(例如,n×m×r,其中,n、m和r均为正整数),只要满足第二异常共享层对应的模型参数的维度和第一共享层对应的模型参数的维度相等即可。
此外,尽管各第二异常共享层与第一共享层的网络结构相同,各第二异常共享层对应的模型参数的维度与各第一共享层对应的模型参数的维度也相同,但各第二异常共享层对应的模型参数与各第一共享层对应的模型参数可以不相等。
各第二异常共享层用于分别根据多任务中各子任务对应的训练数据对各子任务进行学习或处理,例如,训练数据集包括关于行人A的位置信息的训练数据和关于行人A的占地面积的训练数据,利用训练数据集对用于处理障碍物检测任务的第一单任务模型和用于处理行人检测任务的第一单任务模型进行训练时,关于行人A的位置信息的训练数据和关于行人A的占地面积的训练数据均用于训练用于处理障碍物检测任务的第一单任务模型的第二异常共享层和用于处理行人检测任务的第一单任务模型的第二异常共享层,但是,训练后得到的用于处理障碍物检测任务的第一单任务模型的第二异常共享层和用于处理行人检测任务的第一单任务模型的第二异常共享层分别对应的模型参数可以不相等。
在一些实施例中,各第一单任务模型分别对应有各自的第一模型参数,第一模型参数包括第一子任务层参数和第一共享层参数,其中,可以将上述第二异常子任务层对应的模型参数确定为第一子任务层参数,将上述第二异常共享层对应的模型参数确定为第一共享层参数。
S502:利用训练数据集对各第一单任务模型进行训练,得到各第二异常子任务层分别对应的第一子任务层参数,以及得到各第二异常共享层分别对应的第一共享层参数。
在一些实施例中,利用训练数据集对各第一单任务模型进行训练之前,可以基于各第一单任务模型对应的任务类别,对训练数据集中的各训练数据进行分类并添加对应的类别标签,基于各类别标签,生成多个子训练数据集,各子训练数据集中均包括添加同一类别标签的训练数据,根据各子训练数据集中的训练数据的类别标签,对各子训练数据集添加对应的类别标签,添加类别标签的各子训练数据集用于训练对应任务类别的第一单任务模型。
利用添加有类别标签的各子训练数据集可以对各第一单任务模型进行训练,得到各第一单任务模型中第二异常子任务层对应的第一子任务层参数和第二异常共享层对应的第一共享层参数。其中,在对第一单任务模型进行训练时,第一单任务模型会依次基于输入的子训练数据集中的训练数据生成对应的预测值,并基于特定的损失函数计算预测值与该训练数据的真值之间的损失值,以根据损失值更新第一单任务模型对应的第一子任务层参数和第一共享层参数,直至达到预设的训练条件,得到训练后的各第一单任务模型,以及,得到各第一单任务模分别对应的第一子任务层参数和第一共享层参数,其中,特定损失函数可以是绝对值损失函数、平方损失函数、交并比损失函数等,本公开不做限制。
在一些实施例中,各任务类别间存在关联关系和非关联关系,基于各任务类别间的关联关系,对各子训练数据集中的训练数据进行分类,可以得到关联数据集和非关联数据集。
其中,存在关联关系任务类别对应的各子训练数据集中存在至少一个完全相同的训练数据,存在非关联关系任务类别对应的子训练数据集中的训练数据均不相同,可以将各子训练数据集中重复出现的训练数据确定为关联数据,将各子训练数据集中仅出现一次的训练数据确定为非关联数据。
示例性的,行人检测任务对应的子训练数据集中可以有关于行人A位置信息和行人B位置信息的训练数据,而障碍物检测任务对应的子训练数据集中可以有关于行人A位置信息和车辆A位置信息的训练数据,则行人检测任务和障碍物检测任务存在关联关系,关于行人A位置信息的训练数据即为行人检测任务和障碍物检测任务对应的关联数据,而关于行人B位置信息的训练数据和车辆A位置信息的训练数据即为行人检测任务和障碍物检测任务对应的非关联数据;又例如,车道线检测任务对应的子训练数据集中可以有关于车辆两侧车道线信息和车辆前后方车道线信息的训练数据,车距检测任务对应的子训练数据集中可以有关于车辆两侧车道线信息和与其他车辆间距的训练数据,则车道线检测任务和车距检测任务存在关联关系,关于车辆两侧车道线信息的训练数据即为车道线检测任务和车距检测任务对应的关联数据,而关于车辆前后方车道线信息的训练数据和与其他车辆间距的训练数据即为车道线检测任务和车距检测任务对应的非关联数据。
基于关联数据集,可以对各第二异常共享层进行训练,得到第一共享层参数。基于非关联数据集,可以对各第二异常子任务层进行训练,得到第一子任务层参数。
其中,在基于各关联数据集对各第一单任务模型的第二异常共享层进行训练时,第二异常共享层会依次基于关联数据集中的训练数据生成对应的预测值,并基于特定的损失函数计算预测值与该训练数据的真值之间的损失值,以根据该损失值更新第一单任务模型对应的第一共享层参数,直至达到预设的训练条件,得到训练后的各第一单任务模型,以及,得到各第一单任务模分别对应的第一共享层参数。
类似的,在基于各非关联数据集对各第一单任务模型的第二异常子任务层进行训练时,第二异常子任务层会依次基于非关联数据集中的训练数据生成对应的预测值,并基于特定的损失函数计算预测值与该训练数据的真值之间的损失值,以根据该损失值更新第一单任务模型对应的第一子任务层参数,直至达到预设的训练条件,得到训练后的各第一单任务模型,以及,得到各第一单任务模分别对应的第一子任务层参数。
如图6所示,在上述图5所示的实施例的基础上,本公开一示例性实施例中,目标参数包括目标子任务层参数和目标共享层参数,步骤S402所示基于各第一模型参数和各第二模型参数,得到目标参数步骤具体可以包括如下步骤:
S601:基于第一共享层,确定各第二单任务模型对应的第二共享层。
其中,各第二共享层与第一共享层的网络结构均相同,因此,各第二共享层对应的模型参数的维度与第一共享层对应的模型参数的维度相同,各第二共享层与第一共享层之间的关系可参照上述第二异常共享层与第一共享层之间的关系的阐述,在此不作赘述。
在一些实施例中,各第二单任务模型分别对应有各自的第二模型参数,第二模型参数包括第二子任务层参数和第二共享层参数,其中,可以将上述第二子任务层对应的模型参数确定为第二子任务层参数,将上述第二共享层对应的模型参数确定为第二共享层参数。
S602:基于各第一共享层参数和各第二共享层参数的融合,得到目标共享层参数。
示例性的,第一单任务模型的数量为3个,各第一单任务模型的第一共享层参数可以分别为N1、N2、N3,第二单任务模型的数量为3个,各第二单任务模型的第二共享层参数可以分别为N4、N5、N6,基于N1、N2、N3、N4、N5、N6与预设数值关系进行融合,可以得到目标共享层参数。
S603:基于各第一子任务层参数的集合,得到目标子任务层参数。
示例性的,若第一单任务模型的数量为3个,各第一单任务模型的第一子任务层参数分别为M1、M2、M3,基于各第一子任务层参数的集合,可以得到目标子任务层参数为{M1、M2、M3}。
如图7所示,在上述图6所示的实施例的基础上,本公开一示例性实施例中,步骤S602所示基于各第一共享层参数和各第二共享层参数的融合,得到目标共享层参数步骤具体可以包括如下步骤:
S701:响应于各第一共享层参数和各第二共享层参数均相同,将各第一共享层参数和各第二共享层参数中的任意一个确定为目标共享层参数。
示例性的,若各第一共享层参数和各第二共享层参数均相同,即N1=N2=N3=N4=N5=N6,可以抽取任意一个共享层参数,例如,抽取N5,并将N5确定为目标共享层参数。
S702:响应于各第一共享层参数和各第二共享层参数存在不相同情况,将各第一共享层参数和各第二共享层参数的平均值确定为目标共享层参数。
S703:响应于各第一共享层参数和各第二共享层参数存在不相同情况,将各第一共享层参数和各第二共享层参数的中值确定为目标共享层参数。
在一些实施例中,若各第一共享层参数和各第二共享层参数存在不相同情况,则按照各第一共享层参数和各第二共享层参数由小至大的顺序进行排序,生成共享层参数集,并检测共享层参数集中的项数是否为偶数,若为偶数,则将共享层参数集中的中间的两项的平均值确定为目标共享层参数,例如,共享层参数集为{N4、N2、N6、N1、N5、N3},其中,N4>N2>N6>N1>N5>N3,由于共享层参数集中的项数为6,是偶数,则获取共享层参数集中的中间的两项N6和N1,并将N6和N1的平均值确定为目标共享层参数;若共享层参数集中的项数为奇数,则获取共享层参数集中的中位数,并将共享层参数集中的中位数确定为目标共享层参数,例如,共享层参数集为{N4、N2、N6、N1、N5、N3、N7},其中,N4>N2>N6>N1>N5>N3>N7,由于共享层参数集中的项数为7,是奇数,则获取共享层参数集中的中位数N1,并将中位数N1确定为目标共享层参数。
如图8所示,在上述图7所示的实施例的基础上,本公开一示例性实施例中,步骤S403所示基于目标参数更新初始多任务模型步骤具体可以包括如下步骤:
S801:基于目标子任务层参数,更新各第一异常子任务层。
为了节约训练时间,提高训练效率,可以基于目标子任务层参数仅更新初始多任务模型中的各第一异常子任务层,示例性的,目标子任务层参数可以为{M1、M2、M3},初始多任务模型中包括3个第一异常子任务层,则可以基于M1、M2、M3分别更新这3个第一异常子任务层,更新后,在第一异常子任务层可以基于输入的数据进行正常的学习和处理的情况下,第一异常子任务层更新后将变为第一子任务层。
S802:响应于第一共享层存在异常的情况,基于目标共享层参数,更新第一共享层。
本公开的多任务模型的训练方法,可以预先通过测试图像测试初始多任务模型,确认多任务模型中存在异常情况的网络层,即第一异常子任务层和第一共享层,并通过对预先设置的与各第一异常子任务层处理的任务类别相同的第一单任务模型进行训练,得到第一单任务模型对应的第一模型参数(第一子任务层参数和第一共享层参数),同时,获取多任务模型中不存在异常情况的网络层,即第一子任务层,并获取预先设置的与各第一子任务层处理的任务类别相同的第二单任务模型对应的第二模型参数(第二子任务层参数和第二共享层参数),利用各第一子任务层参数,更新各第一异常子任务层,以及,基于第一共享层参数和第二共享层参数融合得到的目标共享层参数,更新存在异常情况的第一共享层,得到训练后的多任务模型。采用这种仅更新初始多任务模型中存在异常情况的网络层的方法,可以缩短训练时间,此外,在对某个第一单任务模型进行训练的过程中出现异常的训练情况,仅需对该出现异常的训练情况的第一单任务模型进行重新训练即可,无需对每一个第一单任务模型都重新训练,可以减少迭代耗时,提高训练效率。
在一些实施例中,若不预先利用测试图像测试初始多任务模型,本公开还提供一种多任务模型的训练方法,如图9所示,包括如下步骤:
S901:基于多任务中各子任务的任务类别,获取对应于各子任务的任务类别的单任务模型。
其中,获取的各单任务模型可以为第一单任务模型也可以是第二单任务模型,例如,获取的各单任务模型可以全部为第一单任务模型,或者获取的各单任务模型可以全部为第二单任务模型,或者获取的各单任务模型可以一部分为第一单任务模型,另一部分为第二单任务模型,本公开不做具体限制,也可以不预先通过测试获取各单任务模型的种类。
S902:利用训练数据集分别对各单任务模型进行训练,得到训练后的各单任务模型分别对应的模型参数。
在一些实施例中,无需预先测试各单任务模型的种类,可以利用训练数据集无差别的训练各单任务模型,即无差别的训练第一单任务模型和第二单任务模型,得到训练后各第一单任务模型对应的第一模型参数和各第二单任务模型对应的第二模型参数。
其中,第一模型参数可以包括第一单任务模型的第二异常共享层对应的第一共享层参数和第二异常子任务层对应的第一子任务层参数;第二模型参数可以包括第二单任务模型的第二共享层对应的第二共享层参数和第二子任务层对应的第二子任务层参数。
S903:基于各单任务模型分别对应的模型参数,得到目标参数。
在一些实施例中,目标参数包括目标共享层参数和目标子任务层参数,基于各第一子任务层参数和各第二子任务层参数的集合,可以得到目标子任务层参数;基于各第一共享层参数、各第二共享层参数与预设数值关系进行融合,可以得到目标共享层参数。
其中,当各第一共享层参数和各第二共享层参数均相同时,可以将各第一共享层参数和各第二共享层参数中的任意一个确定为目标共享层参数。
或者,当各第一共享层参数和各第二共享层参数存在不相同情况时,可以将各第一共享层参数和各第二共享层参数的平均值确定为目标共享层参数。
或者,当各第一共享层参数和各第二共享层参数存在不相同情况时,可以将各第一共享层参数和各第二共享层参数的中值确定为目标共享层参数。
S904:基于目标参数更新初始多任务模型。
基于步骤S903得到的目标共享层参数和目标子任务层参数更新初始多任务模型中的各网络层,可以间接实现对初始多任务模型的训练,训练后的多任务模型可以高效且精确的对多任务实现并行处理。
本实施例中提供的多任务模型的训练方法,基于初始多任务模型可以处理的多任务中各子任务的任务类别,获取对应于各子任务的任务类别的单任务模型,利用训练数据集无差别的对各单任务模型进行训练,得到各单任务模型分别对应的模型参数,并基于各单任务模型分别对应的模型参数,得到目标参数,以通过目标参数更新初始多任务模型,得到训练后的多任务模型,采用这种不预先利用测试图像测试初始多任务模型的方法,可以使训练过程更简单,节约训练步骤,此外,无差别的训练各单任务模型(第一单任务模型和第二单任务模型),可以提高训练精度。
在一些实施例中,若不预先利用测试图像测试初始多任务模型,本公开还提供一种多任务模型的训练方法,如图10所示,包括如下步骤
S101:基于多任务中各子任务的任务类别,获取对应于各子任务的任务类别的单任务模型。
其中,获取的各单任务模型可以为第一单任务模型也可以是第二单任务模型,例如,获取的各单任务模型可以全部为第一单任务模型,或者获取的各单任务模型可以全部为第二单任务模型,或者获取的各单任务模型可以一部分为第一单任务模型,另一部分为第二单任务模型,本公开不做具体限制。
S102:利用测试图像测试各单任务模型,得到第一单任务模型和第二单任务模型。
其中,利用各单任务模型分别处理测试图像,并基于各单任务模型的处理结果确定各单任务模型是否存在异常的网络层,将存在异常的网络层的单任务模型确定为第一单任务模型,将不存在异常情况的网络层的单任务模型确定为第二单任务模型。
S103:利用训练数据集训练各第一单任务模型,得到各第一单任务模型分别对应的第一模型参数,以及,获取各第二单任务模型分别对应的第二模型参数。
其中,第一单任务模型包括第二异常子任务层和第二异常共享层,第一模型参数包括第一子任务层参数和第一共享层参数,利用训练数据集训练各第一单任务模型,可以得到训练后的第一异常子任务层对应的第一子任务层参数,以及,可以得到训练后的第二异常共享层对应的第一共享层参数。
S104:基于各单任务模型分别对应的模型参数,得到目标参数。
在一些实施例中,目标参数包括目标共享层参数和目标子任务层参数,基于各第一子任务层参数和各第二子任务层参数的集合,可以得到目标子任务层参数;基于各第一共享层参数、各第二共享层参数与预设数值关系进行融合,可以得到目标共享层参数。
其中,当各第一共享层参数和各第二共享层参数均相同时,可以将各第一共享层参数和各第二共享层参数中的任意一个确定为目标共享层参数。
或者,当各第一共享层参数和各第二共享层参数存在不相同情况时,可以将各第一共享层参数和各第二共享层参数的平均值确定为目标共享层参数。
或者,当各第一共享层参数和各第二共享层参数存在不相同情况时,可以将各第一共享层参数和各第二共享层参数的中值确定为目标共享层参数。
S105:基于目标参数更新初始多任务模型。
基于步骤S104得到的目标共享层参数和目标子任务层参数更新初始多任务模型中的各网络层,可以间接实现对初始多任务模型的训练,得到训练好的多任务模型,训练好的多任务模型可以高效且精确的对多任务实现并行处理。
本实施例中提供的多任务模型的训练方法,基于多任务中各子任务的任务类别,获取对应于各子任务的任务类别的单任务模型,利用测试图像测试各单任务模型,得到第一单任务模型和第二单任务模型,利用训练数据集训练各第一单任务模型,得到各第一单任务模型分别对应的第一模型参数,以及,获取各第二单任务模型分别对应的第二模型参数,并基于各单任务模型分别对应的模型参数,得到目标参数,以根据目标参数更新初始多任务模型。采用这种不预先利用测试图像测试初始多任务模型,而是利用测试图像测试各单任务模型是否存在异常的方法,可以缩短对单任务模型进行训练的训练时间,减少训练量,提高训练效率。
示例性装置
参见图11,为本公开实施例提供的一种多任务模型训练装置的结构示意图,该装置用于实现前述方法实施例的全部或部分功能。具体地,多任务模型训练装置包括训练数据获取模块810、训练模块820以及参数更新模块830,此外,该装置还可以包括图像处理模块、接收模块以及发送模块等,本实施例对此不予限制。
具体地,本公开实施例中的训练数据获取模块810用于获取训练数据集;
本公开实施例中的训练模块820利用根据训练数据获取模块获取的训练数据集对预先建立的至少一个第一单任务模型进行训练,得到各第一单任务模型分别对应的第一模型参数。
其中,各第一单任务模型均包括一个第二异常子任务层,各第二异常子任务层分别基于各第一异常子任务层获得。
本公开实施例中的参数更新模块830用于根据训练模块获取的第一模型参数更新初始多任务模型,得到训练后的多任务模型。
可选的,在本实施例的另一种实现方式中,初始多任务模型还包括多个第一子任务层,参数更新模块830还包括参数获取单元910、参数分析单元920以及参数更新单元930,如图12所示。
本公开实施例中的参数获取单元910用于获取至少一个预先建立的第二单任务模型对应的第二模型参数。其中,各第二单任务模型均包括一个第二子任务层,各第二子任务层分别基于各第一子任务层获得。数分析单元920用于基于各第一模型参数和各第二模型参数,得到目标参数。参数更新单元930用于基于目标参数更新初始多任务模型。
可选的,在本实施例的另一种实现方式中,获取至少一个预先建立的第二单任务模型对应的第二模型参数,还包括:
利用训练数据集对预先建立的至少一个第二单任务模型进行训练,得到各第二单任务模型分别对应的第二模型参数。
可选的,在本实施例的另一种实现方式中,初始多任务模型还包括第一共享层,各第一单任务模型还包括第二异常共享层,各第二异常共享层基于第一共享层获得,第一模型参数包括第一子任务层参数和第一共享层参数;
利用训练数据集对预先建立的至少一个第一单任务模型进行训练,得到各第一单任务模型分别对应的第一模型参数包括:
利用训练数据集对各第一单任务模型进行训练,得到各第二异常子任务层分别对应的第一子任务层参数,以及得到各第二异常共享层分别对应的第一共享层参数。
可选的,在本实施例的另一种实现方式中,第二单任务模型还包括一个第二共享层,第二共享层基于第一共享层获得,第二模型参数包括第二子任务层参数和第二共享层参数,目标参数包括目标子任务层参数和目标共享层参数;获取至少一个第二单任务模型分别对应的第二模型参数包括:
获取各第二共享层分别对应的第二共享层参数;基于各所述第一模型参数和各第二模型参数,得到目标参数包括:基于各第一共享层参数和各第二共享层参数的融合,得到目标共享层参数;基于各第一子任务层参数的集合,得到目标子任务层参数。
可选的,在本实施例的另一种实现方式中,基于各第一共享层参数和各第二共享层参数的融合,得到目标共享层参数,包括:
基于各第一共享层参数和各第二共享层参数与预设数值关系进行融合,确定目标共享层参数。
可选的,在本实施例的另一种实现方式中,所述基于各第一共享层参数和各第二共享层参数与预设数值关系进行融合,确定目标共享层参数,包括:
响应于各第一共享层参数和各第二共享层参数均相同,将各第一共享层参数和各第二共享层参数中的任意一个确定为目标共享层参数;或者,响应于各第一共享层参数和各第二共享层参数存在不相同情况,将各第一共享层参数和各第二共享层参数的平均值确定为目标共享层参数,或者,将各第一共享层参数和各第二共享层参数的中值确定为目标共享层参数。
可选的,在本实施例的另一种实现方式中,基于目标参数更新初始多任务模型,包括:
基于目标子任务层参数,更新各第一异常子任务层;响应于第一共享层存在异常的情况,基于目标共享层参数,更新第一共享层。
另外,本装置实施例中,如11图所示的各个模块的功能与前述如图3所示的方法实施例对应,比如,获取模块810用于执行前述方法步骤301、训练模块820用于执行前述方法步骤302、参数更新模块830用于执行前述方法步骤303等。
示例性电子设备
下面,参考图13来描述根据本公开实施例的电子设备。该电子设备10可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图13示出了根据本公开实施例的电子设备的框图。
如图13所示,电子设备10包括一个或多个处理器11和存储器12。
处理器11可以是中央处理单元910(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元910,并且可以控制电子设备10中的其他组件以执行期望的功能。
存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本公开的各个实施例的多任务模型训练方法中的步骤以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在该电子设备是第一设备或第二设备时,该输入装置13可以是上述的车载摄像头200,用于捕捉环境图像的输入信号。在该电子设备是单机设备时,该输入装置13可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。
此外,该输入设备13还可以包括例如键盘、鼠标等等。
该输出装置14可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图13中仅示出了该电子设备10中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的多任务模型训练方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的多任务模型训练方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (11)
1.一种多任务模型的训练方法,包括初始多任务模型,所述初始多任务模型包括至少一个第一异常子任务层,所述方法包括:
获取训练数据集;
利用所述训练数据集对预先建立的至少一个第一单任务模型进行训练,得到各所述第一单任务模型分别对应的第一模型参数,其中,各所述第一单任务模型均包括一个第二异常子任务层,各所述第二异常子任务层分别基于各所述第一异常子任务层获得;
基于所述第一模型参数更新所述初始多任务模型,得到训练后的多任务模型。
2.根据权利要求1所述的方法,其中,所述初始多任务模型还包括多个第一子任务层,所述基于所述第一模型参数更新所述初始多任务模型,包括:
获取至少一个预先建立的第二单任务模型对应的第二模型参数,其中,各所述第二单任务模型均包括一个第二子任务层,各所述第二子任务层分别基于各所述第一子任务层获得;
基于各所述第一模型参数和各所述第二模型参数,得到目标参数;
基于所述目标参数更新所述初始多任务模型。
3.根据权利要求2所述的方法,其中,获取至少一个预先建立的第二单任务模型对应的第二模型参数,还包括:
利用所述训练数据集对预先建立的至少一个第二单任务模型进行训练,得到各所述第二单任务模型分别对应的第二模型参数。
4.根据权利要求2所述的方法,其中,所述初始多任务模型还包括第一共享层,各所述第一单任务模型还包括第二异常共享层,各所述第二异常共享层基于所述第一共享层获得,所述第一模型参数包括第一子任务层参数和第一共享层参数;
所述利用所述训练数据集对预先建立的至少一个第一单任务模型进行训练,得到各所述第一单任务模型分别对应的第一模型参数包括:
利用所述训练数据集对各所述第一单任务模型进行训练,得到各所述第二异常子任务层分别对应的所述第一子任务层参数,以及得到各所述第二异常共享层分别对应的所述第一共享层参数。
5.根据权利要求4所述的方法,其中,所述第二单任务模型还包括一个第二共享层,所述第二共享层基于所述第一共享层获得,所述第二模型参数包括第二子任务层参数和第二共享层参数,所述目标参数包括目标子任务层参数和目标共享层参数;
所述获取至少一个第二单任务模型分别对应的第二模型参数包括:
获取各所述第二共享层分别对应的第二共享层参数;
所述基于各所述第一模型参数和各所述第二模型参数,得到目标参数包括:
基于各所述第一共享层参数和各所述第二共享层参数的融合,得到所述目标共享层参数;
基于各所述第一子任务层参数的集合,得到所述目标子任务层参数。
6.根据权利要求5所述的方法,其中,所述基于各所述第一共享层参数和各所述第二共享层参数的融合,得到所述目标共享层参数,包括:
基于各所述第一共享层参数和各所述第二共享层参数与预设数值关系进行融合,确定所述目标共享层参数。
7.根据权利要求6所述的方法,其中,所述基于各所述第一共享层参数和各所述第二共享层参数与预设数值关系进行融合,确定所述目标共享层参数,包括:
响应于各所述第一共享层参数和各所述第二共享层参数均相同,将各所述第一共享层参数和各所述第二共享层参数中的任意一个确定为所述目标共享层参数;或者,
响应于各所述第一共享层参数和各所述第二共享层参数存在不相同情况,将各所述第一共享层参数和各所述第二共享层参数的平均值确定为所述目标共享层参数,或者,将各所述第一共享层参数和各所述第二共享层参数的中值确定为所述目标共享层参数。
8.根据权利要求7所述的方法,其中,所述基于所述目标参数更新所述初始多任务模型,包括:
基于所述目标子任务层参数,更新各所述第一异常子任务层;
响应于所述第一共享层存在异常的情况,基于所述目标共享层参数,更新所述第一共享层。
9.一种多任务模型的训练装置,用于训练初始多任务模型,所述初始多任务模型包括至少一个第一异常子任务层,所述装置包括:
训练数据获取模块:用于获取训练数据集;
训练模块,利用根据所述训练数据获取模块获取的所述训练数据集对预先建立的至少一个第一单任务模型进行训练,得到各所述第一单任务模型分别对应的第一模型参数,其中,各所述第一单任务模型均包括一个第二异常子任务层,各所述第二异常子任务层分别基于各所述第一异常子任务层获得;
参数更新模块,用于根据所述训练模块获取的所述第一模型参数更新所述初始多任务模型,得到训练后的多任务模型。
10.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-8任一所述的多任务模型的训练方法。
11.一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-8任一所述的多任务模型的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210563203.6A CN114821538A (zh) | 2022-05-19 | 2022-05-19 | 一种多任务模型的训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210563203.6A CN114821538A (zh) | 2022-05-19 | 2022-05-19 | 一种多任务模型的训练方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114821538A true CN114821538A (zh) | 2022-07-29 |
Family
ID=82517918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210563203.6A Pending CN114821538A (zh) | 2022-05-19 | 2022-05-19 | 一种多任务模型的训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114821538A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349775A (zh) * | 2023-10-30 | 2024-01-05 | 浙江大学 | 一种面向集群计算的异常子任务识别方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106529402A (zh) * | 2016-09-27 | 2017-03-22 | 中国科学院自动化研究所 | 基于多任务学习的卷积神经网络的人脸属性分析方法 |
CN111373419A (zh) * | 2017-10-26 | 2020-07-03 | 奇跃公司 | 用于深度多任务网络中自适应损失平衡的梯度归一化系统和方法 |
CN113435528A (zh) * | 2021-07-06 | 2021-09-24 | 北京有竹居网络技术有限公司 | 对象分类的方法、装置、可读介质和电子设备 |
CN113516239A (zh) * | 2021-04-16 | 2021-10-19 | Oppo广东移动通信有限公司 | 模型训练方法、装置、存储介质及电子设备 |
CN114170484A (zh) * | 2022-02-11 | 2022-03-11 | 中科视语(北京)科技有限公司 | 图片属性预测方法、装置、电子设备和存储介质 |
-
2022
- 2022-05-19 CN CN202210563203.6A patent/CN114821538A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106529402A (zh) * | 2016-09-27 | 2017-03-22 | 中国科学院自动化研究所 | 基于多任务学习的卷积神经网络的人脸属性分析方法 |
CN111373419A (zh) * | 2017-10-26 | 2020-07-03 | 奇跃公司 | 用于深度多任务网络中自适应损失平衡的梯度归一化系统和方法 |
CN113516239A (zh) * | 2021-04-16 | 2021-10-19 | Oppo广东移动通信有限公司 | 模型训练方法、装置、存储介质及电子设备 |
CN113435528A (zh) * | 2021-07-06 | 2021-09-24 | 北京有竹居网络技术有限公司 | 对象分类的方法、装置、可读介质和电子设备 |
CN114170484A (zh) * | 2022-02-11 | 2022-03-11 | 中科视语(北京)科技有限公司 | 图片属性预测方法、装置、电子设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349775A (zh) * | 2023-10-30 | 2024-01-05 | 浙江大学 | 一种面向集群计算的异常子任务识别方法及装置 |
CN117349775B (zh) * | 2023-10-30 | 2024-04-26 | 浙江大学 | 一种面向集群计算的异常子任务识别方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11783230B2 (en) | Automatic generation of ground truth data for training or retraining machine learning models | |
CN111931929B (zh) | 一种多任务模型的训练方法、装置及存储介质 | |
US20180107901A1 (en) | Image processing device, object detection device, image processing method | |
Morris et al. | Understanding vehicular traffic behavior from video: a survey of unsupervised approaches | |
CN111353555A (zh) | 一种标注检测方法、装置及计算机可读存储介质 | |
CN111723635A (zh) | 实时场景理解系统 | |
Zhang et al. | Attention-based interrelation modeling for explainable automated driving | |
US20220164585A1 (en) | Contrastive learning for object detection | |
Ben-Younes et al. | Driving behavior explanation with multi-level fusion | |
CN113537445B (zh) | 一种轨迹预测方法、装置、设备和存储介质 | |
US20230230484A1 (en) | Methods for spatio-temporal scene-graph embedding for autonomous vehicle applications | |
CN114549369B (zh) | 数据修复方法、装置、计算机及可读存储介质 | |
US11604936B2 (en) | Spatio-temporal graph for video captioning with knowledge distillation | |
Firl | Probabilistic maneuver recognition in traffic scenarios | |
CN114821538A (zh) | 一种多任务模型的训练方法及装置 | |
Borg et al. | Ergo, SMIRK is safe: a safety case for a machine learning component in a pedestrian automatic emergency brake system | |
US11423262B2 (en) | Automatically filtering out objects based on user preferences | |
CN114529890A (zh) | 状态检测方法、装置、电子设备及存储介质 | |
Li et al. | Basics and Applications of AI in ADAS and Autonomous Vehicles | |
US20230343083A1 (en) | Training Method for Multi-Task Recognition Network Based on End-To-End, Prediction Method for Road Targets and Target Behaviors, Computer-Readable Storage Media, and Computer Device | |
CN117274868A (zh) | 一种基于大模型对视频进行交通事件识别方法及系统 | |
Al-Yarimi | Enhancing road safety through advanced predictive analytics in V2X communication networks | |
US20220067479A1 (en) | Vehicle entry detection | |
US20220234622A1 (en) | Systems and Methods for Autonomous Vehicle Control | |
CN115690438A (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 |