尝试概念方法
我将尝试回答这个问题,主要集中在概念本身,而不是几乎没有明确相关性的数学。因此,如果我错了,请纠正我,但我相信,当您声明时,"Localized Filter"
您指的是通常称为 a"Convolution Layer"
甚至"Neuron"
偶尔 a 的东西"Kernel"
。在某种程度上,我希望它适合您的应用程序,我会让一个人将其可视化为一种掩码,其深度必须等于源图像深度的深度,即掩蔽源输入数据,以某个点 (x,y,z),然后一次按顺序移动一个位置,使得过滤器在第二个位置覆盖的区域将与第一个位置重叠除了一列。为了更好地理解这个概念,想象一下机器“看到”输入到 CNN 的数据的方式,本指南所附的以下图片显示了一般概念;尽管本段上方的图片是神经元的实际图形表示,但相同的原则适用于两者:
一些数组 -> N 1 x N 2 x N 3个数字。
成功移位后,算法将在“conv 层”当前过滤的原始矩阵 ( X 0 ) 中的值及其自己的数值 ( X 1 ) 上执行元素乘法,然后存储在其他数组 ( A ) ,称为 ,相对于过滤器大小,它比原始数据小一些:"Activation Map"
np.multiply( X 0 , X 1 )
其中结果存储在某个矩阵中,由数字、Pt、位置总数组成。在完成整个原始输入数据的序列后,算法然后计算所有元素的总和并存储它们,从而获得传递到下一层 CNN 的能力:
Pt最终=总和(Pt)
过滤器本身代表某种模式,例如一个圆圈,如果在其区域内有另一个圆圈,则在完成第二步后将产生大量的结果,因为其中包含任何数据的像素将导致具有某个正数的原始数组的元素。作为示例,请参考下图,并注意两个实例的结果整数的差异:
相反,一个区域的值与“conv layer”的值不匹配。这种情况将导致一个非常低的数字,相对于已确认的匹配,如果元素碰巧没有零以外的数据,甚至为零。这种方法包括 CNN 中的“秘密层”,它通常在不同变体、 “卷积”、“ReLU”以及“池”层之间按顺序交替。
我希望这能更好地解释您在研究中遇到的本地化过滤器中发生了什么!如果我对解释的任何部分模棱两可,请随意支持,我会尝试推断。