人工智能:数据与模型安全
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.2 无监督学习

无监督学习是机器学习的另一类重要学习范式。无监督学习要求算法能够在没有标注的数据上进行自主学习,充分发掘数据本身的性质和内在的关联关系。这一抽象过程可以描述为:设计算法A作用于样本集合X得到函数(模型)f,所得到的f将最终作用于数据本身XX ⊆X)得到某种分析结果O。该过程可以抽象描述为:

相比于有监督学习,无监督学习最大的不同在于步骤1只使用了数据集D中的样本X本身,没有标注信息Y,算法仅通过分析数据自身特性就能学习得到分析函数f,完成对数据集自身的分析(步骤2)。所分析的数据X可能是已见过的学习样本,也可能是未见过的样本,而分析结果r由具体任务决定。常见的无监督学习任务有聚类分析、相关性分析、特征降维、异常检测、对比学习、数据重建等。针对不同的无监督学习任务,我们需要设计不同的算法A对数据进行分析,这些方法从不同的角度解决同一个核心问题,即如何在无显式标注的情况下实现“自我监督”。

聚类(clustering)是一类经典的无监督学习任务,目的是将空间中的数据点按照某种方式聚为对应不同概念的簇(cluster)。簇内距离和簇间距离是衡量聚类方法性能好坏的核心标准,这需要由一个距离度量(distance metric)来定义。实际上,将很多数据点聚成几簇很容易,但是要每一个簇都有不同的意义很难,更何况很多时候我们无法知道到底应该有几个簇。经典的聚类算法包括k-means、DBSCAN等。从某种程度上来说,分类问题是聚类问题的一个简单版本,类是已知的且预先标记好的簇。聚类分析与特征学习也有着密切的关联,研究表明深度神经网络强大的特征学习能力将有助于发现更准确的簇,可以先学特征再聚类或者边学特征边聚类。一般来说,聚类模型不易受少量异常数据点的干扰,安全性要高于分类模型。

特征降维(dimensionality reduction)是无监督学习中的另一类重要任务,其目的是将高维数据映射到低维空间,用更低维度的特征来替代原始高维度特征,同时最大限度地保留高维特征所包含的信息(即方差),从而达到降低时间复杂度、提高数据分析效率、防止模型过拟合的目的。经典的降维方法包括主成分分析(principal components analysis,PCA)、t-SNE(t-distributed stochastic neighbor embedding)等。其中,PCA是一种最常用的方法,它通过最大化投影方差来生成一系列线性不相关变量(即主成分),将高维数据映射到低维空间。原先的n个特征被更少的m≪n个特征取代,新特征是旧特征的线性组合,PCA算法尽量使新的m个特征互不相关以便存储更多的信息。此外,数据在降维的同时会去除一部分噪声,将有利于发现数据中的潜在模式。

自监督对比学习(self-supervised contrastive learning)是无监督学习的一种,通过对比的手段学习样本间的相同和不同特征,从而得到高效的特征抽取模型f,能够对输入样本提取具有判别性的有用特征。对比学习的核心思想在于让“相似”的样本在特征空间中更近,让“不相似”的样本在特征空间中更远。例如,我们可以将相同实例的不同视角(如应用不同的数据增广)视为相似样本(也称正样本对),同时将不同的实例视为不相似样本(也称负样本对)。此外,还可以利用聚类方法,将同一个簇内的样本定义为相似样本,将来自不同簇的样本视为不相似样本。目前,如何设计合理的对照和相似性度量是自监督对比学习研究的重点。

数据重建(data reconstruction)通过重构原始样本来学习数据的有效表示或者学习生成特定分布的样本。基于自我重建的无监督学习包含了很多经典的算法,如自编码器(au-toencoder)、变分自编码器(variational autoencoder,VAE)、生成对抗网络(GAN)等。自编码器的作用是学习数据的有效编码,它通过一个编码器(encoder)将样本压缩成一个潜在空间表示,然后通过一个解码器(decoder)将空间表示重构为输入样本。变分自编码器则是将输入编码为隐空间中的分布,并基于隐空间中采样得到的特征点重建输入,以此来学习一个能够建模真实数据分布的生成模型。生成对抗网络是一种非显式建模数据分布的生成模型,其特点是通过一个判别器(discriminator)和一个生成器(generator)之间的对抗学习来促使生成器生成符合真实数据分布的样本。在生成对抗网络中,两个模型(即判别器和生成器)的目标相反,其中判别器D的目标是判断一个样本是否为生成器生成,生成器G的目标则是尽可能生成判别器无法判断真假的样本。交替训练这两个相互对抗的模型可以使二者达到一个均衡状态(纳什均衡),在此状态下生成器将能够生成符合真实数据分布的样本。

如我们在2.2.1节提到的,现实世界的学习任务是复杂多样的,在有监督和无监督学习之间存在一些如半监督学习弱监督学习等中间类型的学习范式。在半监督学习中,我们将面临输入数据部分被标记,部分未被标记的情况;而在弱监督学习中,我们将面临数据集的标签不可靠的情况,而这种不可靠性包括了噪声标记、不完整标记、局部缺失标记等。现实场景中,半监督和弱监督任务非常常见,学习算法也非常多样,经常会融合有监督和无监督学习各自的优势来解决半监督和弱监督学习问题。