掌桥专利:专业的专利平台
掌桥专利
首页

模型训练方法、电子设备及存储介质

文献发布时间:2023-06-19 16:04:54



技术领域

本申请涉及图像处理技术领域,特别是涉及一种模型训练方法、电子设备及存储介质。

背景技术

随着人工智能技术的不断发展,越来越多的场景使用神经网络模型执行任务,如采用ResNet18网络执行图像检索(Retrieval)任务、图像聚类任务等;对于一个网络模型而言,期望他既可以执行当前任务,也可以进行迁移执行其他任务,也即,同时具备可判别性(Discriminability)和可迁移性(Transferability);但是,在模型训练过程中,模型的可判别性和可迁移性两者是无法兼容的,特别是在训练的后期,特征的可判别性会提高,但是同时,可迁移性会急剧下降。

发明内容

鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种模型训练方法、电子设备及存储介质。

依据本申请实施例的第一方面,提供了一种模型训练方法,包括:

将第一训练样本数据输入待训练模型,得到所述第一训练样本数据的第一输出特征;

根据所述第一输出特征和所述第一训练样本数据所对应的历史输出特征,对所述待训练模型进行第一阶段对比学习训练,得到所述待训练模型所对应的中间模型;其中,所述历史输出特征是所述第一训练样本数据在当前训练轮次以前的训练轮次中的输出特征;

将第二训练样本数据输入所述中间模型,得到所述第二训练样本数据的第二输出特征;

根据所述第二输出特征和所述第二训练样本数据所对应的第三输出特征,对所述中间模型进行第二阶段对比学习训练;其中,所述第三输出特征为将所述第二训练样本数据输入对比学习模型得到的,所述对比学习模型为所述第一阶段对比学习训练得到的中间模型。

依据本申请实施例的第二方面,提供了一种模型训练装置,包括:

待训练模型处理模块,用于将第一训练样本数据输入待训练模型,得到所述第一训练样本数据的第一输出特征;

第一阶段训练模块,用于根据所述第一输出特征和所述第一训练样本数据所对应的历史输出特征,对所述待训练模型进行第一阶段对比学习训练,得到所述待训练模型所对应的中间模型;其中,所述历史输出特征是所述第一训练样本数据在当前训练轮次以前的训练轮次中的输出特征;

中间模型处理模块,用于将第二训练样本数据输入所述中间模型,得到所述第二训练样本数据的第二输出特征;

第二阶段训练模块,用于根据所述第二输出特征和所述第二训练样本数据所对应的第三输出特征,对所述中间模型进行第二阶段对比学习训练;其中,所述第三输出特征为将所述第二训练样本数据输入对比学习模型得到的,所述对比学习模型为所述第一阶段对比学习训练得到的中间模型。

依据本申请实施例的第三方面,提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面中所述的模型训练方法。

依据本申请实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的模型训练方法。

依据本申请实施例的第五方面,提供了一种计算机程序产品,包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现第一方面所述的模型训练方法。

本申请实施例提供的模型训练方法、电子设备及存储介质,通过将第一训练样本数据输入待训练模型,得到第一输出特征,根据第一输出特征和第一训练样本数据的历史输出特征,对待训练模型进行第一阶段对比学习训练,得到待训练模型所对应的中间模型,将第二训练样本数据输入中间模型,得到第二训练样本数据的第二输出特征,通过对比学习模型确定第二训练样本数据所对应的第三输出特征,对比学习模型是第一阶段对比学习训练得到的中间模型,根据第二输出特征和第二训练样本数据对应的第三输出特征,对中间模型进行第二阶段对比学习训练,由于采用两个阶段对待训练模型进行训练,在第一阶段时基于对比学习训练可以提高模型特征的可判别性,在第二阶段训练时,基于中间模型的实时输出与固定参数的对比学习模型的输出对中间模型进行对比学习训练,可以在保证模型特征可判别性的基础上提高特征的可迁移性,这样训练得到的目标模型的特征可以同时具备可判别性和可迁移性。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。

图1是本申请实施例提供的一种模型训练方法的步骤流程图;

图2是本申请实施例中对待训练模型进行第一阶段对比学习训练的流程图;

图3是本申请实施例中对中间模型进行第二阶段对比学习训练的流程图;

图4是本申请实施例提供的一种模型训练方法的步骤流程图;

图5是本申请实施例提供的一种模型训练装置的结构框图;

图6是本申请实施例提供的一种电子设备的结构框图。

具体实施方式

下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。

近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(Artificial Intelligence,AI)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用系统的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、活体检测、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、三维重建、虚拟现实、增强现实、同步定位与地图构建(SLAM)、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如安全防控、城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。本申请实施例也是涉及计算机视觉技术,具体是一种模型训练方法,对基于计算机视觉技术的模型都可以使用本申请实施例中的模型训练方法进行训练,以使得训练后的模型的特征能够同时具备可判别性和可迁移性,具体方案如下:

图1是本申请实施例提供的一种模型训练方法的步骤流程图,该方法可以应用于对图像识别模型、图像检索模型等模型的训练,如图1所示,该方法可以包括:

步骤110,将第一训练样本数据输入待训练模型,得到所述第一训练样本数据的第一输出特征。

其中,所述待训练模型可以是图像识别模型或图像检索模型等,所述第一训练样本数据可以是第一样本图像。

本申请实施例对待训练模型的训练分为两个阶段进行,每个阶段都进行对比学习训练,这样可以在保证模型特征的可判别性的基础上提高可迁移性。

将第一训练样本数据输入待训练模型,通过待训练模型对第一训练样本数据进行处理,提取第一训练样本数据的特征,得到第一训练样本数据对应的第一输出特征。

步骤120,根据所述第一输出特征和所述第一训练样本数据所对应的历史输出特征,对所述待训练模型进行第一阶段对比学习训练,得到所述待训练模型所对应的中间模型。

其中所述历史输出特征是所述第一训练样本数据在当前训练轮次以前的训练轮次中的输出特征。

第一阶段训练时,主要是提高模型特征的可判别性,该阶段也可以称为信息聚集阶段(Information Aggregation Stage)。其中,可判别性是指在当前的判别任务上可以取得收益,即在当前的判别任务上判别性较高。

在对待训练模型进行第一阶段对比学习训练时,可以引入一个内存库(memorybank)来存储每个第一训练样本数据的历史输出特征。在得到第一训练样本数据的第一输出特征后,可以将第一输出特征保存至存储输出特征的内存库中,用于作为后续训练轮次中该第一训练样本数据所对应的历史输出特征。

在通过待训练模型得到第一训练样本数据的第一输出特征后,从内存库中获取该第一训练样本数据所对应的历史输出特征,基于第一输出特征和历史输出特征,确定对比学习损失,并基于对比学习损失对待训练模型的参数进行调整,实现对待训练模型的对比学习训练,迭代执行该训练过程,在满足第一阶段训练结束条件时,该第一阶段的对比学习训练结束,得到待训练模型所对应的中间模型,并将固定参数的中间模型保存为对比学习模型。其中,中间模型继续进行第二阶段的对比学习训练;对比学习模型固定参数,也可以称为信息库(information bank),在第二阶段训练时保持参数不变,用于在第二阶段训练时提供对比学习的输出特征,以保证模型特征的可判别性。

第一阶段对比学习训练时,使用相同的第一训练样本数据集按照多个训练轮次进行训练,每个轮次中将第一训练样本数据集分为多个训练批次进行训练,对于每个第一训练样本数据,在当前训练轮次以前的训练轮次中均抵用待训练模型进行过处理,得到了相应的输出特征,该输出特征作为本轮次训练时该第一训练样本数据的历史输出特征。

步骤130,将第二训练样本数据输入所述中间模型,得到所述第二训练样本数据的第二输出特征。

其中,在待训练模型是图像处理模型或图像检索模型时,第二训练样本数据是样本图像。

将第二训练样本数据输入中间模型,通过中间模型对第二训练样本数据进行处理,提取第二训练样本数据的特征,得到第二训练样本数据对应的第二输出特征。

步骤140,根据所述第二输出特征和所述第二训练样本数据所对应的第三输出特征,对所述中间模型进行第二阶段对比学习训练;其中,所述第三输出特征为将所述第二训练样本数据输入对比学习模型得到的,所述对比学习模型为所述第一阶段对比学习训练得到的中间模型。

第二阶段训练时,是在保证模型可判别性的基础上提高模型的可迁移性,该阶段也可以称为信息保留阶段(Information Preservation Stage)。其中,可迁移性是指在别的任务上可以获得更好的微调效果。

将第二训练样本数据输入对比学习模型,通过对比学习模型对样本数据进行处理,得到第二训练样本数据所对应的第三输出特征。基于第二输出特征和第三输出特征,确定对比学习损失,并基于该对比学习损失对中间模型的参数进行调整,实现对中间模型的对比学习训练,迭代执行该训练过程,在损失值收敛时,训练完成,得到目标模型。训练完成的目标模型可以用于对数据进行处理,例如可以对图像进行处理,以进行图像识别,或者还可以对图像进行处理,以进行图像检索,召回相似图像。

本申请实施例提供的模型训练方法,通过将第一训练样本数据输入待训练模型,得到第一输出特征,根据第一输出特征和第一训练样本数据的历史输出特征,对待训练模型进行第一阶段对比学习训练,得到待训练模型所对应的中间模型,将第二训练样本数据输入中间模型,得到第二训练样本数据的第二输出特征,通过对比学习模型确定第二训练样本数据所对应的第三输出特征,对比学习模型是第一阶段对比学习训练得到的中间模型,根据第二输出特征和第二训练样本数据对应的第三输出特征,对中间模型进行第二阶段对比学习训练,由于采用两个阶段对待训练模型进行训练,在第一阶段时基于对比学习训练可以提高模型特征的可判别性,在第二阶段训练时,基于中间模型的实时输出与固定参数的对比学习模型的输出对中间模型进行对比学习训练,可以在保证模型特征可判别性的基础上提高特征的可迁移性,这样训练得到的目标模型的特征可以同时具备可判别性和可迁移性。

图2是本申请实施例中对待训练模型进行第一阶段对比学习训练的流程图,如图2所示,根据所述第一输出特征和所述第一训练样本数据所对应的历史输出特征,对待训练模型进行第一阶段对比学习训练,得到所述待训练模型所对应的中间模型,包括:

步骤121,将第一训练样本数据输入待训练模型,得到所述第一训练样本数据的第一输出特征。

其中,所述待训练模型可以是参数初始化的模型,也可以是基于前一批次或前一样本数据的训练进行参数调整后的模型。

在对待训练模型进行第一阶段的训练时,将第一训练样本数据输入待训练模型,通过待训练模型对第一训练样本数据进行处理,提取第一训练样本数据中的特征,得到第一输出特征。在得到第一训练样本数据的第一输出特征后,可以将第一输出特征保存至存储输出特征的内存库中,用于作为后续训练轮次的历史输出特征。

需要说明的是,步骤121也就是上述实施例中的步骤110,在进行第二阶段的对比学习训练时,步骤110是需要迭代执行的。

步骤122,根据所述第一输出特征和所述第一训练样本数据对应的特征标注,确定所述待训练模型的第一交叉熵损失函数值,并根据所述第一输出特征、所述第一训练样本数据所对应的历史输出特征以及同一批次中其他样本数据所对应的历史输出特征,确定第一对比学习损失函数值。

将第一输出特征和第一训练样本数据对应的特征标注代入交叉熵损失函数公式,得到待训练模型的第一交叉熵损失函数值。从存储历史输出特征的内存库中获取该第一训练样本数据的历史输出特征,并获取该第一训练样本数据的同一训练批次中其他样本所对应的历史输出特征,将第一输出特征、第一训练样本数据所对应的历史输出特征以及其他样本数据所对应的历史输出特征代入对比学习损失函数公式,得到第一对比学习损失函数值。通过对比学习损失函数可以拉近第一输出特征与第一训练样本数据所对应的历史输出特征的距离,并推远第一输出特征与其他样本数据所对应的历史输出特征的距离。

在本申请的一个实施例中,根据所述第一输出特征、所述第一训练样本数据所对应的历史输出特征以及同一批次中其他样本数据所对应的历史输出特征,确定第一对比学习损失函数值,包括:确定所述第一输出特征与所述第一训练样本数据所对应的历史输出特征的平均特征,并确定所述第一输出特征与所述平均特征的距离,作为第一距离;确定同一批次中每一其他样本数据所对应的历史输出特征的历史平均特征,确定所述第一输出特征与所述其他样本数据的历史平均特征的距离,作为第二距离;将所述第一距离与所述同一批次中所述第二距离之和的比值确定为第一比值,并将所述第一比值的负对数确定为所述第一对比学习损失函数值。

计算第一输出特征与该第一训练样本数据所对应的历史输出特征的平均特征,确定第一输出特征与平均特征的距离,得到第一距离;获取同一批次中其他样本数据所对应的历史输出特征,并计算每一其他样本数据所对应的历史输出特征的历史平均特征,分别确定第一输出特征与每一其他样本数据的历史平均特征的距离,得到第二距离,将第一距离与同一批次中第二距离之和的比值确定为第一比值,将第一比值的负对数确定为第一对比学习损失函数值。即通过如下公式确定第一对比学习损失函数值:

其中,L

通过根据第一输出特征、该第一训练样本数据所对应的历史输出特征的平均特征,以及同一批次中其他样本数据所对应的历史输出特征的历史平均特征,确定第一对比学习损失函数值,基于第一对比学习损失函数值来对待训练模型进行第一阶段对比学习训练,可以拉近同一样本数据的第一输出特征与平均特征的距离,并推远第一输出特征与其他样本数据的历史平均特征的距离,从而使得模型快速收敛。

在本申请的一个实施例中,确定所述第一输出特征与所述第一训练样本数据所对应的历史输出特征的平均特征,包括:根据所述第一输出特征的权重和所述第一训练样本数据所对应的历史输出特征的权重,对所述第一输出特征和所述第一训练样本数据所对应的历史输出特征进行加权平均,得到所述平均特征。

为第一输出特征和当前的第一训练样本数据所对应的历史输出特征分配权重,可以按照权重从大到小的顺序为第一输出特征和当前的第一训练样本数据所对应的历史输出特征分配权重,即第一输出特征的权重最大,第一输出特征之前的第一个历史输出特征的权重小于第一输出特征的权重并大于第一输出特征之前的第二个历史输出特征的权重,以此类推,为第一输出特征和每一个历史输出特征分配权重,进而基于第一输出特征的权重和第一训练样本数据的历史输出特征的权重,对第一输出特征和该第一训练样本数据的历史输出特征进行加权平均,得到平均特征。通过加权平均来确定第一输出特征与第一训练样本数据所对应的历史输出特征的平均特征,这样得到的平均特征和第一输出特征较为接近,有利于对模型的训练。

步骤123,根据所述第一交叉熵损失函数值和所述第一对比学习损失函数值,对所述待训练模型的参数进行调整。

根据第一交叉熵损失函数值和第一对比学习损失函数值,通过反向传播对待训练模型的参数进行调整。

步骤124,判断是否满足第一阶段训练结束条件,如果否,则迭代执行步骤121-步骤124,如果是,则执行步骤125。

其中,第一阶段训练结束条件是预先设置的第一阶段的训练结束条件,可以是训练轮数达到预设轮数,或者也可以是损失值收敛等。

判断当前是否满足第一阶段训练结束条件。在第一阶段训练结束条件是训练轮数达到预设轮数时,则判断当前训练轮数是否达到预设轮数,如果否,则确定不满足第一阶段训练结束条件,如果是,则确定满足第一阶段训练结束条件;在第一阶段训练结束条件是损失值收敛时,则判断第一交叉熵损失函数值和第一对比学习损失函数值之和是否收敛,如果是,则确定满足第一阶段训练结束条件,如果否,则确定不满足第一阶段训练结束条件。

如果不满足第一阶段训练结束条件,则迭代执行步骤121-步骤124,如果满足第一阶段训练结束条件,则结束第一阶段的训练,执行步骤125。

步骤125,结束第一阶段对比学习训练,得到所述待训练模型所对应的中间模型。

第一阶段训练结束后,将训练后的待训练模型确定为中间模型,该中间模型在后续进行第二阶段的训练时继续调整参数;固定中间模型的参数,将固定参数的中间模型确定为对比学习模型,该对比学习模型在第二阶段的训练中保持参数固定不变,用于在第二阶段训练时提供对比学习的输出特征。

通过基于第一交叉熵损失函数值和第一对比学习损失函数值来对待训练模型进行第一阶段的训练,可以快速提高模型特征的可判别性。

图3是本申请实施例中对中间模型进行第二阶段对比学习训练的流程图,如图3所示,根据所述第二输出特征和所述第二训练样本数据所对应的第三输出特征,对所述中间模型进行第二阶段对比学习训练,包括:

步骤141,将第二训练样本数据输入所述中间模型,得到所述第二训练样本数据的第二输出特征。

其中,所述中间模型是第一阶段对比学习训练结束时得到的模型,也可以第二阶段对比学习训练时基于前一批次或前一样本数据的训练进行参数调整后的中间模型。

在对中间模型进行第二阶段对比学习训练时,将第二训练样本数据输入中间模型,通过中间模型对第二训练样本数据进行处理,提取第二训练样本数据中的特征,得到第二输出特征。同时将第二训练样本数据输入固定参数的对比学习模型,通过对比学习模型对第二训练样本数据进行处理,提取第二训练样本数据中的特征,得到第三输出特征。

需要说明的是,步骤141也就是上述实施例中的步骤130,在进行第二阶段的对比学习训练时,步骤130是需要迭代执行的。

步骤142,根据所述第二输出特征和所述第二训练样本数据对应的特征标注,确定所述中间模型的第二交叉熵损失函数值,并根据所述第二输出特征、所述第二训练样本数据所对应的第三输出特征以及同一批次中其他样本数据所对应的第三输出特征,确定第二对比学习损失函数值。

将第二输出特征和第二训练样本数据所对应的特征标注代入交叉熵损失函数公式,得到中间模型的第二交叉熵损失函数值。将第二输出特征、该第二训练样本数据所对应的第三输出特征以及同一批次中其他样本数据所对应的第三输出特征代入对比学习损失函数公式,得到第二对比学习损失函数值。其中,同一批次中其他样本数据所对应的第三输出特征是通过对比学习模型对其他样本数据进行处理得到的输出特征。

通过对比学习损失函数可以拉近第二输出特征与该第二训练样本数据的第三输出特征的距离,并推远第二输出特征与其他样本数据所对应的第三输出特征的距离。

在本申请的一个实施例中,根据所述第二输出特征、所述第二训练样本数据所对应的第三输出特征以及同一批次中其他样本数据所对应的第三输出特征,确定第二对比学习损失函数值,包括:确定所述第二输出特征与所述第二训练样本数据所对应的第三输出特征的距离,作为第三距离;确定所述第二输出特征与所述其他样本数据所对应的第三输出特征的距离,作为第四距离;将所述第三距离与所述同一批次中所述第四距离之和的比值确定为第二比值,并将所述第二比值的负对数确定为所述第二对比学习损失函数值。

确定第二输出特征与该第二训练样本数据所对应的第三输出特征之间的距离,将该距离作为第三距离;分别确定第二输出特征与同一批次中每一其他样本数据所对应的第三输出特征之间的距离,将该距离作为第四距离,将第三距离与同一批次中第四距离之和的比值确定为第二比值,将第二比值的负对数确定为第二对比学习损失函数值。即通过如下公式确定第二对比学习损失函数值:

其中,L

通过根据第二输出特征、该第二训练样本数据所对应的第三输出特征,以及同一批次中其他样本数据所对应的第三输出特征,确定第二对比学习损失函数值,基于第二对比学习损失函数值来对中间模型进行训练,可以拉近同一样本数据的第二输出特征与第三输出特征的距离,并推远第二输出特征与其他样本数据所对应的第三输出特征的距离,从而使得模型快速收敛。

步骤143,根据所述第二交叉熵损失函数值和所述第二对比学习损失函数值,对所述待中间模型的参数进行调整。

根据第二交叉熵损失函数值和第二对比学习损失函数值,通过反向传播对中间模型的参数进行调整。

步骤144,判断是否满足第二阶段训练条件,如果否,则迭代执行步骤141-步骤144,如果是,则执行步骤145。

其中,第二阶段训练条件可以是第二交叉熵损失函数值和第二对比学习损失函数值收敛。

判断当前是否满足第二阶段训练结束条件。在第二阶段训练结束条件是第二交叉熵损失函数值和第二对比学习损失函数值收敛时,则判断第二交叉熵损失函数值和第二对比学习损失函数值之和是否收敛,如果是,则确定满足第二阶段训练结束条件,如果否,则确定不满足第二阶段训练结束条件。

如果不满足第二阶段训练结束条件,则迭代执行步骤141-步骤144,如果满足第二阶段训练结束条件,则执行步骤145。

步骤145,结束第二阶段对比学习训练,得到目标模型。

在第二阶段对比学习训练结束后,将训练完成的中间模型作为目标模型,目标模型可以用于对数据进行处理。

通过基于第二交叉熵损失函数值和第二对比学习损失函数值来对中间模型进行第二阶段的训练,可以在保证模型特征的可判别性的基础上提高模型特征的可迁移性。

图4是本申请实施例提供的一种模型训练方法的步骤流程图,该方法以对图像识别模型进行训练为例来说明,如图4所示,该方法可以包括:

步骤410,将第一样本图像输入待训练的图像识别模型,得到所述第一样本图像的第一输出特征。

将第一样本图像输入待训练的图像识别模型,通过待训练的图像识别模型对第一样本图像进行处理,提取第一样本图像的图像特征,得到第一样本图像的第一输出特征。

步骤420,根据所述第一输出特征和所述第一样本图像所对应的历史输出特征,对待训练的图像识别模型进行第一阶段对比学习训练,得到所述待训练的图像识别模型所对应的中间模型。

其中,所述历史输出特征是所述第一样本图像在当前训练轮次以前的训练轮次中的输出特征。

同时在对待训练的图像识别模型进行第一阶段对比学习训练时,可以引入一个内存库(memory bank)来存储每个第一样本图像的历史输出特征。在通过待训练的图像识别模型得到第一样本图像的第一输出特征后,从内存库中获取该第一样本图像所对应的历史输出特征,基于第一输出特征和历史输出特征,确定对比学习损失,并基于对比学习损失对待训练的图像识别模型的参数进行调整,实现对待训练的图像识别模型的对比学习训练,迭代执行该训练过程,在满足第一阶段训练结束条件时,该第一阶段的对比学习训练结束,得到待训练的图像识别模型所对应的中间模型,并固定参数,将固定参数的中间模型作为对比学习模型。其中,中间模型继续进行第二阶段的训练;对比学习模型固定参数,也可以称为信息库(information bank),在第二阶段训练时保持参数不变,用于在第二阶段训练时提供对比学习的输出特征,以保证模型特征的可判别性。

其中,对待训练的图像识别模型进行第一阶段对比学习训练的具体过程同上述实施例中对待训练模型进行第一阶段对比学习训练的过程,具体可以是将上述实施例中的第一训练样本数据替换为第一样本图像,即可实现对待训练的图像识别模型的第一阶段对比学习训练,具体过程可以参见上述实施例,这里不再赘述。

步骤430,将第二样本图像输入所述中间模型,得到所述第二样本图像的第二输出特征。

将第二样本图像输入中间模型,通过中间模型对第二样本图像进行处理,提取第二样本图像的图像特征,得到第二输出特征。

步骤440,根据所述第二输出特征和所述第二样本图像所对应的第三输出特征,对所述中间模型进行第二阶段对比学习训练;其中,所述第三输出特征为将所述第二样本图像输入对比学习模型得到的,所述对比学习模型为所述第一阶段对比学习训练得到的中间模型。

将第二样本图像输入对比学习模型,通过对比学习模型对第二样本图像进行处理,提取第二样本图像的图像特征,得到第二样本图像所对应的第三输出特征。基于第二输出特征和第三输出特征,确定对比学习损失,并基于该对比学习损失对中间模型的参数进行调整,实现对中间模型的对比学习训练,迭代执行该训练过程,在损失值收敛时,训练完成,将训练完成的中间模型确定为目标图像识别模型。训练完成的目标图像识别模型可以用于对图像进行识别,即提取图像特征,进而基于图像特征进行识别。

其中,对中间模型进行第二阶段对比学习训练的具体过程同上述实施例中对中间模型进行第二阶段对比学习训练的过程,具体可以是将上述实施例中的第二训练样本数据替换为第二样本图像,即可实现对该中间模型的对比学习训练,进而得到训练完成的目标图像识别模型,具体过程可以参见上述实施例,这里不再赘述。

本申请实施例提供的模型训练方法,通过将第一样本图像输入待训练的图像识别模型,得到第一样本图像的第一输出特征,根据第一输出特征和第一样本图像所对应的历史输出特征,对待训练的图像识别模型进行第一阶段对比学习训练,得到待训练的图像识别模型所对应的中间模型,将第二样本图像输入中间模型,得到第一样本图像的第二输出特征,通过对比学习模型确定第二样本图像所对应的第三输出特征,对比学习模型是第一阶段对比学习训练得到的中间模型,根据第二输出特征和第二样本图像对应的第三输出特征,对中间模型进行第二阶段对比学习训练,由于采用两个阶段对待训练的图像识别模型进行训练,在第一阶段时基于对比学习训练可以提高模型特征的可判别性,在第二阶段训练时,基于中间模型的实时输出与固定参数的对比学习模型的输出对中间模型进行对比学习训练,可以在保证模型特征可判别性的基础上提高特征的可迁移性,这样训练得到的目标模型的特征可以同时具备可判别性和可迁移性。

表1为本申请实施例中的训练方法在CIFAR-100和ImageNet数据集上监督训练的性能(衡量可判别性):

表1可判别性对比

表2为本申请实施例中的训练方法在CUB200和Aircraft数据集上“微调”的性能(衡量可迁移性):

表2可迁移性对比

从表1和表2可以看到,本申请实施例中的训练方法相比于baseline(即现有技术中的训练方法),既可以在当前的判别任务上取得收益,又可以在别的任务上获得更好的微调效果,因此,本申请实施例中的训练方法可以使得特征同时具备可判别性和可迁移性。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。

图5是本申请实施例提供的一种模型训练装置的结构框图,如图5所示,该模型训练装置可以包括:

待训练模型处理模块510,用于将第一训练样本数据输入待训练模型,得到所述第一训练样本数据的第一输出特征;

第一阶段训练模块520,用于根据所述第一输出特征和所述第一训练样本数据所对应的历史输出特征,对所述待训练模型进行第一阶段对比学习训练,得到所述待训练模型所对应的中间模型;其中,所述历史输出特征是所述第一训练样本数据在当前训练轮次以前的训练轮次中的输出特征;

中间模型处理模块530,用于将第二训练样本数据输入所述中间模型,得到所述第二训练样本数据的第二输出特征;

第二阶段训练模块540,用于根据所述第二输出特征和所述第二训练样本数据所对应的第三输出特征,对所述中间模型进行第二阶段对比学习训练;其中,所述第三输出特征为将所述第二训练样本数据输入对比学习模型得到的,所述对比学习模型为所述第一阶段对比学习训练得到的中间模型。

可选的,所述第一阶段训练模块包括:

第一损失值确定子模块,用于根据所述第一输出特征和所述第一训练样本数据对应的特征标注,确定所述待训练模型的第一交叉熵损失函数值,并根据所述第一输出特征、所述第一训练样本数据所对应的历史输出特征以及同一批次中其他样本数据所对应的历史输出特征,确定第一对比学习损失函数值;

第一参数调整子模块,用于根据所述第一交叉熵损失函数值和所述第一对比学习损失函数值,对所述待训练模型的参数进行调整;

第一迭代控制子模块,用于迭代执行上述确定第一交叉熵损失函数值和第一对比学习损失函数值,以及对所述待训练模型的参数进行调整的操作,直至满足第一阶段训练结束条件,得到所述待训练模型所对应的中间模型。

可选的,所述第一损失值确定子模块包括:

第一距离确定单元,用于确定所述第一输出特征与所述第一训练样本数据所对应的历史输出特征的平均特征,并确定所述第一输出特征与所述平均特征的距离,作为第一距离;

第二距离确定单元,用于确定同一批次中每一其他样本数据所对应的历史输出特征的历史平均特征,确定所述第一输出特征与所述其他样本数据的历史平均特征的距离,作为第二距离;

第一对比损失值确定单元,用于将所述第一距离与所述同一批次中所述第二距离之和的比值确定为第一比值,并将所述第一比值的负对数确定为所述第一对比学习损失函数值。

可选的,所述第一距离确定单元包括:

加权平均子单元,用于根据所述第一输出特征的权重和所述第一训练样本数据所对应的历史输出特征的权重,对所述第一输出特征和所述第一训练样本数据所对应的历史输出特征进行加权平均,得到所述平均特征。

可选的,所述第二阶段训练模块包括:

第二损失值确定子模块,用于根据所述第二输出特征和所述第二训练样本数据对应的特征标注,确定所述中间模型的第二交叉熵损失函数值,并根据所述第二输出特征、所述第二训练样本数据所对应的第三输出特征以及同一批次中其他样本数据所对应的第三输出特征,确定第二对比学习损失函数值;

第二参数调整子模块,用于根据所述第二交叉熵损失函数值和所述第二对比学习损失函数值,对所述待中间模型的参数进行调整;

第二迭代控制子模块,用于迭代执行上述确定第二交叉熵损失函数值和第二对比学习损失函数值,以及对所述中间模型的参数进行调整的操作,直至满足第二阶段训练结束条件,得到目标模型。

可选的,所述第二损失值确定子模块包括:

第三距离确定单元,用于确定所述第二输出特征与所述第二训练样本数据所对应的第三输出特征的距离,作为第三距离;

第四距离确定单元,用于确定所述第二输出特征与所述其他样本数据所对应的第三输出特征的距离,作为第四距离;

第二损失值确定单元,用于将所述第三距离与所述同一批次中所述第四距离之和的比值确定为第二比值,并将所述第二比值的负对数确定为所述第二对比学习损失函数值。

可选的,所述待训练模型包括图像识别模型或图像检索模型,所述第一训练样本数据为第一样本图像,所述第二训练样本数据为第二样本图像。

本申请实施例提供的装置中各个模块、单元所对应功能的具体实现过程可参考图1-图4所示方法实施例,此处不再赘述装置部分各个模块、单元所对应功能的具体实现过程。

本实施例提供的模型训练装置,通过将第一训练样本数据输入待训练模型,得到第一输出特征,根据第一输出特征和第一训练样本数据的历史输出特征,对待训练模型进行第一阶段对比学习训练,得到待训练模型所对应的中间模型,将第二训练样本数据输入中间模型,得到第二训练样本数据的第二输出特征,通过对比学习模型确定第二训练样本数据所对应的第三输出特征,对比学习模型是第一阶段对比学习训练得到的中间模型,根据第二输出特征和第二训练样本数据对应的第三输出特征,对中间模型进行第二阶段对比学习训练,由于采用两个阶段对待训练模型进行训练,在第一阶段时基于对比学习训练可以提高模型特征的可判别性,在第二阶段训练时,基于中间模型的实时输出与固定参数的对比学习模型的输出对中间模型进行对比学习训练,可以在保证模型特征可判别性的基础上提高特征的可迁移性,这样训练得到的目标模型的特征可以同时具备可判别性和可迁移性。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

图6是本申请实施例提供的一种电子设备的结构框图,如图6所示,该电子设备600可以包括一个或多个处理器610以及与处理器610连接的一个或多个存储器620。电子设备600还可以包括输入接口630和输出接口640,用于与另一装置或系统进行通信。被处理器610执行的程序代码可存储在存储器620中。

电子设备600中的处理器610调用存储在存储器620的程序代码,以执行上述实施例中的模型训练方法。

根据本申请的一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括但不限于磁盘存储器、CD-ROM、光学存储器等,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述实施例的模型训练方法。

根据本申请的一个实施例,还提供了一种计算机程序产品,包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现上述实施例所述的模型训练方法。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种模型训练方法、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 模型训练方法、模型训练平台、电子设备和存储介质
  • 模型训练方法、模型训练平台、电子设备和存储介质
技术分类

06120114692039