我想知道为什么滑动窗口的卷积实现等同于顺序的逐步滑动窗口?为什么他们是一样的?
我跟着安德鲁吴做这个:我理解的是图片的第一行应该是一个卷积网络,它被训练在4个等级上。
第二行应该是3通道16x16图像,它由经过训练的卷积网络从第一行(即16 5x5 filters -> 2x2 Max Pool -> 400 5x5 filters -> 400 1x1 filter -> 4 1x1 filter)转换而来,我所理解的棘手部分是,输出相当于滑动14x14窗口到只有4个位置的16x16图像上,它们是2x2x4输出,2x2网格中的每个单元格对应于16x16图像上14x14窗口的位置。
最后一行是另一个示例,但具有较大的28x28图像,窗口大小与14x14相同。

发布于 2019-07-29 06:34:20
考虑第二排.16x16x3的例子,如果你做滑动窗口的做法,你首先把14x14x3区域标记为红色,并把它作为输入到您的训练CNN。然后,5x5x3过滤器将输入的第一个5x5x3转到一起。从左上角开始,然后按照步幅在下一个5x5x3段的输入上旋转,以此类推,就像卷积一样。
现在,考虑一下标记为绿色的14x14x3部分(这将是滑动窗口方法中的第二个窗口),它就像第一个红色区域,进入您训练过的CNN,因此由相同的过滤器转移到红色窗口,到目前为止还不错。
这一绿色投入的第一部分将是什么?这将与第二个5x5x3部分在第一个14x14x3绿色区域上的转换相同,因此发生的情况是,相同的5x5x3区域已经经历了相同的操作,即。同样的卷积--在这种情况下--两次,这意味着,在相同的5x5x3输入上,一次在红色输入上,然后在绿色输入上,又做了同样的计算。
重复做同样的计算有什么用,这就是为什么我们使用卷积滑动窗口方法,它只做一次计算,而且由于你一次又一次地不做同样的事情,你将节省时间,因此卷积滑动窗口法运行得更快,显然与正常的滑动窗口方法一样。
注: CNN的现代实现非常深入,涉及到大量的过滤器,因此您正在做大量的冗余工作,这减慢了您的实现速度。
希望能帮上忙。
https://datascience.stackexchange.com/questions/55212
复制相似问题