Dilated convolution
dilated convolution即空洞卷积,它的出现有效的解决了feature map感受野单一的情况。利用空洞增加感受野,并不增加额外的params和flops,使得同样size的kernel拥有不同的感受野。但同时由于空洞的存在会对原有信息造成遗漏,无法全覆盖的生成令人满意的feature。
1.空洞卷积感受野的计算
感受野尺寸=2(rate-1)*(k-1)+k #k是kernel size
举个例子,3×3的kernel,rate=1是普通卷积–>感受野=3;rate=2,感受野=7;rate=4,感受野=15。
2.带有空洞卷积的feature size的计算
Output=(W-F+2P)/S+1 #w是上层feature的size,F是kernel size,S是stride
这里普通卷积跟空洞卷积的feature size计算公式都是一样,计算时只需要把空洞卷积的F替换成其感受野(即换成普通卷积的kernel size)。
在pytorch中,缺少padding=‘SAME’,需要自己手动计算padding,这是用上面的公式反推就可以计算出padding了
本文深入探讨了空洞卷积(dilated convolution)的概念及其在深度学习中的应用。空洞卷积通过增加感受野,有效解决特征图单一问题,且不增加额外参数,使相同大小的核具有不同感受野。文章详细解释了感受野和特征尺寸的计算方法,并提供了PyTorch中的实现技巧。
4192





