模型训练方法、装置和电子设备
文献发布时间:2023-06-19 09:36:59
技术领域
本公开涉及计算机技术领域,尤其涉及一种模型训练方法、装置和电子设备。
背景技术
随着计算机技术的发展,可以利用计算机自动处理图像,从而从图像中可以获取各种信息。
在一些应用场景中,可以对图像进行处理,获得对图像中人物的年龄估计值,或者,可以获得图像中人物的姿态估计值。
发明内容
提供该公开内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该公开内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开实施例提供了一种模型训练方法,该方法包括:将待识别图像导入包括归一化层的待训练模型,得到由所述归一化层中的节点生成的概率值,其中,节点与采用属性值表征的类别对应,节点生成的概率值用于表征待识别图像属于该节点对应的类别的概率,其中,所述待识别图像标记有标签;从归一化层的节点中,选取候选节点;基于选取出的候选节点生成的概率值和所述标签,生成损失函数值;基于所述损失函数值,调整所述待训练模型的参数。
第二方面,本公开实施例提供了一种模型训练装置,包括:接收单元,用于第一生成单元,用于将待识别图像导入包括归一化层的待训练模型,得到由所述归一化层中的节点生成的概率值,其中,节点与采用属性值表征的类别对应,节点生成的概率值用于表征待识别图像属于该节点对应的类别的概率,其中,所述待识别图像标记有标签;选取单元,用于从归一化层的节点中,选取候选节点;第二生成单元,用于基于选取出的候选节点生成的概率值和所述标签,生成损失函数值;调整单元,用于基于所述损失函数值,调整所述待训练模型的参数。
第三方面,本公开实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的模型训练方法。
第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的模型训练方法的步骤。
本公开实施例提供的模型训练方法、装置和电子设备,通过可以将待识别图像导入待训练模型中,待训练模型可以包括归一化层,归一化层中的各个节点可以输出概率值,概率值可以用于表征待识别图像属于该节点对应的属性值的概率。然后,可以从归一化层的节点中,选取候选节点,以及基于候选节点生成的概率值,生成损失函数值。最后,基于损失函数值,调整待训练模型的参数。
由此,可以提供一种新的模型训练方法,这种新的模型训练方法,从归一化层的节点中进行节点选取,并基于选取出的候选节点生成的概率值,生成损失函数值,在调节参数过程中,可以减少归一化层中无关节点对参数调整的干扰,使得损失函数值可以较为准确地反映候选节点生成的概率值准确程度。从而,可以使得模型参数调整的过程中,尽量向着提高候选节点生成的概率值准确度方向进行参数调整。进而,对于归一化层中节点对应的属性值较为分散的场景,在模型训练过程中加大对部分候选节点生成的结果的学习力度,使得训练向着提高候选节点处的概率分布的方向进行,进而提高所训练的模型的准确度,即提高图像识别的准确度。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是根据本公开的模型训练方法的一个实施例的流程图;
图2是根据本公开的模型训练方法的示例性应用场景的示意图;
图3是根据本公开的模型训练方法的再一个实施例的流程图;
图4是根据本公开的模型训练方法的又一个实施例的流程图;
图5是根据本公开的模型训练装置的一个实施例的结构示意图;
图6是本公开的一个实施例的模型训练方法可以应用于其中的示例性系统架构;
图7是根据本公开实施例提供的电子设备的基本结构的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
请参考图1,其示出了根据本公开的模型训练方法的一个实施例的流程。如图1所示该模型训练方法,包括以下步骤:
步骤101,将待识别图像导入包括归一化层的待训练模型,得到由归一化层中的节点生成的概率值。
在本实施例中,模型训练方法的执行主体(例如服务器)可以将待识别图像导入包括归一化层的待训练模型,得到由归一化层中的节点生成的概率值。
在本实施例中,归一化层中的节点数量可以是预设数目个。
在本实施例中,上述待识别图像是训练样本,待识别图像可以与标签绑定。标签可以指示待识别图像所属的类别。
在一些应用场景中,待识别图像可以包括人物图像。待识别图像的类别可以是人的年龄。换句话说,可以用年龄值表征类别。待识别图像绑定的标签可以指示图像中人物的真实年龄。
在本实施例中,上述待训练模型可以包括归一化层。归一化层所采用的归一化算法可以根据实际情况设置,在此不做限定。
在本实施例中,上述归一化层生成的概率值具有以下特征:各个概率值均为非负数;归一化层中节点生成的概率值之和等于1。
在本实施例中,生成的概率值的数量可以与归一化层中的节点数目相同,即为上述预设数目个。
在本实施例中,上述节点可以与采用属性值表征的类别对应。类别的区分采用属性值进行区分。属性值可以表征目标属性的程度。待识别图像对应的标签,也可以指示目标属性的属性值。
在本实施例中,节点可以生成概率值。节点生成的概率值,用于表征待识别图像属于该节点对应的类别的概率。
在本实施例中,归一化层中的节点对应的类别之间采用数值变化区分。
在一些应用场景中,目标属性可以为年龄。类别采用不同的年龄值表示。归一化层中的节点,可以分别对应0~100岁。如果1岁作为间隔,则归一化层可以包括101个节点;如果2岁作为间隔,则归一化层可以包括51或者50个节点(根据实际应用场景设置)。
在一些应用场景中,目标属性可以为姿态。类别可以为不同的姿态角度值。归一化层中的节点,可以分别对应0~180度。如果以1度为间隔,则归一化层可以包括181个节点。
在本实施例中,上述待训练模型的具体结构,可以根据实际应用场景设置,在此不做限定。
作为示例,上述待训练模型可以包括特征图像网络和全连接层。特征提取网络的具体结构可以根据实际应用场景设置,在此不做限定。
步骤102,从归一化层的节点中,选取候选节点。
在本实施例中,上述执行主体可以从归一化层的节点中,选取候选节点。换句话说,可以选取从归一化层的节点中,选取节点作为候选节点。候选节点的数量可以是至少一个。选取出的候选节点,也可以称为候选节点集合。
在本实施例中,选取候选节点的方式,可以根据实际应用场景设置,在此不做限定。
作为示例,可以根据节点生成的概率值,选取候选节点。
作为示例,可以根据预设的节点范围,选取候选节点集合。例如,如果参与训练的一批样本的类别可以大致确定,可以预先设置节点范围。
步骤103,基于选取出的候选节点生成的概率值和所述标签,生成损失函数值,生成损失函数值。
在本实施例中,上述执行主体可以基于候选节点集合中候选节点生成的概率值,生成损失函数值。
在这里,上述损失函数值可以用于表征待训练模型的识别结果和待识别图像的标签之间的差异。
作为示例,待识别图像包括人物图像,待识别图像的标签为10岁;如果待训练模型的识别结果5岁,可以根据上述标签和上述识别结果生成上述损失函数值。
在一些应用场景中,可以将归一化层中概率值与属性值的期望,作为识别结果。
步骤104,基于损失函数值,调整待训练模型的参数。
在本实施例中,上述执行主体可以基于损失函数值,调整待训练模型的参数。
在本实施例中,待训练模型中的参数,也可以包括但是不限于以下至少一项:待训练模型中的权重、待训练模型中的偏置项。
在本实施例中,基于损失函数值,对待训练模型进行参数调整,可以通过各种方式实现,在此不做限定。
作为示例,可以采用反向传播、梯度下降等方式,对待训练模型进行参数调整。
在本实施例中,可以将参数调整后的待训练模型作为图像识别模型,或者对参数调整后的待训练模型再进行训练得到图像识别模型。
在一些应用场景中,训练待训练模型,可以在预设停止条件满足的时候停止。作为示例,预设停止条件可以包括但是不限于:待训练模型的迭代(或者说更新)次数等于预设次数阈值,待训练字符识别网络输出的识别结果与标签之间的损失函数值小于预设损失函数阈值。
需要说明的是,本实施例提供的模型训练方法,首先可以将待识别图像导入待训练模型中,待训练模型可以包括归一化层,归一化层中的各个节点可以输出概率值,概率值可以用于表征待识别图像属于该节点对应的属性值的概率。然后,可以从归一化层的节点中,选取候选节点,以及基于候选节点生成的概率值,生成损失函数值。最后,基于损失函数值,调整待训练模型的参数。
由此,可以提供一种新的模型训练方法,这种新的模型训练方法,从归一化层的节点中进行节点选取,并基于选取出的候选节点生成的概率值,生成损失函数值,在调节参数过程中,可以减少归一化层中无关节点对参数调整的干扰,使得损失函数值可以较为准确地反映候选节点生成的概率值准确程度。从而,可以使得模型参数调整的过程中,尽量向着提高候选节点生成的概率值准确度方向进行参数调整。进而,对于归一化层中节点对应的属性值较为分散的场景,在模型训练过程中加大对部分候选节点生成的结果的学习力度,使得训练向着提高候选节点处的概率分布的方向进行,进而提高所训练的模型的准确度,即提高图像识别的准确度。
在一些实施例中,上述步骤102,可以包括:确定归一化层中的节点生成的最高概率值;根据所述最高概率值,确定候选节点集合。
在这里,归一化层中的节点生成的最高概率值,数量一般为一个;如果数量为多个相等的最高概率值,可以根据实际情况进行处理。作为示例,可以对多个最高概率值对应的类别值求取平均值。
在这里,根据最高概率值,确定候选节点集合,可以采用各种方式实现。
作为示例,可以将最高概率值与百分之六十的乘积作为下限,将不小于上述下限的概率值对应的节点,确定为候选节点。
需要说明的是,通过根据归一化层生成的最高概率值,可以较为准确的确定待识别图像真实所属的类别,进而根据真实所属的类别,确定候选节点,由此,可以在模型训练过程中,使得归一化节点生成的概率值向该样本真实所属的类别附近集中,提高模型的准确度。
在一些实施例中,上述步骤根据所述最高概率值,确定候选节点集合,可以包括:根据生成所述最高概率值的节点和预设的波动范围值,确定候选节点。
作为示例,可以对于生成最高概率值的节点对应的类别,确定该类别对应的属性值;然后,将波动范围值与该类别对应的属性值进行结合,确定波动数值的范围,将与波动数值内的数值对应的节点,确定为候选节点。
作为示例,各个节点与年龄对应。0~100岁,每一个分类设置一个节点,每个节点可以输出人物图像中的人物属于该年龄的概率。生成最高概率值的节点,可以是30岁对应的节点。波动范围值可以为10。然后,可以将30岁加10,得到波动数值范围的上限。再后,可以将30岁减10,可以得到波动数值范围的下限。由此,可以将大于等于20岁并且小于等于40岁范围内的年龄对应的节点,作为候选节点集合,由此,可以确定出21个候选节点。
可选的,波动范围值可以是双边对称,例如30岁加减10;也可以是双边不对称,例如,30岁加10,30岁减5。
需要说明的是,通过设置波动范围值,可以快速确定候选节点。
在一些实施例中,上述步骤102,可以包括:根据归一化层中节点生成的概率值的概率分布,确定候选节点。
在这里,可以以节点对应的类别为横坐标,以节点生成的概率值为纵坐标,得到概率分布。
在一些应用场景中,概率分布可能符合正态分布。可以将根据60%这一概率和,确定节点双侧界值;也就是说,选取出的候选节点生成的概率值之和不小于60%,并且选取出的候选节点连续。
需要说明的是,通过概率分布选取候选节点,可以根据模型本次计算的实际情况,确定候选节点的个数,在概率分布较为集中的时候,减少选取出的候选节点的个数,从而可以使得训练得到的概率分布在峰值左右更为集中。
在一些实施例中,上述步骤103,可以包括:将候选节点生成的概率值,进行归一化,得到归一化概率值;将候选节点对应的属性值和归一化概率值的期望,确定为识别结果;基于识别结果与待识别图像的标签,生成损失函数值。
在一些应用场景中,根据归一化概率值,生成识别结果,可以包括:将各个归一化概率值与对应的属性值的乘积,进行加和,得到类别期望,将类别期望作为识别结果。
作为示例,对于与20~40岁这21个类别对应的归一化概率值,可以将归一化概率值与对应的年龄值进行相乘运算。然后,将得到的21个乘积进行加和,得到年龄期望,作为识别结果。
作为示例,基于识别结果与待识别图像的标签,生成损失函数值,可以包括:根据识别结果与标签之间的差值的绝对值,生成损失函数值。
在一些应用场景中,归一化层可以采用柔性归一化(softmax)的方式进行归一化。
在一些应用场景中,可以将候选节点生成的概率值,进行归一化,如公式(1)所示。
其中,a是约束区间的下限,b是约束区间的上限,定义如下:
a=max(m-t,0)
b=min(m+t,100)
其中,归一化层的输出值最大的节点对应的年龄为m,记双边等距回归的单边约束区间为t。a可以取在0和“m-t”中的最大值。b可以取100和“m+t”中的最小值。softmax
在这里,根据归一化概率值,生成识别结果,可以通过公式(2)实现。
其中,age
需要说明的是,在计算类别值的期望时,将候选节点生成的概率值参与计算,而不是让所有节点生成概率值均参与计算,可以减缓候选节点之外节点导致识别结果向与真实结果相反的方向偏移的问题。
举例来说,如果说我们要预测的年龄(即真实结果)为0岁,而算期望的时候1-100岁的类别都要参与计算,那么就会把预测结果往高龄方向拉;如果要预测的年龄为100岁,而0-99岁的类别都要参与年龄的期望的计算,那么就会把预测的结果往低龄的方向拉;同样地,其他年龄的预测结果也都会向一个更平均的方向偏移。
在一些应用场景中,可以采用平均绝对误差(Mean Absolute Error,MAE),作为评价指标,评价模型的识别率。平均绝对误差的计算方式可以参考公式(3)。
其中,n是被测样本总数,y
需要说明的是,通过实验证明,采用候选节点重新归一化的方式,可以使得测试数据集的MAE降低至2.92。
在一些实施例中,上述步骤103,可以包括:根据所述候选节点集合中的候选节点生成的概率值,生成区间约束损失项;根据区间约束损失项,生成所述损失值。
在这里,所述区间约束损失项与候选节点生成的概率值之和负相关。
需要说明的是,通过设置区间约束损失项,在训练过程中,可以与区间约束损失项负相关的候选节点概率值之和越来越大,即可以实现归一化层的概率分布越来越集中。
另外,通过设置区间约束损失项,可以避免在测试的时候对归一化层进行重新归一化,也可以避免重新计算类别值的期望。换句话说,通过设置区间约束损失项,可以采用归一化层输出的对所有类别值的概率值确定类别值的期望,作为识别结果,可以简化测试流程,减少测试耗时。
需要说明的是,设置区间约束损失项,约束识别结果的概率分布集中于候选节点,可以随着模型的训练过程,使得概率分布较为集中,减少因为概率分散可能导致的识别结果偏移的影响。举例来说,归一化层会平等的对待每个类别,而各个不同的年龄类别之间并不是完全独立的关系,比如把20岁的人识别为50岁的错误要远远大于把20岁的人识别为21岁的错误,符合自然规律的年龄识别概率分布应该是集中于正确年龄附近的。
需要说明的是,通过实验证明,采用设置区间约束损失项的方式,可以使得测试数据集的MAE降低至2.15。
请参考图2,图2示出了示例性的待训练模型的示例性应用场景。
在这里,如图2所示,模型可以包括特征提取层203和全连接层204。
在这里,上述特征提取层的输出与全连接层的输入连通。
在这里,上述是特征提取层用于提取待识别图像的图像特征。
在这里,上述特征提取层的具体结构,可以根据实际应用场景设置,在此不做限定。
在一些应用场景中,上述特征提取层可以包括残差网络(Residual Network,RSN)。作为示例,可以采用resnet50或者resnet101。
在这里,上述全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。换句话说,全连接层的每一个节点,都可以与特征提取层的输出的每个节点连接。
在这里,全连接层的输出,可以与归一化层205的输入连接。换句话说,可以将全连接层的输出,导入到归一化层中。
在一些实施例中,上述步骤101,可以包括:将待识别图像导入特征提取层,以及将特征提取层的输出导入全连接层;将全连接层的输出,导入归一化层,得到由归一化层生成的预设数目个概率值。
在这里,全连接层的节点可以与类别对应,即全连接的节点与归一化层的节点相同。全连接层用于分类。
在一些应用场景中,在将图像输入特征提取层之前,可以对图像进行处理,处理可以包括但是不限于以下步骤:人脸检测201和图像预处理202。
作为示例,在人脸识别相关的应用场景中。可以对输入图片进行人脸检测,把人脸区域裁切出来。然后,采用图像预处理模块,进行训练阶段的图像预处理或者测试阶段的图像预处理。训练阶段的图像预处理,可以包括:把人脸图像的尺寸缩放为256×256的大小,再随机裁切为224×224的大小,以50%的概率对图片进行镜像变换,对图片进行15°内的随机旋转,对图像三个通道上的像素值进行归一化处理。测试阶段的图像预处理,可以包括把人脸图像的尺寸缩放为256×256的大小,在图像中心裁切出224×224的区域,对图像三个通道上的像素值进行归一化处理。
在一些实施例中,上述基于选取出的候选节点生成的概率值和所述标签,生成损失函数值,包括:基于归一化层中节点生成的概率值,生成交叉熵损失值;基于所述交叉熵损失值和候选节点生成的概率值,生成所述损失函数值。
在这里,可以将交叉熵损失值作为损失函数值的一项。基于候选节点生成的概率值,可以采用本申请上述的各种方式计算,在此不做限定。可以将根据候选节点生成的概率值生成的损失函数部分,与交叉熵损失值的加和,作为上述损失函数值。
在一些实施例中,请参考图3,其示出了模型训练方法的再一个实施例。
步骤301,将待识别图像导入包括归一化层的待训练模型,得到由所述归一化层中的节点生成的概率值。
步骤302,从归一化层的节点中,选取候选节点。
步骤303,确定所述归一化层中的节点生成的最高概率值。
步骤304,根据生成所述最高概率值的节点和预设的波动范围值,确定候选节点。
步骤305,将候选节点生成的概率值,进行归一化,得到归一化概率值。
步骤306,将候选节点对应的属性值和归一化概率值的期望,确定为识别结果。
步骤307,基于识别结果与待识别图像的标签,生成第一损失项。
步骤308,基于归一化层中节点生成的概率值,生成交叉熵损失值。
步骤309,根据第一损失项和交叉熵损失值,生成损失函数值。
在一些应用场景中,步骤309中生成损失函数值,可以将第一损失项与第一权重的乘积,与交叉熵损失值进行加和;将此加和作为损失函数值。
在一些应用场景中,第一权重值的取值可以根据实际应用场景设置,在此不做限定。
作为示例,可以通过第一权重值的设置,将第一损失项与第一权重值的乘积调整为与交叉熵函数值在同一量级。由此,可以使得第一损失项和交叉熵损失值均可以发挥各自的作用,提高模型的准确率。
步骤310,基于损失函数值,调整待训练模型的参数。
在本实施例中,上述执行主体可以基于损失函数值,调整待训练模型的参数。
在一些应用场景中,图3对应的实施例训练的模型,测试阶段和训练阶段一样,也需要对归一化层重新进行归一化处理后,再用候选节点生成的概率值确定期望,然后将此期望作为属性的预测结果。
需要说明的是,通过图3提供的实施例,识别结果的计算,可以采用对候选节点对应的属性值进行重新归一化,并且采用重新归一化的概率值确定期望,由此,期望的确定减少了无关类别的参与,就避免了区间两端的年龄预测值向另一端偏移的情况。由此,可以提高待训练模型的模型准确率。
在一些实施例中,请参考图4,其示出了模型训练方法的有一个实施例。
步骤401,将待识别图像导入包括归一化层的待训练模型,得到由所述归一化层中的节点生成的概率值。
步骤402,从归一化层的节点中,选取候选节点。
步骤403,确定所述归一化层中的节点生成的最高概率值。
步骤404,根据生成所述最高概率值的节点和预设的波动范围值,确定候选节点。
步骤405,根据候选节点生成的概率值,生成区间约束损失项。
在这里,所述区间约束损失项与候选节点生成的概率值之和负相关。
步骤406,将归一化层中节点对应的属性值和归一化概率值的期望,确定为识别结果。
步骤407,基于识别结果与待识别图像的标签,生成第二损失项。
步骤408,基于归一化层中节点生成的概率值,生成交叉熵损失值。
步骤409,根据第二损失项、区间约束损失项和交叉熵损失值,生成损失函数值。
在一些应用场景中,可以通过公式(4),生成损失函数中。
在公式(5)中,上述
步骤410,基于损失函数值,调整待训练模型的参数。
在本实施例中,上述执行主体可以基于损失函数值,调整待训练模型的参数。
需要说明的是,通过图4所示的实施例,对损失函数进行了改进,是的区间约束损失项接近于0,从而使得候选节点生成的概率值之和接近于1,从而约束待训练模型对属性的概率分布输出集中于真实属性值附件。这样在测试的时候,就无需重新进行归一化,也无需重新计算属性值的期望,而是直接用归一化层输出的对所有属性值算出死亡作为属性的预测值,进而可以简化测试流程,减小测试耗时。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种模型训练装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的模型训练装置包括:第一生成单元501、选取单元502、第二生成单元503和调整单元504。其中,第一生成单元,用于将待识别图像导入包括归一化层的待训练模型,得到由所述归一化层中的节点生成的概率值,其中,节点与采用属性值表征的类别对应,节点生成的概率值用于表征待识别图像属于该节点对应的类别的概率,其中,所述待识别图像标记有标签;选取单元,用于从归一化层的节点中,选取候选节点;第二生成单元,用于基于选取出的候选节点生成的概率值和所述标签,生成损失函数值;调整单元,用于基于所述损失函数值,调整所述待训练模型的参数。
在本实施例中,模型训练装置的第一生成单元501、选取单元502、第二生成单元503和调整单元504的具体处理及其所带来的技术效果可分别参考图1对应实施例中步骤101、步骤102、步骤103和步骤104的相关说明,在此不再赘述。
在一些实施例中,所述基于选取出的候选节点生成的概率值和所述标签,生成损失函数值,包括:确定所述归一化层中的节点生成的最高概率值;根据所述最高概率值,确定候选节点。
在一些实施例中,所述根据所述最高概率值,确定候选节点,包括:根据生成所述最高概率值的节点和预设的波动范围值,确定候选节点。
在一些实施例中,所述基于选取出的候选节点生成的概率值和所述标签,生成损失函数值,包括:根据归一化层中节点生成的概率值的概率分布,确定候选节点。
在一些实施例中,所述基于所述损失函数值,调整所述待训练模型的参数,包括:将候选节点生成的概率值,进行归一化,得到归一化概率值;将候选节点对应的属性值和归一化概率值的期望,确定为识别结果;基于识别结果与待识别图像的标签,生成损失函数值。
在一些实施例中,所述基于选取出的候选节点生成的概率值和所述标签,生成损失函数值,包括:根据候选节点生成的概率值,生成区间约束损失项,其中,所述区间约束损失项与候选节点生成的概率值之和负相关;基于所述区间约束损失项,生成所述损失函数值。
在一些实施例中,所述将待识别图像导入包括归一化层的待训练模型,得到由所述归一化层中的节点生成的概率值,包括:将待识别图像导入特征提取层,以及将特征提取层的输出导入全连接层,其中,特征提取层的输出与全连接层的输入连通;将全连接层的输出,导入归一化层,得到由所述归一化层中的节点生成概率值。
在一些实施例中,所述基于选取出的候选节点生成的概率值和所述标签,生成损失函数值,包括:基于归一化层中节点生成的概率值,生成交叉熵损失值;基于所述交叉熵损失值和候选节点生成的概率值,生成所述损失值。
请参考图6,图6示出了本公开的一个实施例的模型训练方法可以应用于其中的示例性系统架构。
如图6所示,系统架构可以包括终端设备601、602、603,网络604,服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备601、602、603可以通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种客户端应用,例如网页浏览器应用、搜索类应用、新闻资讯类应用。终端设备601、602、603中的客户端应用可以接收用户的指令,并根据用户的指令完成相应的功能,例如根据用户的指令在信息中添加相应信息。
终端设备601、602、603可以是硬件,也可以是软件。当终端设备601、602、603为硬件时,可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。当终端设备601、602、603为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器605可以是提供各种服务的服务器,例如接收终端设备601、602、603发送的信息获取请求,根据信息获取请求通过各种方式获取信息获取请求对应的展示信息。并展示信息的相关数据发送给终端设备601、602、603。
需要说明的是,本公开实施例所提供的模型训练方法可以由终端设备执行,相应地,模型训练装置可以设置在终端设备601、602、603中。此外,本公开实施例所提供的模型训练方法还可以由服务器605执行,相应地,模型训练装置可以设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本公开实施例的电子设备(例如图6中的终端设备或服务器)的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储装置708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置708;以及通信装置709。通信装置709可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置709从网络上被下载和安装,或者从存储装置708被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:将待识别图像导入包括归一化层的待训练模型,得到由所述归一化层中的节点生成的概率值,其中,节点与采用属性值表征的类别对应,节点生成的概率值用于表征待识别图像属于该节点对应的类别的概率,其中,所述待识别图像标记有标签;从归一化层的节点中,选取候选节点;基于选取出的候选节点生成的概率值和所述标签,生成损失函数值;基于所述损失函数值,调整所述待训练模型的参数。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,选取单元还可以被描述为“选取候选节点的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
- 模型训练方法、预测方法、装置、重识别模型及电子设备
- 模型、保险风控模型训练方法、装置及电子设备