发明内容
鉴于此,本申请提供一种图像识别模型的训练方法、装置、网络和设备终端,能够在利用传统的卷积神经网络结构的基础上,进一步结合ViT网络的优点,将传统的卷积神经网络结构和ViT网络进行融合,以克服现有计算机视觉领域的有效方法往往无法直接与这种采用ViT网络的新型视觉方法进行结合的缺点。
一种图像识别模型的训练方法,包括:
通过卷积神经网络对输入的训练图像数据集进行特征提取,以得到卷积神经网络对应的预测标签值;
获取卷积神经网络中多个中间层输出的特征图;
将各个中间层输出的特征图分别输入到各自对应的预设ViT网络进行特征提取,以得到各个预设ViT网络对应的预测标签值和第一预设损失函数值;
根据各自对应的第一预设损失函数值,分别对各个预设ViT网络进行权重和偏置更新;
根据卷积神经网络对应的预测标签值和各个预设ViT网络对应的预测标签值计算得到整合后的预测标签值;
根据整合后的预测标签值、卷积神经网络对应的第二预设损失函数和真实标签值计算得到卷积神经网络对应的第二预设损失函数值;
根据第二预设损失函数值对卷积神经网络进行权重和偏置更新;
循环执行上述步骤,直至第二预设损失函数收敛以生成对应的图像识别模型。
在一个实施例中,中间层为池化层,将各个中间层输出的特征图分别输入到各自对应的预设ViT网络进行特征提取,以得到各个预设ViT网络对应的预测标签值和第一预设损失函数值的步骤包括:
将多个池化层输出的特征图分别输入到各自对应的预设ViT网络进行特征提取,以获取各个预设ViT网络对应的预测标签值;
根据第一预设损失函数、各个预设ViT网络对应的预测标签值和真实标签值,计算得到各个预设ViT网络各自对应的第一预设损失函数值。
在一个实施例中,第二预设损失函数采用交叉熵损失函数,通过卷积神经网络对输入的训练图像数据集进行特征提取,以生成对应的预测标签值的步骤之前还包括:
基于交叉熵损失函数,将训练图像数据集输入到初始卷积神经网络进行训练,直至交叉熵损失函数收敛,得到训练收敛后的卷积神经网络。
在一个实施例中,将各个中间层输出的特征图分别输入到各自对应的预设ViT网络进行特征提取,以得到各个预设ViT网络对应的预测标签值和第一预设损失函数值的步骤之前还包括:
基于第一预设损失函数,将训练图像数据集输入到分别输入到各个初始ViT网络进行训练,直至各自对应的第一预设损失函数收敛,得到训练收敛后的各个预设ViT网络。
在一个实施例中,根据卷积神经网络对应的预测标签值和各个预设ViT网络对应的预测标签值计算得到整合后的预测标签值的步骤包括:
将卷积神经网络对应的预测标签值和各个预设ViT网络对应的预测标签值进行加权处理,以计算得到整合后的预测标签值。
此外,还提供一种图像识别模型的训练网络,包括:
卷积神经网络处理单元,用于通过卷积神经网络对输入的训练图像数据集进行特征提取,以得到卷积神经网络对应的预测标签值;
ViT网络处理单元,与卷积神经网络处理单元中的多个中间层的输出端相连接,用于将各个中间层输出的特征图分别输入到各自对应的预设ViT网络进行特征提取,以得到各个预设ViT网络对应的预测标签值和第一预设损失函数值;
ViT网络处理单元还用于根据各自对应的第一预设损失函数值,分别对各个预设ViT网络进行权重和偏置更新;
卷积神经网络处理单元还用于根据卷积神经网络对应的预测标签值和各个预设ViT网络对应的预测标签值计算得到整合后的预测标签值,根据整合后的预测标签值、卷积神经网络对应的第二预设损失函数和真实标签值计算得到卷积神经网络对应的第二预设损失函数值,根据第二预设损失函数值对卷积神经网络进行权重和偏置更新,直至第二预设损失函数收敛以生成对应的图像识别模型。
此外,还提供一种图像识别模型的训练装置,包括:
标签值生成单元,用于通过卷积神经网络对输入的训练图像数据集进行特征提取,以得到卷积神经网络对应的预测标签值;
特征图获取单元,用于获取卷积神经网络中多个中间层输出的特征图;
ViT网络特征提取单元,用于将各个中间层输出的特征图分别输入到各自对应的预设ViT网络进行特征提取,以得到各个预设ViT网络对应的预测标签值和第一预设损失函数值;
第一更新单元,用于根据各自对应的第一预设损失函数值,分别对各个预设ViT网络进行权重和偏置更新;
标签值整合单元,用于根据卷积神经网络对应的预测标签值和各个预设ViT网络对应的预测标签值计算得到整合后的预测标签值;
损失函数值生成单元,用于根据整合后的预测标签值、卷积神经网络对应的第二预设损失函数和真实标签值计算得到卷积神经网络对应的第二预设损失函数值;
第二更新单元,用于根据第二预设损失函数值对卷积神经网络进行权重和偏置更新;
模型生成单元,用于当第二预设损失函数收敛时生成对应的图像识别模型。
此外,还提供一种图像识别方法,采用上述训练方法所训练得到的图像识别模型进行图像识别。
此外,还提供一种设备终端,设备终端包括处理器和存储器,存储器用于存储计算机程序,处理器运行计算机程序以使设备终端执行上述训练方法。
此外,还提供一种可读存储介质,可读存储介质存储有计算机程序,计算机程序在被处理器执行时实施上述训练方法。
上述图像识别模型的训练方法,通过将卷积神经网络输出的特征图输入到各个预设ViT网络,从而在特征图的层面直接对各个预设ViT网络的权重进行优化,同时,根据卷积神经网络对应的预测标签值和各个预设ViT网络对应的预测标签值计算得到整合后的预测标签值,根据整合后的预测标签值、卷积神经网络对应的第二预设损失函数和真实标签值计算得到卷积神经网络对应的第二预设损失函数值,根据第二预设损失函数值对卷积神经网络进行权重和偏置更新,循环执行上述步骤,最终当第二预设损失函数收敛时生成对应的图像识别模型,从而让图像识别模型既可利用各个预设ViT网络进行充分训练,又可不依赖各个预设ViT网络而产生识别预测结果,进而使得上述图像识别模型能够更好的适配各个推理平台,并仍然可利用现有计算机视觉领域中各种优秀卷积神经网络结构以及对应的训练方法,实现了传统的卷积神经网络结构和ViT网络模型的有效融合,克服现有计算机视觉领域的有效方法往往无法直接与这种采用ViT网络模型的新型视觉方法进行结合的缺点。
具体实施方式
下面结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,下述各个实施例及其技术特征可以相互组合。
ViT网络模型(Vision Transformer,视觉转换器)的本质是将输入的图像分块,分成多个patch(小块)并标定每块位置信息(即顺序),经过线性投影后,进一步经过线性变换送入transformer encoder,transformer encoder的本质是多头自注意力机制,找到每一小块图片与其它块图片的相关性,将注意力集中(即权重分配)到与全图联系最紧密的patch中,然后综合这些信息得到全局的特征并输出预测标签。
如图1所示,提供一种图像识别模型的训练方法,该训练方法包括:
一种图像识别模型的训练方法,包括:
步骤S110,通过卷积神经网络对输入的训练图像数据集进行特征提取,以得到卷积神经网络对应的预测标签值。
其中,卷积神经网络在对训练图像数据集进行处理时,通常需要不断的对训练图像数据集进行卷积处理,从而进行特征提取,从而得到卷积神经网络对应的预测标签值。
步骤S120,获取卷积神经网络中多个中间层输出的特征图。
其中,卷积神经网络在对训练图像数据集进行处理时,通常需要不断的对训练图像数据集进行卷积处理,因而在卷积处理过程中可输出得到多个特征图,因而可获取卷积神经网络中多个中间层输出的特征图。
步骤S130,将各个中间层输出的特征图分别输入到各自对应的预设ViT网络进行特征提取,以得到各个预设ViT网络对应的预测标签值和第一预设损失函数值。
其中,各个预设ViT网络的输入端分别与卷积神经网络中多个中间层一一对应相连接,从而对多个中间层输出的特征图分别进行特征提取,可得到各个预设ViT网络各自对应的第二损失函数值。
步骤S140,根据各自对应的第一预设损失函数值,分别对各个预设ViT网络进行权重和偏置更新。
其中,在上述训练过程中,在通过将卷积神经网络中多个中间层输出的特征图输入到各个预设ViT网络进行特征提取时,需要同步对各个预设ViT网络自身进行权重和偏置更新,即训练过程中需要对各个预设ViT网络自身进行独立优化,从而在下一次对输入的卷积神经网络中多个中间层输出的特征图进行特征提取时,能够不断的降低第一预设损失函数值以进行优化。
步骤S150,根据卷积神经网络对应的预测标签值和各个预设ViT网络对应的预测标签值计算得到整合后的预测标签值。
其中,为进一步将各个预设ViT网络模型与卷积神经网络相结合,使得卷积神经网络能够在训练过程中根据各个预设ViT网络模型的预测结果调整卷积核参数,以让各卷积层提取到预测结果最相关的特征图,从而增强输出标签的准确性。此时需要将各个预设ViT网络对应的预测标签值与卷积神经网络对应的预测标签值进行整合,然后计算得到整合后的预测标签值。
步骤S160,根据整合后的预测标签值、卷积神经网络对应的第二预设损失函数和真实标签值计算得到卷积神经网络对应的第二预设损失函数值。
其中,在计算得到整合后的预测标签值之后,需要综合整合后的预测标签值、卷积神经网络对应的第二预设损失函数和真实标签值计算得到卷积神经网络对应的第二预设损失函数值。
其中,在计算得到第二预设损失函数值时,通过根据整合后的预测标签值进一步计算卷积神经网络对应的第二预设损失函数值,能够使得卷积神经网络能够借鉴各个预设ViT网络模型的预测优点,为后续卷积神经网络能够利用各个预设ViT网络模型的预测优点进行优化而奠定基础。
步骤S170,根据第二预设损失函数值对卷积神经网络进行权重和偏置更新。
其中,在计算得到上述第二预设损失函数值之后,可进一步通过反向传播求取梯度对所述卷积神经网络进行权重和偏置更新。步骤S180,循环执行上述步骤,直至第二预设损失函数收敛以生成对应的图像识别模型。
其中,循环执行上述步骤S110至步骤S150,以使卷积神经网络对自身进行权重和偏置更新,直至卷积神经网络对应的第二预设损失函数收敛,从而生成对应的图像识别模型。
本实施例中,可将训练图像数据集划分为多个数据子集,然后预先设置一个学习率,以对其中一个数据子集的卷积神经网络进行训练,然后更新卷积神经网络的权重和偏置参数,此时卷积神经网络的参数已经更新,即卷积神经网络的各个中间层输出的特征图已经发生变化,然后使用更新后的卷积神经网络对该数据子集再次进行推理,执行步骤S120至步骤S180,以更新各个预设ViT网络的权重和偏置,以及卷积神经网络的权重和偏置,然后重复上述过程以训练多个数据子集,直至卷积神经网络的第二预设损失函数收敛,最终生成对应的图像识别模型。
其中,生成的图像识别模型中需不包括上述各个预设ViT网络。
上述图像识别模型的训练方法,通过将卷积神经网络输出的特征图输入到各个预设ViT网络,从而在特征图的层面直接对各个预设ViT网络的权重进行优化,同时,根据卷积神经网络对应的预测标签值和各个预设ViT网络对应的预测标签值计算得到整合后的预测标签值,根据整合后的预测标签值、卷积神经网络对应的第二预设损失函数和真实标签值计算得到卷积神经网络对应的第二预设损失函数值,根据第二预设损失函数值对卷积神经网络进行权重和偏置更新,最终当第二预设损失函数收敛时生成对应的图像识别模型,从而让图像识别模型既可利用各个预设ViT网络进行充分训练,又可不依赖各个预设ViT网络而产生识别预测结果,进而使得上述图像识别模型能够更好的适配各个推理平台,并仍然可利用现有计算机视觉领域中各种优秀卷积神经网络结构以及对应的训练方法,实现了传统的卷积神经网络结构和ViT网络模型的有效融合,克服现有计算机视觉领域的有效方法往往无法直接与这种采用ViT网络模型的新型视觉方法进行结合的缺点。
在一个实施例中,中间层为池化层,如图2所示,步骤S130包括:
步骤S132,将多个池化层输出的特征图分别输入到各自对应的预设ViT网络进行特征提取,以获取各个预设ViT网络对应的预测标签值。
步骤S134,根据第一预设损失函数、各个预设ViT网络对应的预测标签值和真实标签值,计算得到各个预设ViT网络各自对应的第一预设损失函数值。
其中,池化层在卷积神经网络中是起到压缩特征图的作用,包含了各个尺度的特征图,中间层选择为池化层,目的在于充分利用多个尺度的特征图对各个预设ViT网络进行训练,在中间层选择为池化层的基础上,通过将多个池化层输出的特征图输入各个预设ViT网络进行特征提取,以获取各自对应的预测标签值,进而根据第一预设损失函数、各个预测标签值和对应的真实标签值,得到各个预设ViT网络对应的第一损失函数值,从而为后续的训练过程奠定基础。
在一个实施例中,上述池化层采用最大池化层,上述卷积神经网络采用VGG16主干网络。
在一个实施例中,第二预设损失函数采用交叉熵损失函数,如图3所示,步骤S110之前还包括:
步骤S190,基于交叉熵损失函数,将训练图像数据集输入到初始卷积神经网络进行训练,直至交叉熵损失函数收敛,得到训练收敛后的卷积神经网络。
其中,在执行步骤S110之前,通常卷积神经网络本身已经单独训练收敛。
在一个实施例中,如图4所示,步骤S130之前还包括:
步骤S200,基于第一预设损失函数,将训练图像数据集输入到分别输入到各个初始ViT网络进行训练,直至各自对应的第一预设损失函数收敛,得到训练收敛后的各个预设ViT网络。
在一个实施例中,步骤S150包括:将卷积神经网络对应的预测标签值和各个预设ViT网络对应的预测标签值进行加权处理,以计算得到整合后的预测标签值。
其中,通过计算整合后的预测标签值,能够将ViT网络各自对应的预测标签值作为损失的一部分在卷积神经网络的反向传播时造成影响,从而实现了传统的卷积神经网络结构和ViT网络模型的有效融合。
此外,如图5所示,还提供一种图像识别模型的训练网络210,包括:
卷积神经网络处理单元220,用于通过卷积神经网络对输入的训练图像数据集进行特征提取,以得到卷积神经网络对应的预测标签值;
ViT网络处理单元230,与卷积神经网络处理单元中的多个中间层的输出端相连接,用于将各个中间层输出的特征图分别输入到各自对应的预设ViT网络进行特征提取,以得到各个预设ViT网络对应的预测标签值和第一预设损失函数值;
ViT网络处理单元230还用于根据各自对应的第一预设损失函数值,分别对各个预设ViT网络进行权重和偏置更新;
卷积神经网络处理单元220还用于根据卷积神经网络对应的预测标签值和各个预设ViT网络对应的预测标签值计算得到整合后的预测标签值,根据整合后的预测标签值、卷积神经网络对应的第二预设损失函数和真实标签值计算得到卷积神经网络对应的第二预设损失函数值,根据第二预设损失函数值对卷积神经网络进行权重和偏置更新,直至第二预设损失函数收敛以生成对应的图像识别模型。
此外,如图6所示,还提供一种图像识别模型的训练装置300,包括:
标签值生成单元310,用于通过卷积神经网络对输入的训练图像数据集进行特征提取,以得到卷积神经网络对应的预测标签值;
特征图获取单元320,用于获取卷积神经网络中多个中间层输出的特征图;
ViT网络特征提取单元330,用于将各个中间层输出的特征图分别输入到各自对应的预设ViT网络进行特征提取,以得到各个预设ViT网络对应的预测标签值和第一预设损失函数值;
第一更新单元340,用于根据各自对应的第一预设损失函数值,分别对各个预设ViT网络进行权重和偏置更新;
标签值整合单元350,用于根据卷积神经网络对应的预测标签值和各个预设ViT网络对应的预测标签值计算得到整合后的预测标签值;
损失函数值生成单元360,用于根据整合后的预测标签值、卷积神经网络对应的第二预设损失函数和真实标签值计算得到卷积神经网络对应的第二预设损失函数值;
第二更新单元370,用于根据第二预设损失函数值对卷积神经网络进行权重和偏置更新;
模型生成单元380,用于当第二预设损失函数收敛时生成对应的图像识别模型。
此外,还提供一种图像识别方法,采用上述训练方法所训练得到的图像识别模型进行图像识别。
此外,还提供一种设备终端,设备终端包括处理器和存储器,存储器用于存储计算机程序,处理器运行计算机程序以使设备终端执行上述训练方法。
此外,还提供一种可读存储介质,可读存储介质存储有计算机程序,计算机程序在被处理器执行时实施上述训练方法。
上述训练装置中各个单元的划分仅用于举例说明,在其他实施例中,可将上述训练装置按照需要划分为不同的单元,以完成上述训练装置的全部或部分功能。关于的上述训练装置的具体限定可以参见上文中对于方法的限定,在此不再赘述。
即,以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
另外,对于特性相同或相似的结构元件,本申请可采用相同或者不相同的标号进行标识。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“例如”一词是用来表示“用作例子、例证或说明”。本申请中被描述为“例如”的任何一个实施例不一定被解释为比其它实施例更加优选或更加具优势。为了使本领域任何技术人员能够实现和使用本申请,本申请给出了以上描述。在以上描述中,为了解释的目的而列出了各个细节。
应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实施例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。