CNN 的本地化过滤器

数据挖掘 机器学习 深度学习 卷积
2022-02-25 17:45:02

我正在浏览一些材料并使用了“本地化过滤器”一词,有人可以解释它的含义以及拥有本地化过滤器的优势是什么。

EDIT-1 我的问题是在 7:23 的 NIPS 2017 教程中关于图形和流形的几何深度学习中使用的词的上下文中,据说“在 CNN 模型的许多成功实例中,这些过滤器都定位在空间中。并且从几何的角度可以理解为什么它们必须被本地化的直觉,如果我将过滤器应用于稍微变形的输入,那么许多过滤器响应将是稳定的。” 我无法理解最后一行。为此,我已经阅读了与代数中环和相关事物的本地化相关的内容,但也无法从那里进行关联。

1个回答

尝试概念方法

转化率的图形表示。 筛选

我将尝试回答这个问题,主要集中在概念本身,而不是几乎没有明确相关性的数学。因此,如果我错了,请纠正我,但我相信,当您声明时,"Localized Filter"您指的是通常称为 a"Convolution Layer"甚至"Neuron"偶尔 a 的东西"Kernel"在某种程度上,我希望它适合您的应用程序,我会让一个人将其可视化为一种掩码,其深度必须等于源图像深度的深度,即掩蔽源输入数据,以某个点 (x,y,z),然后一次按顺序移动一个位置,使得过滤器在第二个位置覆盖的区域将与第一个位置重叠除了一列。为了更好地理解这个概念,想象一下机器“看到”输入到 CNN 的数据的方式,本指南所附的以下图片显示了一般概念;尽管本段上方的图片是神经元的实际图形表示,但相同的原则适用于两者:


一些数组 -> N 1 x N 2 x N 3个数字。 CNN,我们如何看,机器如何看


成功移位后,算法将在“conv 层”当前过滤的原始矩阵 ( X 0 ) 中的值及其自己的数值 ( X 1 ) 上执行元素乘法,然后存储在其他数组 ( A ) ,称为 ,相对于过滤器大小,它比原始数据小一些:"Activation Map"


np.multiply( X 0 , X 1 )


其中结果存储在某个矩阵中,由数字、Pt、位置总数组成。在完成整个原始输入数据的序列后,算法然后计算所有元素的总和并存储它们,从而获得传递到下一层 CNN 的能力:


Pt最终=总和(Pt 激活图表示


过滤器本身代表某种模式,例如一个圆圈,如果在其区域内有另一个圆圈,则在完成第二步后将产生大量的结果,因为其中包含任何数据的像素将导致具有某个正数的原始数组的元素。作为示例,请参考下图,并注意两个实例的结果整数的差异:


过滤器的图像 示例图像集 匹配值

在此处输入图像描述

相反,一个区域的值与“conv layer”的值不匹配这种情况将导致一个非常低的数字,相对于已确认的匹配,如果元素碰巧没有零以外的数据,甚至为零。这种方法包括 CNN 中的“秘密层”,它通常在不同变体、 “卷积”“ReLU”以及“池”之间按顺序交替。


全连接CNN


我希望这能更好地解释您在研究中遇到的本地化过滤器中发生了什么!如果我对解释的任何部分模棱两可,请随意支持,我会尝试推断。