结合来自不同 CNN 模型的概率

Posted

技术标签:

【中文标题】结合来自不同 CNN 模型的概率【英文标题】:Combining probabilities from different CNN models 【发布时间】:2019-11-12 21:40:43 【问题描述】:

假设我有 2 张汽车图像,但一张是从相机生成的,另一张是从激光雷达点云变换生成的深度图像。

我在两张图像上使用相同的 CNN 模型来预测类别(输出是一个 softmax,因为我的数据集中还有其他类别:行人、货车、卡车、骑自行车的人等。

如何结合这两个概率向量以通过同时考虑这两个预测来预测类别?

我使用了平均值、最大值、最小值等方法,朴素产品适用于每个班级的每个分数,但不知道它是否有效。

提前谢谢你

编辑:

关注这篇文章:https://www.researchgate.net/publication/327744903_Multimodal_CNN_Pedestrian_Classification_a_Study_on_Combining_LIDAR_and_Camera_Data

我们可以看到他们使用最大或最小规则来组合分类器的输出。那么它适用于多类问题吗?

【问题讨论】:

了解 CNN 输出不是概率很重要。概率由统计定义,并具有明确定义的数学属性。例如,对于独立事件,您可以乘以概率。至少对于 softmax,输出总和为 100%,但这只是因为 softmax 缩放了各个值。当然,这里的两个 softmax 函数应用了它们自己的、不相关的缩放。由于这是伪统计,您可以添加或乘以每个类的 pre-softmax 值,然后对结果进行 softmax。它仍然看起来像一个概率。 对于“softmax 结果”,我的意思是对最后一个矩阵乘法的结果应用一个 softmax 激活函数。矩阵乘法为您提供 ℝn 中的向量,而不是看起来像概率分布的东西。这就是你在那里应用softmax的原因。但是如果需要合并结果,为什么不推迟softmax呢? 这很简单。在训练 SVM 时,您将两个 CNN 视为给定的(即您只是将它们用于推理)。 SVM 很简单,只有 CNN 输出作为输入和一个输出。您只需将 CNN 视为输入的预处理步骤。 如果 CNN 后面有 SVM,是否使用 softmax 并没有什么区别。 SVM 将学习任何一种方式。至于学习,SVM 使用与两个 CNN 完全相同的类。是的,当您有多个标签时,SVM 可能不是第二阶段分类器的最佳选择。 这并不奇怪。 SVM 正在学习何时信任哪个 CNN,以及信任的程度。 【参考方案1】:

根据 MSalter 的评论,softmax 输出不是真正的概率向量。但如果我们选择这样看待它,我们可以简单地取每个预测的平均值。这相当于让两个人每个人从一个大对象池中随机抽取一个对象样本进行分类,并假设他们都计数相同的数量,通过结合他们的观察来估计大池中对象的分布。类的“概率”之和仍然等于 1。

【讨论】:

那么例如从不同的分数向量中取每个类的最高分数,然后再取预测的最大概率是行不通的? @Doxcos44:取两个softmax向量最大值的问题是“概率”不再等于100%,这违背了softmax的目的。 是的,但是如果你取最大值并再次通过 softmax,它将再次成为概率向量(即总和为 1)。然而,没有明显的理由表明这个(或平均)应该代表实际概率。但如果它有效...... 假设你有三个类,根据分类器 A 的概率为 p_1a、p_2a、p_3a,根据分类器 B 的概率为 p_1b、p_2b、p_3b。如果你取每个的最大值,你可能会结束加上 p_1a、p_2b、p_3b,它们的总和可能不等于 1。所以你取 softmax:p_1 = e^(-p_1a) / [e^(-p_1a) + e^(-p_2b) + e^(-p_3b )],同样适用于 2 和 3。然后 p_1 + p_2 + p_3 = 1。 不,你说得对,我的想法不同。【参考方案2】:

关注这篇文章:https://www.researchgate.net/publication/327744903_Multimodal_CNN_Pedestrian_Classification_a_Study_on_Combining_LIDAR_and_Camera_Data

我们可以看到他们使用最大或最小规则来组合分类器的输出。那么它适用于多类问题吗?

【讨论】:

以上是关于结合来自不同 CNN 模型的概率的主要内容,如果未能解决你的问题,请参考以下文章

Keras 功能 API:将 CNN 模型与 RNN 结合起来查看图像序列

深度学习篇---CNN和RNN结合与对比,实例讲解

r-cnn学习:SmoothL1LossLayer论文与代码的结合理解

经典分类CNN模型系列其三:Inception v1

我们如何结合 ANN+CNN 和结合 CNN+SVM?

结合来自 Amelia 估算数据的多个随机森林模型