首页 / 专利库 / 电脑零配件 / 接口 / 一种基于新型损失函数的卷积神经网络目标分类方法

一种基于新型损失函数的卷积神经网络目标分类方法

阅读:51发布:2023-05-28

专利汇可以提供一种基于新型损失函数的卷积神经网络目标分类方法专利检索,专利查询,专利分析的服务。并且本 申请 实施例 提供了一种基于新型损失函数的 卷积神经网络 目标分类方法,通过在模型训练过程中引入一个随目标类特征中心向量与各子类特征中心向量变化的动态加 角 余量,实现了通过计算样本图像的 特征向量 与目标类特征中心向量夹角的第一余弦值向量后,根据动态加角余量以及目标类特征中心向量间的夹角,通过第二预设公式得到第二夹角,通过对第二夹角求余弦,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量,根据第二余弦值向量计算模型的损失对模型训练过程进行指导,从而有效降低 训练数据 集子类特征中心均匀分布的程度。,下面是一种基于新型损失函数的卷积神经网络目标分类方法专利的具体信息内容。

1.一种基于新型损失函数的卷积神经网络目标分类方法,其特征在于,应用于模型训练过程,所述方法包括:
步骤A,获取样本图像的特征向量
步骤B,计算所述样本图像的特征向量与各子类特征中心向量间的第一余弦值向量,其中,所述第一余弦值向量包括所述样本图像的特征向量与各子类特征中心向量间的夹的余弦值;
步骤C,根据所述第一余弦值向量,确定所述第一余弦值向量的第一夹角,其中,所述第一夹角为所述样本图像的特征向量与目标类特征中心向量间的夹角,所述目标类特征中心向量为所述样本图像对应的正确分类所对应的所述子类特征中心向量;
步骤D,分别计算所述目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过第一预设公式得到动态加角余量;
步骤E,根据所述动态夹角余量与所述第一夹角,通过第二预设公式得到第二夹角,通过对所述第二夹角求余弦,得到第二余弦值,并利用所述第二余弦值替换所述第一余弦值向量中特征向量与所述目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量;
步骤F,将所述第二余弦值向量输入模型的归一化层,通过所述归一化层获取样本图像的特征分布概率;
步骤G,通过预设损失函数,根据所述特征分布概率,计算模型的损失;
步骤H,根据所述模型的损失,对模型的参数进行调整;
步骤I,重复上述步骤A至步骤H,直至所述模型的损失小于预设率阈值时,得到训练好的模型。
2.根据权利要求1所述的方法,其特征在于,所述分别计算所述目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过第一预设公式得到动态加角余量,包括:
分别计算所述目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过公式:
得到动态加角余量,其中,l、s、b是经验值的超参数,θmax为最大的余弦值对应的夹角值,vyi为动态加角余量。
3.根据权利要求1所述的方法,其特征在于,所述根据所述动态夹角余量与所述第一夹角,通过第二预设公式得到第二夹角,通过对所述第二夹角求余弦,得到第二余弦值,并利用所述第二余弦值替换所述第一余弦值向量中特征向量与所述目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量,包括:
根据所述动态加角余量以及所述目标类特征中心向量间的夹角,通过公式:
θ′yi=θyi+vyi
得到第二夹角,其中,vyi为动态加角余量,θyi为特征向量与目标类特征中心向量间的夹角,θyi′为通过第二预设公式求得的第二夹角;
根据第二夹角,通过对所述第二夹角求余弦,得到第二余弦值,并利用所述第二余弦值替换所述第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量。
4.根据权利要求1所述的方法,其特征在于,所述通过预设损失函数,根据所述特征分布概率,计算模型的损失,包括:
通过公式:
根据所述特征分布概率,计算模型的损失,其中,L为分类概率的损失,yj为第j个样本图像的实际分类的概率,Sj为第j个样本图像的特征分布概率。
5.一种基于新型损失函数的卷积神经网络目标分类装置,其特征在于,应用于模型训练过程,所述装置包括:
向量获取模,用于获取样本图像的特征向量;
第一余弦值模块,用于计算所述样本图像的特征向量与各子类特征中心向量间的第一余弦值向量,其中,所述第一余弦值向量包括所述样本图像的特征向量与各子类特征中心向量间的夹角的余弦值;
第一夹角模块,用于根据所述第一余弦值向量,确定所述第一余弦值向量的第一夹角,其中,所述第一夹角为所述样本图像的特征向量与目标类特征中心向量间的夹角,所述目标类特征中心向量为所述样本图像对应的正确分类所对应的子类特征中心向量;
加角余量模块,用于分别计算所述目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过第一预设公式得到动态加角余量;
第二余弦值模块,用于根据所述动态加角余量与所述第一夹角,根据所述动态夹角余量与所述第一夹角,通过第二预设公式得到第二夹角,通过对所述第二夹角求余弦,得到第二余弦值,并利用所述第二余弦值替换所述第一余弦值向量中特征向量与所述目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量;
特征分布模块,用于将所述第二余弦值向量输入模型的归一化层,通过所述归一化层获取样本图像的特征分布概率;
损失计算模块,用于通过预设损失函数,根据所述特征分布概率,计算模型的损失;
参数调整模块,用于根据所述模型的损失,对模型的参数进行调整;
模型获取模块,用于返回所述向量获取模块继续执行,直至所述模型的损失小于预设率阈值时,得到训练好的模型。
6.根据权利要求5所述的装置,其特征在于,所述加角余量模块,包括:
第一预设公式子模块,用于分别计算所述目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过公式:
得到动态加角余量,其中,l、s、b是经验值的超参数,θmax为最大的余弦值对应的夹角值,vyi为动态加角余量。
7.根据权利要求5所述的装置,其特征在于,所述第二余弦值模块,包括:
第二预设公式子模块,用于根据所述动态加角余量以及所述目标类特征中心向量间的夹角,通过公式:
θ′yi=θyi+vyi
得到第二夹角,其中,vyi为动态加角余量,θyi为样本图像特征向量与目标类特征中心向量间的夹角,θyi′为通过第二预设公式求得的第二夹角;
余弦函数子模块,根据第二夹角,通过对所述第二夹角求余弦,得到第二余弦值,并利用所述第二余弦值替换所述第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量。
8.根据权利要求5所述的装置,其特征在于,所述损失计算模块包括:
损失函数子模块,用于通过公式:
根据所述特征分布概率,计算模型的损失,其中,L为分类概率的损失,yj为第j个样本图像的实际分类的概率,Sj为第j个样本图像的特征分布概率。
9.一种电子设备,其特征在于,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的基于新型损失函数的卷积神经网络目标分类方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的基于新型损失函数的卷积神经网络目标分类方法。

说明书全文

一种基于新型损失函数的卷积神经网络目标分类方法

技术领域

[0001] 本申请涉及信息技术领域,特别是涉及一种基于新型损失函数的卷积神经网络目标分类方法。

背景技术

[0002] 目前,神经网络模型在模式识别、自动控制、信号处理、辅助决策、人工智能等众多研究领域取得了广泛的成功,尤其在图像分类方面,已经在我们周围有着广泛的应用,例如,数字识别,衣物分类,人脸识别等。而在神经网络中卷积神经网络对于图像分类具有良好的效果,尤其在人脸识别方面卷积神经网络有着广泛用的应用。在基于卷积神经网络的人脸识别系统中,损失函数作为判断所训练神经网络和训练数据集间契合程度的标准,对人脸识别的实际效果有着重要影响。
[0003] ArcFace作为目前常用的损失函数,ArcFace在损失函数中引入加余量,可以增大类间间距,当加角余量取较大值时,加角余量约束也会减小类内距离,从而使人脸识别的效果得到提升。而为了达到好的训练效果,损失函数所取的加角余量较大,从而导致训练数据集所有类的特征中心会远离,特征中心会趋向于均匀分布,这与实际的特征中心在特征空间上散乱分布的情况不符,存在对训练数据集的过拟合问题,影响识别的效果。发明内容
[0004] 本申请实施例的目的在于提供一种基于新型损失函数的卷积神经网络目标分类方法,以实现解决特征中心距离变大导致趋向于均匀分布的问题。具体技术方案如下:
[0005] 第一方面,本申请实施例提供了一种基于新型损失函数的卷积神经网络目标分类方法,应用于模型训练过程,包括:
[0006] 步骤A,获取样本图像的特征向量
[0007] 步骤B,计算样本图像的特征向量与各子类特征中心向量间的第一余弦值向量,其中,第一余弦值向量包括样本图像的特征向量与各子类特征中心向量间的夹角的余弦值;
[0008] 步骤C,根据第一余弦值向量,确定第一余弦值向量的第一夹角,其中,第一夹角为样本图像的特征向量与目标类特征中心向量间的夹角,目标类特征中心向量为样本图像对应的正确分类所对应的子类特征中心向量;
[0009] 步骤D,分别计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过第一预设公式得到动态加角余量;
[0010] 步骤E,根据动态夹角余量与第一夹角,通过第二预设公式得到第二夹角,通过对第二夹角求余弦,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量;
[0011] 步骤F,将第二余弦值向量输入模型的归一化层,通过归一化层获取样本图像的特征分布概率;
[0012] 步骤G,通过预设损失函数,根据特征分布概率,计算模型的损失;
[0013] 步骤H,根据模型的损失,对模型的参数进行调整;
[0014] 步骤I,重复上述步骤A至步骤H,直至模型的损失小于预设率阈值时,得到训练好的模型。
[0015] 可选的,分别计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过第一预设公式得到动态加角余量,包括:
[0016] 分别计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过公式:
[0017]
[0018] 得到动态加角余量,其中,l、s、b是经验值的超参数,θmax为最大的余弦值对应的夹角值,vyi为动态加角余量。
[0019] 可选的,根据动态夹角余量与第一夹角,通过第二预设公式得到第二夹角,通过对第二夹角求余弦,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量,包括:
[0020] 根据动态加角余量以及目标类特征中心向量间的夹角,通过公式:
[0021] θ′yi=θyi+vyi
[0022] 得到第二夹角,其中,vyi为动态加角余量,θyi为特征向量与目标类特征中心向量间的夹角,θyi′为通过第二预设公式求得的第二夹角;
[0023] 根据第二夹角,通过对第二夹角求余弦,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量。
[0024] 可选的,通过预设损失函数,根据特征分布概率,计算模型的损失,包括:
[0025] 通过公式:
[0026]
[0027] 根据特征分布概率,计算模型的损失,其中,L为分类概率的损失,yj为第j个样本图像的实际分类的概率,Sj为第j个样本图像的特征分布概率。
[0028] 第二方面,本申请实施例提供了一种基于新型损失函数的卷积神经网络目标分类装置,应用于模型训练过程,包括:
[0029] 向量获取模,用于获取样本图像的特征向量;
[0030] 第一余弦值模块,用于计算样本图像的特征向量与各子类特征中心向量间的第一余弦值向量,其中,第一余弦值向量包括样本图像的特征向量与各子类特征中心向量间的夹角的余弦值;
[0031] 第一夹角模块,用于根据第一余弦值向量,确定第一余弦值向量的第一夹角,其中,第一夹角为样本图像的特征向量与目标类特征中心向量间的夹角,目标类特征中心向量为样本图像对应的正确分类所对应的子类特征中心向量;
[0032] 加角余量模块,用于分别计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过第一预设公式得到动态加角余量;
[0033] 第二余弦值模块,用于根据动态加角余量与第一夹角,根据动态夹角余量与第一夹角,通过第二预设公式得到第二夹角,通过对第二夹角求余弦,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量;
[0034] 特征分布模块,用于将第二余弦值向量输入模型的归一化层,通过归一化层获取样本图像的特征分布概率;
[0035] 损失计算模块,用于通过预设损失函数,根据特征分布概率,计算模型的损失;
[0036] 参数调整模块,用于根据模型的损失,对模型的参数进行调整;
[0037] 模型获取模块,用于返回向量获取模块继续执行,直至模型的损失小于预设率阈值时,得到训练好的模型。
[0038] 可选的,加角余量模块,包括:
[0039] 第一预设公式子模块,用于分别计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过公式:
[0040]
[0041] 得到动态加角余量,其中,l、s、b是经验值的超参数,θmax为最大的余弦值对应的夹角值,vyi为动态加角余量。
[0042] 可选的,第二余弦值模块,包括:
[0043] 第二预设公式子模块,用于根据动态加角余量以及目标类特征中心向量间的夹角,通过公式:
[0044] θ′yi=θyi+vyi
[0045] 得到第二夹角,其中,vyi为动态加角余量,θyi为样本图像特征向量与目标类特征中心向量间的夹角,θyi′为通过第二预设公式求得的第二夹角;
[0046] 余弦函数子模块,用于根据第二夹角,通过对第二夹角求余弦,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量。
[0047] 可选的,损失计算模块包括:
[0048] 损失函数子模块,用于通过公式:
[0049]
[0050] 根据特征分布概率,计算模型的损失,其中,L为分类概率的损失,yj为第j个样本图像的实际分类的概率,Sj为第j个样本图像的特征分布概率。
[0051] 第三方面,本申请实施例提供了一种电子设备,其特征在于,包括处理器及存储器
[0052] 上述存储器,用于存放计算机程序
[0053] 上述处理器,用于执行上述存储器上所存放的程序时,实现上述任一基于新型损失函数的卷积神经网络目标分类方法。
[0054] 第四方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,上述计算机可读存储介质内存储有计算机程序,上述计算机程序被处理器执行时上述任一基于新型损失函数的卷积神经网络目标分类方法。
[0055] 本申请实施例提供的一种基于新型损失函数的卷积神经网络目标分类方法,获取样本图像的特征向量;计算样本图像的特征向量与各子类特征中心向量间的第一余弦值向量;根据第一余弦值向量,确定第一余弦值向量的第一夹角;分别计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过第一预设公式得到动态加角余量;根据动态夹角余量与第一夹角,通过第二预设公式得到第二夹角,通过对第二夹角求余弦,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量;将第二余弦值向量输入模型的归一化层,通过归一化层获取样本图像的特征分布概率;通过预设损失函数,根据特征分布概率,计算模型的损失;根据模型的损失,对模型的参数进行调整;重复上述步骤,直至模型的损失小于预设率阈值时,得到训练好的模型。实现了通过计算样本图像的特征向量与各子类特征中心向量间夹角的第一余弦值向量后,引入动态加角余量,根据动态加角余量以及目标类特征中心向量间的夹角,通过第二预设公式和余弦函数,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量,根据第二余弦值向量计算模型的损失对模型训练过程进行指导,由于动态加角余量随着目标类特征中心向量以及各子类特征中心向量间而动态变化,从而有效降低训练数据集子类特征中心均匀分布的程度。
[0056] 当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。附图说明
[0057] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0058] 图1为本申请实施例的一种基于新型损失函数的卷积神经网络目标分类方法的流程图
[0059] 图2为本申请实施例的一种神经网络训练流程图。
[0060] 图3为本申请实施例的一种基于新型损失函数的卷积神经网络目标分类装置的第一种结构图。
[0061] 图4为本申请实施例的一种基于新型损失函数的卷积神经网络目标分类装置的第二种结构图。
[0062] 图5为本申请实施例的电子设备的一种示意图。

具体实施方式

[0063] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0064] 参见图1,图1为本申请实施例的一种基于新型损失函数的卷积神经网络目标分类方法的流程图,包括:
[0065] 步骤101,获取样本图像的特征向量。
[0066] 本申请实施例的基于新型损失函数的卷积神经网络目标分类方法针对的是通过智能终端设备对模型进行训练,因此可以通过智能终端设备执行,具体的,该智能终端设备可以为电脑或服务器等。
[0067] 本申请实施例的基于新型损失函数的卷积神经网络目标分类方法应用于模型训练过程。特征向量为通过神经网络提取的用于表示一副图片的向量,例如,如图2所示,图2为本申请实施例的一种神经网络训练流程图,其中f[N×1]是输入图像经过神经网络后提取得到的N维特征向量。
[0068] 步骤102,计算样本图像的特征向量与各子类特征中心向量间的第一余弦值向量。
[0069] 其中,第一余弦值向量包括样本图像的特征向量与各子类特征中心向量间的夹角的余弦值在一种可能的实施方式中,计算样本图像特征向量与各子类特征中心向量夹角的第一余弦值向量,可以为通过样本图像特征向量与各子类特征中心向量相乘,得到两个向量的卷积,得到样本图像特征向量与各子类特征中心向量夹角的第一余弦值向量。
[0070] 例如,如图2所示,图2为本申请实施例的一种神经网络训练流程图。其中,其中输入图像为样本图像,f[N×1]为输入图像特征向量,W[T×N]为损失函数卷积层的权重,其中,上述损失函数卷积层的权重与各子类特征中心向量基本相等,因此通过上述权重替代各子类特征中心向量,通过特征向量f[N×1]与W[T×N]中各子类特征中心向量相乘,求得输入图像特征向量与各子类特征中心向量间夹角的余弦值logits[T×1]。可选的,可以通过卷积层进行向量相乘,其中N是所提取特征的维度,T是用于训练的人脸类别数。
[0071] 步骤103,根据第一余弦值向量,确定第一余弦值向量的第一夹角。
[0072] 其中,第一夹角为样本图像的特征向量与目标类特征中心向量间的夹角,目标类特征中心向量为样本图像对应的正确分类所对应的子类特征中心向量。根据第一余弦值向量,确定第一余弦值向量的第一夹角,可以通过反余弦函数,将所述第一余弦值向量输入反余弦函数,通过反余弦函数进行计算,得到第一余弦值向量的第一夹角。
[0073] 例如,如图2所示,图2为本申请实施例的一种神经网络训练流程图。根据第一余弦值向量logits[T×1]中输入图像特征向量与目标类特征中心向量间的夹角的余弦值,通过反余弦函数计算特征向量与目标类特征中心向量间的夹角,θyi。
[0074] 步骤104,分别计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过第一预设公式得到动态加角余量。
[0075] 在一种可能的实施方式中,计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,通过计算目标类特征中心向量与各子类特征中心向量的卷积,得到目标类特征中心向量与各子类特征中心向量夹角的余弦值。由于余弦值随角度的增大而减小,其中最大的余弦值对应的夹角值,为目标类特征中心向量与各子类特征中心向量中最近邻向量之间的夹角。其中,目标类特征中心向量为各子类特征中心向量中上述样本图像正确分类时所对应的子类特征中心向量。
[0076] 例如,如图2所示,图2为本申请实施例的一种神经网络训练流程图。将正确分类的目标类特征中心向量与各子类特征中心向量相乘,求得目标类特征中心向量与各子类特征中心向量间的余弦值cosθ[T×1],将目标类特征中心向量自身相乘的对应项cosθ[yi]置0,再求cosθ[T×1]的最大值并经反余弦函数得到θmax,则θmax为正确分类对应的目标类特征中心向量与其最邻近其它子类特征中心向量间的夹角值,而后通过预设公式得到动态加角余量。
[0077] 可选的,分别计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过第一预设公式得到动态加角余量,包括:
[0078] 分别计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过公式:
[0079]
[0080] 得到动态加角余量,其中,l、s、b是经验值的超参数,θmax为最大的余弦值对应的夹角值,vyi为动态加角余量。
[0081] 步骤105,根据动态夹角余量与第一夹角,通过第二预设公式得到第二夹角,通过对第二夹角求余弦,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量。
[0082] 其中,根据动态加角余量与第一夹角,通过第二预设公式得到样本图像的特征向量与目标类特征中心向量夹角的第二余弦值向量通过第二预设公式和余弦函数,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量。
[0083] 在一种可能的实施方式中,根据动态加角余量与目标类特征中心向量间的夹角,通过第二预设公式得到样本图像的特征向量与目标类特征中心向量夹角的第二余弦值,可以为计算动态加角余量与目标类特征中心向量间的夹角之和,得到第二夹角,通过余弦函数计算第二夹角的余弦值,即第二余弦值,并利用第二余弦值替换上述第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量。
[0084] 例如,如图2所示,图2为本申请实施例的一种神经网络训练流程图,根据动态加角余量与第一夹角,通过第二预设公式和余弦函数,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量。
[0085] 可选的,根据动态夹角余量与第一夹角,通过第二预设公式得到第二夹角,通过对第二夹角求余弦,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量,包括:
[0086] 根据动态加角余量以及目标类特征中心向量间的夹角,通过公式:
[0087] θ′yi=θyi+vyi
[0088] 得到第二夹角,其中,vyi为动态加角余量,θyi为特征向量与目标类特征中心向量间的夹角,θyi′为通过第二预设公式求得的第二夹角;
[0089] 用于根据第二夹角,通过对第二夹角求余弦,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量。
[0090] 步骤106,将第二余弦值向量输入模型的归一化层,通过归一化层获取样本图像的特征分布概率。
[0091] 在一种可能的实施方式中,将第二余弦值向量输入softmax层(归一化层),通过归一化层计算样本图像对应每种图片分类的特征分布概率。有助于神经网络的参数初始化,避免参数更新时梯度爆炸的出现,有利于学习率的设置。
[0092] 例如,如图2所示,图2为本申请实施例的一种神经网络训练流程图,将第二余弦值向量Logits[T×1]经过softmax层后得到样本图像的特征分布概率probability[T×1]。例如,当计算的到的第二余弦值向量为(0.4,0.2),此时尽管第二余弦值向量的大小代表了分类的概率,第二余弦值向量中各余弦值的和(即概率和)为0.4+0.2=0.6,并不等于1。而且每次输入不同的图像,所计算得到的概率和都是不同的。为了使得这个概率和可以保持一个稳定的数值,通过softmax层进行归一化。将上述第二余弦值向量(0.4,0.2)变为(0.4/0.6,0.2/0.6)=(0.66666,0.33333),而此时所得到的特征分布概率的概率和为0.66666+
0.33333是约等于1的,即所有的概率和为1。即通过softmax层,可以使得特征分布概率和稳定为1。
[0093] 步骤107,通过预设损失函数,根据特征分布概率,计算模型的损失。
[0094] 其中,通过预设损失函数,根据特征分布概率,计算模型的损失,上述预设损失函数可以为交叉熵函数: 其中,L为分类概率的损失,yj为第j个样本图像的实际分类的概率,Sj为第j个样本图像的特征分布概率。
[0095] 其中,L可以为分类概率的损失,通过上述分类概率的损失可以指导调整整个模型的参数,使得分类概率的损失渐渐减小,即使得预测分类概率渐渐与实际分类概率相等。
[0096] 例如,当归一化后所得到的特征分布概率为(0.7,0.3)时,通过损失函数计算所述模型的损失,可以通过交叉熵函数,L=-log(0.7)=0.15,而当归一化后所得到的特征分布概率为(1,0)时,通过损失函数计算所述模型的损失L=-log(1)=0。此时预测分类概率与实际分类概率相等。
[0097] 可选的,通过预设损失函数,根据特征分布概率,计算模型的损失,包括:
[0098] 通过公式:
[0099]
[0100] 根据特征分布概率,计算模型的损失,其中,L为分类概率的损失,yj为第j个样本图像的实际分类的概率,Sj为第j个样本图像的特征分布概率。
[0101] 具体的,通过预设损失函数,根据特征分布概率,计算模型的损失,包括:
[0102] 通过公式:
[0103]
[0104] 根据特征分布概率,计算模型的损失,其中,m是每一次训练时batch size的大小,n是训练数据集中人脸类别数,θj是神经网路所提取特征与softmax层前的全连接层中各类特征中心间的夹角, 是所提取特征与正确分类中心间的夹角; 是引入的动态加角余量。
[0105] 步骤108,根据模型的损失,对模型的参数进行调整。
[0106] 在一种可能的实施方式中,通过计算模型的损失对模型的训练过程进行指导。例如,计算得到的模型损失大于预设阈值,则根据计算得到的模型损失对模型的参数进行调整。具体调整方法为现有技术此处不再赘述。
[0107] 可选的,如图2所述,图中第一余弦值向量为求没引入动态加角余量前的原始分类概率分布。虚线框中的过程为引入动态加角余量,得到引入加角余量后的分类概率分布即第二余弦值向量。虚线框后的特征分布概率为归一化后的分类概率,并计算损失。
[0108] 步骤109,重复上述步骤101至步骤108,直至模型的损失小于预设率阈值时,得到训练好的模型。
[0109] 可见,通过本申请实施例的方法,可以通过计算特征向量与目标类特征中心向量夹角的第一余弦值向量后,引入动态加角余量,根据动态加角余量与目标类特征中心向量间的夹角,通过第二预设公式和余弦函数,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量,根据第二余弦值向量计算模型的损失对模型训练过程进行指导,由于动态加角余量随着目标类特征中心向量以及各子类特征中心向量间的动态变化,从而有效降低训练数据集子类特征中心均匀分布的程度。
[0110] 本申请实施例还提供了一种基于新型损失函数的卷积神经网络目标分类方法的实施方式,包括:
[0111] 步骤1,获取样本图像的特征向量。
[0112] 步骤2,计算样本图像特征向量与各子类特征中心向量夹角,得到第一余弦值向量。
[0113] 其中第一余弦值向量包括样本图像特征向量与各子类特征中心向量夹角的余弦值。
[0114] 步骤3,根据第一余弦值向量,确定第一余弦值向量的第一夹角。
[0115] 其中,第一夹角为样本图像特征向量与目标类特征中心向量间的夹角,上述目标类特征中心向量为各子类特征中心向量中上述样本图像正确分类时所对应的子类特征中心向量。根据第一余弦值向量,确定第一余弦值向量的第一夹角,可以通过反余弦函数,将所述第一余弦值向量输入反余弦函数,通过反余弦函数进行计算,得到第一余弦值向量的第一夹角。
[0116] 步骤4,计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身cosθ[yi]相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过公式:
[0117]
[0118] 得到动态加角余量,其中,l、s、b是经验值的超参数,θmax为最大的余弦值对应的夹角值,vyi为动态加角余量。
[0119] 步骤5,根据动态加角余量与目标类特征中心向量间的第二夹角,通过公式:
[0120] θ′yi=θyi+vyi
[0121] 得到上述第二夹角,其中,vyi为动态加角余量,θyi为特征向量与目标类特征中心向量间的夹角,θyi′为通过第二预设公式求得的第二夹角。
[0122] 步骤6,根据所述第二夹角,通过余弦函数得到所述样本图像特征向量与各子类特征中心向量夹角的第二余弦值。
[0123] 通过上述第二预设公式,可以求得加入动态加角余量后的θyi′。通过求θyi′的余弦值,并用其代替第一余弦值向量logits[yi],由于动态加角余量随目标类特征中心向量和各子类特征中心向量的变化而变化,所得到的第二余弦值也是随目标类特征中心向量和各子类特征中心向量的变化而变化的值。
[0124] 步骤7,将第二余弦值输入模型的归一化层,通过归一化层获取样本图像的特征分布概率。
[0125] 步骤8,通过公式: 根据特征分布概率,计算模型的损失。
[0126] 其中,L为分类概率的损失,yj为第j个样本图像的实际分类的概率,Sj为第j个样本图像的特征分布概率。
[0127] 其中,将上述步骤2到步骤8的公式合并,可以到得到:
[0128]
[0129] 其中,m是每一次训练时batch size(批尺寸)的大小,n是训练数据集中人脸类别数,θj是神经网路所提取特征与softmax层前的全连接层中各类特征中心间的夹角, 是所提取特征与正确分类中心间的夹角; 是引入的动态加角余量。
[0130] 上述损失函数为基于动态加角余量的损失函数——Dyn-arcFace,针对每次用于训练的人脸图像的类别,引入一个动态加角余量。由于训练过程中,对于任一神经网络的参数更新,损失函数的加角余量都是随着人脸类别以及当时各子类特征中心向量分布情况而动态变化的,从而解决类特征中心均匀的问题,从而提高人脸识别的效果。
[0131] 由于现有技术中,当加角余量设定为一个较小的值时,随着类中心距离的变大,它的类内约束不足,训练效果不好。而当选择一个较大的加角余量时,可以在一定程度上解决类内约束不足的问题,提升训练效果,但同时较大的加角余量也会使得训练数据集类特征中心均匀分布,引入了过拟合的问题。本申请中通过动态的加角余量可以解决类特征中心均匀的问题,从而提高人脸识别的效果。
[0132] 步骤9,根据模型的损失,对模型的参数进行调整。
[0133] 其中,根据模型的损失,对模型的参数进行调整,可以包括对除模型参数中的超参数之外的所有参数进行调整。
[0134] 步骤10,重复上述步骤1至步骤9,直至模型的损失小于预设率阈值时,得到训练好的模型。
[0135] 可见,通过本申请实施例的方法,可以通过计算特征向量与目标类特征中心向量夹角的第一余弦值向量后,引入动态加角余量,根据动态加角余量与目标类特征中心向量间的夹角,通过第二预设公式和余弦函数,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量,根据第二余弦值向量计算模型的损失对模型训练过程进行指导,由于动态加角余量随着目标类特征中心向量以及各子类特征中心向量间的动态变化,从而有效降低训练数据集子类特征中心均匀分布的程度。
[0136] 参见图3,图3为本申请实施例的一种基于新型损失函数的卷积神经网络目标分类装置的第一种结构图,包括:
[0137] 向量获取模块301,用于获取样本图像的特征向量。
[0138] 第一余弦值模块302,用于计算样本图像的特征向量与各子类特征中心向量间的第一余弦值向量。
[0139] 其中,第一余弦值向量包括样本图像的特征向量与各子类特征中心向量间的夹角的余弦值。
[0140] 第一夹角模块303,用于根据第一余弦值向量,确定第一余弦值向量的第一夹角。
[0141] 其中,第一夹角为样本图像的特征向量与目标类特征中心向量间的夹角,目标类特征中心向量为样本图像对应的正确分类所对应的子类特征中心向量。
[0142] 加角余量模块304,用于分别计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过第一预设公式得到动态加角余量。
[0143] 第二余弦值模块305,用于根据动态夹角余量与第一夹角,通过第二预设公式得到第二夹角,通过对第二夹角求余弦,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量。
[0144] 特征分布模块306,用于将第二余弦值向量输入模型的归一化层,通过归一化层获取样本图像的特征分布概率。
[0145] 损失计算模块307,用于通过预设损失函数,根据特征分布概率,计算模型的损失。
[0146] 参数调整模块308,用于根据模型的损失,对模型的参数进行调整。
[0147] 模型获取模块309,用于返回向量获取模块继续执行,直至模型的损失小于预设率阈值时,得到训练好的模型。
[0148] 可选的,加角余量模块304,包括:
[0149] 第一预设公式子模块,用于分别计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过公式:
[0150]
[0151] 得到动态加角余量,其中,l、s、b是经验值的超参数,θmax为最大的余弦值对应的夹角值,vyi为动态加角余量。
[0152] 可选的,第二余弦值模块,包括:
[0153] 第二预设公式子模块,用于根据动态加角余量以及目标类特征中心向量间的夹角,通过公式:
[0154] θ′yi=θyi+vyi
[0155] 得到第二夹角,其中,vyi为动态加角余量,θyi为样本图像特征向量与目标类特征中心向量间的夹角,θyi′为通过第二预设公式求得的第二夹角;
[0156] 余弦函数子模块,用于根据第二夹角,通过对第二夹角求余弦,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量。
[0157] 可选的,损失计算模块包括:
[0158] 损失函数子模块,用于通过公式:
[0159]
[0160] 根据特征分布概率,计算模型的损失,其中,L为分类概率的损失,yj为第j个样本图像的实际分类的概率,Sj为第j个样本图像的特征分布概率。
[0161] 可见,通过本申请实施例的装置,可以通过计算特征向量与目标类特征中心向量夹角的第一余弦值向量后,引入动态加角余量,根据动态加角余量与目标类特征中心向量间的夹角,通过第二预设公式和余弦函数,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量,根据第二余弦值向量计算模型的损失对模型训练过程进行指导,由于动态加角余量随着目标类特征中心向量以及各子类特征中心向量间的动态变化,从而有效降低训练数据集子类特征中心均匀分布的程度。
[0162] 参见图4,图4为本申请实施例的一种基于新型损失函数的卷积神经网络目标分类装置的第二种结构图,包括:
[0163] 向量获取模块301,用于获取样本图像的特征向量。
[0164] 第一余弦值模块302,用于计算样本图像的特征向量与各子类特征中心向量间的第一余弦值向量。
[0165] 其中,第一余弦值向量包括样本图像的特征向量与各子类特征中心向量间的夹角的余弦值。
[0166] 第一夹角模块303,用于根据第一余弦值向量,确定第一余弦值向量的第一夹角。
[0167] 其中,第一夹角为样本图像的特征向量与目标类特征中心向量间的夹角,目标类特征中心向量为样本图像对应的正确分类所对应的子类特征中心向量。
[0168] 第一预设公式子模块401,用于分别计算目标类特征中心向量与各子类特征中心向量间夹角的余弦值,将目标类特征中心向量自身相乘的对应项置零,确定其中最大的余弦值对应的夹角值,通过公式:
[0169]
[0170] 得到动态加角余量,其中,l、s、b是经验值的超参数,θmax为最大的余弦值对应的夹角值,vyi为动态加角余量。
[0171] 第二预设公式子模块402,用于根据动态加角余量以及目标类特征中心向量间的夹角,通过公式:
[0172] θ′yi=θyi+vyi
[0173] 得到第二夹角,其中,vyi为动态加角余量,θyi为样本图像特征向量与目标类特征中心向量间的夹角,θyi′为通过第二预设公式求得的第二夹角。
[0174] 余弦函数子模块403,用于根据第二夹角,通过对第二夹角求余弦,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量。
[0175] 特征分布模块306,用于将第二余弦值向量输入模型的归一化层,通过归一化层获取样本图像的特征分布概率。
[0176] 损失函数子模块404,用于通过公式:
[0177]
[0178] 根据特征分布概率,计算模型的损失,其中,L为分类概率的损失,yj为第j个样本图像的实际分类的概率,Sj为第j个样本图像的特征分布概率。
[0179] 参数调整模块308,用于根据模型的损失,对模型的参数进行调整。
[0180] 模型获取模块309,用于返回向量获取模块继续执行,直至模型的损失小于预设率阈值时,得到训练好的模型。
[0181] 可见,通过本申请实施例的装置,可以通过计算特征向量与目标类特征中心向量夹角的第一余弦值向量后,引入动态加角余量,根据动态加角余量与目标类特征中心向量间的夹角,通过第二预设公式和余弦函数,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量,根据第二余弦值向量计算模型的损失对模型训练过程进行指导,由于动态加角余量随着目标类特征中心向量以及各子类特征中心向量间的动态变化,从而有效降低训练数据集子类特征中心均匀分布的程度。
[0182] 本申请实施例还提供了一种电子设备,包括:处理器及存储器;
[0183] 上述存储器,用于存放计算机程序。
[0184] 上述处理器用于执行上述存储器存放的计算机程序时,实现上述任一基于新型损失函数的卷积神经网络目标分类方法。
[0185] 可选的,参见图5,图5为本申请实施例的电子设备的一种示意图,本申请实施例的电子设备还包括通信接口502和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。
[0186] 可选的,上述处理器用于执行上述存储器存放的计算机程序时,还能够实现上述任一基于新型损失函数的卷积神经网络目标分类方法。
[0187] 可见,通过本申请实施例的电子设备,可以通过计算特征向量与目标类特征中心向量夹角的第一余弦值向量后,引入动态加角余量,根据动态加角余量与目标类特征中心向量间的夹角,通过第二预设公式和余弦函数,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量,根据第二余弦值向量计算模型的损失对模型训练过程进行指导,由于动态加角余量随着目标类特征中心向量以及各子类特征中心向量间的动态变化,从而有效降低训练数据集子类特征中心均匀分布的程度。
[0188] 上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry  Standard Architecture,EISA)总线等。该通信总线可以分为地址总线数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0189] 通信接口用于上述电子设备与其他设备之间的通信。
[0190] 存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0191] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0192] 本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质内存储有计算机程序,上述计算机程序被处理器执行时实现上述任一基于新型损失函数的卷积神经网络目标分类方法。
[0193] 可选的,上述计算机程序被处理器执行时,还能够实现上述任一基于新型损失函数的卷积神经网络目标分类方法。
[0194] 可见,通过本申请实施例的计算机可读存储介质,可以通过计算特征向量与目标类特征中心向量夹角的第一余弦值向量后,引入动态加角余量,根据动态加角余量与目标类特征中心向量间的夹角,通过第二预设公式和余弦函数,得到第二余弦值,并利用第二余弦值替换第一余弦值向量中特征向量与目标类特征中心向量间的夹角的余弦值,得到第二余弦值向量,根据第二余弦值向量计算模型的损失对模型训练过程进行指导,由于动态加角余量随着目标类特征中心向量以及各子类特征中心向量间的动态变化,从而有效降低训练数据集子类特征中心均匀分布的程度。
[0195] 需要说明的是,在本文中,各个可选方案中的技术特征只要不矛盾均可组合来形成方案,这些方案均在本申请公开的范围内。诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0196] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0197] 以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈