CNN:add padding pixels 解释
一句话总结
padding是增加各个边的pixels的数量,目的是保持feature map 不要太小,但也没必要超过原图的大小,所以不可以任意数量;
padding的上限是维持feature map 大小与原图大小一致,具体增加pixel的数量多少,由filter的尺寸和stride大小共同决定;
有一个具体的算法,实现padding, filter size, feature map size之间的相互推导计算。
padding 存在的意义在于
为了不丢弃原图信息
为了保持feature map 的大小与原图一致
为了让更深层的layer的input依旧保持有足够大的信息量
为了实现上述目的,且不做多余的事情,padding出来的pixel的值都是0,不存在噪音问题。
探索一句话版的机器学习与深度学习_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili p13
关于上述padding相关算法的细节,见以下笔记和视频
深度碎片:吴恩达深度学习课程(全):第一遍学习完结zhuanlan.zhihu.com
为什么需要做Padding?
为什么conv-layer 之后需要加pooling_layer?
如果只有conv-layer会怎样?
使用pooling layer能解决什么问题?
为什么max_pooling 要优于strided convolution 和average_pooling?
最有downsampling的组合是什么?
如何计算feature map的长宽或filter的长宽?
怎样的情况下,设定padding=1或2或其他?
为什么filter长宽要用奇数值?
完整的计算feature map 长与宽的公式 =
n 原图片(input)长与宽,p为padding,f是filter的长与宽, s是stride值