天天看点

【深度学习】空洞卷积(Atrous Convolution)

优点:在不做pooling损失信息和相同的计算条件下的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。空洞卷积经常用在实时图像分割中。当网络层需要较大的感受野,但计算资源有限而无法提高卷积核数量或大小时,可以考虑空洞卷积。

空洞卷积(dilated convolution)是针对图像语义分割问题中下采样会降低图像分辨率、丢失信息而提出的一种卷积思路。利用添加空洞扩大感受野,让原本3x3的卷积核,在相同参数量和计算量下拥有5x5(dilated rate =2)或者更大的感受野,从而无需下采样。扩张卷积(dilated convolutions)又名空洞卷积(atrous convolutions),向卷积层引入了一个称为 “扩张率(dilation rate)”的新参数,该参数定义了卷积核处理数据时各值的间距。换句话说,相比原来的标准卷积,扩张卷积(dilated convolution) 多了一个hyper-parameter(超参数)称之为dilation rate(扩张率),指的是kernel各点之前的间隔数量,【正常的convolution 的 dilatation rate为 1】。

图说空洞卷积的概念

【深度学习】空洞卷积(Atrous Convolution)
【深度学习】空洞卷积(Atrous Convolution)

空洞卷积的动态过程

在二维图像上直观地感受一下扩张卷积的过程:

【深度学习】空洞卷积(Atrous Convolution)

上图是一个扩张率为2的3×3卷积核,感受野与5×5的卷积核相同,而且仅需要9个参数。你可以把它想象成一个5×5的卷积核,每隔一行或一列删除一行或一列。

在相同的计算条件下,空洞卷积提供了更大的感受野。空洞卷积经常用在实时图像分割中。当网络层需要较大的感受野,但计算资源有限而无法提高卷积核数量或大小时,可以考虑空洞卷积。

Dilated Convolution感受野指数级增长

对于标准卷积核情况,比如用3×3卷积核连续卷积2次,在第3层中得到1个Feature点,那么第3层这个Feature点换算回第1层覆盖了多少个Feature点呢?

第3层:

【深度学习】空洞卷积(Atrous Convolution)

第2层:

【深度学习】空洞卷积(Atrous Convolution)

第1层:

【深度学习】空洞卷积(Atrous Convolution)

第一层的一个5×5大小的区域经过2次3×3的标准卷积之后,变成了一个点。也就是说从size上来讲,2层3*3卷积转换相当于1层5*5卷积。题外话,从以上图的演化也可以看出,一个5×5的卷积核是可以由2次连续的3×3的卷积代替。

但对于dilated=2,3*3的扩张卷积核呢?

第3层的一个点:

【深度学习】空洞卷积(Atrous Convolution)

第2层:

【深度学习】空洞卷积(Atrous Convolution)

第一层:

【深度学习】空洞卷积(Atrous Convolution)

可以看到第一层13×13的区域,经过2次3×3的扩张卷积之后,变成了一个点。即从size上来讲,连续2层的3×3空洞卷积转换相当于1层13×13卷积。

————————————————

版权声明:本文为CSDN博主「行者无疆兮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_30159015/article/details/89148608

继续阅读