一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用蒸馏的具有个体目标类别的多个模型的统一的制作方法

2021-11-05 23:23:00 来源:中国专利 TAG:


1.本公开总体上涉及机器学习,更具体地,涉及用于使具有个体目标类别集合的多个模型统一的计算机实现的方法、计算机系统和计算机程序产品。


背景技术:

2.机器学习在分类任务中的成功在很大程度上已经由大数据集的可用性实现。具有更多训练数据有助于提高分类任务的准确性。随着该技术变得更加普及,数据集合正在向更加分布式的设置转变,其中数据源于多个实体,然后被组合以在中央节点中训练分类器。
3.然而,在许多情况下,由于隐私顾虑或诸如网络资源的资源限制,实体之间的数据传输受到限制。此外,由于不同数据的可用性,每个数据源可能不能够收集所有目标类别的足够的训练数据。这些限制妨碍了来自不同来源的知识的统一。
4.这种情况已经导致提出在不直接共享数据的情况下学习分类器的多个工作。这样的工作包括分布式优化、基于共识的训练、联合学习、知识蒸馏(g.e.hinton等人的“神经网络中的知识蒸馏(distilling the knowledge in a neural network)”,在nips(神经信息处理系统(neural information processing systems))深度学习与表征学习研讨会(deep learning and representation learning workshop),2015),深神经网络的无数据知识蒸馏(data

free knowledge distillation for deep neural networks)(r.g.lopes等人,“用于深度神经网络的无数据知识蒸馏(data

free knowledge distillation for deep neural networks)”,nips,使用有限标注数据学习的研讨会(workshop on learning with limited labeled data),2017)等。然而,这些常规方法假定所有模型的目标类别相同。然而,存在例如由于数据可用性而不可能使每个模型具有相同的目标类别的许多情况。


技术实现要素:

5.技术问题
6.因此,需要一种即使在个体训练的模型具有与统一模型的统一类别的集合不同的目标类别的各个部分集合的情况下也能够从多个个体模型训练统一模型的技术。
7.问题的解决方案
8.根据本发明的实施例,提供了一种用于生成统一软标注的计算机实现的方法。该计算机实现的方法包括准备样本集合。该计算机实现的方法还包括对每个样本获得由多个个体训练的模型生成的多个预测,,其中每个个体训练的模型具有个体类别集合以至少部分地形成包括多个目标类别的统一类别集合。该计算机实现的方法进一步包括:对于每个样本,使用连接每个个体训练的模型的第一输出和所述统一模型的第二输出的关系来从所述多个预测中估计所述统一类别集合中的所述目标类别上的统一软标注。该计算机实现的方法还包括输出所述统一软标注以训练具有所述统一类别集合的统一模型。
9.根据本发明的实施例的计算机实现的方法,由于有待用于训练统一模型的统一软标注是按照与统一模型的输出一致的方式从由个体训练的模型生成的预测中估计的,即使
个体训练的模型在统一目标模型的统一类别集合中具有目标类别的不同部分集合,也可以将个体训练的模型的知识传递到统一模型。
10.在优选实施例中,该计算机实现的方法包括将每个样本馈送到统一模型中以推断统一类别集合中的目标类别上的预测值作为第二输出。该计算机实现的方法还包括基于统一软标注与每个样本的预测值之间的损失函数来更新统一模型。该计算机实现的方法还包括存储更新的统一模型。由此,根据本发明优选实施例的计算机实现的方法训练的统一模型表现出高性能,尤其与利用用于训练个体训练模型的训练数据以集中和监督的方式直接训练的模型相当。
11.在另一个优选实施例中,该关系指示一个个体训练的模型的第一输出中的每个预测值与由该个体训练的模型的个体类别集合归一化的统一模型的第二输出中的对应预测值之间的等价性。由此,避免了在预测个体训练的模型时对缺失的目标类别的不适当监督的提供,并且可以防止由于这种不适当监督导致的统一模型的性能劣化。
12.在其他优选实施例中,通过对统一类别集合中的目标类别进行加权来加权损失函数。用于一个目标类别的每个权重以基于通过所述集合的所述一个目标类别上的所述统一软标注的统计量的方式来计算。由此,可防止可能比其他类别更多地偏向某些类别的个体训练模型的训练数据中的偏差转移到统一模型。
13.在特定实施例中,通过对相对于对应于所述统一模型的所述第二输出的分布q的目标函数进行优化的问题求解来估计所述统一软标注。目标函数测量对应于所述多个预测的多个参考分布p
i
和多个归一化分布q
i
^之间的误差,每个归一化分布q
i
^通过在每个个体类别集合中的目标类别上归一化所述分布q而获得的。
14.在其他特定实施例中,目标函数测量对应于所述多个预测的多个参考分布p
i
和多个归一化分布q
i
^之间的误差,每个归一化分布q
i
^通过在每个个体类别集合中的目标类别上归一化所述分布q而获得的。统一的软标注以概率或分对数的形式表示。
15.在另一优选实施例中,该计算机实现的方法包括为多个个体训练的模型中的每一个接收(i)个体训练的模型本身的内容或(ii)通过将每个样本馈送到个体训练的模型中而获得的软标注集合以及个体类别集合的内容。由此,不需要用于训练个体训练模型的训练数据的数据传输。个体训练的模型的内容和从个体训练的模型获得的软标注集合不是原始数据并且通常比其训练数据更紧凑。此外,对个体训练的模型的模型架构存在较少的限制。因此,在存在模型架构、计算、数据可用性和机密性约束中的至少一个的情况下,这是优选的。
16.根据本发明的另一实施例,提供了一种用于训练统一模型的计算机实现的方法。该计算机实现的方法包括准备样本集合。该计算机实现的方法还包括对每个样本获得由多个个体训练的模型生成的多个预测,其中每个个体训练的模型具有个体类别集合以至少部分地形成包括所述多个目标类别的统一类别集合。该计算机实现的方法进一步包括使用每个样本的所述多个预测以及将每个个体训练的模型的第一输出与在所述统一类别集合中的所述目标类别上的所述统一模型的第二输出相连接的关系来更新具有所述统一类别集合的所述统一模型。
17.根据本发明另一实施例的计算机实现的方法,由于以与统一模型的输出一致的方式使用由多个个体训练的模型生成的输出来更新统一模型,即使个体训练的模型在统一模
型的统一类别集合中具有目标类别的不同部分集合,也可以将个体训练的模型的知识传递到统一模型。根据本发明另一实施例的计算机实现的方法训练的统一模型示出高性能,尤其与已经利用个体模型的训练数据以集中和监督的方式直接训练的模型相当。此外,能够防止在估计统一软标注时误差的累积从传播朝向统一模型的训练。
18.在一个具体实施例中,该计算机实现的方法还包括将每个样本馈送到统一模型中以推断统一类别集合中的目标类别上的预测值作为第二输出,其中使用该预测值来更新统一模型。该计算机实现的方法还包括存储更新的统一模型。
19.在进一步的具体实施例中,统一模型包括神经网络,并且通过在整个神经网络中反向传播损失来更新统一模型,其中,所述损失测量对应于所述多个预测的多个参考分布p
i
与通过对每个个体类别集合中的目标类别的分布q进行归一化而获得的多个归一化分布qi^之间的误差,并且所述分布q作为由所述统一模型推断的所述预测值而获得。
20.在具体实施例中,该统一模型包括神经网络,并且该统一模型通过贯穿该神经网络反向传播损耗来更新,其中,通过以基于矩阵因子分解的方式对具有表示所述统一模型的所述第二输出的输出向量u和其他变量的目标函数优化的问题求解来获得所述损失,所述输出向量u作为所述统一模型推断的所述预测值被获得,并被固定在所述问题中。
21.本文还描述和要求保护了与本发明的一个或多个方面相关的计算机系统和计算机程序产品。
22.通过本发明的技术实现了附加特征和优点。本发明的其他实施例和方面在此详细描述并且被认为是所要求保护的发明的一部分。
附图说明
23.在说明书结论的权利要求书中特别指出并清楚地要求保护被视为本发明的主题。从以下结合附图的详细描述中,本发明的前述和其他特征和优点是显而易见的,其中:
24.图1示出了根据本发明的示例性实施例的具有知识蒸馏(distillation)系统的训练方案;
25.图2示出了根据本发明的示例性实施例的知识蒸馏系统和知识蒸馏系统周围的相关部件的框图;
26.图3直观地描述了根据本发明的示例性实施例的连接各个分类器的输出与统一分类器的输出的概率关系的示意图;
27.图4是描绘根据本发明的示例性实施例的用于训练具有多个个体分类器的统一分类器的知识蒸馏过程的流程图;
28.图5示出了根据本发明其他示例性实施例的知识蒸馏系统的框图;
29.图6示出根据本发明的另一其他示例性实施例的知识蒸馏系统的框图;
30.图7是描述根据本发明的另外其他示例性实施例的用于训练具有个体分类器的统一分类器的知识蒸馏方法的流程图;
31.图8显示灵敏度分析结果:(a)未标注组的大小,(b)温度和(c)个体分类器的准确度;以及
32.图9描绘了根据本发明的一个或多个实施例的计算机系统的示意图。
具体实施方式
33.现在,将使用特定实施例来描述本发明,并且下文中所描述的实施例被理解为仅被称为实例,并且不旨在限制本发明的范围。
34.根据本发明的一个或多个实施例针对用于生成统一软标注的计算机实施的方法,计算机系统和计算机程序产品,所述统一软标注可用于通过使用从多个个体教师模型获得的数据,训练具有目标类别集合(称为统一类别集合)的学生统一模型,所述多个个体教师模型可分别地具有不同的目标类别集合(称为个体类别集合)。
35.根据本发明的一个或多个其他实施例涉及用于通过使用从具有相应个体类别集合的多个个体教师模型获得的数据来训练具有目标类别的统一类别集合的学生统一模型的计算机实现的方法、计算机系统和计算机程序产品。
36.首先,参照图1

5的系列,将描述根据本发明的示例性实施例的用于在知识蒸馏的框架中使用多个个体教师模型训练学生统一模型的计算机系统和方法,其中,所述学生和所述教师模型是具有相应目标类别的分类器,并且从所述各个教师分类器获得的数据被用于估计用于所述学生统一分类器的统一软标注。
37.然后,参照图6和图7的系列,将描述根据本发明的其他示例性实施例的用于在知识蒸馏的框架中使用多个个体教师模型训练学生统一模型的计算机系统和方法,其中,所述学生和所述教师模型是具有相应目标类别的分类器,并且从所述各个教师分类器获得的数据被用于更新所述学生统一分类器而不必首先估计所述统一软标注。
38.此外,参考图8,将描述根据本发明的示例性实施例的关于具有新知识蒸馏的图像分类的实验研究。最后,参考图9,将描述根据本发明的一个或多个实施例的计算机系统的硬件配置。
39.参考图1和图2,描述了根据本发明的示例性实施例的用于图像分类的知识蒸馏系统130。
40.图1示出了使用知识蒸馏系统130的训练方案。如图1所示,存在中央计算系统120和多个数据源110

1至110

n。
41.在图1中,描绘了每个数据源110的部件。在每个数据源110中,存在训练数据集合112、训练模块114和个体分类器116。在每个数据源110中,个体分类器116由训练模块114使用训练数据集合112来训练。通常,每个数据源110由具有其权利和义务的实体管理,并且这样的实体可包括私人、公司、企业、教育机构、医疗机构,仅举几例。
42.每个训练数据集112存储训练数据集合,每个训练数据集合包括图像和指派给该图像的类别标注。存储在训练数据集合112中的训练数据可以包括要保存在数据源110内的隐私和/或机密信息。存储在训练数据集合112

1至112

n中的训练数据的多样性和量由于它们的数据可用性而通常彼此不同。注意,在所描述的实施例中,每个训练数据包括向其分配类别标注的图像。然而,在具有不同分类任务的其他实施例中,包括在每个训练数据中的数据不限于图像,并且可以是其他数据类型,例如用于语音识别任务的音频记录。
43.每个个体分类器116可以是已知分类模型中的任何一个,包括但不限于,基于神经网络的分类模型(例如,dnn(深神经网络)、cnn(卷积神经网络)、rnn(复发性神经网络)及其变体),基于决策树或森林的分类模型(例如,随机森林)、基于最近邻的分类模型,以及基于支持向量机(svm)的分类模型(标准svm可以被修改以充当个体分类器116)。而且,每个个体
分类器116可以不限于单个分类模型,并且可以是多个分类模型(例如,装袋(bagging)、加强(boosting)、专家混合等)的集群。个体分类器116由训练模块114训练以便预测图像属于每个目标类别的概率。这些个体分类器116

1至116

n可以具有不同的架构并且可以被训练为对目标类别的不同集合(个体类别集合)进行分类,并且因此被称为“异构分类器”。
44.每个训练模块114实现适合于待训练的个体分类器116的对应架构的学习算法。每个训练模块114被配置为通过使用存储在训练数据集合112中的训练数据来训练个体分类器116。
45.参见图1,还描绘了中央计算系统120的部件。中央计算系统120包括转移集合124、知识蒸馏系统130和统一分类器126。在中央计算系统120中,统一分类器126由知识蒸馏系统130使用转移集合124训练。中央计算系统120由可能不同于数据源110

1至110

n的实体的实体管理,因此,通常限制从训练数据集合112

1至112

n到中央计算系统120的数据传输。
46.根据本发明的示例性实施例的新颖知识蒸馏的目的是将数据源110

1~110

n的知识统一成单个统一模型,而无需传送分布在多个数据源110

1~110

n上的训练数据,多个数据源可能引起隐私和/或保密性问题。
47.在这种训练方案中,为了整合分布在多个数据源110

1至110

n上的知识,仅请求每个实体将其经训练的个体分类器116

1至116

n及其类名称转发至中央计算系统120。在中央计算系统120中,知识蒸馏系统130接收转移的个体分类器122

1~122

n并在其资源上运行它们。然后,知识蒸馏系统130通过利用转移的收集124利用转移的个体分级器122

1~122

n来训练统一分级器126。
48.由于数据源110

1~110

n的知识被累积在训练的个体分类器122

1~122

n中,所以可以将分布式知识统一到单个统一分类器126中,从而使得它可以对所有个体分类器116

1~116

n的所有目标类别进行分类。
49.通常,个体分类器116的内容比存储在训练数据集合112中的整个训练数据更紧凑。因此,在存在资源限制(诸如带宽限制(例如,非常大的数据集))的情况下,该训练方案是优选的。
50.图2示出了知识蒸馏系统130和知识蒸馏系统130周围的相关部件的框图。如图2所示,知识蒸馏系统130包括软标注生成模块132和统一模型训练模块134。存在将被训练为学生模型的统一分类器126和已经被训练为教师模型的多个个体分类器122

1至122

n。
51.转移集合124存储转移数据的集合,每个转移数据可以包括当针对图像分类时的图像。转移数据是用于将知识转移到统一分类器126的数据。从转移集合124中抽取转移数据(或样本)并将其作为输入馈送到教师和学生分类器122、126中的每一个中。在特定实施例中,转移集合124中存储的图像不需要被分配硬标注,并且可能不包括隐私和机密信息。可以使用公共图像数据集和/或为新知识蒸馏收集的其他图像数据集中的任何图像作为转移数据。注意,在所描述的实施例中,每个传送数据包括图像。然而,在具有不同分类任务的其他实施例中,每个转移数据可以包括其他数据类型,例如用于语音识别任务的音频记录。
52.统一分类器126可以是以下各项中的任一项:已知的基于神经网络的分类模型(例如,dnn、cnn、rnn及其变体)、决策树或基于森林的分类模型(例如,随机森林)、基于最近邻的分类模型以及基于svm的分类模型(标准svm可以被修改为用作统一分类器126)。通过知
识蒸馏系统130训练统一分类器126,以便预测图像属于每个目标类别的概率。统一分类器126可以具有不同于个体分类器122

1至122

n的架构,并且可以被训练为对不同于个体分类器122

1至122

n中的分类器的目标类别集合(统一类别集合)进行分类。统一的类别集合可以是个体分类器122

1至122

n的各个类别集合的并集,并因此包括各个类别集合中的所有成员。
53.知识蒸馏系统130被配置为准备转移集合124,并且将从转移集合124中抽取的每个转移数据送入个体分类器122

1~122

n。每个个体分类器122推断转移数据的图像属于每个目标类别的概率并生成预测作为输出。预测可以包括概率或在其个体类别集合中的目标类别上的分对数。
54.软标注生成模块132被配置用于针对每个转移数据(或样本)获得由个体分类器122

1至122

n生成的预测。将从多个个体分类器122

1~122

n获得的多个预测用作主要数据以生成用于知识蒸馏的统一软标注。软标注生成模块132还被配置为针对每个传送数据(或样本),使用本文新导出的概率关系根据预测来估计统一类别集合中的目标类别上的统一软标注。概率关系连接或关联每个个体分类器122的输出和统一分类器126的输出。稍后将描述关于概率关系的更多细节。软标注生成模块132获得统一软标注后,将统一软标注输出到统一模型训练模块134。统一软标注被称为“软”标注,因为类别标识不像热硬标注那样确定。
55.统一模型训练模块134实现适合于统一分类器126的相应架构的学习算法,并且被配置为通过以受监督的方式通过使用针对每个传输数据估计的统一软标注来训练统一分类器126。当采用基于神经网络的模型作为统一分类器126时,可以使用反向传播算法。
56.更具体地,统一模型训练模块134被配置成用于将每个转移数据(或样本)馈送到统一分类器126中以推断转移数据的图像属于每个目标类别的概率并且获得输出。统一分类器126的输出可包括在统一类别集合中的目标类别上的概率或分对数(logit)。统一模型训练模块134被配置成进一步基于每个样本的统一软标注与统一分类器126的输出之间的损失函数迭代地更新统一分类器126(其参数)。当训练过程完成时,统一模型训练模块134将统一分类器126存储到适当的存储设备中。
57.在下文中,进一步参考图2,描述了关于新知识蒸馏的更多细节。在此,使用非均相分类器的新知识蒸馏定义如下。令u为具有未标注图像集合的转移集合124。令c={c1,c2,...,c
n
}是n个个体分类器122

1至122

n的集合。输入图像x从转移集合124(u)被拉出并且被输入到个体分类器122

1~122

n{c1,c2,...,c
n
},其中,每个个体分类器122(c
i
)已经被训练以预测图像属于包括在个体类别集合l
i
中的类i
j
的的概率p
i
(y=l
j
)。
58.给定u和c,目标是训练估计属于包括在统一类别集合l
u
中的类i
j
的输入图像的概率q(y=l
j
)的统一分类器126(c
u
),其中:
59.公式1
[0060][0061]
注意,个体分类器122(c
i
)可以被训练以对不同的目标类别集合进行分类,即,当i不是j时,因此一个个体类别集合l
i
可能不等于其他个体类别集合l
j
和/或甚至一个个体类
别集合|l
i
|中的类别的数量可能不等于其他个体类别集合|l
j
|中的类别的数量。
[0062]
通常,知识蒸馏是一类用于从未标注数据集u将多个教师模型c
i
压缩为单个模型c
u
的算法。标准蒸馏对应于所有个体类别集合都相同的情况并且学生模型c
u
可以通过最小化教师模型c
i
的输出c
i
和学生模型c
i
的输出q之间的交叉熵来训练,如下所示:
[0063]
公式2
[0064][0065]
本质上,教师模型c
i
的输出p
i
在训练学生模型c
u
时用作未标注数据集u的软标注。对于神经网络,概率通常使用softmax函数计算,如下所示:
[0066]
方程式3
[0067][0068]
其中z
l
是类别l的分对数(logit)(softmax之前的激活),并且t表示可调节的温度参数。当t适当高时,最小化公式(1)中所示的交叉熵类似于最小化p
i
和q的分对数之间的l2误差,从而将交叉熵最小化与分对数匹配相关联。
[0069]
然而,标准蒸馏的主要问题源于它无法处理更一般的情况,即一个个体类别集li可能不等于另一个个体类别集合l
j
。上述公式(1)假设学生模型c
u
和教师模型c
i
共享相同的目标类别集合(l
i
=l
j
,=l
u
)。
[0070]
然而,在异构分类器中,每个教师模型c
i
都被训练以预测个体类别集合l
i
中的类别,因此对于包含在集合l

i
中的l,p
i
(y=l)是未定义的,该集合l

i
被定义为统一类别集合l
u
内但在个体类别集和l
i
之外的目标类别集合。对于教师模型c
i
和学生模型c
u
之间的输出不一致,一个简单的解决方案是简单地为包含在集合l

i
中的l设置p
i
(y=l)=0。然而,这种明显的解决方案可能会导致错误,例如,当教师模型c
i
没有对猫进行分类时,人们可能会将“猫”图像的集合p
i
(y=cat)设置为零,这将是一种不合适的监督。
[0071]
为了克服标准蒸馏的限制,引入了与每个个体分类器122(c
i
)的输出p
i
和统一分类器126(c
u
)的输出q相关的概率关系。由于个体类别集合l
i
是统一类别集合l
u
的子集,假设y不能在l

i
中,则概率p
i
(y=l)被视为y=l的概率q。这导致以下推导:
[0072]
公式4
[0073][0074]
公式(6)表示一个个体分类器122(c
i
)的输出中的每个预测值p
i
(y=l)与统一分类器126(c
u
)的输出中的对应预测值q(y=l)之间的等价性由个体训练模型122(c
i
)的个体类别集合l
i
归一化。
[0075]
图3描述了连接个体分类器122(c
i
)的输出与统一分类器126(c
u
)的输出的概率关
系的示意图。如图3所示,我们可以将个体分类器122(c
i
)视为输出统一分类器126(c
u
)的部分类。
[0076]
在根据本发明的一个或多个实施例的新知识蒸馏中,基于此概率关系,提供了两类技术,包括基于交叉熵最小化的技术和具有缺失条目的基于矩阵因式分解的技术。这两种技术都允许我们在统一类别集合l
u
中的所有类别上从未标注的样本x估计统一软标注q,并使用统一软标注q来训练统一分类器126。稍后将描述关于基于交叉熵的技术和基于矩阵因式分解的技术的更多细节。
[0077]
在具体实施例中,图1中所描述的中央计算系统120的模块122、126、130中的每一个以及图2中所示的知识蒸馏系统130的子模块132和134中的每一个可以是,但不限于被实现为软件模块,该软件模块包括结合诸如处理电路(例如,cpu(中央处理单元)、gpu(图形处理单元)、fpga(现场可编程门阵列))的硬件组件的程序指令和/或数据结构,存储器等;作为包括电子电路(例如,神经元形态芯片)的硬件模块;或作为其组合。
[0078]
图1和图2中所描述的这些模块122、126、130、132和134可以被实现在单个计算机系统(如个人计算机和服务器机器)上或分布在多个计算设备(如计算设备的计算机集群)上的计算机系统上。转移集合124和个体分类器122

1至122

n的内容可被存储在中央计算系统120可访问的任何内部或外部存储设备或介质中。
[0079]
同样,图1中所描述的数据源110中的模块114、116中的每一个模块可以但不限于被实现为软件模块;作为硬件模块;或作为其组合。图1中描述的这些模块114、116可在单个计算机系统或分布在多个计算设备上的计算机系统上实现。训练数据集合112可以被存储在实现模块114的计算机系统可以访问的任何内部或外部存储设备或介质中。
[0080]
注意,个体分类器122不必位于中央计算系统120的本地。如果个体分类器122通过网络可用,则是足够的。由此,准备个体分类器122意味着通过将个体分类器122读取到本地计算机系统的存储器空间上来使得个体分类器122可用;或者与在远程计算机系统上操作的个体分类器122建立连接,使得可以将转移数据(样本)馈送到个体分类器122中,并且可以从其接收对转移数据(样本)的所得预测。
[0081]
此外,在一个或多个实施例中,甚至不需要从中央计算系统120访问个体分类器122。在这种情况下,转移集合124的内容被给予每个数据源110,并且实体被请求通过将转移集合124中的每个样本馈送到个体分类器122中转发所获得的软标注集合及其类别名字。然后,知识蒸馏系统130接收软标注集合和类别名字。
[0082]
参考图4,描绘了描绘用于训练统一分类器126的知识蒸馏过程的流程图。如图4所示,该方法可以响应于从操作者接收到用于启动知识蒸馏过程的请求而在步骤s100处开始。可以在该请求中指定个体分类器122

1至122

n{c1,c2,...,c
n
}的集合、统一分类器126(c
u
)的配置和传送集合124(u)。注意,图4中所示的过程可由处理电路(诸如中央计算系统120中的一个或多个处理单元)来执行。
[0083]
在步骤s101,处理电路可准备转移集合124(u)和已被训练的个体分类器122

1至122

n{c1,c2,...,c
n
}。在步骤s102,处理电路可初始化统一分类器126。在步骤s101准备的每个个体分类器122具有相应的个体类别集合l
i
。而在步骤s102准备的统一分类器126具有作为个体类别集合l
i
的并集的统一类别集合l
u

[0084]
在步骤s103,处理电路可从转移集合124(u)读取样本x。在步骤s104,处理电路可
通过将样本x馈送到每个个体分类器122(c
i
)中来获得多个预测p
i
。在步骤s105,处理电路可使用上述概率关系从预测p
i
估计统一类别集合l
u
的所有目标类别上的统一软标注q。
[0085]
基于交叉熵的方法
[0086]
在下文中,描述了基于交叉熵最小化的估计统一软标注q的第一方法。基于概率关系(6),前述成本函数(1)可以被概括为以下成本函数:
[0087]
公式5
[0088][0089]
其中
[0090][0091]
上述公式(1)和(7)之间的差异在于概率q的标准化。具体地,在个体类别集合l
i
中的目标类别的概率p
i
(y=l)和归一化概率q
i
^(y=l)之间计算每个个体分类器122(c
i
)的交叉熵。根据公式(7),对于缺失的目标类别l

i
,不需要任意定义p
i
(y=l)值。
[0092]
让我们假设统一类别集合l
u
中的所有类别都存在概率p

,其中:
[0093]
公式6
[0094][0095]
那么q=p

是成本函数(7)的全局最小值。这建立了成本函数(7)的全局最小值的形式,如果存在的话,最小化成本函数(7)可以给出真实的潜在概率p


[0096]
当给定概率分布q时,上述成本函数(7)测量多个参考概率分布p
i
(y=l)之间的误差,其中的每一个对应于一个个体分类器122(c
i
)的预测以及多个归一化分布q
i
^(y=l),其中每一个是通过对每个个体类别集合l
i
中的目标类别上的给定概率分布q进行归一化而获得的。通过最小化关于概率分布q的上述成本函数(7),获得最佳分布q作为在统一类别集合l
u
的所有目标类别上的统一软标注。在所描述的实施例中,成本函数被用作目标函数,因此,优化目标函数的问题是最小化成本函数。
[0097]
最小化上述成本函数(7)可以被变换成几何程序,该几何程序然后可以被转换成凸问题并且被有效地解决。简而言之,新的临时变量u
l
(∈r)被给予包括在统一类别集合l
u
中的每个类l,并且每个临时变量u
l
由概率q(y=l)(即,u
l
=log q(y=l))的对数函数来表示。因此,在一个具体实施例中,上述公式(7)可以被变换成以下公式:
[0098]
公式7
[0099][0100]
其在临时变量{u
l
}
l
中是凸的,因为该函数是新临时变量{u
l
}
l
的缩放的并且指数总和求对数的总和。可通过使用诸如梯度下降的适当方法来最小化公式(9)。由于概率分布q由凸问题中的各临时变量u
l
(即,exp(u
l
))的指数函数的集合表示,因此一旦获得最优临时变量{u
l
}
l
,最优临时变量{u
l
}
l
就被上述软最大函数(2)以概率的形式变换为q。概率分布q,
相应地统一的软标注,可以通过解决这个凸问题来获得。虽然在所描述的实施例中使用交叉熵函数作为目标函数,然而,在其他实施例中,kullback

leibler(kl)发散也可被用作目标函数,因为交叉熵和kl发散在当它们被优化时它们将提供相同解决方案的意义上是等效的,即使kl散度和交叉熵一般不同。
[0101]
基于矩阵因式分解的方法
[0102]
在下文中,描述了基于具有缺失条目的基于矩阵因式分解来估计统一软标注q的第二类方法。可以将统一异构分类器的问题投射为填充不完整的软标注矩阵的问题。在下文中,描述了使用矩阵因式分解来从预测{p
i
}
i
的集合中恢复统一软标注q的三种方式。
[0103]
概率空间中的矩阵因式分解
[0104]
让我们考虑概率矩阵p∈[0,1]
lxn
,其中如果l被包括在个体类别集合l
i
中,则p
li
(行l和列i中的元素)被设置成p
i
(y=l),否则为零(0)。概率矩阵p以具有缺失条目的概率的形式表示预测p
i
。为了考虑这些缺失的预测,定义掩码矩阵m∈{0,1}
lxn
,其中m
li
(行l和列i中的元素)如果l被包括在个体类别集合l
i
中时为一(1),否则为零(0)。掩码矩阵m表示在个体类别集合l
i
中存在缺失类别。
[0105]
使用公式(6)中的p
i
与q之间的概率关系,概率矩阵p可因式分解为向量的掩蔽乘积,如下:
[0106]
公式8
[0107]
m

p=m

(uv
t
)(10)
[0108][0109]
其中一个带圆圈的点表示哈达玛积(hadamard product)。这里,向量u是包含以概率形式表示的分布q的输出向量,并且向量v中的每个元素包含每个个体训练模型(c
i
)的归一化因子,因此向量v被称为归一化向量v。
[0110]
以这种形式,概率输出向量u可以通过解决以下秩1矩阵完备问题来估计:
[0111]
公式9
[0112][0113]
subject to u
t1l
=1
ꢀꢀꢀꢀꢀꢀꢀ
(13)
[0114]
v≥0
n
,u≥0
l
(14)
[0115]
其中||.||
f
表示frobenius范数,并且0
k
和1
k
表示零向量和k大小的单位向量。
[0116]
在此,公式(12)表示相对于作为变量的输出向量u和归一化向量v优化目标函数的问题,其中,目标函数利用掩模矩阵m测量具有缺失条目的概率矩阵p与输出向量u和归一化向量v的乘积之间的误差。约束(14)确保归一化向量v是非负的。约束(13,14)确保输出向量u是概率向量。这种公式可以被认为是非负矩阵因子分解,其可以通过使用例如最小二乘(als)方法来求解,其中在每次迭代中输出向量u被归一化为总和为1。由于量规自由度,向量u中的该归一化不影响成本函数。
[0117]
对数空间中的矩阵因式分解
[0118]
如上所述,在最小化交叉熵与个体分类器122(c
i
)和统一分类器126(c
u
)的对数之间的l2距离之间存在关系。所以,低秩矩阵因式分解可以应用于对数。这种公式实际上是对分对数匹配的概括。令z
li
为个体分类器122(c
i
)的类l的给定分对数输出,且u为待估计的分对数输出向量。对于除神经网络之外的算法,可以通过z
li
=log p
i
(y=l)从概率获得分对数。让我们考虑分对数矩阵z∈r
lxn
,其中如果l被包括在个体类别集合l
i
中,则z
li
(行z
li
和列i中的元素)是z
li
,否则为零(0)。估计分对数输出向量u∈r
l
的问题可被公式化如下:
[0119]
公式10
[0120][0121]
subject to v≥0
n
(16)
[0122]
其中向量c∈r
n
处理分对数中的移位,然后称为分对数移位向量c,并且r∈r是控制正则化的超参数。
[0123]
分对数值的移位对概率输出没有影响,但是处理个体分类器的不同移位以将其建模为矩阵因式分解。在此,优化缩放向量v∈r
n
类似于优化来自每个分体分类器122(c
i
)的分对数的温度,并且分对数缩放向量v被约束为非负以防止可能影响概率的分对数符号翻转。
[0124]
公式(15)表示相对于以分对数形式表示的输出向量u,分对数缩放向量v和分对数移位向量c作为变量,来优化目标函数的问题,其中目标函数利用掩模矩阵m测量具有缺失条目的分对数矩阵z与输出向量u和由分对数移位向量c移位的分对数缩放向量v的乘积之间的误差。由前述公式(15)定义的问题可以通过使用向量u、v和c上的als来解决。这里,对输出向量u没有约束,所以输出向量u未被归一化。概率空间中的统一软标注q可使用前述softmax函数(2)从输出向量u获得,其中u
l
和q
l
被视为z
l
和p(y=l)。通过从u恢复q,所获得的软标注q可用于训练接受软标注的统一分类器。在其他实施例中,所获得的输出向量u可直接用于训练统一分类器,该统一分类器可输出分对数(例如,最终softmax层被移除的神经网络)作为其他类型的软标注。尽管输出向量u中的分对数与表示中的概率q不同,但本文中所叙述的统一软标注包含分对数空间中的值。
[0125]
具有固定缩放向量v的对数空间中的矩阵因式分解
[0126]
虽然将向量v设置为变量允许上述公式(15)处理分对数的不同缩放。然而,uv
t
的量规自由度可以导致u中的任意缩放,如下:
[0127]
公式11
[0128]
uv
t
=(u/α)(αv
t
)for a≠0.
[0129]
接下来,虽然正则化有助于防止向量u和向量v的范数太大,但很难设置单个正则化超参数r对传输集合124(u)中的所有数据都有效。为了解决这些问题,可以提出(15)的另一种公式,其中缩放向量v固定为1
n
。在缩放因子v固定的情况下,不需要对向量u进行正则化,因为其尺度由z决定。此外,新公式是凸的,可以求解为全局最优。估计具有固定缩放向量的分对数输出向量u∈r
l
的问题可以表述如下:
[0130]
公式12
[0131][0132]
公式(17)表示相对于以分对数形式表示的输出向量u和分对数移位向量c优化目标函数的问题,其中,所述目标函数利用掩模矩阵m测量具有缺失条目的分对数矩阵z与输
出向量u和由分对数移位向量c移位的固定缩放向量的乘积之间的误差。由前述公式(17)定义的问题可以用适当的方法来求解,例如在向量u和c上的梯度下降方法。此外,可以使用softmax函数(2)从分对数空间中的输出矢量u获得概率空间中的统一软标注q。可替代地,所获得的输出向量u可以直接用于训练可以作为其他类型的软标注输出分对数的统一分类器。
[0133]
返回参照图4,在步骤s106处,处理电路可将相同的样本馈送至当前统一分类器126中以推断输出p
u
。在步骤s107,处理电路可基于统一软标注q和当前统一分类器126的输出p
u
之间的损失函数来更新当前统一分类器126。
[0134]
在特定实施例中,用于训练统一分类器126的损失函数表示为以下交叉熵函数:
[0135]
公式13
[0136][0137]
其中,q表示在步骤s105估计的用作伪标注的统一软标注,p
u
表示具有参数θ的当前统一分类器126的统一类别集合中的类别的输出概率。在示例性实施例中,由于未标注数据被用作转移数据以统一个体分类器122,因此不需要劳动力来在中央计算系统120处标注任何数据。然而,当分配给传输数据的硬标注可用时,硬标注可以用于在训练过程期间以与软标注交替或同时的方式更新统一分类器126的参数θ。
[0138]
在步骤s108,处理单元可以确定是否满足退出条件。例如,当预定数量的时间段已经完成时,确定满足退出条件。如果在步骤s108处理单元确定还不满足退出条件,则处理可以循环回到步骤s103用于进一步迭代。另一方面,如果在步骤s108处理单元确定退出条件已经满足,则处理可以进行到步骤s109。在步骤s109,处理单元可以存储当前统一分类器126,并且过程可以在步骤s110结束。注意,可以针对每个转移示例(例如,在线训练)或转移示例的预定集合(例如,成批训练、迷你成批训练)来执行训练的迭代。
[0139]
在下文中,参照图5,描述了根据本发明的其他示例性实施例的知识蒸馏系统。图5描述了根据本发明其他示例性实施例的知识蒸馏系统的框图。图2所示的实施例与图5所示实施例之间的差异在于知识蒸馏系统130中存在软标注存储器136和平衡模块138。
[0140]
如上所述,统一软标注q是从针对从转移集合124(u)抽取的每个样本x的多个预测{p
i
}
i
估计的并且用于训练统一分类器126(c
u
)。然而,在一些情况下,来自整个转移集合124(u)的所估计的软标注q的集合可能是不平衡的。也就是说,所估计的统一标注q可比其他分类更偏向某些分类,这可导致训练统一分类器126(c
u
)偏向于相同分类集合。为了抵消该偏差,当使用统一软标注q来训练统一分类器126(c
u
)时,可以向交叉熵损失应用权重,其中,以基于在来自转移集合124(u)的所有数据上的概率q(y=l)的静态的方式计算每个类l的权重。所有数据上的概率q(y=l)的平均值的倒数可用作加权的静态。
[0141]
在本示例性实施例中,软标注生成模块132还被配置为将用于每个传送数据的统一软标注存储到软标注存储器136中。在获得用于传送集合124(u)中的所有传送数据的软标注之后,平衡模块138被配置成计算来自传送集合124(u)的所有数据上的概率q(y=1)的静态,并将该静态保存为权重。统一模型训练模块134用于在训练统一分类器126时,通过对统一类别集合中的目标类别进行加权,对损失函数进行加权。
[0142]
根据上述实施例,首先估计统一软标注q,并且统一软标注q用于以监督的方式来
训练统一分类器126。然而,当统一分类器126(c
u
)是神经网络时,存在其中估计q的损失直接在整个神经网络中反向传播而不必首先估计q的替代方式。
[0143]
在下文中,参考图6和图7,描述了根据本发明的另外的其他示例性实施例的知识蒸馏,其中使用从个体分类器122

1至122

n获得的数据来更新统一分类器126,而不必首先估计统一软标注q。
[0144]
图6描述了根据本发明的另一其他示例性实施例的知识蒸馏系统的框图。图2所示的实施例与图6所示的实施例之间的差异在于图2所示的软标注生成模块132被省略并且更新模块140被结合到统一模型训练模块134中。还注意,统一分类器126是基于神经网络的模型。
[0145]
更新模块140被配置用于针对每个转移数据(或样本)获得由个体分类器122

1至122

n生成的预测p
i
。更新模块140还被配置为将每个样本馈送到统一分类器126中以推断统一类别集合中的目标类别的预测值。更新模块140进一步被配置为使用具有上述概率关系的每个样本的统一分类器126的预测值和个体分类器122

1至122

n的预测来更新统一分类器126(其参数θ),其通过统一类别集合l
u
中的目标类别连接个体分类器122

1至122

n的输出和统一分类器126的输出。当训练过程完成时,统一模型训练模块134将统一分类器126存储到适当的存储设备中。
[0146]
参考图7,描绘了用于描绘根据另外的其他示例性实施例的知识蒸馏过程的流程图。如图7所示,该方法可以开始于步骤s200,响应于从操作者接收启动知识蒸馏过程的请求。图7中所示的过程可由处理电路(诸如中央计算系统120中的一个或多个处理单元)来执行。
[0147]
在步骤s201,处理电路可准备转移集合124(u)和个体分类器122

1至122

n{c1,c2,...,c
n
}。在步骤s202,处理电路可以初始化统一分类器126。在步骤s203,处理电路可从转移集合124(u)读取样本x。在步骤s204处,处理电路可通过将样本x馈送到每个个体分类器122(c
i
)中来获得多个预测p
i
。在步骤s205处,处理电路可以将相同的样本馈送到当前统一分类器126中以推断输出q。
[0148]
在步骤s206处,处理电路可以基于具有来自各个分类器122

1至122

n的预测p
i
的上述概率关系和当前统一分类器126在所有目标类别上的输出q的损失函数来更新当前统一分类器126。
[0149]
在基于交叉熵的方法的情况下,公式(7)中的q被视为从当前统一分类器126(c
u
)输出的概率,那么损耗可直接反向传播通过。在步骤s206中,通过基于损失函数(7)回传损失遍及统一分类器126(c
u
)的神经网络来更新当前统一分类器126,该损失函数(7)测量参考分布p
i
与通过对每个个体类别集合中的目标类别上的分布q进行归一化而获得的归一化分布q
i
^之间的误差,其中,在步骤205中获得分布q作为由统一分类器126推断的预测值。损失函数(7)用于使用损失函数的梯度的形式通过反向传播更新参数θ。
[0150]
在矩阵因式分解方法的情况下,输出向量u被视为来自统一分类器126(c
u
)的概率向量或分对数输出。一旦获得输出向量u,就将输出向量u插入到每个公式(12)、(15)或(17)中,并且针对使用固定的输出向量u的其他变量(例如,v和c)来解决问题,并且然后,损失经由输出向量u反向传播。统一分类器126通过在整个神经网络中反向传播损失来更新,其中通过以基于矩阵因式分解的方式用统一模型的输出向量u和其他变量(例如,v和c)求解优
化目标函数的问题来获得损失。获得输出向量u作为由统一分类器126推断的预测值并且固定在问题中。例如,让我们考虑公式(15)。在这种情况下,在从统一分类器126(c
u
)获得输出矢量u之后,公式(15)中的输出矢量u的值是固定的,然后针对分对数缩放矢量v和分对数移位矢量c,优化公式(15)所表示的目标函数,直到获得它们的最优值。然后,向量v和c是固定的,并且关于输出向量u计算公式(15)的梯度。然后,该梯度可以用于反向传播统一分类器126(c
u
)。
[0151]
在两种方法中,直接反向传播损失有助于将估计q的步骤和使用估计q来训练统一分类器126(c
u
)的步骤合并成单个步骤。当从朝向统一分类器126(c
u
)的训练传播估计q时,其防止误差的累积。
[0152]
在步骤s207中,处理单元可确定是否满足退出条件。如果在步骤s207处理单元确定还不满足退出条件,则处理可以循环回到步骤s203用于进一步迭代。另一方面,如果在步骤s207处理单元确定退出条件已经满足,则处理可以进行到步骤s208。在步骤s208,处理单元可以存储当前统一分类器126,并且过程可以在步骤s209结束。
[0153]
根据本发明的一个或多个实施例,即使个体训练的模型具有目标类别的不同部分集合,也可以将个体训练的模型(个体分类器122

1至122

n)的知识转移至统一模型(统一分类器126)。以与统一模型的输出一致的方式,从由个体训练的模型生成的预测来估计统一软标注。
[0154]
此外,使用统一软标注训练的统一模型示出了高性能,尤其是,如将在以下实验部分中描述的,与已经以集中式和监督式方式直接用训练个体训练模型的训练数据训练的模型是可比较的。与集成方法相反,不再需要用于训练统一模型的个体训练模型来进行推断,而集成方法需要存储和运行所有模型,这在使用复杂模型时可能导致可缩放性问题。与集成方法相比,训练新模型允许降低计算成本。此外,通过引入概率关系,避免了在预测个体训练的模型时对缺失的目标类别的不适当监督的提供,并且可以防止由于这种不适当监督导致的统一模型的性能劣化。
[0155]
上述交叉熵方法和矩阵因式分解方法提供用于从个体分类器122的预测p
i
求解统一软标注q的实际解决方案。
[0156]
此外,为了进行新的知识蒸馏,不需要用于训练个体训练模型的训练数据的数据传输。个体训练的模型的内容和从个体训练的模型获得的软标注集合不是原始数据并且通常比其训练数据更紧凑。此外,对个体训练的模型的模型架构存在较少的限制。因此,在存在模型架构、计算、数据可用性和机密性约束中的至少一个的情况下,这是优选的。
[0157]
针对一下情况,可能存在实际应用,这些情况包括:对于不可能强制每个实体使用相同模型/架构、为所有类别收集足够的训练数据;或由于计算、数据可用性和机密性约束而向所述中央节点发送数据。
[0158]
根据上述实施例,已经在图像分类的上下文中描述了新知识蒸馏。然而,根据本发明的一个或多个实施例的有待通过新的知识蒸馏来训练的分类器不限于图像分类器。在一个或其他实施例中,可构想许多应用,这些应用包括语音识别、手写识别、医学图像分析、模式识别,仅举几例。
[0159]
已经描述了关于根据本发明的一个或多个具体实施例获得的优点,应当理解,一些实施例可以不具有这些潜在的优点,并且这些潜在的优点不一定是所有实施例所必需
的。
[0160]
实验研究
[0161]
对根据示例性实施例的参照图1至图7的系列描述的实施知识蒸馏系统和知识蒸馏过程的程序进行编码和执行。
[0162]
将描述关于imagenet、lsun和场所365数据集的主要实验。在下文中,使用以下缩写来表示上述方法:sd代表标准蒸馏的初次扩展的(比较例1),其中对包含在集合l

i
.中的l,简单地设定p
i
(y=l)=0,对于基于交叉熵的方法(实例1

3)设定ce

x;对于概率上的矩阵因子分解(实例4

6)设定mf

p

x;以及对于使用非固定的(实例7

9)和固定v(实例10

12),对于在分对数的矩阵因子分解分别设定mf

l
u

x和mf

lf

x。在上述缩写中,如果在使用统一软标注q来训练统一分类器126(c
u
)之前首先估计统一软标注q,则后缀

x’被”e”代替(实例1、4、7、10);如果从损失函数执行直接反向传播,则用”bp”代替(实例2、5、8、11);以及在训练统一分类器126(c
u
)之前,如果统一软标注q被概率q(y=l)的平均值的倒数平衡为静态,则用”bs”代替(实例3、6、9、12)。除了上述方法之外,sd

bs被包括作为具有平衡的软标注的sd方法(比较例2),以及作为使用全部个体分类器122(c
i
)的全部标注数据,以监督方式直接训练的方法的spv(比较例3)包括作为基准。对于mf

lu

x方法,使用超参数r=0.01。所有方法使用温度t=3来使软标注和分对数平滑。
[0163]
首先,将描述实验方案、关于数据集的细节、用作个体分类器122(c
i
)和统一分类器126(c
u
)的架构以及个体分类器122(c
i
)的配置。然后,将讨论结果。
[0164]
实验方案:
[0165]
数据集:使用三个数据集。第一数据集是imagenet(ilsvrc2012)。这个数据集包含1k个类,每个类具有大约700至1300个训练和50个验证图像,以及100k个未标注的测试图像。在本实验中,训练图像用作个体分类器122

1~122

n(c
i
)的训练数据,未标注的测试图像用作转移集合124(u),并且验证图像用作测试集以评估准确度。该第二数据集是lsun,该lsun包含具有大约100k至3m训练图像(取决于类别)的10个类别和每个类别300个验证图像具有10k未标注测试图像。这里,每类随机地采样1k个训练图像的集合以训练个体分类器122(c
i
),也来自训练数据的每类20k个图像的第二随机采样集合被用作转移集合124(u),并且验证数据被用作测试集合。第三数据集是places365。该数据集包含365个类别,每个类别具有大约3k至5k训练和100个验证图像,以及329k未标注的测试图像。在本实验中,训练图像用作个体分类器122

1~122

n(c
i
)的训练数据,未标注的测试图像用作转移集合124(u),并且验证图像用作测试集以评估准确度。通过中心裁剪和缩放到64x64像素来预处理所有图像。
[0166]
个体分类器配置:
[0167]
在个体分类器的两种配置(总结于表1中)下测试所提出的方法。(i)随机类别:对于imagenet数据集,在每个试验中,20至50个类别被采样为l
u
并且训练10至20个个体分类器122(c
i
),其中每个被训练为分类5至15个类别。对于lsun数据集,在每个试验中,对5至10个类别采样作为l
u
,并且训练3至7个个体分类器122,其中训练每个分类器以分类2至5个类别。该配置用作个体分类器122(c
i
)对不同类别集合进行分类时的主要测试。对于places365数据集,在每个试验中,对20至50个类别采样为l
u
,并且训练10至20个个体分类器122(c
i
),其中训练每个分类器以分类5至15个类别。(ii)完全重叠类别:这里,使用与(i)
中相同的配置,除了训练所有个体分类器122(c
i
)以将l
u
中的所有类别分类。此情形用以在所有分类器c
i
和c
u
共享相同类别的共同配置下测试所提议的方法。在两种配置下,转移集合124(u)由比l
u
宽得多的类别集合组成。换言之,转移集合124(u)中的大部分图像不落在l
u
中的任何类别下。
[0168]
表1
[0169][0170]
模型:
[0171]
每个个体分类器122(c
i
)随机地选自具有imagenet预训练权重的以下四种架构之一:alexnet、vgg16、resnet18和resnet34。对于alexnet和vgg16,它们的特征提取器部分的权重是固定的,它们的fc(完全连接)层被替换为具有256个隐藏节点(具有batchnorm和relu)的两个fc层,并且fc层用其训练数据来训练。类似地,在resnet模型中,它们的fc层被如上所述的具有256个隐藏节点的两个fc层代替。此外,对最后的残差块进行微调。至于统一分类器126(c
u
),两个模型(包括vgg16和resnet34)与如上类似的设置一起使用。
[0172]
对于所有数据集和配置,每个个体分类器122(c
i
)被使用每类具有50至200个样本训练;在相同的试验中,在任何个体分类器122(c
i
)之间没有共享样品。然后使用这些个体分类器122(c
i
)连同转移集合124(u)来训练统一分类器126(c
u
)。所有模型被用sgd(随机梯度下降)优化器(具有动量为0.9的第一个和后10个时期的步长为0.1和0.015)训练20个时期。为了控制结果的变化,在每个试验中,使用相同的权重来初始化相同架构的统一分类器126(c
u
),并且使用相同的批命令来训练统一分类器126(c
u
)。对所有方法的统一分类器126(c
u
)对其相应试验的l中的所有类别的测试数据进行评估。针对每个数据集、模型和个体分类器配置组合运行50次试验。
[0173]
结果:
[0174]
评价的准确度结果总结在下表2和表3中:
[0175]
表2
[0176][0177]
表3
[0178][0179][0180]
表2和表3示出了在个体分类器配置、数据集和统一的分类器模型的不同组合上的
方法的准确度。每列显示了每种方法在每种实验设置下的平均准确度,其中排除每种设置的spv的最佳结果以粗线显示。为了测试统计显著性,选择超过标准差的wilcoxon有符号秩测试,以满足整个试验中非常不同的设置(例如,模型结构、类别的数目和hc等)。该测试是在每个实验中表现最好的方法与剩余部分之间进行的。在α=0.01下表现与最佳方法在统计学上不显著不同的方法以粗体示出。
[0181]
在下文中,描述随机类别情况的结果,其解决了当训练每个个体分类器122以对不同类别集合分类时提出的新知识蒸馏的主要场景。
[0182]
如表2中所示,所有提出的方法(实例1

12)表现显著优于sd(对比实例1)。表2中的使用后缀”e”估算q方法(实例1、4、7、10)、使用后缀”bp”直接反向传播方法(实例2、5、8、11)、以及使用后缀”bs”(包括sd

bs)平衡方法(实例3、6、9、12和比较例2)的所有方法均比sd(比较例1)表现高9%

15%的大裕度。已表明,简单地将每个个体分类器的未定义类别的概率设置为0可能显著地降低准确度。另一方面,所提出的方法(实例1

12)实现了显著更好的结果并且几乎达到与spv(对比实例3)相同的准确度,具有间隙为1%

4%。这表明来自个体分类器122(c
i
)的软标注能够以极小的准确度代价用于无监督训练,即使转移集合124(u)包含不是目标类别的一部分的显著份额的图像。仍然,存在可能影响统一分类器126(c
u
)的能力以免达到spv的准确性的若干因素,例如,个体分类器122(c
i
)的准确性、它们的架构等。
[0183]
可以看出,不同的算法在不同的设置下表现最好,然而,在具有固定v的分对数上的矩阵因子分解(实例10

12)总是表现最好或者与最好的方法没有统计差异。这表明关于使用固定v的分对数的矩阵因式分解可以是用于解决统一异构分类器问题的最佳方法。
[0184]
虽然改进可能是微小的(小于1.5%),但是具有后缀”bs”的标注平衡方法(实例3、6、9、12)一致地胜过它们具有后缀”e”的对应物(实例1、4、7、10)。这些结果指示使用平衡的软标注来训练统一分类器126(c
u
)是好想法。注意,虽然sd

bs(比较例2)受到显著提升,但它通常仍未充分执行其他ce和mf方法(实例1

12),从而表明将{p
i
}
i
与q之间的关系结合到训练中是重要的。
[0185]
具有后缀

e’和

bs’的方法基于在训练统一分类器126(c
u
)之前估计q,而具有后缀”bp”的方法直接执行从损失函数的反向传播。交叉熵(ce)的损失和具有固定v的分对数的矩阵因子分解(mf

lf)在它们的变量中是凸的,而概率的矩阵因子分解(mf

p)和具有非固定v的分对数的矩阵因子分解(mf

l
u
)是非凸的。此处,观察到小但有趣的效果,其中当首先估计q时具有凸损失的方法比直接反向传播损失表现更好,而非凸损失具有相反的结果。这可能是由于当针对非卷积方法估计q时的误差累积,其向下传递到统一分类器126(c
u
),然后训练统一分类器126(c
u
),而非卷积”bp”方法可能能够避免局部此类误差累积。另一方面,凸方法可以估计全局最优q,因此使用其来训练统一分类器126(c
u
)可以使其避免不良的局部最优。
[0186]
接下来,通过参考表3讨论完全重叠的情况的结果。所有方法(实例1

12)表现相当好。可以看出,所有方法都实现与sd(比较例1)大约相同的精度。这表明所提出的方法还可以在所有个体分类器被训练以对所有类别进行分类的常见情况下表现良好,并且增强了所提出的方法是知识蒸馏的概述。
[0187]
可以注意到,平衡软标注倾向于稍微降低准确度。这里,甚至在随机类情况下接收
到精度提高的sd

bs(比较例2)也比其对应sd(比较例1)表现得更差。这表明在这种情况下不平衡软标注可能是更好的选项。
[0188]
对于lsun和places365数据集,可以看出所有方法(实例1

12)表现优于spv(对比实例3)。尤其对于vgg16的情况,spv在大多数50次试验中一致地比其他方法表现差1%至3%。这表明基于蒸馏的方法可能胜过其监督的对应方法。
[0189]
灵敏度分析
[0190]
此外,对转移集合的大小、温度参数t和个体分类器122的准确度(c
i
)的影响进行三组灵敏度分析。使用与imagenet随机类别实验相同的设置,其中vgg16作为统一分类器126(c
u
)。对于每个测试运行50个试验。作为来自先前部分的代表性的一组sd和最高性能方法,评估以下五种方法:sd(对比实例4)、sd

bs(对比实例5)、mf

p

bp(实例13)、mf

lf

bs(实例14)、以及ce

bs(实例15)。
[0191]
转移组的大小:使用评估转移集合u中未标注样品数目的影响的测试。样品的数目从103变化至105。结果示于图8a中。如预期的,可以看出所有方法随着传送集的尺寸减小而劣化。在这个测试中,mf

p

bp(实例13)最受这种降低的影响,因为它的准确度下降得最快。尽管如此,所有其他方法(实例13

15)在整个测试范围内比sd表现更好,从而展示对具有不同大小的组进行传输的鲁棒性。
[0192]
温度:在该测试中,用于平滑化概率{p
i
}
i
所使用的温度t在使用它们来估计q或训练c
u
之前是变化的。所评估的值是t=1、3、6;和10。结果示于图8b中。可以看出,当t分别被设定为高值和低值时,sd和sd

bs(比较例4

5)的精度显著降低。另一方面,其他三种方法(实施例13

15)较少受到不同t值的影响。
[0193]
个体分类器的准确性:在此测试中,针对个体分类器122(c
i
)的不同准确度来评估方法的稳健性。测试方案如下:在每个试验中,所有个体分类器122(c
i
)的准确度变化到40%

80%,p
i
从个体分类器122(c
i
)获得,并且用于执行该方法。为了改变每个个体分类器122(c
i
)的准确性,从训练数据中每个类别取50个样本作为调整集合,从剩余的训练数据中完全训练每个个体分类器122(c
i
),然后将增加的高斯噪声注入到最后的fc层中直到其在调整集合上的准确度下降到期望值。如果个体分类器122(c
i
)的初始准确度低于期望值,则简单地使用初始c
i
。图8c示出该评价的结果。可以看出,所有方法(示例13

15)的准确度随着个体分类器122(c
i
)增加并且表现更好,从而说明个体分类器122(c
i
)的准确度是性能的显著因素。还可以看出,mf

p

bp(实例13)最受单个分类器122(c
i
)的低准确度的影响,而mf

lf

bs(实例14)最鲁棒。
[0194]
基于灵敏度分析,证明mf

lf

bs(实例14)是针对转移集合中的样品数目、温度、以及个体分类器122的准确度的最稳健的方法。这个结果提供了mf

lf

bs是我们建议的方法的进一步证据。
[0195]
计算机硬件组件
[0196]
现在参见图9,示出了可以用于中央计算系统120和数据资源110的其他计算系统的计算机系统10的示例的示意图。图9中所示的计算机系统10被实现为计算机系统。计算机系统10仅是合适的处理设备的一个实例,并且不旨在对本文描述的本发明的实施例的使用或功能的范围提出任何限制。无论如何,计算机系统10能够被实现和/或执行上文阐述的功能中的任何功能。
[0197]
计算机系统10可与众多其他通用或专用计算系统环境或配置一起操作。可适合于与计算机系统10一起使用的众所周知的计算系统、环境和/或配置的实例包含,但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机,手持或膝上设备、车载设备、多处理器系统、基于微处理器的系统、机顶盒,可编程消费电子产品、网络pc、小型计算机系统、大型计算机系统、以及包括任何上述系统或设备的分布式云计算环境,等等。
[0198]
计算机系统10可以在由计算机系统执行的计算机系统可执行指令(如程序模块)的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。
[0199]
如图9所示,计算机系统10以通用计算设备的形式示出。计算机系统10的部件可以包括但不限于处理器(或处理电路)12和存储器16,存储器16通过包括存储器总线或存储器控制器的总线以及使用各种总线架构中的任一种的处理器或局部总线耦合到处理器12。
[0200]
计算机系统10通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统10访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质两者。
[0201]
存储器16可包括易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(ram)。计算机系统10还可包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统18可被提供用于从不可移除、非易失性磁性介质读取和向不可移除、非易失性磁性介质写入。如下面将进一步描绘和描述的,存储系统18可以包括至少一个程序产品,该程序产品具有被配置为执行本发明的实施例的功能的程序模块的集合(例如,至少一个)。
[0202]
作为实例而非限制,具有一组(至少一个)程序模块的程序/实用程序、以及操作系统、一个或多个应用程序、其他程序模块和程序数据可以存储在存储系统18中。操作系统、一个或多个应用程序、其他程序模块和程序数据中的每一者或其某一组合可包含联网环境的实施例。程序模块通常执行本文描述的本发明的实施例的功能和/或方法。
[0203]
计算机系统10还可以与一个或多个外围设备24(诸如键盘、定点设备、汽车导航系统、音频系统等)、显示器26、使得用户能够与计算机系统10交互的一个或多个设备、和/或使计算机系统10能够与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)通信。这种通信可以经由输入/输出(i/o)接口22发生。此外,计算机系统10可以经由网络适配器20与诸如局域网(lan)、通用广域网(wan)和/或公共网络(例如,互联网)之类的一个或多个网络通信。如图所示,网络适配器20通过总线与计算机系统10的其他部件通信。应当理解,虽然未示出,但是其他硬件和/或软件组件可以与计算机系统10结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动器阵列、raid系统、磁带驱动器和数据归档存储系统等。
[0204]
计算机程序实现
[0205]
本发明可以是计算机系统、方法和/或计算机程序产品。所述计算机程序产品可包含上面具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指使处理器执行本发明的各方面。
[0206]
计算机可读存储介质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、
电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体例子的非穷举列表包括以下:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存),静态随机存取存储器(sram)、便携式致密盘只读存储器(cd

rom),数字通用盘(dvd)、记忆棒、软盘、机械编码设备(诸如穿孔卡片或具有记录在其上的指令的凹槽中的凸起结构),以及上述的任意合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。
[0207]
本文所述的计算机可读程序指令可经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理装置,或下载到外部计算机或外部存储装置。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
[0208]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令,指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,包括面向对象的smalltalk、c 等编程语言,以及常规的过程式编程语言,例如“c”编程语言或类似的编程语言。计算机可读程序指令可完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的各方面。
[0209]
本文中参考根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程图说明和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。
[0210]
这些计算机可读程序指令可被提供给通用计算机的处理器,专用计算机或其他可编程数据处理装置,以产生机器,其通过计算机或其他可编程数据处理装置的处理器执行,创建用于实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。这些计算机可读程序指令还可存储在可指导计算机的计算机可读存储介质、可编程数据处理装置、和/或以特定方式起作用的其他设备中,使得具有存储在其中的指令的计算机可读存储介质包括人工制品,该人工制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。
[0211]
计算机可读程序指令还可加载到计算机、其他可编程数据处理设备上,或使得在计算机上执行一系列操作步骤的其他装置,其他可编程装置或其他设备,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令,实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0212]
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个方框可以代表模块、段或指令的一部分,其包括用于实现规定的逻辑功能的一个或多个可执行指令。在一些替代实现方式中,框中所标注的功能可以不以图中所标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由基于专用硬件的系统来实现,所述基于专用硬件的系统执行指定的功能或动作或执行专用硬件与计算机指令的组合。
[0213]
在此使用的术语仅用于描述具体实施例的目的并且不旨在限制本发明。如在此使用的,单数形式“一个”、“一种”和“该”旨在也包括复数形式,除非上下文另外清楚地指示。将进一步理解的是,当在本说明书中使用术语“包括”和/或“包含”时,其指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组的存在或添加。
[0214]
以下权利要求中的所有装置或步骤加功能元件(如果有的话)的对应结构、材料、动作和等效物旨在包括用于结合如具体要求保护的其他要求保护的元件来执行功能的任何结构、材料或动作。本发明的一个或多个方面的描述是出于说明和描述的目的而呈现的,但不旨在是详尽的或限于所公开的形式的本发明。
[0215]
在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域的普通技术人员而言将是显而易见的。选择在此使用的术语以最佳地解释实施例的原理、实际应用或在市场上找到的技术上的技术改进,或使得本领域普通技术人员能够理解本文公开的实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献