神经网络如何处理相关图像数据

时间:2016-05-31 13:00:07

标签: neural-network tensorflow deep-learning

我是TensorFlow和深度学习的新手。我正在尝试为图像处理创建一个完全连接的神经网络。我有点困惑。

我们有一张图片,比如28x28像素。这将有784个NN输入。对于非相关输入,这很好,但图像像素通常是相关的。例如,考虑一张牛眼的照片。当我们将所有像素排列在阵列中以用于完全连接的网络时,神经网络如何理解这一点。它如何确定相关性?

2 个答案:

答案 0 :(得分:0)

请研究CNN(卷积神经网络)的一些教程; here是您的起点。 NN的完全连接层放弃所有它可能与输入相关的信息。在结构上,它实现了输入在统计上独立的原则。

或者,卷积层取决于输入的物理组织(例如像素邻接),使用它来查找特征从一层到另一层的简单组合(卷积)。

底线:您的NN找不到相关性:拓扑结构错误,无法完成您想要的工作。

另外,请注意,由具有线性权重组合的完全连接的神经元组成的分层网络 not 深度学习。深度学习至少有一个隐藏层,这种拓扑结构可以促进对中间结构的“理解”。纯粹的线性,完全连接的分层不提供这样的隐藏层。即使您编写隐藏的图层,输出仍然是输入的简单线性组合。

深度学习需要一些其他歧视,例如卷积,汇集,整改或其他非线性组合。

答案 1 :(得分:0)

让我们深入了解NN学习预测背后的直觉。

预测一类给定的图像,我们必须找到它之间的相关或直接链接,它是类的输入值。我们可以考虑找一个像素可以告诉我们这个图像属于这个类。这是不可能的,所以我们要做的是建立更复杂的功能或让我们称之为复杂的功能。这将帮助我们找到生成所需类的相关数据。

为了简化想象你想在两种情况下建立AND函数(p和q),OR函数(p或q),输入和输出之间存在直接链接。 in和function如果输入中有0,则输出始终为零。那么如果我们想要xor函数(p xor q),输入和输出之间没有直接的联系。答案是构建第一层分类AND和OR然后通过第二层获取第一层的结果我们可以构建函数并对XOR函数进行分类 (p x或q)=(p或q)而不是(p和q)

通过在多层NN上应用此方法,您将获得相同的结果。但是你必须处理大量的参数。避免这种情况的一个解决方案是在图像之间提取代表性,方差和不相关的特征,并从图像中将其与类相关联并馈送到网络。您可以在网上查找图像特征提取。

这是如何查看图像与其类之间的链接以及NN如何对其进行分类的一个小解释。您需要了解NN概念,然后您可以阅读有关深度学习的内容。