卷积神经网络

时间:2016-08-24 18:45:10

标签: machine-learning computer-vision neural-network conv-neural-network

这对卷积神经网络的直观理解是否正确: 1.卷积基本上匹配图像的局部部分与卷积内核/滤波器的相似程度 内核/过滤器就像一个特征检测器。重要的是,学习并通过SGD自动更改和优化

2 个答案:

答案 0 :(得分:3)

对于veeeeeeeeeery粗略理解“如何相似”这是真实的。如果您将点积的计算视为测量相似度,那么答案是肯定的。为什么我个人怀疑?因为它在很大程度上取决于矢量(或矩阵)的范数。让我们考虑图像

1 1 1
2 2 2
1 1 1

和内核

1 1 1
2 2 2
1 1 1

我们将他们卷入并获得

1 + 1 + 1 + 2*2 + 2*2 + 2*2 + 1 + 1 + 1 = 18

现在让我们拍摄照片

2 2 2
2 2 2
2 2 2

我们得到了

2 + 2 + 2 + 2*2 + 2*2 + 2*2 + 2 + 2 + 2 = 24

我会说第一张图像比另一张图像更强类似,但卷积说了别的东西。因此,这不是那么简单,卷积只是图像的基本线性过滤,卷积信号,将点积应用于子样本,但称其为“相似性搜索”有点过分。然而,它是一个特征探测器,非常具体。

你在描述中遗漏的卷积的关键是这些探测器的共享性,事实上,你学习一堆本地图像滤镜它们适用于图像的每个“点”,从而实现了一种位置不变性,并大大减少了模型的参数化。

答案 1 :(得分:0)

您提供的解释大致正确,但可以从一些详细说明中获益。

考虑卷积神经网络的一种方法是以分层方式堆叠的与位置无关的模式识别器。卷积操作通过在输入空间中的每个位置应用内核来实现位置独立性。

每个卷积层将识别特定的特征(从训练中学习)。输出可以被认为是存在哪些特征以及在哪个位置的映射。

堆叠卷积层允许后续层识别更复杂的特征(您可以将架构中的每个卷积层视为识别特征,这些特征本身是在先前层中学习的特征的组合)。

为了有效地培训这些网络,我们通常希望"漏斗"随着我们接近输出分类器(在网络中从左向右移动),向下数据维度。这通常是通过子采样(通过汇集操作(通常是最大值,有时是平均值)或通过卷积跨度来牺牲空间信息的一些粒度的问题,其涉及在抽取的子集中评估卷积输出。可能的输出位置)。

在演唱会中,卷积和合并操作学习输入空间的非线性投影。在数学术语中,"深"网络的卷积部分已经学习了从非常高维度的输入空间(例如在图像的情况下是RGB像素)到基本上传达入射和位置(通常只有一小部分)的低维输出的非线性映射。原始空间或时间分辨率)一组学习特征。

一旦我们有这样一个低维度的表示,这通常是扁平的,并被送入传统的"完全连接的网络,能够有效地操作由卷积层产生的(相对)低维抽象特征集上的分类或预测任务。

历史上,许多分类方法依赖于复杂的特征工程"对卷积层学习的内容进行类似的操作,以便可以有效地训练分类器(可以是神经网络,随机森林,SVM或任何其他算法)。 ConvNets的强大之处在于它能够消除对特征工程的需求,并将特征学习的任务与分类器的训练完全集成。