本技术实施例涉及人工智能领域,尤其涉及一种模型预训练方法和相关设备。
背景技术:
1、随着人工智能(ai)技术的不断发展,深度学习技术在计算机视觉领域的图像分类、目标检测、图像分割等各种视觉任务上取得了重大的革新与进步。预训练技术使得视觉表征模型可以通过无标签的图像数据进行自监督表征学习,提升表征能力。
2、一种预训练的方法中采用了基于对比学习的自监督方法,重点学习图像中的高响应特征(例如图像中的物体轮廓等),通过对输入图像进行多种数据增强操作,使得原图得到的特征与增强操作之后得到的特征空间距离相近,不同图像得到的特征距离更远,以让预训练模型学习到对于同一图像在空间变换的情况下所具备的特征不变性,并区分不同图像对应的特征。
3、在这种方法中,模型所学习的重点是高响应特征,也就是说在不同变换下关注这种特征,但是对于图像的细节部分的视觉属性存在忽视,导致预训练模型的精确度不高,在下游任务的表现上一般。
技术实现思路
1、本技术实施例提供了一种模型预训练方法和相关设备,在模型预训练方法中,通过多个层级的特征提取网络,获取多组尺度不同的输出特征。之后将本层的输出特征与上一层的输出特征进行处理,得到上一层级对应的聚合特征。也就是说,本技术实施例中,通过特征聚合,得到待处理图像对应的多尺度聚合特征,聚合特征包括了多个尺度的丰富的语义信息,能够提高预训练模型的精确度,进一步提升模型在下游任务的表现。
2、本技术实施例第一方面提供了一种模型预训练方法,包括:
3、通过n个层级的特征提取网络对待处理图像进行处理,得到待处理图像对应的n组不同尺度的输出特征,n≥2,且n为整数。每个层级的特征提取网络都与之对应的该层级的输出特征。一个层级的特征提取网络对应一个尺度,不同层级的特征提取网络对应不同的尺度。然后对第m层级的输出特征和第m-1层级的输出特征进行处理,得到第m-1层级的聚合特征,m-1层级的聚合特征与第m-1层级的输出特征尺度相同,2≤m≤n,且m为整数。其中,第m层级的输出特征对应于第m层级的特征提取网络。再通过第m-1层级的解码器网络处理第m-1层级的聚合特征,得到第m-1层级的解码结果。重复上述处理过程,以对模型进行迭代训练,更新特征提取网络的参数和解码器网络的参数,直至模型收敛或达到预设的迭代次数。其中,模型收敛或达到预设的迭代次数可以认为是对模型完成了预训练的过程。可以理解的是,基于上述训练过程,得到的模型可以称为预训练模型。
4、从以上技术方案可以看出,本技术实施例具有以下优点:
5、通过多个层级的特征提取网络,获取多组尺度不同的输出特征。之后将本层的输出特征与上一层的输出特征进行处理,得到上一层级对应的聚合特征。也就是说,本技术实施例中,通过特征聚合,得到待处理图像对应的多尺度的聚合特征,聚合特征包括了多个尺度的丰富的语义信息,能够提高预训练模型的精确度,从而进一步提升模型在下游任务的表现。
6、在第一方面的一种可能的实现方式中,处理第m层级的输出特征和第m-1层级的输出特征,得到第m-1层级的聚合特征,包括:通过至少一个逐通道多层感知机(channelmultilayer perceptron,cmlp)对第m层级的输出特征进行上采样,得到第m层级的中间特征,第m层级的中间特征与第m-1层级的输出特征尺度相同。然后合并第m层级的中间特征和第m-1层的输出特征,得到第m-1层级的目标特征,再对第m-1层级的目标特征添加掩码,得到第m-1层级的聚合特征。也就是说,第m-1层级的聚合特征与第m-1层级的输出特征的尺度相同,且聚合特征包括了掩码。换言之,如果将对下一层级的输出特征进行上采样并与本层级的输出特征合并得到目标特征的操作认为是特征金字塔结构的操作,那么本技术实施例提供的预训练模型除了包括n个层级不同的特征提取网络(也可以称为主干网络)之外,还包括特征金字塔模块,特征金字塔模块用于获取不同层级的目标特征。
7、本技术实施例中,通过对本层级的下一层级的输出进行上采样再与本层级的输出特征合并,得到综合了不同层级的输出特征的目标特征。再对目标特征增加掩码,利用图像对机器视觉表征模型进行掩码部分的语义监督,可以完成视觉表征模型的自监督学习,使得模型的语义表征能力更好。
8、在第一方面的一种可能的实现方式中,通过n个层级的特征提取网络,获取待处理图像对应的n组不同尺度的输出特征,包括:将待处理图像输入至第一层级的特征提取网络,通过第一层级的特征提取网络,对待处理图像进行像素块划分,得到待处理图像对应的第一尺度的输出特征。对于第二层级至第n层级的特征提取网络而言,输入至特征提取网络时是上一层级特征提取网络的输出特征。具体来说,可以是通过第x层级的特征提取网络,对第x-1层级的输出特征进行像素块合并,得到待处理图像对应的第x尺度的输出特征,第x尺度的输出特征对应的像素块尺寸大于第x-1尺度的输出特征对应的像素块尺寸,2≤x≤n。也就是说,越往后的特征提取网络所对应的输出特征的像素块的尺寸越大。
9、本技术实施例中,通过n个层级不同的特征提取网络,从初始尺度对待处理图像进行特征提取,并降采样至下一尺度,不断操作得到n个尺度的输出特征。为后续的特征聚合提供了基础,也即提升了本技术技术方案的可实现性。
10、在第一方面的一种可能的实现方式中,特征提取网络包括至少一个逐通道多层感知机,或者,至少一组多头自注意力层(multi-headed self-attention,msa)和前馈自编码器(feed-forward autoencoder,ffa)层。
11、本技术实施例中,特征提取网络有多种类型,各个特征提取网络所包括的神经网络的类型和/或数量,可以相同也可以不同,丰富了申请技术方案的实现方式和应用场景,进一步提升了本技术的灵活性。
12、在第一方面的一种可能的实现方式中,第m-1层级的解码器网络包括像素线性层,第m-1层级的解码结果包括第m-1层级的像素图。
13、在第一方面的一种可能的实现方式中,第m-1层级的解码器网络还包括特征线性层,第m-1层级的解码结果还包括第m-1层级的特征图。
14、本技术实施例中,解码器网络所包括的线性层有多种可能,通过不同的线性层能够得到不同类型的输出图像,丰富了本技术技术方案的实现方式。另外,在解码器网络包括像素线性层和特征线性层的情况下,能够在特征层面进行监督,在语义表现上效果更好。也就是说,能够对模型进行更好的监督,使得预训练模型的效果更好。
15、在第一方面的一种可能的实现方式中,在对模型进行迭代训练之前,方法还包括:对第n层级的输出特征添加掩码,得到第n层级的中间特征;通过第n层级的解码器网络处理第n层级的中间特征,得到第n层级的解码结果。可选的,第n层级的解码器网络既可以包括像素线性层,也可以包括像素线性层和特征线性层。如果第n层级的解码器网络包括像素线性层,那么第n层级的解码结果包括第n层级的像素图。如果第n层级的解码器网络包括像素线性层和特征线性层,那么第n层级的解码结果包括第n层级的像素图和特征图。
16、本技术实施例中,能够得到第一层级至第n层级中每个层级对应的解码结果,丰富了输出结果。
17、在第一方面的一种可能的实现方式中,在对模型进行迭代训练之前,方法还包括基于损失函数对解码器网络和特征提取网络进行监督。基于第m层级的损失函数,监督第m层级的解码器网络和第m层级的特征提取网络,第m层级的损失函数是根据第m层级的输出特征和第m层级对应的掩码像素确定的。其中,损失函数指示的是解码结果与真值的相似度。第m层级对应的掩码像素是指,对第m层级的输出特征所添加的掩码像素。
18、在第一方面的一种可能的实现方式中,在对模型进行迭代训练之前,方法还包括基于第一层级的损失函数,监督第一层级的解码器网络和第一层级的特征提取网络,第一层级的损失函数是根据第一层级的输出特征和第一层级对应的掩码像素确定的。
19、本技术实施例中,特征金字塔模块用于对下一层级的输出特征进行上采样并与本层级的输出特征合并得到目标特征。对目标特征添加掩码后输入至解码器网络。对解码器网络进行监督所采用的损失函数利用了输出特征和掩码像素,输出特征和掩码像素又与特征金字塔模块得到的目标特征有关,也就是说,将模型的主干网络和特征金字塔模块两部分当作一个整体进行预训练,有效提升了预训练的效率,也进一步提升了模型的能力。
20、本技术实施例中,在模型收敛或达到预设的迭代次数之后,方法还包括:将模型迁移至下游任务网络。
21、本技术实施例中,由于预训练过程是将主干网络和特征金字塔模块两部分当作一个整体进行的,因此,能够将预训练模型整体迁移下游任务,提升了预训练模型的泛化性。
22、本技术实施例第二方面提供了一种模型预训练装置,包括:
23、处理单元,用于通过n个层级的特征提取网络,获取待处理图像对应的n组不同尺度的输出特征,n≥2,且n为整数。处理第m层级的输出特征和第m-1层级的输出特征,得到第m-1层级的聚合特征,m-1层级的聚合特征与第m-1层级的输出特征尺度相同,第m层级的输出特征对应于第m层级的特征提取网络,2≤m≤n,且m为整数。通过第m-1层级的解码器网络处理第m-1层级的聚合特征,得到第m-1层级的解码结果。对模型进行迭代训练,更新特征提取网络的参数和解码器网络的参数,直至模型收敛或达到预设的迭代次数。
24、模型预训练装置,用于实现前述第一方面以及第一方面的任一种可能的实现方式所示的方法。
25、本技术实施例第三方面提供了一种计算设备,包括处理器和存储器,处理器存储指令,当存储在存储器上的指令在处理器上运行时,实现前述第一方面以及第一方面的任一种可能的实现方式所示的方法。
26、本技术实施例第四方面提供了一种计算机可读存储介质,计算机可读存储介质中保存有指令,当指令在处理器上运行时,实现第一方面以及第一方面的任一种可能的实现方式所示的方法。
27、本技术实施例第五方面提供了一种计算机程序产品,当计算机程序产品在处理器上执行时,实现第一方面以及第一方面的任一种可能的实现方式所示的方法。
28、第二方面至第五方面所示的有益效果与第一方面以及第一方面的任一种可能的实现方式类似,此处不再赘述。
1.一种模型预训练方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述处理第m层级的输出特征和第m-1层级的输出特征,得到所述第m-1层级的聚合特征,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述通过n个层级的特征提取网络,获取待处理图像对应的n组不同尺度的输出特征,包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述特征提取网络包括至少一个逐通道多层感知机,或者,至少一组多头自注意力层和前馈自编码器层。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第m-1层级的解码器网络包括像素线性层,所述第m-1层级的解码结果包括所述第m-1层级的像素图。
6.根据权利要求5所述的方法,其特征在于,所述第m-1层级的解码器网络还包括特征线性层,所述第m-1层级的解码结果还包括所述第m-1层级的特征图。
7.根据权利要求1至6中任一所述的方法,其特征在于,在所述对模型进行迭代训练之前,所述方法还包括:
8.根据权利要求1至7中任一项所述的方法,其特征在于,在所述对所述模型进行迭代训练之前,所述方法还包括:
9.根据权利要求1至8中任一项所述的方法,其特征在于,在所述模型收敛或达到预设的迭代次数之后,所述方法还包括:
10.一种模型预训练装置,其特征在于,包括处理单元,用于:
11.根据权利要求10所述的装置,其特征在于,所述处理单元,具体用于:
12.根据权利要求10或11所述的装置,其特征在于,所述处理单元,具体用于:
13.根据权利要求10至12中任一所述的装置,其特征在于,所述处理单元,还用于:
14.根据权利要求10至13中任一项所述的装置,其特征在于,所述处理单元,还用于:
15.根据权利要求10至14中任一项所述的装置,其特征在于,所述处理单元,还用于:
16.一种计算设备,其特征在于,包括:处理器和存储器;
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令在处理器上运行时,实现权利要求1至9中任一项所述的方法。
18.一种计算机程序产品,其特征在于,当所述计算机程序产品在处理器上执行时,实现权利要求1至9中任一项所述的方法。
