数据异质性
数据异质性指的是在不同数据源、不同数据类型或不同数据集之间,数据的形式、结构、分布、质量等方面存在差异。这种差异性可能表现为以下几个方面: 数据类型异质性: 数据可以有不同的类型,如文本、图片、音频、视频等。不同类型的数据可能需要不同的处理方式和模型。 数据分布异质性: 不同的数据源可能有不同的分布,特别是在分布式学习或联合学习中,参与的数据可能来自不同的地理位置或设备,它们的分布可能是不一致的。 数据质量异质性: 数据的质量差异也构成异质性。例如,某些数据集可能有更多的噪声,缺失值或错误数据,而其他数据集则更加干净。 标签异质性: 在监督学习中,不同数据集的标签定义和标注标准可能不同,这也会导致标签的异质性,影响模型的训练和泛化能力。 数据异质性在联邦学习、分布式学习和跨领域学习中,可能导致模型性能下降、训练困难或者收敛速度变慢。解决数据异质性的方法通常包括数据预处理、特征选择、对齐技术、集成学习等。
蒸馏学习
蒸馏学习是一种将一个大模型(通常称为教师模型)训练得到的知识传递到一个较小模型(学生模型)的方法。模型集成是蒸馏学习中常用的一种手段。历史模型集成在蒸馏学习中通常是通过对多个已训练的教师模型进行组合,从而增强学生模型的表现。这种集成可以通过加权平均法、输出选择、层级蒸馏和自适应蒸馏等方法实现。 加权平均法就是对多个历史教师模型进行加权平均,得到一个“集成教师模型”。这个模型的输出是所有教师模型预测结果的加权和。然后,学生模型通过蒸馏这种集成教师模型来学习。 历史教师模型的输出可能有所不同,在这种情况下,可以选择多个教师模型中的最优输出或者做某种形式的投票。例如,对于分类任务,可以选择教师模型中投票最多的类别作为集成输出,这种方法叫做输出选择。 不仅仅可以对最终的模型输出进行蒸馏,还可以通过多层次的方式进行蒸馏,成为层级蒸馏。例如,可以从多个教师模型中提取中间层的特征表示,将其作为指导信息传递给学生模型。这样,学生模型不仅学习教师模型的最终预测结果,还能从教师模型的内部表示中获取更丰富的信息。 自适应蒸馏通过调整每个历史教师模型的贡献,学生模型可以在训练过程中自适应地学习如何从不同的教师模型中获取知识。这种方式可以让学生模型在训练过程中动态地决定哪些教师模型更为重要。
沙普利值
沙普利值(Shapley Value)是来源于合作博弈理论的一个概念,广泛用于分配合作成果或贡献。在机器学习中,它被用于评估每个特征对模型预测结果的贡献,特别是在解释模型时很有用。具体来说,沙普利值用来衡量每个特征对模型输出的贡献度,考虑了所有可能的特征组合,并计算每个特征在不同组合下的“边际贡献”。使用蒙特卡罗采样方法减少沙普利值的计算时间,主要通过对特征子集进行随机采样而非穷举所有可能的特征排列来近似计算沙普利值。