CNN特征的晚期融合

我正在研究CNN特征的早期和晚期融合。我从CNN的多个层中提取了特征。对于早期融合,我捕获了三个不同层的特征,然后水平拼接它们 F= [F1' F2' F3']; 对于晚期融合,我阅读了这篇论文。他们提到要进行两次监督学习,但我没有理解其中的方法。

例如,这是从上述论文中提取的图片。第一张图片有三种不同的特征,对于第一次监督学习,假设标签是4类图像集中的1。输出例如是[1 1 3]。假设第三个分类器的结果是错误的。那么我的问题是,多模态特征拼接是否像[1 1 3]一样,并且标签是1,假设是类1图像?

enter image description here


回答:

  • 我可能理解错了,但这是我的理解(我对我的答案不太确定)
  • 假设你有2个类别,并且你有3个不同的模型
  • 所以每个模型将输出一个(2 x 1)的向量
  • 例如

    模型1 : [[0.3], [0.7]]
    模型2 : [[0.2], [0.8]]
    模型3 : [[0.6], [0.4]]

  • 现在你将按以下方式拼接(多模态特征组合)结果:
    [0.3, 0.2, 0.6, 0.7, 0.8, 0.4]

  • 上述特征向量将作为输入传递给你的最终监督学习器,正如图中提到的,概念得分作为监督学习器的输入

  • 论文中他们对此的描述如下:
    我们将视觉向量vi与文本向量ti拼接。
    特征归一化后,我们得到早期融合向量ei。
    然后ei作为SVM的输入。

  • 现在,让我们讨论这个模型的实现

  • 我会首先单独训练模型1,单独训练模型2,单独训练模型3
  • 现在我将冻结模型1、模型2、模型3的权重,提取得分并将它们组合成上述讨论的特征向量,然后将其传递给最终的监督学习器并进行训练
  • 将三个单模态监督学习器视为特征提取器,并像早期融合那样拼接它们的结果,然后传递给SVM
  • 我会选择类别得分作为特征向量,而不是你假设的实际预测
  • 为什么选择类别得分而不是实际预测?因为类别得分代表了单模态对其类别预测的信心

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注