首页 > 解决方案 > CNN:滤波器大小和步幅之间的相关性

问题描述

Unet 是一种非常流行的网络架构,用于各种计算机视觉任务。通常,Unet 编码器具有下采样层,其下采样为 2,这意味着所使用的卷积层的步幅为 2 且滤波器大小 > 3。对于我正在尝试的问题,我想执行 8 次下采样(每次 2 次)。我认为我可以有 4 个层,每个层下采样 4 层,而不是在编码器中有 8 个层。为此,我认为像 3 或 5 这样的过滤器大小没有多大意义——在滑动期间,过滤器最终不会覆盖某些像素。我想获得一些关于在更改步幅时需要如何更改过滤器大小的指示,反之亦然。此外,如果我增加过滤器大小,减少过滤器的数量是否也有意义?

给本Q读者的指针:我在互联网上搜索了使用stride 4的先前作品,并找到了AlexNet。它的第一个 conv 层有过滤器11x11x96stride 4. 所以,我被鼓励增加我的过滤器尺寸。:)

标签: pythondeep-learningconv-neural-networkconvolution

解决方案


我不确定这是否适合您的问题。但是如果你想下采样 8 次并避免 strides 的问题,你可以在 Conv2D 层中将 padding 设置为“same”。它将在输入的左/右或上/下均匀地应用步幅和填充零,以使输出具有与输入相同的高度/宽度尺寸。


推荐阅读