数据处理方法、电子设备、存储介质及计算机程序产品与流程

文档序号:32305245发布日期:2022-11-23 09:46阅读:60来源:国知局
数据处理方法、电子设备、存储介质及计算机程序产品与流程

1.本技术涉及机器学习领域,更具体地涉及一种数据处理方法、电子设备、存储介质及计算机程序产品。


背景技术:

2.近年来,神经网络被广泛应用于计算机科学、人工智能、信息科学、机器人学、分子生物学等领域。目前,基于神经网络的多任务迁移学习是一种现实需求非常大的发展方向。一种主流的多任务迁移学习方式是在大规模数据集上训练一个预训练网络模块,然后在各种下游任务上,基于该预训练网络模块进行微调。
3.在现有技术中,针对每个不同的下游任务,都重新对整个预训练网络模块的参数进行微调,这种方式会有较高的性能但同时带来了很大的训练和存储开销。从训练角度来说,在每个任务上都需要对整个网络的权重参数进行梯度更新,时间和能源开销很大。从存储角度来说,每个任务在微调之后都有不同的网络权重,存储代价也随着任务数量的增加而线性增加。
4.因此,亟需一种新的网络模块的迁移方案,以解决上述问题。


技术实现要素:

5.考虑到上述问题而提出了本技术。本技术提供了一种数据处理方法、电子设备、存储介质及计算机程序产品。
6.根据本技术一方面,提供了一种数据处理方法,包括:获取待处理数据,待处理数据包括图像数据或音频数据;将待处理数据输入与当前组任务相关的神经网络模型,以获得与待处理数据相对应的处理结果;其中,神经网络模型包括目标网络模块和至少一个自适应迁移模块,至少一个自适应迁移模块中的每一个连接在目标网络模块中的任意两个网络层之间,每个自适应迁移模块用于对前一网络层的输出特征进行与当前组任务相关的调整操作,每个自适应迁移模块的输出特征与前一网络层的输出特征的维度保持一致,且至少一个自适应迁移模块的参数数量少于目标网络模块的参数数量,至少一个自适应迁移模块基于与当前组任务相关的训练数据集进行训练获得。
7.示例性地,在任一自适应迁移模块中,执行以下操作:对前一网络层的输出特征进行残差映射,以获得残差特征,残差特征的维度与前一网络层的输出特征的维度一致;将残差特征与前一网络层的输出特征相加,以获得该自适应迁移模块的输出特征。
8.示例性地,对前一网络层的输出特征进行残差映射,以获得残差特征包括:对前一网络层的输出特征进行降维,以获得初始降维特征,初始降维特征的通道数少于前一网络层的输出特征的通道数;对通过初始降维特征进一步处理获得的新降维特征或初始降维特征进行升维,以获得残差特征。
9.示例性地,降维通过1
×
1卷积模块实现,升维通过1
×
1卷积模块实现。
10.示例性地,对通过初始降维特征进一步处理获得的新降维特征进行升维,以获得
残差特征包括:对降维特征进行归一化,以获得归一化特征;对归一化特征进行非线性变换,以获得新降维特征;对新降维特征进行升维,以获得残差特征。
11.示例性地,目标网络模块包括先后依次连接的底层特征模块和高层特征模块,底层特征模块中插入有至少一个自适应迁移模块,高层特征模块中插入有至少一个自适应迁移模块。
12.示例性地,当前组任务包括多种任务,神经网络模型包括特征提取模块和与多种任务一一对应的多个任务分支,每个任务分支包括一个或多个自适应迁移模块,将待处理数据输入与当前组任务相关的神经网络模型,以获得与待处理数据相对应的处理结果包括:将待处理数据输入特征提取模块,以获得提取特征;将提取特征分别输入多个任务分支,以获得与多种任务一一对应的处理结果。
13.示例性地,当前组任务包括多种任务,神经网络模型包括特征提取模块、与多种任务一一对应的多个任务分支和结果输出模块,每个任务分支包括一个或多个自适应迁移模块,将待处理数据输入与当前组任务相关的神经网络模型,以获得与待处理数据相对应的处理结果包括:将待处理数据输入特征提取模块,以获得提取特征;将提取特征分别输入多个任务分支,以获得多个任务分支分别输出的中间特征;将多个任务分支分别输出的中间特征输入结果输出模块,以获得结果输出模块输出的与多种任务一一对应的处理结果。
14.示例性地,方法还包括:获取与当前组任务相关的训练数据集,训练数据集包括训练数据和对应的标注数据,训练数据包括图像数据或音频数据;将训练数据输入神经网络模型,获得对应的预测结果;基于预测结果和标注数据,优化至少一个自适应迁移模块的参数,获得与当前组任务相关的神经网络模型。
15.示例性地,当前组任务包括多种任务,神经网络模型包括与多种任务一一对应的多个任务分支,每个任务分支包括一个或多个自适应迁移模块,获取与当前组任务相关的训练数据集包括:获取与多种任务中的任一目标任务相关的训练数据和标注数据;将训练数据输入神经网络模型,以获得对应的预测结果包括:将与目标任务相关的训练数据输入神经网络模型,以获得与目标任务相关的预测结果;基于预测结果和标注数据,优化神经网络模型中的参数包括:基于与目标任务相关的预测结果和与目标任务相关的标注数据,优化与目标任务相对应的任务分支中的自适应迁移模块的参数,其中,在优化过程中,与目标任务以外的任务相对应的任务分支中的自适应迁移模块的参数以及目标网络模块的参数固定。
16.根据本技术另一方面,提供了一种电子设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述数据处理方法。
17.根据本技术另一方面,提供了一种存储介质,在所述存储介质上存储了程序指令,所述计算机程序指令被所述处理器运行时用于执行上述数据处理方法。
18.根据本技术另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序指令被所述处理器运行时用于执行上述数据处理方法。
19.根据本技术实施例的数据处理方法、电子设备、存储介质及计算机程序产品,通过在目标网络模块中插入至少一个自适应迁移模块形成新的神经网络模型。自适应迁移模块的参数数量少,在将神经网络模型应用于任意下游任务的迁移学习时,可以仅学习自适应
迁移模块的参数。由此,通过插入自适应迁移模块所形成的新的神经网络模型,能够方便快速地迁移至各种下游任务,且这种神经网络模型在迁移学习时能够有效减少其需要学习的参数的量,进而能够有效减少训练和存储的开销。
附图说明
20.通过结合附图对本技术实施例进行更详细的描述,本技术的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本技术实施例的进一步理解,并且构成说明书的一部分,与本技术实施例一起用于解释本技术,并不构成对本技术的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
21.图1示出了用于实现根据本技术实施例的数据处理方法和装置的示例电子设备;
22.图2示出了根据本技术一个实施例的数据处理方法的示意性流程图;
23.图3示出了根据本技术一个实施例的神经网络模型的架构示意图;
24.图4示出了根据本技术一个实施例的自适应迁移模块的架构示意图;
25.图5示出了根据本技术一个实施例的数据处理装置的示意性框图;
26.图6示出了根据本技术一个实施例的电子设备的示意性框图。
具体实施方式
27.近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(artificial intelligence,ai)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用系统的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、活体检测、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、三维重建、虚拟现实、增强现实、同步定位与地图构建(slam)、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如安全防控、城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。
28.为了使得本技术的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本技术的示例实施例。显然,所描述的实施例仅仅是本技术的一部分实施例,而不是本技术的全部实施例,应理解,本技术不受这里描述的示例实施例的限制。基于本技术中描述的本技术实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本技术的保护范围之内。
29.为了解决上述问题,本技术实施例提供了一种数据处理方法。该方法采用新的神经网络模型进行数据处理,该新的网络模型通过在目标网络模块中加入自适应迁移模块形成。利用这样的神经网络模型,可以在针对任一下游任务进行迁移学习时,参数更新时可以只更新自适应迁移模块的参数。这样,将神经网络模型迁移到下游任务时增加的参数量比
较少,所需的训练和存储开销也都较少。根据本技术实施例的网络模型训练方法可以应用于任何需要神经网络模型的领域,包括但不限于目标识别、目标检测、图像分割、图像分类、语音识别等技术领域。
30.首先,参照图1来描述用于实现根据本技术实施例的数据处理方法和装置的示例电子设备100。
31.如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104。可选地,电子设备100还可以包括输入装置106、输出装置108、以及图像拍摄装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
32.所述处理器102可以采用数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、微处理器中的至少一种硬件形式来实现,所述处理器102可以是中央处理单元(cpu)、图像处理器(gpu)、专用的集成电路(asic)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
33.所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本技术实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
34.所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
35.所述输出装置108可以向外部(例如用户)输出各种信息(例如图像和/或声音),并且可以包括显示器、扬声器等中的一个或多个。可选地,所述输入装置106和所述输出装置108可以集成在一起,采用同一交互装置(例如触摸屏)实现。
36.所述图像拍摄装置110可以采集图像,并且将所采集的图像存储在所述存储装置104中以供其它组件使用。图像拍摄装置110可以是单独的相机或移动终端中的摄像头等。应当理解,图像拍摄装置110仅是示例,电子设备100可以不包括图像拍摄装置110。在这种情况下,可以利用其他具有图像采集能力的器件采集图像,并将采集的图像发送给电子设备100。
37.示例性地,用于实现根据本技术实施例的数据处理方法和装置的示例电子设备可以在诸如个人计算机、终端设备、考勤机、面板机、相机或远程服务器等的设备上实现。
38.图2示出了根据本技术一个实施例的数据处理方法200的示意性流程图。如图2所示,该网络模型训练方法200可以包括步骤s210和s220。
39.步骤s210,获取待处理数据,待处理数据包括图像数据或音频数据。
40.示例性地,在待处理数据包括音频数据的情况下,该音频数据可以是利用电子设
备的声音采集设备(例如麦克风)采集的语音,并通过模拟/数字转换电路进行转换,以将模拟信号即语音信号转换为电子设备能识别和处理的数字信号即音频。替代地,也可以通过数据传输技术自其他设备或存储介质获取其中预先存储的音频数据。在待处理数据包括图像数据的情况下,该图像数据可以是静态图像,也可以是动态视频中的任一视频帧。图像数据可以是图像采集装置(例如相机中的图像传感器)采集到的原始图像,也可以是对原始图像进行预处理(诸如数字化、归一化、平滑等)之后获得的图像。需注意,对原始图像的预处理可以包括从图像采集装置采集到的原始图像中提取包含目标对象的子图像进而获得待处理图像的操作。目标对象可以是任何物体,包括但不限于:字符、人或人体的一部分(诸如人脸)、动物、车辆、建筑物等。
41.步骤s220,将待处理数据输入与当前组任务相关的神经网络模型,以获得与待处理数据相对应的处理结果;其中,神经网络模型包括目标网络模块和至少一个自适应迁移模块,至少一个自适应迁移模块中的每一个连接在目标网络模块中的任意两个网络层之间,每个自适应迁移模块用于对前一网络层的输出特征进行与当前组任务相关的调整操作,每个自适应迁移模块的输出特征与前一网络层的输出特征的维度保持一致,且至少一个自适应迁移模块的参数数量少于目标网络模块的参数数量,至少一个自适应迁移模块基于与当前组任务相关的训练数据集进行训练获得。
42.神经网络模型可以包括目标网络模块和至少一个自适应迁移模块。目标网络模块可以是在大规模数据集(例如imagenet)上训练好的通用模型。目标网络模块可以用于任意下游任务的迁移学习。自适应迁移模块可以用于对前一网络层的输出特征进行与当前组任务相关的调整操作,进而使得神经网络模型能够迁移应用到当前组任务上。当前组任务可以包括一种或多种任务。示例性而非限制性地,当前组任务可以包括处理目标具有一定相似性或关联性的任务。例如,当前组任务可以都是图像处理任务,一个是目标检测,一个是图像分类,一个是实例分割等。
43.每个自适应迁移模块连接在目标网络模块中的任意两个网络层之间,每两个自适应迁移模块彼此不相邻。每个自适应迁移模块的输出特征与输入特征的维度保持一致。特征的维度可以包括特征的宽、高和通道数。输入特征和输出特征可以表示为h
×w×
c,其中,w表示宽,h表示高,且c表示通道数。例如,自适应迁移模块的输入特征的维度可以是256
×
256
×
512,则输出特征的维度也是256
×
256
×
512。可以理解,自适应迁移模块的输入特征也就是与该自适应迁移模块连接的前一网络层的输出特征。因此,自适应迁移模块的输出特征与前一网络层的输出特征的维度保持一致。由于自适应迁移模块的输入特征和输出特征的维度保持一致,因此使得该自适应迁移模块可以被添加在任意神经网络的任意网络层之后。因此,本文所述的自适应迁移模块是一种即插即用的模块,适用于任意现有的神经网络,可以达到迁移高效的效果。
44.至少一个自适应迁移模块的参数数量少于目标网络模块的参数数量。需注意,至少一个自适应迁移模块的参数数量指至少一个自适应迁移模块的总的参数数量。示例性地,至少一个自适应迁移模块的参数数量与目标网络模块的参数数量之间的差可以在目标差值内。目标差值可以根据需要设定为任意合适的值。例如,至少一个自适应迁移模块的参数数量可以是目标网络模块的参数数量的二分之一。本文所述的“参数”可以包括网络中的权重和/或偏置等。目标网络模块可以包括任意形式的网络层,例如,卷积层、池化层、归一
化层、激活函数层等中的一种或多种。自适应迁移模块前后连接的网络层也可以是任意形式的网络层,例如卷积层、池化层、归一化层或者激活函数层等。
45.图3示出根据本技术一个实施例的神经网络模型的架构示意图。在图3中,目标网络模块的网络层用实线框表示,自适应迁移模块(图3示出为自适应模块)用虚线框表示。此外,图3示出目标网络模块可以包括多个块(block),但是这仅是示例而非对本技术的限制。如图3所示,在目标网络模块的任意两个网络层(例如卷积层)之间,可以设置自适应迁移模块。目标网络模块和一个或多个自适应迁移模块可以组成整个神经网络模型。
46.使用本文提出的新的神经网络模型结构,由于加入自适应迁移模块,使得在迁移到下游任务时能够保持目标网络模块中的参数不变,只需要更新自适应迁移模块中的参数就能达到很好的迁移性能。这样每个新的下游任务带来的新增参数量和训练代价都比较少。
47.在上述技术方案中,在目标网络模块中插入至少一个自适应迁移模块。自适应迁移模块的参数数量少,在将目标网络模块应用于任意下游任务的迁移学习时,可以仅更新自适应迁移模块的参数,而无需更新目标网络模块的参数。由此,能够减少下游任务迁移学习时参数的计算量,进而有效减少训练和存储的开销。
48.示例性地,根据本技术实施例的数据处理方法可以在具有存储器和处理器的设备、装置或者系统中实现。
49.根据本技术实施例的数据处理方法可以部署在图像采集端处,例如,可以部署在个人终端或服务器端处。
50.替代地,根据本技术实施例的数据处理方法还可以分布地部署在服务器端(或云端)和个人终端处。例如,可以在客户端采集待处理数据,客户端将采集的数据传送给服务器端(或云端),由服务器端(或云端)进行数据处理。
51.根据本技术实施例,在任一自适应迁移模块中,执行以下操作:对前一网络层的输出特征进行残差映射,以获得残差特征,残差特征的维度与前一网络层的输出特征的维度一致;将残差特征与前一网络层的输出特征相加,以获得该自适应迁移模块的输出特征。
52.示例性地,每个自适应迁移模块可以是残差网络模块。残差网络模块可以包括残差模块和跳跃连接(shortcut)模块。其中,在任一自适应迁移模块中,可以执行以下操作:将前一网络层的输出特征输入该自适应迁移模块中的残差模块,以获得残差特征;将残差特征与该自适应迁移模块中的跳跃连接模块输出的前一网络层的输出特征相加,以获得该自适应迁移模块的输出特征。
53.残差模块可以用于对该模块的输入特征(即前一网络层的输出特征)进行残差映射,跳跃连接模块可以用于对该模块的输入特征(即前一网络层的输出特征)进行恒等映射。随后,可以在残差模块和跳跃连接模块的输出端将二者映射的结果进行叠加,获得自适应迁移模块的输出特征。
54.图4示出根据本技术一个实施例的自适应迁移模块的架构示意图。如图4所示,自适应迁移模块包括残差模块410和跳跃连接模块420。需注意,图4所示的残差模块410中包括的各种模块仅是示例而非对本技术的限制。例如,虽然图4示出两个1
×
1卷积模块,并通过这两个卷积模块进行降维和升维,但是这些卷积模块也可以替换为其他大小(例如3
×
3)的卷积模块。又例如,虽然图4示出归一化模块(bn)和非线性变换模块(relu),但是这些模
块也是可选的,自适应迁移模块也可以仅包括其中一者或两者都不包括,当然,还可以用其他合适的模块替换归一化模块和非线性变换模块。
55.在残差模块410中,无论经过何种处理,最终使得输出的残差特征保持与自适应迁移模块的输入特征的维度一致。而跳跃连接模块420可以将自适应迁移模块的输入特征跳跃连接至自适应迁移模块的输出端处,在此处将自适应迁移模块的输入特征与残差模块410输出的残差特征进行逐元素相加,获得自适应迁移模块的输出特征进行输出。
56.在上述技术方案中,自适应迁移模块利用残差网络模块,将其输入特征作用到输出端。这样,可以使得自适应迁移模块的输出端保留有前一网络层(即目标网络模块中的网络层)的输出特征,并在此基础上叠加对前一网络层的输出特征的调整部分。这样,在训练神经网络模型时,可以尽量保持目标网络模块的性能不变,通过尽量仅微调自适应迁移模块即可实现对整个神经网络模型的参数优化的目的。因此,这种方案可以减少神经网络模型训练的复杂性,提高神经网络模型训练的效率。
57.根据本技术实施例,对前一网络层的输出特征进行残差映射,以获得残差特征可以包括:对前一网络层的输出特征进行降维,以获得初始降维特征,初始降维特征的通道数少于前一网络层的输出特征的通道数;对通过初始降维特征进一步处理获得的新降维特征或初始降维特征进行升维,以获得残差特征。
58.示例性地,残差模块可以包括降维模块和升维模块。将前一网络层的输出特征输入该自适应迁移模块中的残差模块以获得残差特征可以包括以下步骤:将前一网络层的输出特征输入该自适应迁移模块中的降维模块,以获得初始降维特征;将新降维特征或初始降维特征输入该自适应迁移模块中的升维模块,以获得残差特征。
59.参见图4,示出降维模块和升维模块。
60.示例性地,任一自适应迁移模块的输入特征n的维度可以是56
×
56
×
256。将输入特征n输入自适应迁移模块的残差模块中之后,可以首先利用一个卷积模块将输入特征n进行降维处理,卷积模块可以包括1
×
1卷积核或者3
×
3卷积核等。例如,可以利用一个1
×
1卷积核,其中1
×
1卷积核的降维系数可以是k=16或32。如果取k=32,则降维处理后的降维特征n’的维度是56
×
56
×
8。
61.随后,可以将上述获得的降维特征n’输入该自适应迁移模块中的升维模块中,利用一个卷积模块对降维特征n’进行升维处理,卷积模块可以包括1
×
1卷积核或者3
×
3卷积核等。例如,可以利用一个1
×
1卷积核,其中1
×
1卷积核的升维系数k=32。升维处理后得到的残差特征n”的维度是56
×
56
×
256。
62.在上述技术方案中,将自适应迁移模块的输入特征进行降维处理后再进行升维处理,由此在保证输出特征与输入特征的维度保持一致的情况下,可以大大减少自适应迁移模块中的参数量,进而有助于进一步减少训练和推理(即将神经网络模型应用于实际的推理或说测试阶段)时的计算量,提高训练和推理的效率。
63.在一个具体实施例中,降维可以通过1
×
1卷积模块实现,升维可以通过1
×
1卷积模块实现。即,上述降维模块可以是1
×
1卷积模块,升维模块可以是1
×
1卷积模块。
64.示例性地,可以利用1
×
1卷积模块实现对输入特征的降维处理和升维处理。1
×
1卷积模块可以在实现对通道数的调整的同时使得感受野不变,即使得特征的尺寸保持不变,这有助于增强神经网络模型的表达能力。此外,与其他大小的卷积模块相比,1
×
1卷积
模块可以更大幅度地减少参数量。例如,采用传统的针对一个新的任务更新整个目标网络模块的参数的方法,每个特定任务的参数增加量为100%。而通过1
×
1卷积模块进行降维和升维之后,参数量可以降低到原来的大约2%。这使得基于自适应迁移模块进行训练的参数增加量与原来训练的参数增加量相比几乎可以忽略不计。
65.根据本技术实施例,对通过初始降维特征进一步处理获得的新降维特征进行升维,以获得残差特征可以包括:对初始降维特征进行归一化,以获得归一化特征;对归一化特征进行非线性变换,以获得新降维特征;对新降维特征进行升维,以获得残差特征。
66.示例性地,残差模块还可以包括归一化模块和非线性变换模块。将新降维特征或初始降维特征输入该自适应迁移模块中的升维模块以获得残差特征可以包括以下步骤:将初始降维特征输入该自适应迁移模块中的归一化模块,以获得归一化特征;将归一化特征输入该自适应迁移模块中的非线性变换模块,以获得新降维特征;将新降维特征输入该自适应迁移模块中的升维模块,以获得残差特征。
67.如上所述,残差模块中所包括的归一化模块和非线性变换模块均是可选的。并且,本技术并不局限于非线性变换,线性变换也可以实现本技术的目的。
68.示例性地,将初始降维特征输入该自适应迁移模块中的归一化模块,以对初始降维特征进行归一化处理。归一化方法可以包括(0,1)标准化,z-score标准化或者利用sigmoid函数实现。初始降维特征经过归一化处理后,获得归一化特征。
69.示例性地,将归一化特征输入该自适应迁移模块中的非线性变换模块,对归一化特征进行非线性变换处理。非线性变换模块可以利用relu激活函数等实现。归一化特征经过非线性变换处理后,获得新降维特征。
70.示例性地,将新降维特征输入升维模块,可以利用1
×
1卷积核或者3
×
3卷积核进行升维处理,升维后获得的残差特征与降维前的前一网络层的输出特征维度一致。通过加入非线性变换模块,可以增强自适应迁移模块的非线性变化能力,使得神经网络模型能够更好地适应各种不同的下游任务,在不同的下游任务中取得更好的性能。
71.下面描述神经网络模型的示例性训练方式。根据本技术实施例,方法200还可以包括:获取与当前组任务相关的训练数据集,训练数据集包括训练数据和对应的标注数据,训练数据包括图像数据或音频数据;将训练数据输入神经网络模型,获得对应的预测结果;基于预测结果和标注数据,优化至少一个自适应迁移模块的参数,获得与当前组任务相关的神经网络模型。在训练过程中,可以保持目标网络模块的参数固定,仅更新自适应迁移模块的参数。
72.训练数据与上述待处理数据的类型保持一致。标注数据(groundtruth)也可以称为标签,是神经网络模型训练所需的真值。标注数据具体的物理意义与神经网络模型所执行的任务相关。例如,如果神经网络模型应用于图像分类,则标注数据可以包括与训练数据中的每个图像相对应的真实图像分类结果。又例如,如果神经网络模型应用于图像分割,则标注数据可以包括与训练数据中的每个图像相对应的真实图像分割结果。又例如,如果神经网络模型应用于目标检测,则标注数据可以包括与训练数据中的每个图像相对应的真实目标检测结果。又例如,如果神经网络模型应用于语音识别,则标注数据可以包括与训练数据中的每段音频相对应的真实语音识别结果。本领域技术人员可以理解标注数据的含义和作用,本文不赘述。
73.示例性地,不同种类的训练数据输入神经网络模型可以得到不同的预测结果。同一训练数据所对应的预测结果和标注数据的物理意义是一致的。例如,如果神经网络模型应用于图像分类,则预测结果可以包括与训练数据中的每个图像相对应的预测图像分类结果。又例如,如果神经网络模型应用于图像分割,则预测结果可以包括与训练数据中的每个图像相对应的预测图像分割结果。真实图像分割结果和预测图像分割结果可以用分割遮罩(mask)表示。又例如,如果神经网络模型应用于目标检测,则预测结果可以包括与训练数据中的每个图像相对应的预测目标检测结果。真实目标检测结果和预测目标检测结果可以包括用于指示目标对象所在位置的边界框(bounding box)的坐标。
74.示例性地,可以基于上述预测结果和标注数据计算损失项,还可以基于损失项,通过反向传播与梯度下降算法优化自适应迁移模块的参数直至损失函数收敛。在优化的过程中,目标网络模块中的参数固定,即不参与优化。优化过程只更新自适应迁移模块的参数。
75.使用本文提出的自适应模块,在迁移到下游任务时可以只更新自适应迁移模块中的参数就能达到很好的迁移性能。这样每个新的下游任务带来的新增参数量和训练代价都比较少。
76.在一个实施例中,神经网络模型可以应用于单任务的处理。这种情况下,神经网络模型中的自适应迁移模块可以不做区分,均与同一任务相关联。因此,在训练神经网络模型时,可以使所有自适应迁移模块同步更新参数。此外,训练好神经网络模型之后,在利用该模型进行测试或说推理时,自适应迁移模块也可以不做区分,均参与针对同一任务的测试或推理,输出与该任务对应的处理结果。
77.在另一个实施例中,神经网络模型可以应用于多任务的处理。这进一步可以分为两种情况。第一种情况是多个任务具有各自独立的任务分支。第二种情况是多个任务不具有各自独立的任务分支,但是可以可选地具有各自独立的网络分支。需注意,本文所述的任务分支是包含与每个任务单独关联的自适应迁移模块的网络分支。对于虽然与每个任务单独关联但是不包含自适应迁移模块的网络分支,不属于任务分支。例如,神经网络模型用于图像分类和目标识别两个任务,前面的网络都是共享的,只是在最后分为两组全连接层,分别用于输出图像分类结果和目标识别结果,并且这两组全连接层中并不包含自适应迁移模块,则这两组全连接层不属于任务分支。第二种情况的神经网络模型所包含的自适应迁移模块属于为多个任务共享的,因此不需要基于不同任务分开训练,直接统一训练即可。
78.需注意,本文所述的任务分支可以进一步包含属于目标网络模块的一个或多个网络层。
79.以上描述的多任务处理的第一种情况由于具有与每个任务单独关联的自适应迁移模块,因此可以选择基于任务分开训练。下面描述针对多任务处理的第一种情况的训练方式。
80.示例性地,当前组任务包括多种任务,神经网络模型包括与多种任务一一对应的多个任务分支,每个任务分支包括一个或多个自适应迁移模块,获取与当前组任务相关的训练数据集可以包括:获取与多种任务中的任一目标任务相关的训练数据和标注数据;将训练数据输入神经网络模型,以获得对应的预测结果包括:将与目标任务相关的训练数据输入神经网络模型,以获得与目标任务相关的预测结果;基于预测结果和标注数据,优化神经网络模型中的参数包括:基于与目标任务相关的预测结果和与目标任务相关的标注数
据,优化与目标任务相对应的任务分支中的自适应迁移模块的参数,其中,在优化过程中,与目标任务以外的任务相对应的任务分支中的自适应迁移模块的参数以及目标网络模块的参数固定。
81.多种任务各自具有自己对应的任务分支,任一种任务的任务分支可以基于自己的训练数据训练,此时其他任务分支的自适应模块的参数不参与更新。
82.下面举例说明。示例性地,对于训练数据是车辆采集的图像的情况下,神经网络模型可以执行三种任务,例如,行人检测任务a、红绿灯识别任务b和车道线识别任务c,分别对应有任务分支a、任务分支b和任务分支c。在训练时,可以分别获取与每个任务对应的训练数据和标注数据。
83.在针对行人检测任务a进行训练时,可以利用其对应的训练数据和标注数据优化任务分支a中的自适应迁移模块的参数,同时任务分支a中的属于目标网络模块的网络层的参数、任务分支b中的所有参数、任务分支c中的所有参数以及神经网络模型中的其他属于目标网络模块的网络层的参数均可以保持固定不变。上述神经网络模型中的其他属于目标网络模块的网络层可以是被行人检测任务a、红绿灯识别任务b和车道线识别任务c共享的模块中的属于神经网络模型的参数。
84.类似地,在针对红绿灯识别任务b进行训练时,可以利用其对应的训练数据和标注数据优化任务分支b中的自适应迁移模块的参数,同时任务分支b中的属于目标网络模块的网络层的参数、任务分支a中的所有参数、任务分支c中的所有参数以及神经网络模型中的其他属于目标网络模块的网络层的参数均可以保持固定不变。
85.类似地,在针对车道线识别任务c进行训练时,可以利用其对应的训练数据和标注数据优化任务分支c中的自适应迁移模块的参数,同时任务分支c中的属于目标网络模块的网络层的参数、任务分支a中的所有参数、任务分支b中的所有参数以及神经网络模型中的其他属于目标网络模块的网络层的参数均可以保持固定不变。
86.在将训练好的神经网络模型应用在测试或推理阶段时,对于同一张输入图像,可以通过上述三个任务分支并结合其他网络部分共同处理后得到针对上述三个任务的处理结果。
87.针对不同的任务进行任务分支的独立训练,使得神经网络模型针对多任务具有更有针对性和适应性的处理能力,有助于获得更高效准确的模型。
88.示例性地,神经网络模型还包括在多个任务分支之前和/或之后与多个任务分支共同连接的至少一个共享的特征提取模块(简称共享模块),每个共享模块包括一个或多个自适应迁移模块,在优化与目标任务相对应的任务分支中的自适应迁移模块的参数的过程中,可以同步更新至少一个共享模块中的自适应迁移模块的参数。
89.每个共享模块可以包括一个或多个自适应迁移模块。此外,示例性而非限制性地,每个共享模块可以包括属于目标网络模块的至少一个网络层。
90.在一个示例中,在多个任务分支之前设置有共享模块。在另一个示例中,在多个任务分支之后设置有共享模块。在又一个示例中,在多个任务分支之前和之后分别设置有共享模块。共享模块用于提取多个任务的共享特征。
91.沿用以上交通识别场景的示例,假设包括行人检测任务、红绿灯识别任务b,车道线识别任务c。神经网络模型可以包括共享模块,车辆采集的图像输入神经网络模型之后可
以首先在该共享模块中提取共享特征,随后可以输入三个任务分支a、b和c中分别进行处理,获得对应的处理结果。
92.共享模块中包括自适应迁移模块,在更新任务分支a中的自适应迁移模块的参数过程中,可以同步更新共享模块中的自适应迁移模块的参数。同理地,在更新任务分支b和任务分支c中的自适应迁移模块的参数过程中,也可以同步更新共享模块中的自适应迁移模块的参数。
93.在上述技术方案中,在神经网络模型处理多任务时,共享模块可以包括占据绝大部分计算量的骨干网络模型,由此,自适应迁移模块能够减少参数量,并且减少推理时间,多个计算量很小的自适应模块可以随着任务数增加而线性增加,以适应不同任务的特性。
94.示例性地,目标网络模块包括先后依次连接的底层特征模块和高层特征模块,底层特征模块中插入有至少一个自适应迁移模块,高层特征模块中插入有至少一个自适应迁移模块。底层特征模块包括目标网络模块中的靠前的第一数目的网络层,高层特征模块包括目标网络模块中的靠后的第二数目的网络层。底层特征模块和高层特征模块如何划分可以根据需要设定。
95.通过在底层特征模块和高层特征模块中分别插入自适应迁移模块,可以保留各个不同深度的层的学习能力,即使得底层特征和高层特征面对特定任务时都能进行自适应的更新,以保证神经网络模型在迁移学习时针对不同的下游任务均能够取得好的性能。
96.下面以目标网络模块为resnet-50模型为例说明神经网络模型的一种示例性处理流程。例如,将一张输入图像x输入resnet-50模型之后,首先可以得到经过原来模型处理的中间特征f(x)。例如,对于224
×
224大小的输入图像,在经过resnet-50的第二个级(stage)处理后的特征f(x)维度为56
×
56
×
256,即h=w=56,c=256。自适应迁移模块可以作用在中间特征f(x)上,首先利用1x1大小的卷积核将特征进行降维得到56
×
56
×
8的张量(k=32),随后经过归一化和非线性之后,再利用一个1x1大小的卷积核进行升维,得到和f(x)相同维度的向量g(f(x)),其中g(.)表示自适应的进行非线性变换的过程。随后,可以利用残差连接的技术得到自适应迁移模块处理后的中间输出f(x)+g(f(x))。可以看出,自适应迁移模块不会改变中间特征的维度,可以被原来resnet-50模型的后续模块继续进行处理。例如,经过自适应迁移模块处理后的维度为56
×
56
×
256的中间特征可以被继续送到原来模型的第三个stage继续处理。总结来说,自适应迁移模块可以高效地对任意维度的中间特征进行处理,并且不会改变原始网络之前和之后的数据处理流程。
97.根据本技术实施例,当前组任务包括多种任务,神经网络模型包括特征提取模块和与多种任务一一对应的多个任务分支,每个任务分支包括一个或多个自适应迁移模块,将待处理数据输入与当前组任务相关的神经网络模型,以获得与待处理数据相对应的处理结果包括:将待处理数据输入特征提取模块,以获得提取特征;将提取特征分别输入多个任务分支,以获得与多种任务一一对应的处理结果。
98.此处的特征提取模块是为多个任务分支共享的,可以称为共享模块(参见上述共享模块)。示例性地,神经网络模型包括第一共享模块和与多种任务一一对应的多个任务分支,每个任务分支包括一个或多个自适应迁移模块。将待处理数据输入与当前组任务相关的神经网络模型,以获得与待处理数据相对应的处理结果可以包括以下步骤:待处理数据输入第一共享模块,以获得共享特征(即上述提取特征);将共享特征分别输入多个任务分
支,以获得与多种任务一一对应的处理结果。
99.示例性地,第一共享模块可以包括自适应迁移模块,也可以不包括自适应迁移模块。沿用上述交通识别场景的示例,其中包括行人检测任务a,红绿灯识别任务b,车道线识别任务c。将待处理的三个任务的待处理数据输入第一共享模块m1,可以获得任务a、任务b和任务c的共享特征q。
100.示例性地,第一共享模块m1后可以连接三个任务分支,分别用于执行对应的任务,即任务分支a执行任务a,任务分支b执行任务b,并且任务分支c执行任务c。将共享特征q输入任务分支a,经过任务分支a中的自适应迁移模块ma的降维升维处理,以及其他网络层的处理,最终得到输出特征qa。将共享特征q输入任务分支b,经过任务分支b中的自适应迁移模块mb的降维升维处理,以及其他网络层的处理,最终得到输出特征qb。同理地,将共享特征q输入任务分支c,经过任务分支模块c中的自适应迁移模块mc的降维升维处理,以及其他网络层的处理,最终得到输出特征qc。在一个示例中,输出特征qa、输出特征qb、输出特征qc可以是各任务对应的最终处理结果,即分别为行人检测结果、红绿灯识别结果和车道线识别结果。在另一个示例中,输出特征qa、输出特征qb、输出特征qc可以是各任务对应的中间特征,这些中间特征可以进一步输入后续的共享模块进行处理,以获得各个任务的最终处理结果。
101.在上述技术方案中,将通过共享模块获得的共享特征输入任务分支中,以获得与任务分支一一对应的处理结果,由此,能够减少参数量的计算,提高网络模型的性能。
102.根据本技术实施例,当前组任务包括多种任务,神经网络模型包括特征提取模块、与多种任务一一对应的多个任务分支和结果输出模块,每个任务分支包括一个或多个自适应迁移模块,将待处理数据输入与当前组任务相关的神经网络模型,以获得与待处理数据相对应的处理结果包括:将待处理数据输入特征提取模块,以获得提取特征;将提取特征分别输入多个任务分支,以获得多个任务分支分别输出的中间特征;将多个任务分支分别输出的中间特征输入结果输出模块,以获得结果输出模块输出的与多种任务一一对应的处理结果。
103.示例性地,除上述第一共享模块以外,神经网络模型还可以包括第二共享模块(即结果输出模块),将待处理数据输入与当前组任务相关的神经网络模型,以获得与待处理数据相对应的处理结果可以包括:待处理数据输入第一共享模块,以获得共享特征;将共享特征分别输入多个任务分支,以获得多个任务分支分别输出的中间特征;将多个任务分支分别输出的中间特征输入第二共享模块,以获得第二共享模块输出的与多种任务一一对应的处理结果。
104.如上所述,输出特征qa、输出特征qb、输出特征qc可以是各任务对应的中间特征,这些中间特征可以进一步输入后续的共享模块进行处理,以获得各个任务的最终处理结果。
105.在处理多任务时,本文描述的自适应模块的优势会进一步凸显。除了上面提到的减少参数量以外,还能够减少推理时间。因为在处理多个不同的任务时,可以用共享模块实现占据绝大部分计算量的骨干网络,这些共享模块只需要被前向一次,因此整个网络的计算量大大减少。
106.根据本技术另一方面,提供一种数据处理装置。图5示出了根据本技术一个实施例的数据处理装置500的示意性框图。
107.如图5所示,根据本技术实施例的数据处理装置500包括获取模块510和输入模块520。各个模块可分别执行上文中结合图2-4描述的数据处理方法的各个步骤/功能。以下仅对该数据处理装置500的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
108.获取模块510用于获取待处理数据,待处理数据包括图像数据或音频数据。获取模块510可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
109.输入模块520用于将待处理数据输入与当前组任务相关的神经网络模型,以获得与待处理数据相对应的处理结果;其中,神经网络模型包括目标网络模块和至少一个自适应迁移模块,至少一个自适应迁移模块中的每一个连接在目标网络模块中的任意两个网络层之间,每个自适应迁移模块用于对前一网络层的输出特征进行与当前组任务相关的调整操作,每个自适应迁移模块的输出特征与前一网络层的输出特征的维度保持一致,且至少一个自适应迁移模块的参数数量少于目标网络模块的参数数量,至少一个自适应迁移模块基于与当前组任务相关的训练数据集进行训练获得。输入模块520可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
110.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
111.根据本技术的另一方面,还提供了一种电子设备,图6示出了根据本技术一个实施例的电子设备600的示意性框图。如图6所示,电子设备600可以包括处理器610和存储器620。其中,存储器620中存储有计算机程序指令,计算机程序指令被处理器610运行时用于执行如上所述的数据处理方法200。
112.此外,根据本技术的又一方面,还提供了一种存储介质,在存储介质上存储了程序指令。程序指令在运行时用于执行如上所述的数据处理方法200。存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。
113.根据本技术的再一方面,还提供了一种计算机程序产品。计算机程序产品包括计算机程序。计算机程序在运行时用于执行如上所述的数据处理方法200。
114.尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本技术的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本技术的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本技术的范围之内。
115.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
116.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
117.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
118.类似地,应当理解,为了精简本技术并帮助理解各个申请方面中的一个或多个,在对本技术的示例性实施例的描述中,本技术的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本技术的方法解释成反映如下意图:即所要求保护的本技术要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本技术的单独实施例。
119.本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
120.此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
121.本技术的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本技术实施例的数据处理装置中的一些模块的一些或者全部功能。本技术还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本技术的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
122.应该注意的是上述实施例对本技术进行说明而不是对本技术进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本技术可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
123.以上,仅为本技术的具体实施方式或对具体实施方式的说明,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到
变化或替换,都应涵盖在本技术的保护范围之内。本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1