1.普通卷积
2.膨胀卷积
空洞卷积的等效卷积核大小尺寸计算公式如下:
K=k+(k−1)∗(r−1)
其中,K代表等效卷积核尺寸,k代表实际卷积核尺寸,而r代表dilation,空洞卷积的参数。
3.keras 膨胀卷积实现,卷积里面的dilation_rate参数来实现
现有的框架都要求dilation_rate>1时,strides不能>1,也就是strides =1时,才能进行膨胀卷积操作。
x = layers.Conv2D(filters, kernel_size, strides=stride,
use_bias=False, name=name + '_2_conv',dilation_rate=dilation)(x)
4.膨胀卷积的优点:
a.膨胀卷积的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。在图像需要全局信息或者自然语言处理中需要较长的sequence信息依赖的问题中,都能很好的应用。
b.在不增加参数的情况下,提升感受野,便于finetune。
5.采用膨胀卷积后的padding操作
膨胀的等效卷积核,r为膨胀系数
K=k+(k−1)∗(r−1) 总的padding量为K-1。然后再进行两边分配。
p = kernel_size+(kernel_size-1)*(dilation-1)-1
p1 = p // 2
p2 = p - p1
x = layers.ZeroPadding2D(padding=((p1, p2), (p1, p2)), name=name + '_2_pad')(x)