为什么 DBN 或 DBM 的最后一层用于分类任务?

人工智能 机器学习 深度学习 分类 生成模型
2021-10-20 23:00:08

我理解为什么像 DBN(深度信念网络)或 DBM(深度 Boltzmann 机器)这样的深度生成模型能够捕获数据中的底层结构并将其用于各种任务(分类、回归、多模态表示等)。

但是对于像学习深度生成模型这样的分类任务,我想知道为什么网络像前馈网络这样在标记数据上进行微调,为什么只使用最后一个隐藏层进行分类?

在微调期间,由于我们正在更新分类任务的权重(与生成任务的目标不同),网络是否会失去一些重新生成正确数据的能力?(因此可用于不同的分类任务?)

除了只使用最后一层,是否可以使用不同层的隐藏单元的分区来执行分类任务而不修改权重?例如,通过获取最后两层的隐藏单元子集(抽象表示的子集)并使用像 SVM 这样的简单分类器?

先感谢您!

1个回答

近年来深度学习模型带来的一大认识是我们可以同时训练特征提取器和分类器。事实上,大多数人已经不再将这两个任务分开,而是简单地将所有过程称为训练模型。

然而,如果你深入研究每一个模型架构,它总是由第一部分构成,第一部分是输出嵌入输出的特征提取器- (基本上是输入的 x 编码特征),第二部分由最后一层是模型——分类器,它使用嵌入层编码来预测输入的类别。

第一部分的目标是将输入的维度减少到最终任务中最无能为力的特征。分类器的目标是使用这些特征来输出最终的分数/类别等。

这就是为什么通常只微调这一层的原因,因为我们不想损坏训练好的特征提取器,只需更新分类器以适应稍微不同的分布。

我很确定在您提到的情况下,他们不使用分类层进行生成,因此更新它不应该对模型的生成能力产生任何影响。

关于您的最后一个问题,是的,您可以使用模型提取特征,您可以在它们上使用任何类型的分类器。