我有一个关于卷积神经网络(CNN
)训练的问题。
我成功地使用tensorflow训练了一个网络,它获取一个输入图像(1600像素),然后输出三个匹配的类中的一个。
使用不同的培训课程测试网络,效果良好。然而当我给它一个不同的第四个图像(不包含任何经过训练的3个图像)时,它总是返回一个随机匹配到其中一个类。
我的问题是,如何训练网络来分类图像不属于这三个训练图像中的任何一个?类似的例子是,如果我针对mnist数据库训练一个网络,然后A给它一个字符“A”或“B”。是否有办法区分输入不属于这两个类中的任何一个?
非常感谢。
您可能有三个输出节点,并选择最大值(一个热编码)。这有点不幸,因为它的输出数量很低。不可识别的输入往往会导致非常随机的输出。
现在,有了3个输出,粗略地说,你可以得到7个结果。您可能会得到一个高值(3种可能性),但未识别的输入也可能导致2个高输出(3种可能性)或近似相等的输出(3种可能性)。因此,有相当大的机会(约3/7)随机输入会在输出节点上生成一个模式,而您只能期望一个可识别的输入。
现在,如果您有15个类,因此有15个输出节点,那么您将看到大约32767个未识别输入的可能结果,其中只有15个对应于预期的一个热门结果。
根本原因是缺乏培训数据。如果你的训练集中有这三门课以外的例子,你可以把它放在第四个“其他”类别中,然后用它来训练。这本身并不是一个可靠的指示,因为通常理论上的“其他”集是巨大的,但现在有两种互补的方法来检测其他输入:通过“其他”输出节点或11个不明确的输出之一。
卷积神经网络(CNN)预测训练后定义的类的结果。无论准确性如何,CNN总是从其中一个课程返回。我也遇到过类似的问题,您可以做的是检查精度值。如果精度低于某个阈值,则不属于任何类别。希望这有帮助。
您的模型将始终像您的标签一样进行预测,因此例如,如果您使用MNIST数据训练您的模型,当您进行预测时,预测将始终是0-9,就像MNIST标签一样。
您可以首先使用两个类来训练不同的模型,在这两个类中,您将预测图像是否属于数据集a或B.E.x。对于MNIST数据,您将所有数据标记为1,并添加来自其他不同来源(不是0-9)的数据,然后将其标记为0。然后训练一个模型,找出图像是否属于MNIST。
这是我的问题。我训练了一个卷积神经网络,用tensorflow将图像分为两类。我现在想知道如何使用神经网络的权重,并在未标记的随机图像上进行测试。tensorflow中是否有这样的函数,或者我现在应该自己运行卷积吗?
是否有方法按层(而不是端到端)训练卷积神经网络,以了解每一层对最终架构性能的贡献?
注意: 本教程适用于对Tensorflow有丰富经验的用户,并假定用户有机器学习相关领域的专业知识和经验。 概述 对CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题,其任务是对一组大小为32x32的RGB图像进行分类,这些图像涵盖了10个类别: 飞机, 汽车, 鸟, 猫, 鹿, 狗, 青蛙, 马, 船以及卡车。 想了解更多信息请参考CIFAR-10 page,以及Alex Kriz
卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络
在了解了机器学习概念之后,现在可以将注意力转移到深度学习概念上。深度学习是机器学习的一个分支。深度学习实现的示例包括图像识别和语音识别等应用。 以下是两种重要的深度神经网络 - 卷积神经网络 递归神经网络 在本章中,我们将重点介绍CNN - 卷积神经网络。 卷积神经网络 卷积神经网络旨在通过多层阵列处理数据。这种类型的神经网络用于图像识别或面部识别等应用。CNN与其他普通神经网络之间的主要区别在于
主要内容:卷积神经网络深度学习是机器学习的一个分支,它是近几十年来研究人员突破的关键步骤。深度学习实现的示例包括图像识别和语音识别等应用。 下面给出了两种重要的深度神经网络 - 卷积神经网络 递归神经网络。 在本章中,我们将关注第一种类型,即卷积神经网络(CNN)。 卷积神经网络 卷积神经网络旨在通过多层阵列处理数据。这种类型的神经网络用于图像识别或面部识别等应用。 CNN与任何其他普通神经网络之间的主要区别在于CNN