分类网络的训练方法及分类方法和装置、电子设备与流程

文档序号:27552263发布日期:2021-11-24 22:53阅读:106来源:国知局
分类网络的训练方法及分类方法和装置、电子设备与流程

1.本技术涉及计算机视觉技术,尤其是一种分类网络的训练方法及分类方法和装置、电子设备。


背景技术:

2.分类网络在很多领域起到重要作用,比如行人检测与跟踪、大规模智慧城市目标任务搜索定位、个人画像描述等。分类网络在处理人脸属性分析、行人外观分析等问题时,存在实际训练数据不均衡的问题,比如是否秃头的属性数据正负样本比例可能高达1:100,如何在不同的训练数据场景下提高训练得到的分类网络性能是本领域的研究热点。


技术实现要素:

3.本技术实施例提供的一种分类网络的训练以及分类技术。
4.根据本技术实施例的一个方面,提供的一种分类网络的训练方法,包括:
5.基于多次采样中的当前采样对应的已采样次数,确定所述当前采样从样本图像集获得不同类别的样本图像的采样比例,其中,所述样本图像集中包括至少两个图像类别,每个图像类别包括至少一个样本图像;
6.基于所述采样比例,对所述样本图像集进行所述当前采样,以获得所述当前采样的采样样本;
7.基于所述多次采样获得的多个采样样本训练分类网络,获得目标分类网络。
8.可选地,在本技术上述任一方法实施例中,所述至少两个图像类别包括第一图像类别和第二图像类别,其中,所述第一图像类别包含的样本图像的数量大于所述第二图像类别包含的样本图像的数量。
9.可选地,在本技术上述任一方法实施例中,所述采样样本包括至少两个样本图像,所述至少两个样本图像对应至少一个图像类别。
10.可选地,在本技术上述任一方法实施例中,所述采样比例对应的不同图像类别的样本图像数量之间的差别随着所述已采样次数的增加而减小。
11.可选地,在本技术上述任一方法实施例中,所述基于所述多次采样获得的多个采样样本训练分类网络,获得目标分类网络,包括:
12.通过所述分类网络处理所述采样样本,获得所述采样样本的网络损失;
13.基于所述网络损失调整所述分类网络的网络参数,获得目标分类网络。
14.可选地,在本技术上述任一方法实施例中,所述通过所述分类网络处理所述采样样本,获得所述采样样本的网络损失,包括:
15.通过所述分类网络处理所述采样样本,获得所述采样样本的至少两个损失;
16.基于所述采样样本的至少两个损失,获得所述采样样本的网络损失。
17.可选地,在本技术上述任一方法实施例中,所述基于所述采样样本的至少两个损失,获得所述采样样本的网络损失,包括:
18.对所述采样样本的至少两个损失进行加权求和,获得所述采样样本的网络损失,其中,所述至少两个损失中包含的至少一个损失的权重依赖于所述采样样本对应的当前已训练次数。
19.可选地,在本技术上述任一方法实施例中,所述至少一个损失包括预测损失和嵌入损失中的至少一种。
20.可选地,在本技术上述任一方法实施例中,所述至少两个损失中的嵌入损失在所述当前已训练次数为第一数值时对所述网络损失的贡献比例低于在所述当前已训练次数为第二数值时对所述网络损失的贡献比例,其中,所述第一数值大于所述第二数值;和/或
21.所述至少两个损失中的预测损失在所述当前已训练次数为所述第一数值时对所述网络损失的贡献比例高于在所述当前已训练次数为所述第二数值时对所述网络损失的贡献比例。
22.可选地,在本技术上述任一方法实施例中,响应于所述当前已训练次数小于第一预设阈值,所述至少一个损失中的嵌入损失的权重随着所述当前已训练次数的增加而减小;和/或
23.响应于所述当前已训练次数大于或等于所述第一预设阈值,所述至少一个损失中的嵌入损失的权重保持为固定值。
24.可选地,在本技术上述任一方法实施例中,所述通过所述分类网络处理所述采样样本,获得所述采样样本的至少两个损失,包括:
25.通过所述分类网络处理所述采样样本,得到所述采样样本中包括的每个样本图像的预测类别;
26.基于所述采样样本中包括的每个样本图像的预测类别和所述每个样本图像的标注类别,确定所述采样样本的预测损失。
27.可选地,在本技术上述任一方法实施例中,所述基于所述采样样本中包括的每个样本图像的预测类别和所述每个样本图像的标注类别,确定所述采样样本的预测损失,包括:
28.基于所述采样样本中包括的每个样本图像的预测类别和所述每个样本图像的标注类别,确定所述每个样本图像的预测误差值;
29.基于所述采样样本中包括的每个样本图像的权重值和所述每个样本图像的预测误差值,确定所述采样样本的预测误差。
30.可选地,在本技术上述任一方法实施例中,所述样本图像的权重依赖于所述样本图像所属图像类别在所述采样样本中所占的第一比例。
31.可选地,在本技术上述任一方法实施例中,响应于所述第一比例与所述样本图像所属的图像类别在所述样本图像集中所占的第二比例之间的比值大于或等于第二预设阈值,所述样本图像的权重为所述第一比例与所述第二比例之间的比值;和/或
32.响应于所述第一比例与所述第二比例之间的比例小于所述第二预设阈值,所述样本图像的权重为0或1。
33.可选地,在本技术上述任一方法实施例中,所述通过所述分类网络处理所述采样样本,获得所述采样样本的至少两个损失,包括:
34.通过所述分类网络处理所述采样样本,得到所述采样样本中包括的每个样本图像
的特征数据;
35.基于所述采样样本中包括的每个样本图像的特征数据,确定所述采样样本中的容易样本;
36.将所述容易样本作为锚点,获得所述采样样本的嵌入损失。
37.根据本技术实施例的另一方面,提供的一种分类网络的训练方法,包括:
38.通过所述分类网络处理从样本图像集中获得的采样样本,获得所述采样样本的至少两个损失,其中,所述样本图像集中包括至少两个图像类别,每个图像类别包括至少一个样本图像,所述采样样本包括至少两个样本图像;
39.基于所述采样样本的至少两个损失和所述至少两个损失的权重,获得所述采样样本的网络损失,其中,所述至少两个损失包含的至少一个损失的权重依赖于所述采样样本对应的当前已训练次数;
40.基于所述网络损失调整所述分类网络的网络参数,获得目标分类网络。
41.可选地,在本技术上述任一方法实施例中,所述基于所述采样样本的至少两个损失和所述至少两个损失的权重,获得所述采样样本的网络损失,包括:
42.基于所述至少两个损失的权重对所述采样样本的至少两个损失进行加权求和,获得所述采样样本的网络损失。
43.可选地,在本技术上述任一方法实施例中,所述至少一个损失包括预测损失和嵌入损失中的至少一种。
44.可选地,在本技术上述任一方法实施例中,所述至少两个损失中的嵌入损失在所述当前已训练次数为第一数值时对所述网络损失的贡献比例低于在所述当前已训练次数为第二数值时对所述网络损失的贡献比例,其中,所述第一数值大于所述第二数值;和/或
45.所述至少两个损失中的预测损失在所述当前已训练次数为所述第一数值时对所述网络损失的贡献比例高于在所述当前已训练次数为所述第二数值时对所述网络损失的贡献比例。
46.可选地,在本技术上述任一方法实施例中,响应于所述当前已训练次数小于第一预设阈值,所述至少一个损失中的嵌入损失的权重随着所述当前已训练次数的增加而减小;和/或
47.响应于所述当前已训练次数大于或等于所述第一预设阈值,所述至少一个损失的权重保持为固定值。
48.可选地,在本技术上述任一方法实施例中,所述通过所述分类网络处理从样本图像集中获得的采样样本,获得所述采样样本的至少两个损失,包括:
49.通过所述分类网络处理所述采样样本,得到所述采样样本中包括的每个样本图像的预测类别;
50.基于所述采样样本中包括的每个样本图像的预测类别和所述每个样本图像的标注类别,确定所述采样样本的预测损失。
51.可选地,在本技术上述任一方法实施例中,所述基于所述采样样本中包括的每个样本图像的预测类别和所述每个样本图像的标注类别,确定所述采样样本的预测损失,包括:
52.基于所述采样样本中包括的每个样本图像的预测类别和所述每个样本图像的标
注类别,确定所述每个样本图像的预测误差值;
53.基于所述采样样本中包括的每个样本图像的权重值和所述每个样本图像的预测误差值,确定所述采样样本的预测误差。
54.可选地,在本技术上述任一方法实施例中,所述样本图像的权重依赖于所述样本图像所属图像类别在所述采样样本中所占的第一比例。
55.可选地,在本技术上述任一方法实施例中,响应于所述第一比例与所述样本图像所属的图像类别在所述样本图像集中所占的第二比例之间的比值大于或等于第二预设阈值,所述样本图像的权重为所述第一比例与所述第二比例之间的比值;和/或
56.响应于所述第一比例与所述第二比例之间的比例小于所述第二预设阈值,所述样本图像的权重为0或1。
57.可选地,在本技术上述任一方法实施例中,所述通过所述分类网络处理从样本图像集中获得的采样样本,获得所述采样样本的至少两个损失,包括:
58.通过所述分类网络处理所述采样样本,得到所述采样样本中包括的每个样本图像的特征数据;
59.基于所述采样样本中包括的每个样本图像的特征数据,确定所述采样样本中的容易样本;
60.将所述容易样本作为锚点,获得所述采样样本的嵌入损失。
61.可选地,在本技术上述任一方法实施例中,在通过所述分类网络处理从样本图像集中获得的采样样本,获得所述采样样本的至少两个损失之前,还包括:
62.基于多次采样中的当前采样对应的已采样次数,确定所述当前采样从样本图像集获得不同类别的样本图像的采样比例;
63.基于所述采样比例,对所述样本图像集进行所述当前采样,以获得所述当前采样的采样样本。
64.可选地,在本技术上述任一方法实施例中,所述至少两个图像类别包括第一图像类别和第二图像类别,其中,所述第一图像类别包含的样本图像的数量大于所述第二图像类别包含的样本图像的数量。
65.可选地,在本技术上述任一方法实施例中,所述采样样本包括至少两个样本图像,所述至少两个样本图像对应至少一个类别。
66.可选地,在本技术上述任一方法实施例中,所述采样比例对应的不同图像类别的样本图像数量之间的差别随着所述已采样次数的增加而减小。
67.根据本技术实施例的又一方面,提供的一种分类方法,包括:
68.获取待处理图像;
69.通过目标分类网络对所述待处理图像进行分类处理,得到所述待处理图像的图像预测类别;其中,
70.所述目标分类网络是通过上述任意一项所述的训练方法得到的。
71.根据本技术实施例的还一方面,提供的一种分类网络的训练装置,包括:
72.采样比例确定单元,用于基于多次采样中的当前采样对应的已采样次数,确定所述当前采样从样本图像集获得不同类别的样本图像的采样比例,其中,所述样本图像集中包括至少两个图像类别,每个图像类别包括至少一个样本图像;
73.样本采样单元,用于基于所述采样比例,对所述样本图像集进行所述当前采样,以获得所述当前采样的采样样本;
74.网络训练单元,用于基于所述多次采样获得的多个采样样本训练分类网络,获得目标分类网络。
75.可选地,在本技术上述任一装置实施例中,所述至少两个图像类别包括第一图像类别和第二图像类别,其中,所述第一图像类别包含的样本图像的数量大于所述第二图像类别包含的样本图像的数量。
76.可选地,在本技术上述任一装置实施例中,所述采样样本包括至少两个样本图像,所述至少两个样本图像对应至少一个图像类别。
77.可选地,在本技术上述任一装置实施例中,所述采样比例对应的不同图像类别的样本图像数量之间的差别随着所述已采样次数的增加而减小。
78.可选地,在本技术上述任一装置实施例中,所述网络训练单元,包括:
79.损失获得模块,用于通过所述分类网络处理所述采样样本,获得所述采样样本的网络损失;
80.参数调整模块,用于基于所述网络损失调整所述分类网络的网络参数,获得目标分类网络。
81.可选地,在本技术上述任一装置实施例中,所述损失获得模块,用于通过所述分类网络处理所述采样样本,获得所述采样样本的至少两个损失;基于所述采样样本的至少两个损失,获得所述采样样本的网络损失。
82.可选地,在本技术上述任一装置实施例中,所述损失获得模块在基于所述采样样本的至少两个损失,获得所述采样样本的网络损失时,用于对所述采样样本的至少两个损失进行加权求和,获得所述采样样本的网络损失,其中,所述至少两个损失中包含的至少一个损失的权重依赖于所述采样样本对应的当前已训练次数。
83.可选地,在本技术上述任一装置实施例中,所述至少一个损失包括预测损失和嵌入损失中的至少一种。
84.可选地,在本技术上述任一装置实施例中,所述至少两个损失中的嵌入损失在所述当前已训练次数为第一数值时对所述网络损失的贡献比例低于在所述当前已训练次数为第二数值时对所述网络损失的贡献比例,其中,所述第一数值大于所述第二数值;和/或
85.所述至少两个损失中的预测损失在所述当前已训练次数为所述第一数值时对所述网络损失的贡献比例高于在所述当前已训练次数为所述第二数值时对所述网络损失的贡献比例。
86.可选地,在本技术上述任一装置实施例中,响应于所述当前已训练次数小于第一预设阈值,所述至少一个损失中的嵌入损失的权重随着所述当前已训练次数的增加而减小;和/或
87.响应于所述当前已训练次数大于或等于所述第一预设阈值,所述至少一个损失中的嵌入损失的权重保持为固定值。
88.可选地,在本技术上述任一装置实施例中,所述损失获得模块在通过所述分类网络处理所述采样样本,获得所述采样样本的至少两个损失时,用于通过所述分类网络处理所述采样样本,得到所述采样样本中包括的每个样本图像的预测类别;基于所述采样样本
中包括的每个样本图像的预测类和所述每个样本图像的标注类别,确定所述采样样本的预测损失。
89.可选地,在本技术上述任一装置实施例中,所述损失获得模块在基于所述采样样本中包括的每个样本图像的预测类别和所述每个样本图像的标注类别,确定所述采样样本的预测损失时,用于基于所述采样样本中包括的每个样本图像的预测类别和所述每个样本图像的标注类别,确定所述每个样本图像的预测误差值;基于所述采样样本中包括的每个样本图像的权重值和所述每个样本图像的预测误差值,确定所述采样样本的预测误差。
90.可选地,在本技术上述任一装置实施例中,所述样本图像的权重依赖于所述样本图像所属图像类别在所述采样样本中所占的第一比例。
91.可选地,在本技术上述任一装置实施例中,响应于所述第一比例与所述样本图像所属的图像类别在所述样本图像集中所占的第二比例之间的比值大于或等于第二预设阈值,所述样本图像的权重为所述第一比例与所述第二比例之间的比值;和/或
92.响应于所述第一比例与所述第二比例之间的比例小于所述第二预设阈值,所述样本图像的权重为0或1。
93.可选地,在本技术上述任一装置实施例中,所述损失获得模块在通过所述分类网络处理所述采样样本,获得所述采样样本的至少两个损失时,用于通过所述分类网络处理所述采样样本,得到所述采样样本中包括的每个样本图像的特征数据;基于所述采样样本中包括的每个样本图像的特征数据,确定所述采样样本中的容易样本;将所述容易样本作为锚点,获得所述采样样本的嵌入损失。
94.根据本技术实施例的再一方面,提供的一种分类网络的训练装置,包括:
95.样本损失获得单元,用于通过所述分类网络处理从样本图像集中获得的采样样本,获得所述采样样本的至少两个损失,其中,所述样本图像集中包括至少两个图像类别,每个图像类别包括至少一个样本图像,所述采样样本包括至少两个样本图像;
96.网络损失单元,用于基于所述采样样本的至少两个损失和所述至少两个损失的权重,获得所述采样样本的网络损失,其中,所述至少两个损失包含的至少一个损失的权重依赖于所述采样样本对应的当前已训练次数;
97.参数调整单元,用于基于所述网络损失调整所述分类网络的网络参数,获得目标分类网络。
98.可选地,在本技术上述任一装置实施例中,所述样本损失获得单元,用于基于所述至少两个损失的权重对所述采样样本的至少两个损失进行加权求和,获得所述采样样本的网络损失。
99.可选地,在本技术上述任一装置实施例中,所述至少一个损失包括预测损失和嵌入损失中的至少一种。
100.可选地,在本技术上述任一装置实施例中,所述至少两个损失中的嵌入损失在所述当前已训练次数为第一数值时对所述网络损失的贡献比例低于在所述当前已训练次数为第二数值时对所述网络损失的贡献比例,其中,所述第一数值大于所述第二数值;和/或
101.所述至少两个损失中的预测损失在所述当前已训练次数为所述第一数值时对所述网络损失的贡献比例高于在所述当前已训练次数为所述第二数值时对所述网络损失的贡献比例。
102.可选地,在本技术上述任一装置实施例中,响应于所述当前已训练次数小于第一预设阈值,所述至少一个损失中的嵌入损失的权重随着所述当前已训练次数的增加而减小;和/或
103.响应于所述当前已训练次数大于或等于所述第一预设阈值,所述至少一个损失的权重保持为固定值。
104.可选地,在本技术上述任一装置实施例中,所述样本损失获得单元,具体用于通过所述分类网络处理所述采样样本,得到所述采样样本中包括的每个样本图像的预测类别;基于所述采样样本中包括的每个样本图像的预测类别和所述每个样本图像的标注类别,确定所述采样样本的预测损失。
105.可选地,在本技术上述任一装置实施例中,所述样本损失获得单元在基于所述采样样本中包括的每个样本图像的预测类别和所述每个样本图像的标注类别,确定所述采样样本的预测损失时,用于基于所述采样样本中包括的每个样本图像的预测类别和所述每个样本图像的标注类别,确定所述每个样本图像的预测误差值;基于所述采样样本中包括的每个样本图像的权重值和所述每个样本图像的预测误差值,确定所述采样样本的预测误差。
106.可选地,在本技术上述任一装置实施例中,所述样本图像的权重依赖于所述样本图像所属图像类别在所述采样样本中所占的第一比例。
107.可选地,在本技术上述任一装置实施例中,响应于所述第一比例与所述样本图像所属的图像类别在所述样本图像集中所占的第二比例之间的比值大于或等于第二预设阈值,所述样本图像的权重为所述第一比例与所述第二比例之间的比值;和/或
108.响应于所述第一比例与所述第二比例之间的比例小于所述第二预设阈值,所述样本图像的权重为0或1。
109.可选地,在本技术上述任一装置实施例中,所述样本损失获得单元,具体用于通过所述分类网络处理所述采样样本,得到所述采样样本中包括的每个样本图像的特征数据;基于所述采样样本中包括的每个样本图像的特征数据,确定所述采样样本中的容易样本;将所述容易样本作为锚点,获得所述采样样本的嵌入损失。
110.可选地,在本技术上述任一装置实施例中,所述装置还包括:
111.采样比例确定单元,用于基于多次采样中的当前采样对应的已采样次数,确定所述当前采样从样本图像集获得不同类别的样本图像的采样比例;
112.样本采样单元,用于基于所述采样比例,对所述样本图像集进行所述当前采样,以获得所述当前采样的采样样本。
113.可选地,在本技术上述任一装置实施例中,所述至少两个图像类别包括第一图像类别和第二图像类别,其中,所述第一图像类别包含的样本图像的数量大于所述第二图像类别包含的样本图像的数量。
114.可选地,在本技术上述任一装置实施例中,所述采样样本包括至少两个样本图像,所述至少两个样本图像对应至少一个类别。
115.可选地,在本技术上述任一装置实施例中,所述采样比例对应的不同图像类别的样本图像数量之间的差别随着所述已采样次数的增加而减小。
116.根据本技术实施例的又一方面,提供的一种分类装置,包括:
117.图像获取单元,用于获取待处理图像;
118.类别预测单元,用于通过目标分类网络对所述待处理图像进行分类处理,得到所述待处理图像的图像预测类别;其中,所述目标分类网络是通过上述任意一项所述的训练方法得到的。
119.根据本技术实施例的另一方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;
120.以及处理器,用于与所述存储器通信以执行所述可执行指令,从而完成上述任一可能的实现方式中所述分类网络的训练方法或如上所述的分类方法的操作。
121.根据本技术实施例的另一方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时执行上述任一可能的实现方式中所述分类网络的训练方法或如上所述的分类方法的操作。
122.根据本技术实施例的另一方面,提供的一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现上述任一可能的实现方式中所述分类网络的训练方法或如上所述的分类方法的指令。
123.根据本技术实施例的再一个方面,提供的另一种计算机程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任一可能的实现方式中所述分类网络的训练方法或如上所述的分类方法的操作。
124.在一个可选实施方式中,所述计算机程序产品具体为计算机存储介质,在另一个可选实施方式中,所述计算机程序产品具体为软件产品,例如sdk等。
125.根据本技术实施例还提供了另一种分类网络的训练方法及分类方法和装置、电子设备、计算机存储介质、计算机程序产品,其中,基于多次采样中的当前采样对应的已采样次数,确定当前采样从样本图像集获得不同类别的样本图像的采样比例;基于采样比例,对样本图像集进行当前采样,以获得当前采样的采样样本;基于多次采样获得的多个采样样本训练分类网络,获得目标分类网络。
126.基于本技术上述实施例提供的一种分类网络的训练方法及分类方法和装置、电子设备,基于多次采样中的当前采样对应的已采样次数,确定当前采样从样本图像集获得不同类别的样本图像的采样比例;基于采样比例,对样本图像集进行当前采样,以获得当前采样的采样样本;基于多次采样获得的多个采样样本训练分类网络,获得目标分类网络,通过随采样次数动态变化的采样比例对样本图像集进行采样,使训练获得的分类网络具有较高的分类准确度。
127.下面通过附图和实施例,对本技术的技术方案做进一步的详细描述。
附图说明
128.构成说明书的一部分的附图描述了本技术的实施例,并且连同描述一起用于解释本技术的原理。
129.参照附图,根据下面的详细描述,可以更加清楚地理解本技术,其中:
130.图1为本技术实施例提供的分类网络的训练方法的一个流程示意图。
131.图2为本技术实施例提供的分类网络训练方法的另一实施例的流程示意图。
132.图3为本技术实施例提供的分类网络的训练方法中获得网络损失的一个流程示意
图。
133.图4为现有技术的计算三元组损失的一个计算示意图。
134.图5为本技术实施例提供的分类网络的训练方法中的三元组损失的一个计算示意图。
135.图6为本技术实施例提供的分类网络的训练装置的一个结构示意图。
136.图7为本技术实施例提供的分类网络的训练方法的还一实施例的流程示意图。
137.图8为本技术实施例提供的分类网络的训练方法的再一实施例的流程示意图。
138.图9为本技术实施例提供的分类网络的训练装置的另一结构示意图。
139.图10为本技术实施例提供的分类方法的一个流程示意图。
140.图11为本技术实施例提供的分类装置的一个结构示意图。
141.图12为适于用来实现本技术实施例的终端设备或服务器的电子设备的结构示意图。
具体实施方式
142.现在将参照附图来详细描述本技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本技术的范围。
143.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
144.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本技术及其应用或使用的任何限制。
145.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
146.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
147.图1为本技术实施例提供的分类网络的训练方法的一个流程示意图。该方法可以由任意电子设备执行,例如终端设备、服务器、移动设备等等。
148.步骤110,基于多次采样中的当前采样对应的已采样次数,确定当前采样从样本图像集获得不同类别的样本图像的采样比例。
149.其中,样本图像集中包括至少两个图像类别,每个图像类别包括至少一个样本图像;例如,样本图像集中包括两个类别,包括大量数据的第一类别和包括少量数据的第二类别,通过本技术实施例中根据已采样次数动态调整进行采样的采样比例,实现在每次采样时,第一类别和第二类别之间的采样比例都是动态变化的,例如,可采用设定的函数实现采样比例随着已采样次数动态变化。
150.在一些可选的实施例中,至少两个图像类别包括第一图像类别和第二图像类别,其中,第一图像类别包含的样本图像的数量大于第二图像类别包含的样本图像的数量。
151.本技术实施例提出的基于已采样次数确定当前采样的采样比例的采样方法,适用于任意包括多个类别的样本图像集的采样,尤其对于不同图像类别的样本图像数量差较大的情况,可以通过调整采样比例增加数量较少的第二图像类别在采样样本中的比重,使训
练得到的目标分类网络对第二图像类别也能准确分类,而不会出现使用固定采样比例采样时,由于样本图像数量较少而导致在采样样本中第二图像类别数量过小且重复量大,使得训练的目标分类网络对第二图像类别的分类不准确。例如,在学习判断行人是否为秃头的问题中,大量的训练数据都是非秃头(对应本技术实施例中第一图像类别),秃头(对应本技术实施例中第二图像类别)的数据极少,可能占比不到1%。如果按照一般的分类学习方法,系统学习到的模型容易倾向于大量类别,比如将所有数据预测成非秃头,模型的准确率就能达到99%,然而秃头的召回率为0。这个不利于用户发现特殊的目标对象,或者说,模型没有判断行人是否为秃头的能力。利用本技术实施例提供的方法进行学习后获得的目标分类网络,能提升对秃头样本的判断力,提高对秃头的召回率,同时保证整体的准确率。
152.步骤120,基于采样比例,对样本图像集进行当前采样,以获得当前采样的采样样本。
153.在本技术实施例中,当前采样的采样比例由已采样次数确定,由于每次进行采样时,采样次数都在变化,因此每次采样的采样比例都不相同,保证了在样本图像集中每个图像类别都能对分类网络的训练起到积极的作用。
154.可选地,每个采样样本包括至少两个样本图像,至少两个样本图像对应至少一个图像类别。
155.本技术实施例中为了实现基于采样样本对分类网络的训练,采样样本中需包括的多个样本图像,以提高训练获得的分类网络的分类准确性;并且,每次基于一个采样比例从样本图像集中进行采样,获得的采样样本中不同类别的样本图像之间的比例符合采样比例;例如,样本图像集中包括500个第一类别的样本图像和100个第二类别的样本图像,基于3:1的采样比例从样本图像集中进行采样,可以获得30个第一类别的样本图像和10个第二类别的样本图像。
156.步骤130,基于多次采样获得的多个采样样本训练分类网络,获得目标分类网络。
157.可选地,基于多个采样样本中的每个采样样本依次对分类网络进行训练,具体过程可以包括:对于每个采样样本,待训练的分类网络对该采样样本进行处理,获得网络损失;基于网络损失对待训练的分类网络进行参数调整,获得调整参数后的分类网络;判断是否达到结束训练的条件(如,达到预设训练次数等),当达到结束训练的条件时,将调整参数后的分类网络作为目标分类网络;当未达到结束训练的条件时,将调整参数后的分类网络作为待训练的分类网络,基于该待训练的分类网络对下一次采样获得的采样样本进行处理,获得下一个网络损失,基于网络损失对待训练的分类网络进行参数调整,获得调整参数后的分类网络,直到达到结束训练的条件,将调整参数后的分类网络作为目标分类网络。
158.基于本技术上述实施例提供的分类网络的训练方法,基于多次采样中的当前采样对应的已采样次数,确定当前采样从样本图像集获得不同类别的样本图像的采样比例;基于采样比例,对样本图像集进行当前采样,以获得当前采样的采样样本;基于多次采样获得的多个采样样本训练分类网络,获得目标分类网络,通过随采样次数动态变化的采样比例对样本图像集进行采样,使训练获得的分类网络具有较高的分类准确度。
159.在一个或多个可选的实施例中,采样比例对应的不同图像类别的样本图像数量之间的差别随着已采样次数的增加而减小。
160.现有技术中在对样本图像集进行采样时,始终保持均衡的目标数据采样分布(例
如,始终利用采样原始比例或设定比例进行采样或始终利用设定比例进行采样,样本图像集中至少两个类别之间的比例作为采样原始比例),这样不利于系统的泛化性学习,比如在系统学习初期,过多的丢弃大类样本图像导致系统损失了过多有效信息,导致训练得到的分类网络分类不准确。本技术实施例首先获得样本图像集中不同类别之间的比例作为采样原始比例(例如,样本图像集中包括500个第一类别的样本图像和100个第二类别的样本图像,原始采样比例为1/5),以采样原始比例为基础,通过动态调整原始采样比例,随着采样次数的增加,减小采样样本中不同图像类别的样本图像之间的数据量差,即逐渐增加小类样本在采样样本中的比重,实现样本图像集中不同类别不均衡数据的学习,以提高分类网络对小类样本的召回率,实现对所有数据学习有效的特征表达,使后期可实现样本图像的正确分类学习。
161.可选地,步骤110获得每次采样的采样比例的过程可以包括:基于第一动态变化函数和当前采样对应的已采样次数对采样原始比例进行处理,获得当前采样的采样比例。
162.其中,第一动态变化函数中的变量为已采样次数;可选地,第一动态变化函数可以采用变量从1递减至0的任意函数,例如:凸函数、凹函数、线性函数、复合函数等。第一动态变化函数反映了网络学习过程的状态,第一动态变化函数的斜率表示网络学习的速率,不同的函数类描绘了不同的学习速率风格,例如,凸函数呈现的是学习速率逐渐加快的学习策略。
163.作为可选的例子,第一动态变化函数可以包括但不限于以下几种函数:
164.例如,凸函数:表示学习速率由慢到快。此时第一动态变化函数的公式可以如公式(1.1)所示:
[0165][0166]
其中,sf
cos
(l)表示一种凸函数形式的第一动态变化函数,l表示第l次采样,l表示设置的总采样次数。
[0167]
线性函数:表示恒定的学习速率。此时第一动态变化函数的公式可以如公式(1.2)所示:
[0168][0169]
其中,sf
linear
(l)表示一种线性函数形式的第一动态变化函数,l表示第l次采样,l表示设置的总采样次数。
[0170]
凹函数:表示学习速率由快到慢。此时第一动态变化函数的公式可以如公式(1.3)所示:
[0171]
sf
exp
(l)=λ
l
ꢀꢀ
公式(1.3)
[0172]
其中,sf
exp
(l)表示一种凹函数形式的第一动态变化函数,l表示第l次采样。
[0173]
复合函数:指示学习速率从慢到快,再到慢。此时第一动态变化函数的公式可以如公式(1.4)所示:
[0174][0175]
其中,sf
composite
(l)表示一种复合函数形式的第一动态变化函数,l表示第l次采样,l表示设置的总采样次数。
[0176]
上述4个公式列举的是第一动态变化函数的几个可选公式,不用于限制本技术实施例中第一动态变化函数的具体形式。
[0177]
采样次数是累计变化的,如,第一次采样时,第一动态变化函数中的变量取值为1,第二次采样时,第一动态变化函数中的变量取值为2,以此类推,每次采样时对应的采样次数都不同,使每次采样对应的第一动态变化函数的函数值都不同,进而实现每次采样的采样比例不同,实现动态变化的采样。
[0178]
可选地,基于第一动态变化函数和当前采样对应的已采样次数对采样原始比例进行处理,获得当前采样的采样比例的过程可以包括:
[0179]
获得第一动态变化函数对应当前采样的函数值;
[0180]
将采样原始比例作为底数,将获得的函数值作为指数,获得本次采样的采样比例。
[0181]
可选地,通过本技术实施例获得的采样比例实现网络训练初期针对真实训练数据分布(接近采样原始比例)进行学习,到训练后期针对均衡数据分布进行学习。一个可选示例中,可基于以下公式(2)获得采样比例:
[0182]
d(l)=d
traing(l)
ꢀꢀ
公式(2)
[0183]
其中,d(l)表示第l次采样对应的采样比例,g(l)表示第l次采样对应的第一动态变化函数,d
train
表示样本图像集的采样原始比例;基于上述公式(1)获得的采样比例,由于g(l)从1递减至0的第一动态变化函数,例如,g(l)可以选择上述公式(1.1)、公式(1.2)、公式(1.3)或公式(1.4)实现,因此,使获得的采样比例d(l)在初始采样时接近采样原始比例,在后续采样中逐渐增大数量少的类别的比例,以提高分类网络对数量少的类别的分类性能。
[0184]
图2为本技术实施例提供的分类网络训练方法的另一实施例的流程示意图。如图2所示,该实施例方法包括:
[0185]
步骤210,基于多次采样中的当前采样对应的已采样次数,确定当前采样从样本图像集获得不同类别的样本图像的采样比例。
[0186]
其中,样本图像集中包括至少两个图像类别,每个图像类别包括至少一个样本图像;例如,样本图像集中包括两个类别,包括大量数据的第一类别和包括少量数据的第二类别,通过本技术实施例中根据已采样次数动态调整进行采样的采样比例,实现在每次采样时,第一类别和第二类别之间的采样比例都是动态变化的,例如,可采用设定的函数实现采样比例随着已采样次数动态变化。
[0187]
步骤220,基于采样比例,对样本图像集进行当前采样,以获得当前采样的采样样本。
[0188]
步骤230,通过分类网络处理采样样本,获得采样样本的网络损失。
[0189]
可选地,将采样样本输入分类网络,基于分类网络对采样样本中包括的每个样本图像进行分类,获得预测分类结果,将预测分类结果与每个样本图像对应的标注分类结果进行处理,即可获得采样样本的网络损失,可选地,网络损失可以由至少一种损失构成,例如,网络损失由预测损失和嵌入损失;本技术实施例不限制网络损失包括损失的具体数量和种类。
[0190]
步骤240,基于网络损失调整分类网络的网络参数,获得目标分类网络。
[0191]
网络训练是通过网络损失调整网络参数的过程,可选地,调整参数的过程包括:每次采样获得一个采样样本后输入待训练的分类网络,获得一个网络损失,基于该网络损失
对待训练的分类网络中的网络参数进行调整,获得调整后的分类网络,此时,需判断是否达到了预设的训练次数(本技术实施例中训练的次数可以进行预设,例如,预设训练10次),当未达到预设的训练次数时(例如,预设训练次数为10,本次训练为第8次),进行下一次采样(第9次采样和训练),获得下一个采样样本,将调整后的分类网络作为待训练的分类网络,将下一个采样样本输入到待训练的分类网络,获得下一个网络损失,再基于该网络损失对待训练的分类网络中的网络参数进行调整,获得调整后的分类网络,直到达到预设的训练次数(例如,预设训练次数为10,本次训练为第10次),将调整后的分类网络作为目标分类网络。
[0192]
图3为本技术实施例提供的分类网络的训练方法中获得网络损失的一个流程示意图。如图3所示,上述实施例中步骤230可以包括:
[0193]
步骤302,通过分类网络处理采样样本,获得采样样本的至少两个损失。
[0194]
本技术实施例中,为了提高训练速度和目标分类网络的准确度,基于采样样本获得至少两个损失,以至少两个损失获得网络损失,可选地,至少两个损失可以包括但不限于:预测损失和嵌入损失等。
[0195]
步骤304,基于采样样本的至少两个损失,获得采样样本的网络损失。
[0196]
在网络训练过程中,往往不仅包括一种损失,在本技术实施例中,每次将一批采样样本输入到分类网络中,获得至少两个损失,结合至少两个损失获得网络损失,损失通常是基于监督信息(通常为样本图像对应的标注类别)和预测分类结果获得的,例如,基于预测分类结果与标注类别的吻合情况确定损失。
[0197]
可选地,步骤304可以包括:
[0198]
对采样样本的至少两个损失进行加权求和,获得采样样本的网络损失。
[0199]
网络训练过程中,针对多个损失通过加权求和的方式获得网络损失,可以使每个损失都在训练中做出相应的贡献,通过不同的权重可以调整不同损失在每次训练时对参数调整的贡献比例,以实现在训练的不同阶段提高更有优势的损失的贡献比例。
[0200]
其中,至少两个损失中包含的至少一个损失的权重依赖于采样样本对应的当前已训练次数。
[0201]
可选地,权重值依赖于采样样本对应的当前已训练次数的至少一个损失可以包括但不限于:预测损失和嵌入损失中的至少一种。
[0202]
本技术实施例中,不同的损失在训练的不同阶段,重要性不同,例如,有些在训练初期较为重要的损失,在训练后期不重要,此时需要动态的调整各个损失在网络损失中所占的比例,以解决现有技术中仅是将多个损失相加导致的网络学习无重点,降低了分类网络性能的问题,通过本技术实施例中动态的调整至少一个损失的权重值(例如,利用动态变化的函数计算获得至少一个损失的权重值)以达到较好的网络学习效果,提高训练后的目标分类网络的性能。
[0203]
可选地,至少两个损失中的嵌入损失在当前已训练次数为第一数值时对网络损失的贡献比例低于在当前已训练次数为第二数值时对网络损失的贡献比例;和/或
[0204]
至少两个损失中的预测损失在当前已训练次数为第一数值时对网络损失的贡献比例高于在当前已训练次数为第二数值时对网络损失的贡献比例。
[0205]
其中,第一数值大于第二数值。在本技术实施例中,由于嵌入损失在训练初期具有
优势,而在训练中后期,特征基本稳定后,嵌入损失不具有优势,因此,本技术实施例将嵌入损失的贡献比例根据训练次数的增加逐渐调整变小,而在此过程中,随着训练次数的增加逐渐增加预测损失的贡献比例。
[0206]
在分类任务(本技术实施例通过预测损失学习,如:交叉熵损失学习等)和度量学习(本技术实施例通过嵌入损失学习,如:三元组损失、四元组损失、五元组损失学习等)的结合方法中,可以认为两者在整个学习的过程中有不同的侧重点。可选地,分类任务更关注预测具体的分类,而度量学习针对的是拉开样本的特征空间距离,本技术实施例通过调整预测损失和嵌入损失的比例,实现训练初期能先学习有效的特征表达,后期再做样本的正确分类学习。
[0207]
在一个可选示例中,通过动态调整来控制整个学习过程中预测损失和嵌入损失的比例权重。可基于以下公式(3.1)计算网络损失,在该示例中,预测损失可以为带权重的交叉熵损失,嵌入损失为三元组损失。
[0208]
l
dcl
=l
dsl
+f(l)*l
tea
ꢀꢀ
公式(3.1)
[0209]
其中,l
dcl
表示网络损失,l
dsl
表示带权重的交叉熵损失,l
tea
表示三元组损失函数值,f(l)表示第二动态变化函数。
[0210]
本技术实施了中的第二动态变化函数与上述实施例中的第一动态变化函数类似,都可以采用变量从1递减至0的任意函数,例如:凸函数、凹函数、线性函数、复合函数等。可选地,可以选择上述公式(1.1)、公式(1.2)、公式(1.3)或公式(1.4)实现。
[0211]
可选地,响应于当前已训练次数小于第一预设阈值,至少一个损失中的嵌入损失的权重随着当前已训练次数的增加而减小;和/或
[0212]
响应于当前已训练次数大于或等于第一预设阈值,至少一个损失中的嵌入损失的权重保持为固定值。
[0213]
其中,固定值是为了保证嵌入损失的权重值不为0,实现在整个训练过程中都是基于至少两个损失对分类网络进行训练,而不会因为训练次数的增加导致损失数量的减少,提高了分类网络的训练效率。
[0214]
可选地,在本技术实施例中可认为嵌入损失的权重可利用第二动态变化函数计算获得。第二动态变化函数可以采用变量从1递减至0的任意函数,例如:凸函数、凹函数、线性函数、复合函数等。
[0215]
在一个可选的实施例中,第二动态变化函数f(l)可基于以下公式(3.2)计算。
[0216][0217]
其中,l表示第l次训练,l表示设置的总训练次数,∈为一个设定的取值较小的常量,为另一个设定的取值较小的常量,公式(3.2)属于对公式(1.4)的改进,通过增加∈,使第二动态变化函数f(l)的取值不为0。
[0218]
在一个或多个可选的实施例中,步骤302包括:
[0219]
通过分类网络处理采样样本,得到采样样本中包括的每个样本图像的预测类别;
[0220]
基于采样样本中包括的每个样本图像的预测类别和每个样本图像的标注类别,确定采样样本的预测损失。
[0221]
本技术实施例中的预测损失可实现基于标签的分类学习,每个样本图像具有唯一
的标注类别,通过分类网络获得的预测类别与标注类别之间的差异即为采样样本的预测损失,即预测损失表达分类网络预测类别的准确率,通过预测损失对分类网络进行训练,可提高分类网络判断具体类别的准确性。
[0222]
可选地,基于采样样本中包括的每个样本图像的预测类别和每个样本图像的标注类别,确定采样样本的预测损失,包括:
[0223]
基于采样样本中包括的每个样本图像的预测类别和每个样本图像的标注类别,确定每个样本图像的预测误差值;
[0224]
基于采样样本中包括的每个样本图像的权重值和每个样本图像的预测误差值,确定采样样本的预测误差。
[0225]
本技术实施例中,通对每个样本图像计算预测误差值时增加权重值,提高了特征表达的有效性,可选地,该样本图像的权重依赖于样本图像所属图像类别在采样样本中所占的第一比例。
[0226]
可选地,以带权重的交叉熵损失作为预测损失为例,该预测损失以通用的交叉熵损失为基础,对计算交叉熵损失的公式进行改进,增加了权重值,以提高了特征表达的有效性,例如,可基于以下公式(4.1)计算带权重的交叉熵损失:
[0227][0228]
其中,l
dsl
表示带权重的交叉熵损失,n表示本次训练对应的采样样本包括的样本图像的数量,n
j
表示一批采样样本中第j个类别的样本图像的数量,m是样本图像集包括的类别的数量,表示对应第j个类别中第i个样本图像的真实标签。w
j
表示第j个类别的样本图像对应的权重。可选地,响应于第一比例与样本图像所属的图像类别在样本图像集中所占的第二比例之间的比值大于或等于第二预设阈值,样本图像的权重为第一比例与第二比例之间的比值;和/或
[0229]
响应于第一比例与第二比例之间的比例小于第二预设阈值,样本图像的权重为0或1。
[0230]
在一个或多个可选的示例中,样本图像的权重w
j
可基于以下公式(4.2)计算:
[0231][0232]
上述公式(4.2)表示当时,w
j
的取值为而当时,w
j
的取值为0或1。其中,d
j
(l)是在本次训练中第j类样本图像的目标分布(即,第j类样本图像与其他类别的样本图像之间的比例),b
j
是指样本图像集中第j类样本图像的分布(即,第j类样本图像与其他类别的样本图像之间的比例)。
[0233]
在一个或多个可选的实施例中,步骤302可以包括:
[0234]
通过分类网络处理采样样本,得到采样样本中包括的每个样本图像的特征数据;
[0235]
基于采样样本中包括的每个样本图像的特征数据,确定采样样本中的容易样本;
[0236]
将容易样本作为锚点,获得采样样本的嵌入损失。
[0237]
在网络训练中,度量学习的引入有利于学习更好的样本特征表达,本技术实施例
通过嵌入损失实现度量学习,其中嵌入损失可以包括多种以锚点为基础的损失,例如,三元组损失、四元组损失、五元组损失等。以三元组损失为例,它由一个锚点以及锚点对应的正负样本各一个组成。图4为现有技术的计算三元组损失的一个计算示意图。如图4所示,在现有技术中,计算三元组损失的时,通常将数量较少的类别(图4中秃顶的小量样本)中的所有样本图像都作为锚点,即对应本技术实施例中的所有锚点,但以全部小量样本类为锚点存在的一个问题:如果用困难小量样本(本技术实施例中指在小量样本类中不聚合的样本图像,例如,图4中所示的锚点(anchor))作为锚点,会给网络学习带来困难,使得分类边界无法稳定求解,如图4中要拉近锚点与同类样本图像(正样本hard
+
)之间的距离,将会导致两个类别之间的边界不稳定。
[0238]
针对上述图4中的问题,本技术实施例提出了两个概念:容易样本和困难样本,容易样本指小量图像类别(采用小量样本类中的样本图像作为锚点时)中相互距离小于设定值的至少两个样本图像,即,聚合在一起的样本图像称为容易样本;而困难样本是相对容易样本的,即,与容易样本的距离大于或等于设定值的样本图像。
[0239]
为了解决现有技术中计算三元组损失时存在的问题,本技术实施例将容易样本作为锚点,进行三元组损失的计算,能更鲁棒稳定的确定分类边界,图5为本技术实施例提供的分类网络的训练方法中的三元组损失的一个计算示意图。在一个可选示例中,可以选择公式(5)计算三元组损失。
[0240][0241]
其中,l
tea
表示三元组损失函数值,|t|表示三元组的总数量,每个三元组包括一个容易锚点、一个正样本(与容易锚点属于相同类别的样本图像称为正样本)和一个负样本(与容易锚点属于不同类别的样本图像称为负样本);m
j
为设置的超参数,x
easy,j
表示采样样本中将第j个类别的样本图像作为容易锚点,x
+,j
表示容易锚点x
easy,j
的正样本,x

,j
表示容易锚点x
easy,j
的负样本,d(x
easy,j
,x
+,j
)表示容易锚点x
easy,j
与正样本x
+,j
之间的距离(如,欧式距离、余弦距离等),d(x
easy,j
,x

,j
)表示容易锚点x
easy,j
与负样本x

,j
之间的距离(如,欧式距离、余弦距离等)。
[0242]
在结合上述实施例获得的带权重的交叉熵损失和基于容易锚点的三元组损失进行多任务学习时。带权重的交叉熵损失和基于容易锚点的三元组损失的学习侧重点不一样,在不同学习阶段有不同的作用,所以本技术实施例动态规划两者在不同学习阶段的侧重点。
[0243]
在应用中,本技术实施例提供的分类网络的训练方法可以应用于包含不同类别的训练图像的图像集的神经网络训练,特别是不均衡数据场景,例如,行人检测与跟踪、大规模智慧城市目标任务搜索定位、个人画像描述等,能够有效提高训练得到的神经网络性能。
[0244]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0245]
图6为本技术实施例提供的分类网络的训练装置的一个结构示意图。该实施例的装置可用于实现本技术上述各方法实施例。如图6所示,该实施例的装置包括:
[0246]
采样比例确定单元61,用于基于多次采样中的当前采样对应的已采样次数,确定当前采样从样本图像集获得不同类别的样本图像的采样比例。
[0247]
其中,样本图像集中包括至少两个图像类别,每个图像类别包括至少一个样本图像。
[0248]
样本采样单元62,用于基于采样比例,对样本图像集进行所述当前采样,以获得当前采样的采样样本。
[0249]
在本技术实施例中,当前采样的采样比例由已采样次数确定,由于每次进行采样时,采样次数都在变化,因此每次采样的采样比例都不相同,保证了在样本图像集中每个图像类别都能对分类网络的训练起到积极的作用。
[0250]
网络训练单元63,用于基于多次采样获得的多个采样样本训练分类网络,获得目标分类网络。
[0251]
基于本技术上述实施例提供的分类网络的训练装置,基于多次采样中的当前采样对应的已采样次数,确定当前采样从样本图像集获得不同类别的样本图像的采样比例;基于采样比例,对样本图像集进行当前采样,以获得当前采样的采样样本;基于多次采样获得的多个采样样本训练分类网络,获得目标分类网络,通过随采样次数动态变化的采样比例对样本图像集进行采样,使训练获得的分类网络具有较高的分类准确度。
[0252]
在一些可选的实施例中,至少两个图像类别包括第一图像类别和第二图像类别,其中,第一图像类别包含的样本图像的数量大于第二图像类别包含的样本图像的数量。
[0253]
本技术实施例提出的基于已采样次数确定当前采样的采样比例的采样方法,适用于任意包括多个类别的样本图像集的采样,尤其对于不同图像类别的样本图像数量差较大的情况,可以通过调整采样比例增加数量较少的第二图像类别在采样样本中的比重,使训练得到的目标分类网络对第二图像类别也能较为准确的分类,而不会出现使用固定采样比例采样时,由于样本图像数量较少而导致在采样样本中第二图像类别数量过小且重复量大,使得训练的目标分类网络对第二图像类别的分类不准确。
[0254]
可选地,采样样本包括至少两个样本图像,至少两个样本图像对应至少一个图像类别。
[0255]
在一个或多个可选的实施例中,采样比例对应的不同图像类别的样本图像数量之间的差别随着已采样次数的增加而减小。
[0256]
现有技术中在对样本图像集进行采样时,始终保持均衡的目标数据采样分布(例如,始终利用采样原始比例或设定比例进行采样或始终利用设定比例进行采样,样本图像集中至少两个类别之间的比例作为采样原始比例),这样不利于系统的泛化性学习,比如在系统学习初期,过多的丢弃大类样本图像导致系统损失了过多有效信息,导致训练得到的分类网络分类不准确。本技术实施例首先获得样本图像集中不同类别之间的比例作为采样原始比例(例如,样本图像集中包括500个第一类别的样本图像和100个第二类别的样本图像,原始采样比例为1/5),以采样原始比例为基础,通过动态调整原始采样比例,随着采样次数的增加,减小采样样本中不同图像类别的样本图像之间的数据量差,即逐渐增加小类样本在采样样本中的比重,实现样本图像集中不同类别不均衡数据的学习,以提高分类网络对小类样本的召回率,实现对所有数据学习有效的特征表达,使后期可实现样本图像的正确分类学习。
[0257]
在一个或多个可选的实施例中,网络训练单元63,包括:
[0258]
损失获得模块,用于通过分类网络处理采样样本,获得采样样本的网络损失;
[0259]
参数调整模块,用于基于网络损失调整分类网络的网络参数,获得目标分类网络。
[0260]
网络训练是通过网络损失调整网络参数的过程,可选地,调整参数的过程包括:每次采样获得一个采样样本后输入待训练的分类网络,获得一个网络损失,基于该网络损失对待训练的分类网络中的网络参数进行调整,获得调整后的分类网络。
[0261]
可选地,损失获得模块,用于通过分类网络处理采样样本,获得采样样本的至少两个损失;基于采样样本的至少两个损失,获得采样样本的网络损失。
[0262]
可选地,损失获得模块在基于采样样本的至少两个损失,获得采样样本的网络损失时,用于对采样样本的至少两个损失进行加权求和,获得采样样本的网络损失。
[0263]
其中,至少两个损失中包含的至少一个损失的权重依赖于采样样本对应的当前已训练次数。
[0264]
可选地,至少一个损失包括预测损失和嵌入损失中的至少一种。
[0265]
可选地,至少两个损失中的嵌入损失在当前已训练次数为第一数值时对网络损失的贡献比例低于在当前已训练次数为第二数值时对网络损失的贡献比例,其中,第一数值大于所述第二数值;和/或
[0266]
至少两个损失中的预测损失在当前已训练次数为第一数值时对网络损失的贡献比例高于在当前已训练次数为第二数值时对网络损失的贡献比例。
[0267]
可选地,响应于当前已训练次数小于第一预设阈值,至少一个损失中的嵌入损失的权重随着当前已训练次数的增加而减小;和/或
[0268]
响应于当前已训练次数大于或等于第一预设阈值,至少一个损失中的嵌入损失的权重保持为固定值。
[0269]
在一个或多个可选的实施例中,损失获得模块在通过分类网络处理采样样本,获得采样样本的至少两个损失时,用于通过分类网络处理采样样本,得到采样样本中包括的每个样本图像的预测类别;基于采样样本中包括的每个样本图像的预测类和每个样本图像的标注类别,确定采样样本的预测损失。
[0270]
本技术实施例中的预测损失可实现基于标签的分类学习,每个样本图像具有唯一的标注类别,通过分类网络获得的预测类别与标注类别之间的差异即为采样样本的预测损失,即预测损失表达分类网络预测类别的准确率,通过预测损失对分类网络进行训练,可提高分类网络判断具体类别的准确性。
[0271]
可选地,损失获得模块在基于采样样本中包括的每个样本图像的预测类别和每个样本图像的标注类别,确定采样样本的预测损失时,用于基于采样样本中包括的每个样本图像的预测类别和每个样本图像的标注类别,确定每个样本图像的预测误差值;基于采样样本中包括的每个样本图像的权重值和每个样本图像的预测误差值,确定采样样本的预测误差。
[0272]
可选地,样本图像的权重依赖于样本图像所属图像类别在采样样本中所占的第一比例。
[0273]
可选地,响应于第一比例与样本图像所属的图像类别在样本图像集中所占的第二比例之间的比值大于或等于第二预设阈值,样本图像的权重为第一比例与所述第二比例之
间的比值;和/或
[0274]
响应于第一比例与第二比例之间的比例小于第二预设阈值,样本图像的权重为0或1。
[0275]
在一个或多个可选的实施例中,损失获得模块在通过分类网络处理采样样本,获得采样样本的至少两个损失时,用于通过分类网络处理采样样本,得到采样样本中包括的每个样本图像的特征数据;基于采样样本中包括的每个样本图像的特征数据,确定采样样本中的容易样本;将容易样本作为锚点,获得采样样本的嵌入损失。
[0276]
在网络训练中,度量学习的引入有利于学习更好的样本特征表达,本技术实施例通过嵌入损失实现度量学习,其中嵌入损失可以包括多种以锚点为基础的损失,例如,三元组损失、四元组损失、五元组损失等。以三元组损失为例,它由一个锚点以及锚点对应的正负样本各一个组成。
[0277]
图7为本技术实施例提供的分类网络的训练方法的还一实施例的流程示意图。该方法可以由任意电子设备执行,例如终端设备、服务器、移动设备等等。
[0278]
步骤710,通过分类网络处理从样本图像集中获得的采样样本,获得采样样本的至少两个损失。
[0279]
其中,样本图像集中包括至少两个图像类别,每个图像类别包括至少一个样本图像,采样样本包括至少两个样本图像。
[0280]
本技术实施例中的采样样本可基于任意采样比例进行采样获得,例如,可以基于动态变化的采样比例进行采样,也可以基于固定设置的采样比例进行采样,本技术实施例不限制获得采样样本的采样比例。
[0281]
本技术实施例中,为了提高训练速度和目标分类网络的准确度,基于采样样本获得至少两个损失,以至少两个损失获得网络损失,可选地,至少两个损失可以包括但不限于:预测损失和嵌入损失等。
[0282]
步骤720,基于采样样本的至少两个损失和至少两个损失的权重,获得采样样本的网络损失。
[0283]
其中,至少两个损失包含的至少一个损失的权重依赖于采样样本对应的当前已训练次数,通过权重调整在不同训练次数不同损失在网络损失中所占比例,以解决现有技术中仅是将多个损失相加导致的网络学习无重点,降低了分类网络性能的问题。
[0284]
在网络训练过程中,往往不仅包括一种损失,在本技术实施例中,每次将一批采样样本输入到分类网络中,获得至少两个损失,结合至少两个损失获得网络损失,提高分类网络的训练效率,损失通常是基于监督信息(通常为样本图像对应的标注类别)和预测分类结果获得的,例如,基于预测分类结果与标注类别的吻合情况确定损失。
[0285]
可选地,基于至少两个损失的权重对采样样本的至少两个损失进行加权求和,获得采样样本的网络损失。
[0286]
网络训练过程中,针对多个损失通过加权求和的方式获得网络损失,可以使每个损失都在训练中做出相应的贡献,通过不同的权重可以调整不同损失在每次训练时对参数调整的贡献比例,以实现在训练的不同阶段提高更有优势的损失的贡献比例。
[0287]
步骤730,基于网络损失调整分类网络的网络参数,获得目标分类网络。
[0288]
可选地,基于多个采样样本中的每个采样样本依次对分类网络进行训练,具体过
程可以包括:对于每个采样样本,待训练的分类网络对该采样样本进行处理,获得网络损失;基于网络损失对待训练的分类网络进行参数调整,获得调整参数后的分类网络;判断是否达到结束训练的条件(如,达到预设训练次数等),当达到结束训练的条件时,将调整参数后的分类网络作为目标分类网络;当未达到结束训练的条件时,将调整参数后的分类网络作为待训练的分类网络,基于该待训练的分类网络对下一次采样获得的采样样本进行处理,获得下一个网络损失,基于网络损失对待训练的分类网络进行参数调整,获得调整参数后的分类网络,直到达到结束训练的条件,将调整参数后的分类网络作为目标分类网络。
[0289]
本技术实施例实现通过采样样本的至少两个损失确定采样样本的网络损失,并且至少两个损失中的至少一个损失的权重依赖于采样样本对应的当前已训练次数,实现了动态调整至少两个损失在网络损失中所占的比例;由于不同的损失在训练的不同阶段,重要性不同,例如,有些在训练初期较为重要的损失,在训练后期不重要,本技术实施例提供的分类网络训练方法通过动态的调整各个损失在网络损失中所占的比例,解决了现有技术中仅是将多个损失相加导致的网络学习无重点,降低了分类网络性能的问题,通过本技术实施例中动态的调整至少一个损失的权重值(例如,利用动态变化的函数计算获得至少一个损失的权重值)以达到较好的网络学习效果,提高训练后的目标分类网络的性能。
[0290]
可选地,至少一个损失可以包括但不限于预测损失和嵌入损失中的至少一种。
[0291]
本技术实施例仅作为可应用于本技术实施例提出的分类网络的训练方法中的一个例子,并不限制本技术实施例中至少一个损失的具体类型。
[0292]
可选地,至少两个损失中的嵌入损失在当前已训练次数为第一数值时对网络损失的贡献比例低于在当前已训练次数为第二数值时对网络损失的贡献比例;和/或
[0293]
至少两个损失中的预测损失在当前已训练次数为第一数值时对网络损失的贡献比例高于在当前已训练次数为第二数值时对网络损失的贡献比例。
[0294]
其中,第一数值大于第二数值。在本技术实施例中,由于预测损失在训练初期(已训练次数为第一数值时)具有优势,而在训练中后期,特征基本稳定后,预测损失不具有优势,因此,本技术实施例将预测损失的贡献比例根据训练次数的增加逐渐调整变小,而在此过程中,随着训练次数的增加逐渐增加嵌入损失的贡献比例。
[0295]
在分类任务(本技术实施例通过预测损失学习,如:交叉熵损失学习等)和度量学习(本技术实施例通过嵌入损失学习,如:三元组损失、四元组损失、五元组损失学习等)的结合方法中,可以认为两者在整个学习的过程中有不同的侧重点。可选地,分类任务更关注预测具体的分类,而度量学习针对的是拉开样本的特征空间距离,本技术实施例通过调整预测损失和嵌入损失的比例,实现训练初期能先学习有效的特征表达,后期再做样本的正确分类学习。
[0296]
在一个可选示例中,通过动态调整来控制整个学习过程中预测损失和嵌入损失的比例权重。可基于上述公式(3.1)计算网络损失,在该示例中,预测损失可以为带权重的交叉熵损失,嵌入损失为三元组损失。
[0297]
本技术实施了中的第二动态变化函数与上述实施例中的第一动态变化函数类似,都可以采用变量从1递减至0的任意函数,例如:凸函数、凹函数、线性函数、复合函数等。同样的,也可以选择上述公式(1.1)、公式(1.2)、公式(1.3)或公式(1.4)实现。
[0298]
可选地,响应于当前已训练次数小于第一预设阈值,至少一个损失中的嵌入损失
的权重随着当前已训练次数的增加而减小;和/或
[0299]
响应于当前已训练次数大于或等于第一预设阈值,至少一个损失中的嵌入损失的权重保持为固定值。
[0300]
其中,固定值是为了保证嵌入损失的权重值不为0,实现在整个训练过程中都是基于至少两个损失对分类网络进行训练,而不会因为训练次数的增加导致损失数量的减少,提高了分类网络的训练效率。
[0301]
可选地,在本技术实施例中可认为嵌入损失的权重可利用第二动态变化函数计算获得。第二动态变化函数可以采用变量从1递减至0的任意函数,例如:凸函数、凹函数、线性函数、复合函数等。
[0302]
在一个可选的实施例中,第二动态变化函数f(l)可基于上述公式(3.2)计算。
[0303]
在一个或多个可选的实施例中,步骤710包括:
[0304]
通过分类网络处理采样样本,得到采样样本中包括的每个样本图像的预测类别;
[0305]
基于采样样本中包括的每个样本图像的预测类别和每个样本图像的标注类别,确定采样样本的预测损失。
[0306]
本技术实施例中的预测损失可实现基于标签的分类学习,每个样本图像具有唯一的标注类别,通过分类网络获得的预测类别与标注类别之间的差异即为采样样本的预测损失,即预测损失表达分类网络预测类别的准确率,通过预测损失对分类网络进行训练,可提高分类网络判断具体类别的准确性。可选地,确定采样样本的预测损失的过程可以包括:基于采样样本中包括的每个样本图像的预测类别和每个样本图像的标注类别,确定每个样本图像的预测误差值;基于采样样本中包括的每个样本图像的权重值和每个样本图像的预测误差值,确定采样样本的预测误差。
[0307]
本技术实施例中,通对每个样本图像计算预测误差值时增加权重值,提高了特征表达的有效性,可选地,该样本图像的权重依赖于样本图像所属图像类别在采样样本中所占的第一比例。
[0308]
可选地,以带权重的交叉熵损失作为预测损失为例,该预测损失以通用的交叉熵损失为基础,对计算交叉熵损失的公式进行改进,增加了权重值,以提高了特征表达的有效性,例如,可基于上述公式(4.1)计算带权重的交叉熵损失。
[0309]
可选地,响应于第一比例与样本图像所属的图像类别在样本图像集中所占的第二比例之间的比值大于或等于第二预设阈值,样本图像的权重为第一比例与第二比例之间的比值;和/或
[0310]
响应于第一比例与第二比例之间的比例小于第二预设阈值,样本图像的权重为0或1。
[0311]
在一个或多个可选的示例中,样本图像的权重可基于上述公式(4.2)计算。
[0312]
在一个或多个可选的实施例中,步骤710可以包括:
[0313]
通过分类网络处理采样样本,得到采样样本中包括的每个样本图像的特征数据;
[0314]
基于采样样本中包括的每个样本图像的特征数据,确定采样样本中的容易样本;
[0315]
将容易样本作为锚点,获得采样样本的嵌入损失。
[0316]
在网络训练中,度量学习的引入有利于学习更好的样本特征表达,本技术实施例通过嵌入损失实现度量学习,其中嵌入损失可以包括多种以锚点为基础的损失,例如,三元
组损失、四元组损失、五元组损失等。以三元组损失为例,它由一个锚点以及锚点对应的正负样本各一个组成。
[0317]
图8为本技术实施例提供的分类网络的训练方法的再一实施例的流程示意图。如图8所示,该实施例方法包括:
[0318]
步骤810,基于多次采样中的当前采样对应的已采样次数,确定当前采样从样本图像集获得不同类别的样本图像的采样比例。
[0319]
其中,样本图像集中包括至少两个图像类别,每个图像类别包括至少一个样本图像;例如,样本图像集中包括两个类别,包括大量数据的第一类别和包括少量数据的第二类别,通过本技术实施例中根据已采样次数动态调整进行采样的采样比例,实现在每次采样时,第一类别和第二类别之间的采样比例都是动态变化的,例如,可采用设定的函数实现采样比例随着已采样次数动态变化。
[0320]
在一些可选的实施例中,至少两个图像类别包括第一图像类别和第二图像类别,其中,第一图像类别包含的样本图像的数量大于第二图像类别包含的样本图像的数量。
[0321]
本技术实施例提出的基于已采样次数确定当前采样的采样比例的采样方法,适用于任意包括多个类别的样本图像集的采样,尤其对于不同图像类别的样本图像数量差较大的情况,可以通过调整采样比例增加数量较少的第二图像类别在采样样本中的比重,使训练得到的目标分类网络对第二图像类别也能较为准确的分类,而不会出现使用固定采样比例采样时,由于样本图像数量较少而导致在采样样本中第二图像类别数量过小且重复量大,使得训练的目标分类网络对第二图像类别的分类不准确。
[0322]
步骤820,基于采样比例,对样本图像集进行当前采样,以获得当前采样的采样样本。
[0323]
在本技术实施例中,当前采样的采样比例由已采样次数确定,由于每次进行采样时,采样次数都在变化,因此每次采样的采样比例都不相同,保证了在样本图像集中每个图像类别都能对分类网络的训练起到积极的作用。
[0324]
可选地,每个采样样本包括至少两个样本图像,至少两个样本图像对应至少一个图像类别。
[0325]
本技术实施例中为了实现基于采样样本对分类网络的训练,采样样本中需包括的多个样本图像,以提高训练获得的分类网络的分类准确性;并且,每次基于一个采样比例从样本图像集中进行采样,获得的采样样本中不同类别的样本图像之间的比例符合采样比例。
[0326]
步骤830,通过分类网络处理从样本图像集中获得的采样样本,获得采样样本的至少两个损失。
[0327]
其中,样本图像集中包括至少两个图像类别,每个图像类别包括至少一个样本图像,采样样本包括至少两个样本图像。
[0328]
本技术实施例中步骤830与上述实施例的步骤710类似,可参照上述实施例对该步骤进行理解,在此不再赘述。
[0329]
步骤840,基于采样样本的至少两个损失和至少两个损失的权重,获得采样样本的网络损失。
[0330]
其中,至少两个损失包含的至少一个损失的权重依赖于采样样本对应的当前已训
练次数,通过权重调整在不同训练次数不同损失在网络损失中所占比例,以解决现有技术中仅是将多个损失相加导致的网络学习无重点,降低了分类网络性能的问题。
[0331]
步骤850,基于网络损失调整分类网络的网络参数,获得目标分类网络。
[0332]
本技术实施例中步骤850与上述实施例的步骤730类似,可参照上述实施例对该步骤进行理解,在此不再赘述。
[0333]
本技术实施例提供的分类网络的训练方法,实现了动态比例的采样和动态调整不同损失的权重,通过动态比例的采样均衡了每个图像类别在网络训练中的作用,使目标分类网络对大类和小类都具有较高的召回率;通过动态调整不同损失的权重使不同损失在其发挥作用较大时在网络损失中占较大比例,在发挥作用较小时在网络损失中减小其所占比例,解决了现有技术中仅是将多个损失相加导致的网络学习无重点,降低了分类网络性能的问题。
[0334]
可选地,每个采样样本包括至少两个样本图像,至少两个样本图像对应至少一个图像类别。
[0335]
本技术实施例中为了实现基于采样样本对分类网络的训练,采样样本中需包括的多个样本图像,以提高训练获得的分类网络的分类准确性;并且,每次基于一个采样比例从样本图像集中进行采样,获得的采样样本中不同类别的样本图像之间的比例符合采样比例。
[0336]
在一个或多个可选的实施例中,采样比例对应的不同图像类别的样本图像数量之间的差别随着已采样次数的增加而减小。
[0337]
现有技术中在对样本图像集进行采样时,始终保持均衡的目标数据采样分布(例如,始终利用采样原始比例或设定比例进行采样或始终利用设定比例进行采样,样本图像集中至少两个类别之间的比例作为采样原始比例),这样不利于系统的泛化性学习,比如在系统学习初期,过多的丢弃大类样本图像导致系统损失了过多有效信息,导致训练得到的分类网络分类不准确。本技术实施例首先获得样本图像集中不同类别之间的比例作为采样原始比例(例如,样本图像集中包括500个第一类别的样本图像和100个第二类别的样本图像,原始采样比例为1/5),以采样原始比例为基础,通过动态调整原始采样比例,随着采样次数的增加,减小采样样本中不同图像类别的样本图像之间的数据量差,即逐渐增加小类样本在采样样本中的比重,以提高分类网络对小类样本的召回率,实现对所有数据学习有效的特征表达,使后期可实现样本图像的正确分类学习。
[0338]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0339]
图9为本技术实施例提供的分类网络的训练装置的另一结构示意图。该实施例的装置可用于实现本技术上述各方法实施例。如图9所示,该实施例的装置包括:
[0340]
样本损失获得单元91,用于通过分类网络处理从样本图像集中获得的采样样本,获得采样样本的至少两个损失。
[0341]
其中,样本图像集中包括至少两个图像类别,每个图像类别包括至少一个样本图像,采样样本包括至少两个样本图像。
[0342]
网络损失单元92,用于基于采样样本的至少两个损失和至少两个损失的权重,获得采样样本的网络损失。
[0343]
其中,至少两个损失包含的至少一个损失的权重依赖于采样样本对应的当前已训练次数,通过权重调整在不同训练次数不同损失在网络损失中所占比例,以解决现有技术中仅是将多个损失相加导致的网络学习无重点,降低了分类网络性能的问题。
[0344]
参数调整单元93,用于基于网络损失调整分类网络的网络参数,获得目标分类网络。
[0345]
本技术实施例实现通过采样样本的至少两个损失确定采样样本的网络损失,并且至少两个损失中的至少一个损失的权重依赖于采样样本对应的当前已训练次数,实现了动态调整至少两个损失在网络损失中所占的比例;由于不同的损失在训练的不同阶段,重要性不同,例如,有些在训练初期较为重要的损失,在训练后期不重要,本技术实施例提供的分类网络训练方法通过动态的调整各个损失在网络损失中所占的比例,解决了现有技术中仅是将多个损失相加导致的网络学习无重点,降低了分类网络性能的问题,通过本技术实施例中动态的调整至少一个损失的权重值以达到较好的网络学习效果,提高训练后的目标分类网络的性能。
[0346]
可选地,样本损失获得单元,用于基于至少两个损失的权重对采样样本的至少两个损失进行加权求和,获得采样样本的网络损失。
[0347]
网络训练过程中,针对多个损失通过加权求和的方式获得网络损失,可以使每个损失都在训练中做出相应的贡献,通过不同的权重可以调整不同损失在每次训练时对参数调整的贡献比例,以实现在训练的不同阶段提高更有优势的损失的贡献比例。
[0348]
可选地,至少一个损失包括预测损失和嵌入损失中的至少一种。
[0349]
可选地,至少两个损失中的嵌入损失在当前已训练次数为第一数值时对网络损失的贡献比例低于在当前已训练次数为第二数值时对网络损失的贡献比例,其中,第一数值大于所述第二数值;和/或
[0350]
至少两个损失中的预测损失在当前已训练次数为第一数值时对网络损失的贡献比例高于在当前已训练次数为第二数值时对网络损失的贡献比例。
[0351]
可选地,响应于当前已训练次数小于第一预设阈值,至少一个损失中的嵌入损失的权重随着当前已训练次数的增加而减小;和/或
[0352]
响应于当前已训练次数大于或等于第一预设阈值,至少一个损失的权重保持为固定值。
[0353]
在一个或多个可选的实施例中,样本损失获得单元91,具体用于通过分类网络处理采样样本,得到采样样本中包括的每个样本图像的预测类别;基于采样样本中包括的每个样本图像的预测类别和每个样本图像的标注类别,确定采样样本的预测损失。
[0354]
本技术实施例中的预测损失可实现基于标签的分类学习,每个样本图像具有唯一的标注类别,通过分类网络获得的预测类别与标注类别之间的差异即为采样样本的预测损失,即预测损失表达分类网络预测类别的准确率,通过预测损失对分类网络进行训练,可提高分类网络判断具体类别的准确性。
[0355]
可选地,样本损失获得单元91在基于采样样本中包括的每个样本图像的预测类别和每个样本图像的标注类别,确定采样样本的预测损失时,用于基于采样样本中包括的每
个样本图像的预测类别和每个样本图像的标注类别,确定每个样本图像的预测误差值;基于采样样本中包括的每个样本图像的权重值和每个样本图像的预测误差值,确定采样样本的预测误差。
[0356]
可选地,样本图像的权重依赖于样本图像所属图像类别在采样样本中所占的第一比例。
[0357]
可选地,响应于第一比例与样本图像所属的图像类别在样本图像集中所占的第二比例之间的比值大于或等于第二预设阈值,样本图像的权重为第一比例与第二比例之间的比值;和/或
[0358]
响应于第一比例与第二比例之间的比例小于第二预设阈值,样本图像的权重为0或1。
[0359]
在一个或多个可选的实施例中,样本损失获得单元91,具体用于通过分类网络处理采样样本,得到采样样本中包括的每个样本图像的特征数据;基于采样样本中包括的每个样本图像的特征数据,确定采样样本中的容易样本;将容易样本作为锚点,获得采样样本的嵌入损失。
[0360]
在一个或多个可选的实施例中,本技术实施例提供的装置还包括:
[0361]
采样比例确定单元,用于基于多次采样中的当前采样对应的已采样次数,确定当前采样从样本图像集获得不同类别的样本图像的采样比例;
[0362]
样本采样单元,用于基于采样比例,对样本图像集进行当前采样,以获得当前采样的采样样本。
[0363]
本技术实施例提供的分类网络的训练装置,实现了动态比例的采样和动态调整不同损失的权重,通过动态比例的采样均衡了每个图像类别在网络训练中的作用,使目标分类网络对大类和小类都具有较高的召回率;通过动态调整不同损失的权重使不同损失在其发挥作用较大时在网络损失中占较大比例,在发挥作用较小时在网络损失中减小其所占比例,解决了现有技术中仅是将多个损失相加导致的网络学习无重点,降低了分类网络性能的问题。
[0364]
可选地,至少两个图像类别包括第一图像类别和第二图像类别,其中,第一图像类别包含的样本图像的数量大于第二图像类别包含的样本图像的数量。
[0365]
可选地,采样样本包括至少两个样本图像,至少两个样本图像对应至少一个类别。
[0366]
可选地,采样比例对应的不同图像类别的样本图像数量之间的差别随着已采样次数的增加而减小。
[0367]
图10为本技术实施例提供的分类方法的一个流程示意图。该方法可以由任意电子设备执行,例如终端设备、服务器、移动设备等等。
[0368]
步骤1010,获取待处理图像。
[0369]
本技术实施例中获取待处理图像的方式可以有很多种,例如,相机拍摄的照片、摄像头拍摄的视频中的一帧或多帧视频图像、相册中的任意图像等等,本技术实施不限制获取待处理图像的方式和待处理图像的格式。
[0370]
步骤1020,通过目标分类网络对待处理图像进行分类处理,得到待处理图像的图像预测类别。
[0371]
其中,目标分类网络是通过上述任意一项实施例提供的分类网络的训练方法得到
的目标分类网络。
[0372]
通过上述任意一项实施例提供的分类网络的训练方法训练得到的目标分类网络,由于上述实施例提供的分类网络的训练方法,实现了动态比例的采样和/或动态调整不同损失的权重,解决了样本图像集不均衡导致的小类判断不准确的问题和由于网络学习无重点降低了分类网络性能的问题中的至少一个。通过目标分类网络对待处理图像进行分类,获得的分类更准确,网络性能更好,对小类别的召回率高于现有技术中其他方法训练得到的分类网络。
[0373]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0374]
图11为本技术实施例提供的分类装置的一个结构示意图。该实施例的装置可用于实现本技术上述各方法实施例。如图11所示,该实施例的装置包括:
[0375]
图像获取单元1101,用于获取待处理图像。
[0376]
类别预测单元1102,用于通过目标分类网络对待处理图像进行分类处理,得到待处理图像的图像预测类别;其中,目标分类网络是通过上述任意一项实施例提供的训练方法得到的。
[0377]
根据本技术实施例的另一个方面,提供的一种电子设备,包括处理器,该处理器包括如上任意一项实施例提供的分类网络的训练装置或分类装置。
[0378]
根据本技术实施例的另一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;
[0379]
以及处理器,用于与存储器通信以执行可执行指令从而完成如上任意一项实施例提供的分类网络的训练方法或分类方法的操作。
[0380]
根据本技术实施例的另一个方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,指令被执行时执行如上任意一项实施例提供的分类网络的训练方法或分类方法的操作。
[0381]
根据本技术实施例的另一个方面,提供的一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任意一项实施例提供的分类网络的训练方法或分类方法的指令。
[0382]
根据本技术实施例的再一个方面,提供的另一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任意一项实施例提供的分类网络的训练方法或分类方法的操作。
[0383]
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0384]
根据本技术实施例还提供了分类网络的训练及分类方法和装置、电子设备、计算机存储介质、计算机程序产品,其中,基于多次采样中的当前采样对应的已采样次数,确定当前采样从样本图像集获得不同类别的样本图像的采样比例;基于采样比例,对样本图像集进行当前采样,以获得当前采样的采样样本;基于多次采样获得的多个采样样本训练分
类网络,获得目标分类网络。
[0385]
在一些实施例中,该网络获取指示或图像处理指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行分类网络的训练或图像分类处理,相应地,响应于接收到调用指令,第二装置可以执行上述分类网络的训练方法或分类方法中的任意实施例中的步骤和/或流程。
[0386]
应理解,本技术实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本技术实施例的限定。
[0387]
还应理解,在本技术中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
[0388]
还应理解,对于本技术中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
[0389]
还应理解,本技术对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
[0390]
本技术实施例还提供了一种电子设备,例如可以是移动终端、个人计算机(pc)、平板电脑、服务器等。下面参考图12,其示出了适于用来实现本技术实施例的终端设备或服务器的电子设备1200的结构示意图:如图12所示,电子设备1200包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(cpu)1201,和/或一个或多个图像处理器(gpu)1213等,处理器可以根据存储在只读存储器(rom)1202中的可执行指令或者从存储部分1208加载到随机访问存储器(ram)1203中的可执行指令而执行各种适当的动作和处理。通信部1212可包括但不限于网卡,所述网卡可包括但不限于ib(infiniband)网卡。
[0391]
处理器可与只读存储器1202和/或随机访问存储器1203中通信以执行可执行指令,通过总线1204与通信部1212相连、并经通信部1212与其他目标设备通信,从而完成本技术实施例提供的任一项方法对应的操作,例如,基于多次采样中的当前采样对应的已采样次数,确定当前采样从样本图像集获得不同类别的样本图像的采样比例;基于采样比例,对样本图像集进行当前采样,以获得当前采样的采样样本;基于多次采样获得的多个采样样本训练分类网络,获得目标分类网络。或者,通过分类网络处理从样本图像集中获得的采样样本,获得采样样本的至少两个损失,其中,样本图像集中包括至少两个图像类别,每个图像类别包括至少一个样本图像,采样样本包括至少两个样本图像;基于采样样本的至少两个损失和至少两个损失的权重,获得采样样本的网络损失,其中,至少两个损失包含的至少一个损失的权重依赖于采样样本对应的当前已训练次数;基于网络损失调整分类网络的网络参数,获得目标分类网络。
[0392]
此外,在ram 1203中,还可存储有装置操作所需的各种程序和数据。cpu1201、rom1202以及ram1203通过总线1204彼此相连。在有ram1203的情况下,rom1202为可选模块。ram1203存储可执行指令,或在运行时向rom1202中写入可执行指令,可执行指令使中央处理单元1201执行上述通信方法对应的操作。输入/输出(i/o)接口1205也连接至总线1204。通信部1212可以集成设置,也可以设置为具有多个子模块(例如多个ib网卡),并在总线链接上。
[0393]
以下部件连接至i/o接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极
射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至i/o接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
[0394]
需要说明的,如图12所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图12的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如gpu1213和cpu1201可分离设置或者可将gpu1213集成在cpu1201上,通信部可分离设置,也可集成设置在cpu1201或gpu1213上,等等。这些可替换的实施方式均落入本技术公开的保护范围。
[0395]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本技术实施例提供的方法步骤对应的指令,例如,基于多次采样中的当前采样对应的已采样次数,确定当前采样从样本图像集获得不同类别的样本图像的采样比例;基于采样比例,对样本图像集进行当前采样,以获得当前采样的采样样本;基于多次采样获得的多个采样样本训练分类网络,获得目标分类网络。或者,通过分类网络处理从样本图像集中获得的采样样本,获得采样样本的至少两个损失,其中,样本图像集中包括至少两个图像类别,每个图像类别包括至少一个样本图像,采样样本包括至少两个样本图像;基于采样样本的至少两个损失和至少两个损失的权重,获得采样样本的网络损失,其中,至少两个损失包含的至少一个损失的权重依赖于采样样本对应的当前已训练次数;基于网络损失调整分类网络的网络参数,获得目标分类网络。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(cpu)1201执行时,执行本技术的方法中限定的上述功能的操作。
[0396]
可能以许多方式来实现本技术的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本技术的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本技术的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本技术实施为记录在记录介质中的程序,这些程序包括用于实现根据本技术的方法的机器可读指令。因而,本技术还覆盖存储用于执行根据本技术的方法的程序的记录介质。
[0397]
本技术的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本技术限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本技术的原理和实际应用,并且使本领域的普通技术人员能够理解本技术从而设计适于特定用途的带有各种修改的各种实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1