[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN112766493B - 多任务神经网络的训练方法、装置、电子设备及存储介质 - Google Patents

多任务神经网络的训练方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112766493B
CN112766493B CN202110069465.2A CN202110069465A CN112766493B CN 112766493 B CN112766493 B CN 112766493B CN 202110069465 A CN202110069465 A CN 202110069465A CN 112766493 B CN112766493 B CN 112766493B
Authority
CN
China
Prior art keywords
task
target
gradient
parameter
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110069465.2A
Other languages
English (en)
Other versions
CN112766493A (zh
Inventor
游山
宋玉茹
楼赞
王飞
钱晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN202110069465.2A priority Critical patent/CN112766493B/zh
Publication of CN112766493A publication Critical patent/CN112766493A/zh
Application granted granted Critical
Publication of CN112766493B publication Critical patent/CN112766493B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

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

Abstract

本公开提供了一种多任务神经网络的训练方法、装置、电子设备及存储介质,其中,该方法包括:获取训练样本,并通过多任务神经网络对训练样本进行处理,得到每个任务的预测结果;根据每个任务的预测结果确定每个任务的损失函数,并基于损失函数的梯度和预设的待优化变量构建多目标梯度优化模型;对多目标梯度优化模型进行求解,得到每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值;基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值,确定多任务神经网络的共享参数。本公开实施例通过设置有偏好的对目标任务和辅助任务进行学习可以促进目标任务的学习,提高多任务神经网络中目标任务的学习效果。

Description

多任务神经网络的训练方法、装置、电子设备及存储介质
技术领域
本公开涉及图像处理的技术领域,具体而言,涉及一种多任务神经网络的训练方法、装置、电子设备及存储介质。
背景技术
目前,多任务学习是深度学习领域目前较为新颖且实用的问题,多任务学习是深度学习旨在同时学习多个相关任务,进而通过任务间的相互作用促进总体精度,并提高网络的学习效率,缩短推理时间。现有的框架包括软硬参数共享。在硬参数(例如,任务共享参数)共享下,多个任务共享网络结构主体,并共同训练该部分的参数。相比于软参数(例如,每个任务的私有参数和模型)共享,硬参数共享更具广泛性。
在现有的多任务学习中,往往有部分任务是训练者所关心的(即,目标任务),而其余的任务(即,特权任务)只是用来辅助训练训练者所关心的部分任务。然而,一般情况下,在现有的多任务学习是深度学习算法中,通常将目标任务和辅助任务一同进行训练,但是在训练的过程中目标任务和辅助任务的重要程度是相同的,因此,在现有的训练方法中,无法突出目标任务的重要性,也无法利用特权任务为目标任务提供的帮助,导致目标任务的效果较差。
发明内容
本公开实施例至少提供一种多任务神经网络的训练方法、装置、电子设备及存储介质。
第一方面,本公开实施例提供了一种多任务神经网络的训练方法,包括:获取训练样本,并通过多任务神经网络对所述训练样本进行处理,得到每个任务的预测结果;其中,所述多任务包括:目标任务和辅助任务;根据所述每个任务的预测结果确定所述每个任务的损失函数,并基于所述损失函数的梯度和预设的待优化变量构建多目标梯度优化模型;对所述多目标梯度优化模型进行求解,得到所述待优化变量的优化结果;所述优化结果包括:每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值;所述方向修正参数用于表征所述目标任务的训练优先程度;基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值,确定所述多任务神经网络的共享参数。
在本公开实施例中,通过确定每个任务的权重值可以根据该权重值确定每个任务的学习偏向性,其中,该学习偏向性可以用于描述目标任务和辅助任务的训练速度。因此,可以通过确定每个任务的权重值来实现有偏好的对目标任务和辅助任务进行学习。同时,在本公开实施例中,通过确定目标任务的梯度下降方向的方向修正参数的参数值,可以在训练过程中目标任务和辅助任务不产生冲突的情况下,更偏向于对目标任务进行训练,从而进一步实现有偏好的对目标任务和辅助任务进行学习。通过设置有偏好的对目标任务和辅助任务进行学习可以促进目标任务的学习,提高多任务神经网络中目标任务的学习效果。
一种可选的实施方式中,所述对所述多目标梯度优化模型进行求解,得到所述待优化变量的优化结果,包括:基于目标约束条件,对目标函数进行多目标求解,得到帕雷托解;根据所述帕雷托解确定每个任务的权重值和目标任务的梯度的下降方向的方向修正参数的参数值。
在本公开实施例中,通过目标约束条件对目标函数进行多目标求解,得到帕雷托解,进而根据帕雷托解确定每个任务的权重值和目标任务的梯度的下降方向的方向修正参数的参数值的方式,可以将多任务学习问题转化为多目标优化问题,从而快速地确定出每个任务的权重值和目标任务的梯度的下降方向的方向修正参数的参数值。
一种可选的实施方式中,所述多目标梯度优化模型包括:目标函数和目标约束条件,所述目标函数包括:第一函数和第二函数,其中,所述第一函数用于表征每个任务的梯度和权重值的加权和,所述第二函数用于表征目标任务相对于辅助任务的梯度下降方向的修正方向;所述目标约束条件中包括以下约束参数:每个任务的权重参数和目标任务的梯度下降方向的方向修正参数。
在本公开实施例中,通过将目标函数设置为上述第一函数和第二函数,并通过约束参数来设置目标约束条件的方式,在采用该目标约束条件对目标函数进行求解时,可以实现动态的求解每个任务的权重值,从而实现有偏好的对多任务进行学习,进而在辅助任务和目标任务出现冲突时,通过权重促进目标任务的学习。同时,通过构建该目标约束条件对方向修正参数进行约束,还可以在辅助任务和目标任务未出现冲突的情况下,更偏向于对目标任务进行学习。
一种可选的实施方式中,所述目标约束条件包括:所述辅助任务的权重参数αj满足:0≤αj≤C1;所述方向修正参数βij满足:0≤βij≤C2,且
Figure BDA0002905500090000031
其中,αj表示第j个辅助任务的权重参数,βij表示第i个目标任务相对于第j个辅助任务的梯度的下降方向的方向修正参数,Lp表示辅助任务的任务索引集合,C1表示预设特权参数,C2表示目标任务的训练优先级参数,其中,C∈(0,1),所述预设特权参数用于表征所述目标任务和所述辅助任务的训练优先级。
在本公开实施例中,通过设置上述目标约束条件,可以控制目标任务和辅助任务的权重参数的取值,从而根据该权重参数的取值来控制目标任务的梯度下降方向。同时,还可以在辅助任务和目标任务未出现冲突的情况下,对目标任务的梯度下降方向进行修正,从而使得多任务神经网络的训练过程更偏向于对目标任务进行学习。
一种可选的实施方式中,所述对所述多目标梯度优化模型进行求解,得到所述待优化变量的优化结果,包括:基于所述目标约束条件中所述待优化变量的约束表达方式,将所述目标函数分解为多个子函数;通过坐标下降算法对所述每个子函数中的所述待优化变量进行求解,得到每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值。
一种可选的实施方式中,所述多个子函数包括:第一子函数和第二子函数,其中,所述第一子函数为基于每个所述任务的权重参数和目标半正定矩阵确定的函数,所述第二子函数为基于所述方向修正参数和所述目标半正定矩阵确定的函数,所述目标半正定矩阵为根据目标函数确定出的半正定矩阵。
在求解带有约束的优化问题时,约束条件待优化变量的表达形式将影响对应子函数的求解方式,因此,在本公开实施例中,通过根据约束参数中的待优化变量是否有等式约束的方式将待优化变量分成两块分别优化的方式,可以提高多目标梯度优化模型进行求解速率,得到更加准确的求解结果。
一种可选的实施方式中,所述基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值,确定所述多任务神经网络的共享参数,包括:基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数,确定所述目标任务的修正梯度下降方向;基于所述多任务的初始共享参数和所述修正梯度下降方向更新所述多任务神经网络的共享参数。
在本公开实施例中,通过每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值来对多个任务的共享参数进行修正的方式,可以实现通过确定每个任务的权重值来实现有偏好的对目标任务和辅助任务进行学习,以及在训练过程中目标任务和辅助任务不产生冲突的情况下,更偏向于对目标任务进行训练,从而进一步实现有偏好的对目标任务和辅助任务进行学习。
一种可选的实施方式中,所述方法还包括:获取待处理图像;采用经过训练后的多任务神经网络对所述待处理图像进行分类,得到图像的图像处理结果,其中,所述图像处理结果中包含每个所述任务的图像处理结果。
一种可选的实施方式中,所述多任务神经网络中的每个任务的处理对象为输入至所述多任务神经网络中的待处理的图像数据。
在本公开实施例中,可以通过训练之后的多任务神经网络对图像进行处理,针对训练者所关注的目标任务,可以提高目标任务的处理精度,以及处理效率,从而得到更加精准的图像处理结果。
第二方面,本公开实施例还提供一种多任务神经网络的训练装置,包括:获取单元,用于获取训练样本,并通过多任务神经网络对所述训练样本进行处理,得到每个任务的预测结果;其中,所述多任务包括:目标任务和辅助任务;第一确定单元,用于根据所述每个任务的预测结果确定所述每个任务的损失函数;构建单元,用于基于所述损失函数的梯度和预设的待优化变量构建多目标梯度优化模型;求解单元,用于对所述多目标梯度优化模型进行求解,得到所述待优化变量的优化结果;所述优化结果包括:每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值;所述方向修正参数用于表征所述目标任务的训练优先程度;第二确定单元,用于基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值,确定所述多任务神经网络的共享参数。
第三方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种多任务神经网络的训练方法的流程图;
图2示出了本公开实施例所提供的一种目标任务和辅助任务的松弛下降示意图;
图3示出了本公开实施例所提供的一种梯度下降方向的修正示意图;
图4示出了本公开实施例所提供的一种多任务神经网络的训练装置的示意图;
图5示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,在现有的多任务学习中,往往有部分任务是训练者所关心的(即,目标任务),而其余的任务(即,特权任务)只是用来辅助训练训练者所关心的部分任务。然而,一般情况下,在现有的多任务学习是深度学习算法中,通常将目标任务和辅助任务一同进行训练,但是在训练的过程中目标任务和辅助任务的重要程度是相同的,因此,在现有的训练方法中,无法突出目标任务的重要性,也无法利用特权任务为目标任务提供的帮助,导致目标任务的效果较差。
基于上述研究,本公开提供了一种多任务神经网络的训练方法,在该训练方法中,在获取到训练样本之后,通过多任务神经网络对训练样本进行处理,得到每个任务的预测结果,之后,根据每个任务的预测结果确定每个任务的损失函数,进而根据该损失函数的梯度和预设的待优化变量构建多目标梯度优化模型;接下来,就可以对多目标梯度优化模型进行求解,得到每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值。在得到每个任务的权重值之后,就可以根据该权重值确定每个任务的学习偏向性,其中,该学习偏向性可以用于描述目标任务和辅助任务的训练速度。因此,可以通过确定每个任务的权重值来实现有偏好的对目标任务和辅助任务进行学习。同时,在本公开实施例中,通过确定目标任务的梯度下降方向的方向修正参数的参数值,可以在训练过程中目标任务和辅助任务不产生冲突的情况下,更偏向于对目标任务进行训练,从而进一步实现有偏好的对目标任务和辅助任务进行学习。通过设置有偏好的对目标任务和辅助任务进行学习可以促进目标任务的学习,提高多任务神经网络中目标任务的学习效果。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种多任务神经网络的训练方法进行详细介绍,本公开实施例所提供的多任务神经网络的训练方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该多任务神经网络的训练方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的多任务神经网络的训练方法的流程图,所述方法包括步骤S101~S107,其中:
S101:获取训练样本,并通过多任务神经网络对所述训练样本进行处理,得到每个任务的预测结果;其中,所述多任务包括:目标任务和辅助任务。
在本公开实施例中,多任务神经网络中的每个任务的处理对象为输入至所述多任务神经网络中的待处理的图像数据。目标任务是指训练者所关心的主要任务,辅助任务可以是训练者的关心程度次于目标任务的任务,或者,辅助任务可以理解为在目标任务进行训练的过程中,辅助目标任务进行训练的任务。其中,目标任务可以为一个,辅助任务可以为多个。
通过多任务神经网络对训练样本进行处理,可以得到多个预测结果,每个任务都对应一个预测结果。例如,多任务神经网络的多个任务包括人脸检测和人脸识别,此时,在通过多任务神经网络对训练样本进行处理之后,可以得到人脸检测结果和人脸识别结果,其中,该人脸检测结果用于表征该训练样本中是否包含人脸,该人脸识别结果用于表征训练样本中所包含的人脸所属的对象信息。
S103:根据所述每个任务的预测结果确定所述每个任务的损失函数;并基于所述损失函数的梯度和预设的待优化变量构建多目标梯度优化模型。
在本公开实施例中,多目标梯度优化模型为多目标梯度优化问题,该多目标梯度优化问题可以理解为有偏好的多目标梯度下降问题。其中,有偏好的是指目标任务和辅助任务的训练优先级,该训练优先级可以理解目标任务和辅助任务的损失函数的收敛速度。收敛速度越快,则对应任务的训练优先级越高,则可以理解为更偏好于对该任务进行学习。
通过对该有偏好的多目标梯度下降问题可以实现对多个任务进行有偏好的学习。比如,目标任务为训练者所关心的任务,此时,可以通过多目标梯度优化模型有偏好的对目标任务进行学习。其中,有偏好的对目标任务进行学习是指通过控制目标任务的损失函数的梯度下降方向,使得目标任务的损失函数的取值优先靠近极值点。
S105:对所述多目标梯度优化模型进行求解,得到所述待优化变量的优化结果;所述优化结果包括:每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值;其中,所述方向修正参数用于表征所述目标任务的训练优先程度。
在本公开实施例中,通过对多目标梯度优化模型进行求解,可以得到待优化变量的优化结果,该优化结果包括:多任务神经网络中每个任务的权重值,以及目标任务的梯度下降方向的方向修正参数的参数值。
在本公开实施例中,每个任务的权重值可以用于指示目标任务和/或辅助任务的训练优先级,其中,权重值越高,则表征该权重值所对应任务的训练优先级越高。那么在对该任务进行学习的过程中,会优先对该任务进行训练,从而控制该任务的损失函数的取值优先靠近极值点(或者,控制该加快该任务的损失函数的收敛速度)。
因此,在本公开实施例中,可以通过控制每个任务的权重值来设置目标任务的训练优先级,例如,可以通过权重值控制优先对目标任务进行训练。
在本公开实施例中,除了求解得到上述权重值之外,还可以求解得到目标任务的梯度下降方向的方向修正参数的参数值,进而通过该方向修正参数的参数值来修正目标任务的梯度下降方向,以控制在任务训练的过程中对目标任务的偏好程度(也即,训练优先程度)。
在多任务训练的过程中,如果目标任务和辅助任务之间未出现训练冲突,则可以通过方向修正参数对目标任务的梯度下降方向进行修正,从而提高目标任务的损失函数的收敛速度,进而实现有偏好的对目标任务进行学习。
需要说明的是,在本公开实施例中,目标任务和辅助任务之间未出现训练冲突可以理解为:目标任务和辅助任务的损失函数值均沿着梯度下降方向下降。相反地,目标任务和辅助任务之间出现训练冲突可以理解为:目标任务和辅助任务中仅有一个任务的损失函数值沿着梯度下降方向下降。
在本公开实施例中,通过确定每个任务的权重值,可以在目标任务和辅助任务出现冲突时,促进目标任务的学习;同时,通过确定方向修正参数的参数值,可以在目标任务和辅助任务之间未出现训练冲突时,更加偏向于对目标任务进行学习。
S107:基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值,确定所述多任务神经网络的共享参数。
在本公开实施例中,在确定出每个任务的权重值和方向修正参数的参数值之后,就可以确定多任务神经网络的共享参数,从而实现对多任务神经网络的训练。
在本公开实施例中,在获取到训练样本之后,通过多任务神经网络对训练样本进行处理,得到每个任务的预测结果,之后,根据每个任务的预测结果确定每个任务的损失函数,进而根据该损失函数的梯度和预设的待优化变量构建多目标梯度优化模型;接下来,就可以对多目标梯度优化模型进行求解,得到每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值。在得到每个任务的权重值之后,就可以根据该权重值确定每个任务的学习偏向性,其中,该学习偏向性可以用于描述目标任务和辅助任务的训练速度。因此,可以通过确定每个任务的权重值来实现有偏好的对目标任务和辅助任务进行学习。同时,在本公开实施例中,通过确定目标任务的梯度下降方向的方向修正参数的参数值,可以在训练过程中目标任务和辅助任务不产生冲突的情况下,更偏向于对目标任务进行训练,从而进一步实现有偏好的对目标任务和辅助任务进行学习。通过设置有偏好的对目标任务和辅助任务进行学习可以促进目标任务的学习,提高多任务神经网络中目标任务的学习效果。
在本公开实施例中,多任务神经网络中多任务包括图像处理任务,例如包括基于图像的识别任务和检测任务,或者包括多个维度的图像分类任务。针对图像处理任务中待处理的图像数据来说,图像数据所涉及到的矩阵运算较多,且多数较为复杂,多个图像处理任务分别处理时需要消耗很多的计算资源。采用本公开实施例所提供的方法,可以提升梯度下降速度,从而有效提升多任务神经网络的训练效率,减少所消耗的计算资源,提高终端设备的计算效率。并且,训练得到的多任务神经网络在多种图像处理任务中具有良好的性能。
在本公开实施例中,所述多目标梯度优化模型包括:目标函数和目标约束条件,所述目标函数包括:第一函数和第二函数,其中,所述第一函数用于表征每个任务的梯度和权重值的加权和,所述第二函数用于表征目标任务相对于辅助任务的梯度下降方向的修正方向;所述目标约束条件中包括以下约束参数:每个任务的权重参数和目标任务的梯度下降方向的方向修正参数。
在本公开实施例中,多目标梯度优化模型中的目标函数可以表示为下述公式:
Figure BDA0002905500090000121
其中,第一函数表示为
Figure BDA0002905500090000122
第二函数表示为
Figure BDA0002905500090000123
在上述公式中,α表示权重参数的向量表示,在该向量中包含每个任务的权重值;β表示方向修正参数的向量表示,在该向量中包含每个目标任务相对于各个辅助任务的梯度下降方向的方向修正参数。M表示多个任务的索引,m∈M;αm表示第m个任务的权重,θ表示多个任务的共享参数,lm(θ)表示第m个任务的损失函数,
Figure BDA0002905500090000125
表示损失函数lm(θ)的梯度;βij表示第i个目标任务相对于第j个辅助任务的梯度下降方向的方向修正参数,Lt表示目标任务的索引集合,Lp表示辅助任务的索引集合,li(θ)表示第i个目标任务的损失函数,lj(θ)表示第j个辅助任务的损失函数,
Figure BDA0002905500090000126
表示损失函数li(θ)的梯度,
Figure BDA0002905500090000127
表示损失函数lj(θ)的梯度。
在本公开实施例中,上述多目标梯度优化模型的目标约束条件为基于每个任务的权重参数和目标任务的梯度下降方向的方向修正参数构建的约束条件。通过采用该目标约束条件对目标函数进行求解的方式,可以实现动态的求解每个任务的权重值,从而实现有偏好的对多任务进行学习,进而在辅助任务和目标任务出现冲突时,通过权重值促进目标任务的学习。同时,通过构建该目标约束条件对方向修正参数进行约束,还可以在辅助任务和目标任务未出现冲突的情况下,更偏向于对目标任务进行学习。
在一个可选的实施方式中,上述目标约束条件包括:辅助任务的权重参数αj满足:0≤αj≤C1;所述方向修正参数βij满足:0≤βij≤C2,且
Figure BDA0002905500090000124
其中,αj表示第j个辅助任务的权重参数,βij表示第i个目标任务相对于第j个辅助任务的梯度的下降方向的方向修正参数,Lp表示辅助任务的任务索引集合,C1表示预设特权参数,C2表示目标任务的训练优先级参数,其中,C∈(0,1),所述预设特权参数用于表征所述目标任务和所述辅助任务的训练优先级。在本公开实施例中,预设特权参数用于通过控制权重参数的数值来控制所述目标任务的梯度下降方向。
总体来说,上述目标约束条件可以表示为下述公式:
Figure BDA0002905500090000131
在本公开实施例中,C1表示预设特权参数,C1的取值为预先设定的数值,通过控制C1的取值可以控制每个任务的权重值,下面结合图2来进行说明。如图2所示的为目标任务和辅助任务的松弛下降示意图。从图2中可以看出,假设,α1为目标任务的权重值,α2为辅助任务的权重值。当C1的取值较小时(例如,C1=0.2)时,目标任务的权重值α1大于辅助任务的权重值α2。此时,可以表明在对目标任务和辅助任务进行学习时,可以有偏好性的对目标任务优先进行学习。当C1的取值较大时(例如,C1=1)时,辅助任务的权重值α2大于目标任务的权重值α1。此时,可以表明在对目标任务和辅助任务进行学习时,有偏好性的对特权任务优先进行学习。因此,在本公开实施例中,通过预先设置预设特权参数,可以控制目标任务和辅助任务的权重参数的取值,从而根据该权重参数的取值来控制目标任务的梯度下降方向。
在本公开实施例中,通过上述描述可知,在辅助任务和目标任务未出现冲突的情况下,还可以对目标任务的梯度下降方向进行修正,从而使得多任务神经网络的训练过程更偏向于对目标任务进行学习。如图3所示的为梯度下降方向的修正示意图。假设,α1为目标任务的权重值,α2为辅助任务的权重值。
Figure BDA0002905500090000132
是目标任务的梯度下降方向,
Figure BDA0002905500090000133
是辅助任务的梯度下降方向,在辅助任务和目标任务的损失函数均沿着对应的梯度下降方向下降的情况下,可以对目标任务的梯度下降方向进行修正。在对目标任务的梯度下降方向进行修正时,可以通过增大目标任务的梯度下降方向
Figure BDA0002905500090000141
来进行修正。通过对目标任务的梯度下降方向进行修正,可以进一步将梯度下降方向推向目标任务,从而使得目标任务的损失函数优先靠近极值点。例如,如图3所示,可以通过公式
Figure BDA0002905500090000142
对目标任务的梯度下降方向进行修正。从图3中可以看出,在对目标任务的梯度下降方向进行修正之后,
Figure BDA0002905500090000143
Figure BDA0002905500090000144
的矢量和向目标任务靠近,从而增大了目标任务的梯度下降方向,此时,就可以实现将梯度下降方向推向目标任务。其中,β12为方向修正参数,用于表征目标任务的训练优先程度。在本公开实施例中,可以通过C2来控制方向修正参数的取值,从而通过C2来控制目标任务和辅助任务的学习偏好性。
应理解的是,训练优先级和训练优选程度所对应的物理含义不相同。训练优先级是指目标任务和辅助任务在训练过程中的优先顺序,例如,目标任务的训练优先级高于辅助任务,那么在对目标任务和辅助任务进行训练的过程中,优先对目标任务进行训练。训练优先程度是指在训练优先级确定的情况下,训练优先级高的任务相对于训练优先级低的任务的训练优先程度。例如,如图2所示,如果目标任务的权重值α1大于辅助任务的权重值α2,则表明目标任务的训练优先级高于辅助任务的训练优先级。如图3所示,
Figure BDA0002905500090000145
Figure BDA0002905500090000146
的矢量和可以表征在目标任务的训练优先级高于辅助任务的训练优先级的情况下,目标任务相对于辅助任务的训练优先程度,从图3中可以看出,该矢量和越大,则目标任务相对于辅助任务的训练优先程度越大,该矢量和越小,则目标任务相对于辅助任务的训练优先程度越小。
在描述多目标梯度优化模型的具体结构之后,将在下述实施方式中,介绍上述多目标梯度优化模型的构建过程和多目标梯度优化模型的求解过程。
第一、多目标梯度优化模型的构建过程。
在本公开实施例中,将多任务学习问题转化成多目标优化问题。假设多任务的数量为M,任务的索引设置为L,多任务神经网络的共享参数表示为θ。如图3所示,在本公开实施例中,多目标优化问题的目的是为了确定目标任务修正之后的
Figure BDA0002905500090000153
Figure BDA0002905500090000154
的矢量和d。
基于此,可以通过下述最小化问题来确定目标任务修正之后的
Figure BDA0002905500090000155
Figure BDA0002905500090000156
的矢量和d:
公式一:
Figure BDA0002905500090000151
其中,v表示待优化变量。
接下来,可以确定上述公式一的对偶问题,描述为公式二:
Figure BDA0002905500090000152
αm表示第m个任务的权重值,
Figure BDA0002905500090000157
表示第m个任务的损失函数的梯度。针对上述公式二,可以确定该公式二的Pareto最优解,从而根据该Pareto最优解确定每个任务的权重值。
在本公开实施例中,为了实现对目标任务进行有偏好的学习,可以将辅助任务应用于目标任务的学习过程中。针对上述公式一中的不等式约束,可以修改为以下不等式约束:
Figure BDA0002905500090000158
其中,
Figure BDA0002905500090000159
表示目标任务的损失函数的梯度,
Figure BDA00029055000900001510
表示辅助任务的损失函数的梯度。通过该不等式约束可以实现辅助任务的梯度下降方向小于v,不等式约束:
Figure BDA00029055000900001511
Figure BDA00029055000900001512
分别用于约束目标任务的梯度下降的收敛速度和辅助任务的梯度下降的收敛速度。其中,当辅助任务和目标任务发生冲突时,可以通过修改不等式约束
Figure BDA00029055000900001513
来控制辅助任务的梯度下降的收敛速度,从而实现降低辅助任务的梯度下降的收敛速度。此时,可以通过设置松弛变量ξi的方式来降低辅助任务的梯度下降的收敛速度,其中,ξi>0。因此,可以将不等式约束
Figure BDA00029055000900001514
修改为:
Figure BDA00029055000900001515
针对公式二中所描述的对偶问题,还包含以下约束条件:
Figure BDA0002905500090000164
其中,C1为预设特权参数。通过C1可以控制每个任务的权重值。
在本公开实施例中,在目标任务和辅助任务之间没有出现冲突时,为了加快目标任务的梯度下降的收敛速度,还可以实现对目标任务的梯度下降方向进行修正,此时,可以设置下述约束条件:
Figure BDA0002905500090000165
为了适当地放松这个约束,还引入可学习松弛变量ηij>0。此时,约束条件:
Figure BDA0002905500090000166
可以修改为:
Figure BDA0002905500090000167
通过上述描述可知,在本公开实施例中,多目标梯度优化模型可以由两部分内容组成:辅助任务的松弛下降部分和目标任务的梯度方向修正部分。基于上述这两部分,多目标梯度优化模型可以描述为以下下述公式三所描述的结构:
Figure BDA0002905500090000161
在上述多目标梯度优化模型中,
Figure BDA0002905500090000162
用于调节辅助任务能够获得特权量,也即该辅助任务在训练的过程中能够被忽视的程度,
Figure BDA0002905500090000163
表示在辅助任务和目标任务的损失函数均沿梯度方向下降时,优先对目标任务进行学习的程度,以加快目标任务的梯度下降的收敛速度。
针对上述公式三,利用拉格朗日乘子,将上述问题的对偶问题形式化如下公式四:
Figure BDA0002905500090000171
通过上述描述可知,在本公开实施例中,可以通过确定每个任务的权重值来实现有偏好的对目标任务和辅助任务进行学习。同时,在本公开实施例中,通过确定目标任务的梯度下降方向的方向修正参数的参数值,可以在训练过程中目标任务和辅助任务不产生冲突的情况下,更偏向于对目标任务进行训练,从而进一步实现有偏好的对目标任务和辅助任务进行学习。通过设置有偏好的对目标任务和辅助任务进行学习可以促进目标任务的学习,提高多任务神经网络中目标任务的学习效果。
第二、多目标梯度优化模型的求解过程。
在本公开实施例中,在按照上述所描述的方式构建多目标梯度优化模型之后,就可以对多目标梯度优化模型进行求解。
在本公开实施例的一个可选实施方式中,步骤S105,对所述多目标梯度优化模型进行求解,得到所述待优化变量的优化结果,包括:
基于目标约束条件,对目标函数进行多目标求解,得到帕雷托解;并根据所述帕雷托解确定每个任务的权重值和目标任务的梯度的下降方向的方向修正参数的参数值。
在本公开实施例中,可以采用多目标求解方法,对目标函数进行求解,从而得到帕雷托解。其中,帕雷托解包含:每个任务的权重值α和目标任务的梯度的下降方向的方向修正参数的参数值β。
通过拉格朗日乘子,寻找帕雷托解的问题可以转化成有约束的二次型优化问题。在本公开实施例中,通过目标约束条件中约束参数的表达方式,设计了混合区块优化算法。在该混合区块优化算法中,根据约束参数中的优化变量是否有等式约束,该算法将优化变量分成两块分别优化。
在一个可选的实施方式中,对所述多目标梯度优化模型进行求解,得到所述待优化变量的优化结果,包括:
(1)、基于所述目标约束条件中待优化变量的约束表达方式,将所述目标函数分解为多个子函数;
(2)、通过坐标下降算法对所述每个子函数中的所述待优化变量进行求解,得到每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值。
在本公开实施例中,可以在目标约束条件中确定关于待优化变量的约束条件,进而根据待优化变量的约束条件确定是否包含等式约束,从而根据约束参数中的待优化变量是否有等式约束,该算法将待优化变量分成两块分别优化。其中,待优化变量可以理解为上述多目标梯度优化模型所要求解的变量。
通过上述公式四所描述的内容可知,待优化变量中每个任务的权重参数包含等式约束,待优化变量中方向修正参数不包含等式约束,因此,可以将权重参数和方向修正参数分成两个部分分别进行优化。此时,就可以将上述公式四拆分为多个子函数,然后,通过坐标下降算法对每个子函数进行求解,得到每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值。
在求解带有约束的优化问题时,约束的表达形式将影响对应子函数的求解方式,因此,在本公开实施例中,通过根据约束参数中的待优化变量是否有等式约束,该算法将待优化变量分成两块分别优化的方式,可以提高多目标梯度优化模型进行求解速率,得到更加准确的求解结果。
在本公开实施例中,多个子函数包括:第一子函数和第二子函数,其中,所述第一子函数为基于每个所述任务的权重参数和目标半正定矩阵确定的函数,所述第二子函数为基于所述方向修正参数和所述目标半正定矩阵确定的函数,所述目标半正定矩阵为根据目标函数确定出的半正定矩阵。。
在本公开实施例中,第一子函数可以表达为:
Figure BDA0002905500090000191
在本公开实施例中,第二子函数可以表达为:
Figure BDA0002905500090000192
在本公开实施例中,Q表示为目标半正定矩阵,Q的确定过程可以表述为:
针对上述公式三,假设,
Figure BDA0002905500090000193
Figure BDA0002905500090000194
此时,公式三可以改写为:
Figure BDA0002905500090000195
针对上述
Figure BDA0002905500090000196
可以理解为:由α和β组成的第一矩阵,乘以第二矩阵,再乘以由α和β组成的第一矩阵,也就是说,公式
Figure BDA0002905500090000197
可以转化为:第一矩阵乘以第二矩阵乘以第一矩阵的形式,此时,第二矩阵即为目标半正定矩阵Q。
在本公开实施例中,在按照上述所描述的方式对多目标梯度优化模型进行求解,得到每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值之后,就可以基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值,确定多任务神经网络的共享参数。
在一个可选的实施方式中,步骤S107,基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值,确定所述多任务神经网络的共享参数,包括:
(1)、基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数,确定所述目标任务的修正梯度下降方向。
在本公开实施例中,可以通过公式计算目标任务的修正梯度下降方向:
Figure BDA0002905500090000203
。其中,
Figure BDA0002905500090000205
,且
Figure BDA0002905500090000204
(2)、基于所述多个任务的初始共享参数和所述修正梯度下降方向更新所述多任务神经网络的共享参数。
在确定出目标任务的修正梯度下降方向之后,可以根据公式更新所述多任务神经网络的共享参数:
Figure BDA0002905500090000206
在本公开实施例中,除了需要对共享参数进行更新之外,还可以对每个任务的私有参数进行更新,针对每个任务,可以通过公式计算每个任务的梯度:
Figure BDA0002905500090000201
之后,可以根据公式更新每个任务的私有参数:
Figure BDA0002905500090000202
在本公开实施例中,在对多任务神经网络进行训练的过程中,若训练样本为多张,那么可以首先对训练样本进行分批处理,得到多组训练样本,然后,采用批处理mini-batch的方式对多任务神经网络进行训练。
因此,在本公开实施例中,针对每个批处理来说,如果确定出每个任务的损失函数值收敛至预设的阈值,或者,多任务神经网络的网络参数的调整次数达到预设的次数,则结束当前批处理,并更新下一批训练样本,从而进入到下一个批处理过程中。
在本公开实施例中,在按照上述所描述的方式训练得到多任务神经网络之后,就可以获取待处理图像;然后,采用经过训练后的多任务神经网络对所述待处理图像进行分类,得到图像的图像处理结果,其中,所述图像处理结果中包含每个所述任务的图像处理结果。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与多任务神经网络的训练方法对应的多任务神经网络的训练装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述多任务神经网络的训练方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图4所示,为本公开实施例提供的一种多任务神经网络的训练装置的示意图,所述装置包括:获取单元41、第一确定单元42、构建单元43、求解单元44、第二确定单元45;其中,
获取单元41,用于获取训练样本,并通过多任务神经网络对所述训练样本进行处理,得到每个任务的预测结果;所述多任务包括:目标任务和辅助任务;
第一确定单元42,用于根据所述每个任务的预测结果确定所述每个任务的损失函数;
构建单元43,用于基于所述损失函数的梯度和预设的待优化变量构建多目标梯度优化模型;
求解单元44,用于对所述多目标梯度优化模型进行求解,得到所述待优化变量的优化结果;所述优化结果包括:每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值;所述方向修正参数用于表征所述目标任务的训练优先程度;
第二确定单元45,用于基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值,确定所述多任务神经网络的共享参数。
在本公开实施例中,通过确定每个任务的权重值可以根据该权重值确定每个任务的学习偏向性,其中,该学习偏向性可以用于描述目标任务和辅助任务的训练速度。因此,可以通过确定每个任务的权重值来实现有偏好的对目标任务和辅助任务进行学习。同时,在本公开实施例中,通过确定目标任务的梯度下降方向的方向修正参数的参数值,可以在训练过程中目标任务和辅助任务不产生冲突的情况下,更偏向于对目标任务进行训练,从而进一步实现有偏好的对目标任务和辅助任务进行学习。通过设置有偏好的对目标任务和辅助任务进行学习可以促进目标任务的学习,提高多任务神经网络中目标任务的学习效果。
一种可能的实施方式中,求解单元44,用于:基于目标约束条件,对所述目标函数进行多目标求解,得到帕雷托解;根据所述帕雷托解确定每个任务的权重值和目标任务的梯度的下降方向的方向修正参数的参数值。
一种可能的实施方式中,所述多目标梯度优化模型包括:目标函数和目标约束条件,所述目标函数包括:第一函数和第二函数,其中,所述第一函数用于表征每个任务的梯度和权重值的加权和,所述第二函数用于表征目标任务相对于辅助任务的梯度下降方向的修正方向;所述目标约束条件中包括以下约束参数:每个任务的权重参数和目标任务的梯度下降方向的方向修正参数。
一种可能的实施方式中,所述目标约束条件包括:所述辅助任务的权重参数αj满足:0≤αj≤C1;所述方向修正参数βij满足:0≤βij≤C2,且
Figure BDA0002905500090000221
其中,αj表示第j个辅助任务的权重参数,βij表示第i个目标任务相对于第j个辅助任务的梯度的下降方向的方向修正参数,Lp表示辅助任务的任务索引集合,C1表示预设特权参数,C2表示目标任务的训练优先级参数,其中,C∈(0,1),所述预设特权参数用于表征所述目标任务和所述辅助任务的训练优先级。
一种可能的实施方式中,求解单元44,还用于:基于所述目标约束条件中所述待优化变量的约束表达方式,将所述目标函数分解为多个子函数;通过坐标下降算法对所述每个子函数中的所述待优化变量进行求解,得到每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值。
一种可能的实施方式中,所述多个子函数包括:第一子函数和第二子函数,其中,所述第一子函数为基于每个所述任务的权重参数和目标半正定矩阵确定的函数,所述第二子函数为基于所述方向修正参数和所述目标半正定矩阵确定的函数,所述目标半正定矩阵为根据目标函数确定出的半正定矩阵。。
一种可能的实施方式中,第二确定单元45,还用于:基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数,确定所述目标任务的修正梯度下降方向;基于所述多个任务的初始共享参数和所述修正梯度下降方向更新所述多任务神经网络的共享参数。
一种可能的实施方式中,该装置还用于:获取待处理图像;采用经过训练后的多任务神经网络对所述待处理图像进行分类,得到图像的图像处理结果,其中,所述图像处理结果中包含每个所述任务的图像处理结果。
一种可选的实施方式中,所述多任务神经网络中的每个任务的处理对象为输入至所述多任务神经网络中的待处理的图像数据。
对应于图1中的多任务神经网络的训练方法,本公开实施例还提供了一种电子设备500,如图5所示,为本公开实施例提供的电子设备500结构示意图,包括:
处理器51、存储器52、和总线53;存储器52用于存储执行指令,包括内存521和外部存储器522;这里的内存521也称内存储器,用于暂时存放处理器51中的运算数据,以及与硬盘等外部存储器522交换的数据,处理器51通过内存521与外部存储器522进行数据交换,当所述电子设备500运行时,所述处理器51与所述存储器52之间通过总线53通信,使得所述处理器51执行以下指令:
获取训练样本,并通过多任务神经网络对所述训练样本进行处理,得到每个任务的预测结果;其中,所述多任务包括:目标任务和辅助任务;根据所述每个任务的预测结果确定所述每个任务的损失函数,并基于所述损失函数的梯度和预设的待优化变量构建多目标梯度优化模型;对所述多目标梯度优化模型进行求解,得到所述待优化变量的优化结果;所述优化结果包括:每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值;所述方向修正参数用于表征所述目标任务的训练优先程度;基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值,确定所述多任务神经网络的共享参数。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的多任务神经网络的训练方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的的训练方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (11)

1.一种多任务神经网络的训练方法,其特征在于,包括:
获取训练样本,并通过多任务神经网络对所述训练样本进行处理,得到每个任务的预测结果;其中,所述多任务包括:目标任务和辅助任务;其中,所述多任务神经网络中的每个任务的处理对象为输入至所述多任务神经网络中的待处理的图像数据,所述目标任务包括人脸检测和人脸识别中的一个,所述辅助任务包括人脸检测和人脸识别中的另一个;
根据所述每个任务的预测结果确定所述每个任务的损失函数,并基于所述损失函数的梯度和预设的待优化变量构建多目标梯度优化模型;
对所述多目标梯度优化模型进行求解,得到所述待优化变量的优化结果;所述优化结果包括:每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值;所述方向修正参数用于表征所述目标任务的训练优先程度;每个所述任务的权重值可以用于指示目标任务和/或辅助任务的训练优先级,所述训练优先级用于指示所述目标任务和辅助任务的损失函数的收敛速度;
基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值,确定所述多任务神经网络的共享参数;
采用经过多轮共享参数确定的所述多任务神经网络对待处理图像进行同步的人脸检测和人脸识别,得到所述待处理图像的人脸检测结果和人脸识别结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述多目标梯度优化模型进行求解,得到所述待优化变量的优化结果,包括:
基于目标约束条件,对目标函数进行多目标求解,得到帕雷托解;
根据所述帕雷托解确定每个任务的权重值和目标任务的梯度的下降方向的方向修正参数的参数值。
3.根据权利要求1或2所述的方法,其特征在于,所述多目标梯度优化模型包括:目标函数和目标约束条件;
所述目标函数包括:第一函数和第二函数,其中,所述第一函数用于表征每个任务的梯度和权重值的加权和,所述第二函数用于表征目标任务相对于辅助任务的梯度下降方向的修正方向;
所述目标约束条件中包括以下约束参数:每个任务的权重参数和目标任务的梯度下降方向的方向修正参数。
4.根据权利要求3所述的方法,其特征在于,所述目标约束条件包括:
所述辅助任务的权重参数αj满足:0≤αj≤C1;所述方向修正参数βij满足:0≤βij≤C2,且
Figure FDA0004001213880000021
其中,αj表示第j个辅助任务的权重参数,βij表示第i个目标任务相对于第j个辅助任务的梯度的下降方向的方向修正参数,Lp表示辅助任务的任务索引集合,C1表示预设特权参数,C2表示目标任务的训练优先级参数,其中,C∈(0,1),所述预设特权参数用于表征所述目标任务和所述辅助任务的训练优先级。
5.根据权利要求3所述的方法,其特征在于,所述对所述多目标梯度优化模型进行求解,得到所述待优化变量的优化结果,包括:
基于所述目标约束条件中所述待优化变量的约束表达方式,将所述目标函数分解为多个子函数;
通过坐标下降算法对每个子函数中的所述待优化变量进行求解,得到每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值。
6.根据权利要求5所述的方法,其特征在于,所述多个子函数包括:第一子函数和第二子函数,其中,所述第一子函数为基于每个所述任务的权重参数和目标半正定矩阵确定的函数,所述第二子函数为基于所述方向修正参数和所述目标半正定矩阵确定的函数,所述目标半正定矩阵为根据目标函数确定出的半正定矩阵。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值,确定所述多任务神经网络的共享参数,包括:
基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数,确定所述目标任务的修正梯度下降方向;
基于所述多任务的初始共享参数和所述修正梯度下降方向更新所述多任务神经网络的共享参数。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
获取待处理图像;
采用经过训练后的多任务神经网络对所述待处理图像进行分类,得到图像的图像处理结果,其中,所述图像处理结果中包含每个所述任务的图像处理结果。
9.一种多任务神经网络的训练装置,其特征在于,包括:
获取单元,用于获取训练样本,并通过多任务神经网络对所述训练样本进行处理,得到每个任务的预测结果;其中,所述多任务包括:目标任务和辅助任务;其中,所述多任务神经网络中的每个任务的处理对象为输入至所述多任务神经网络中的待处理的图像数据,所述目标任务包括人脸检测和人脸识别中的一个,所述辅助任务包括人脸检测和人脸识别中的另一个;
第一确定单元,用于根据所述每个任务的预测结果确定所述每个任务的损失函数;
构建单元,用于基于所述损失函数的梯度和预设的待优化变量构建多目标梯度优化模型;
求解单元,用于对所述多目标梯度优化模型进行求解,得到所述待优化变量的优化结果;所述优化结果包括:每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值;所述方向修正参数用于表征所述目标任务的训练优先程度;每个所述任务的权重值可以用于指示目标任务和/或辅助任务的训练优先级,所述训练优先级用于指示所述目标任务和辅助任务的损失函数的收敛速度;
第二确定单元,用于基于每个任务的权重值和目标任务的梯度下降方向的方向修正参数的参数值,确定所述多任务神经网络的共享参数,并采用经过多轮共享参数确定的所述多任务神经网络对待处理图像进行同步的人脸检测和人脸识别,得到所述待处理图像的人脸检测结果和人脸识别结果。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至8任一所述的多任务神经网络的训练方法的步骤。
11.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至8任一所述的多任务神经网络的训练方法的步骤。
CN202110069465.2A 2021-01-19 2021-01-19 多任务神经网络的训练方法、装置、电子设备及存储介质 Active CN112766493B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110069465.2A CN112766493B (zh) 2021-01-19 2021-01-19 多任务神经网络的训练方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110069465.2A CN112766493B (zh) 2021-01-19 2021-01-19 多任务神经网络的训练方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112766493A CN112766493A (zh) 2021-05-07
CN112766493B true CN112766493B (zh) 2023-04-07

Family

ID=75703208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110069465.2A Active CN112766493B (zh) 2021-01-19 2021-01-19 多任务神经网络的训练方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112766493B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113506270B (zh) * 2021-07-13 2022-04-12 北京建筑大学 一种处理下腔静脉图像的方法、系统及存储介质
US11527074B1 (en) * 2021-11-24 2022-12-13 Continental Automotive Technologies GmbH Systems and methods for deep multi-task learning for embedded machine vision applications
CN114358409B (zh) * 2021-12-29 2024-11-05 希望知舟技术(深圳)有限公司 多目标优化结果的排序方法及相关装置
CN114494817A (zh) * 2022-01-26 2022-05-13 北京百度网讯科技有限公司 图像处理方法、模型训练方法、相关装置及电子设备
CN114860405B (zh) * 2022-05-17 2023-01-31 北京百度网讯科技有限公司 多任务模型的参数更新方法、装置和存储介质
WO2024103291A1 (zh) * 2022-11-16 2024-05-23 华为技术有限公司 一种联邦学习方法及通信装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117953A (zh) * 2018-09-11 2019-01-01 北京迈格威科技有限公司 网络参数训练方法和系统、服务器、客户端及存储介质
WO2019169816A1 (zh) * 2018-03-09 2019-09-12 中山大学 一种用于精细化识别车辆属性的深度神经网络及训练方法
CN110892418A (zh) * 2017-05-19 2020-03-17 渊慧科技有限公司 多任务神经网络系统
CN112183750A (zh) * 2020-11-05 2021-01-05 平安科技(深圳)有限公司 神经网络模型训练方法、装置、计算机设备及存储介质
CN112232407A (zh) * 2020-10-15 2021-01-15 杭州迪英加科技有限公司 病理图像样本的神经网络模型训练方法、装置
WO2021007812A1 (zh) * 2019-07-17 2021-01-21 深圳大学 一种深度神经网络超参数优化方法、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041545B2 (en) * 2005-04-28 2011-10-18 Vladimir Sevastyanov Gradient based methods for multi-objective optimization

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110892418A (zh) * 2017-05-19 2020-03-17 渊慧科技有限公司 多任务神经网络系统
WO2019169816A1 (zh) * 2018-03-09 2019-09-12 中山大学 一种用于精细化识别车辆属性的深度神经网络及训练方法
CN109117953A (zh) * 2018-09-11 2019-01-01 北京迈格威科技有限公司 网络参数训练方法和系统、服务器、客户端及存储介质
WO2021007812A1 (zh) * 2019-07-17 2021-01-21 深圳大学 一种深度神经网络超参数优化方法、电子设备及存储介质
CN112232407A (zh) * 2020-10-15 2021-01-15 杭州迪英加科技有限公司 病理图像样本的神经网络模型训练方法、装置
CN112183750A (zh) * 2020-11-05 2021-01-05 平安科技(深圳)有限公司 神经网络模型训练方法、装置、计算机设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Ozan Sener等.Multi-Task Learning as Multi-Objective Optimization.《arXiv》.2018,第1-15页. *
Zhao Chen等.GradNorm: Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks.《arXiv》.2018,第1-12页. *
丁我爱.梯度⼿术-多任务学习优化⽅法[NeurIPS 2020].《https://zhuanlan.zhihu.com/p/338553869》.2020,第1-12页. *
刘建军等.基于模型的多目标优化问题方法研究.《系统仿真学报》.2020,第2138-2145. *

Also Published As

Publication number Publication date
CN112766493A (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
CN112766493B (zh) 多任务神经网络的训练方法、装置、电子设备及存储介质
Zhan et al. A deep reinforcement learning based offloading game in edge computing
Muhuri et al. On arrival scheduling of real-time precedence constrained tasks on multi-processor systems using genetic algorithm
CN113705929B (zh) 一种基于负荷特征曲线及典型特征值融合的春节假期负荷预测方法
CN117153260B (zh) 基于对比学习的空间转录组数据聚类方法、装置及介质
CN115714820A (zh) 一种分布式的微服务调度优化方法
CN111343259B (zh) 基于二进制编码的云任务调度方法、服务器及存储介质
Liu et al. Quantum-inspired African vultures optimization algorithm with elite mutation strategy for production scheduling problems
Abbasi Yadkori et al. Near minimax optimal players for the finite-time 3-expert prediction problem
CN114675975B (zh) 一种基于强化学习的作业调度方法、装置及设备
CN112819157A (zh) 神经网络训练的方法及装置、智能行驶控制的方法及装置
Li et al. Global Opposition Learning and Diversity ENhancement based Differential Evolution with exponential crossover for numerical optimization
CN116257363A (zh) 资源调度方法、装置、设备及存储介质
CN118194917B (zh) 一种基于混合专家模型的语言模型改进结构的方法及系统
CN114064235A (zh) 多任务教与学优化方法、系统及设备
CN110867224B (zh) 用于大规模脑病历分割的多粒度Spark超信任模糊方法
CN117436627A (zh) 任务分配方法、装置、终端设备及介质
CN118313418A (zh) 神经网络模型训练方法及装置
CN111898752A (zh) 执行lstm神经网络运算的装置和方法
WO2022057459A1 (zh) 一种基于Tensorcore处理int4数据类型的方法、系统、设备及介质
Guan et al. HierRL: Hierarchical reinforcement learning for task scheduling in distributed systems
de Freitas Cunha et al. On the impact of MDP design for reinforcement learning agents in resource management
CN114489966A (zh) 一种作业调度方法及装置
CN113435519A (zh) 基于对抗插值的样本数据增强方法、装置、设备及介质
CN117435516B (zh) 一种测试用例优先级排序方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant