为什么要用空洞卷积?
demi 在 周三, 02/12/2020 - 15:27 提交
我们知道正常的卷积已经能够提取特征了,那么空洞卷积又是做什么的呢?空洞卷积(atrous convolutions),又称扩张卷积(dilated convolutions),向卷积层引入了一个成为“扩张率(dilated rate)”的新参数,该参数定义了卷积核处理数据时各值的间距。
我们知道正常的卷积已经能够提取特征了,那么空洞卷积又是做什么的呢?空洞卷积(atrous convolutions),又称扩张卷积(dilated convolutions),向卷积层引入了一个成为“扩张率(dilated rate)”的新参数,该参数定义了卷积核处理数据时各值的间距。
深度可分离卷积
在《Python深度学习》(Keras之父执笔)这本书里看到:注意,大部分(或全部)普通卷积很可能不久后会被深度可分离卷积(depthwise separable convolution)所替代, 后者与前者等效,但速度更快,表示效率更高。
1. 简介
在可分离卷积中,它将对区域和通道的计算分离开,而普通卷积是同时考虑区域和通道的。
2. 通过例子对比可分离卷积和普通卷积的区别
假设一个3×3大小的filter,其输入通道为16,输出通道为32
普通卷积的参数: (3×3×16)×32=4068
可分离卷积:
先考虑区域,即每个通道对应一个3×3×1大小的filter, 然后考虑通道对应32个1×1×16大小的filter
参数计算: (3×3×1)×16 + (1×1×16)×32=656
下面这张图来自参考链接1
一、空洞卷积的提出
空洞卷积(atrous convolutions)又名扩张卷积(dilated convolutions),向卷积层引入了一个称为 “扩张率(dilation rate)”的新参数,该参数定义了卷积核处理数据时各值的间距。
该结构的目的是在不用pooling(pooling层会导致信息损失)且计算量相当的情况下,提供更大的感受野。 顺便一提,卷积结构的主要问题如下:
池化层不可学
内部数据结构丢失;空间层级化信息丢失。
小物体信息无法重建 (假设有四个pooling layer 则 任何小于 2^4 = 16 pixel 的物体信息将理论上无法重建。)
而空洞卷积就有内部数据结构的保留和避免使用 down-sampling 这样的特性,优点明显。
二、空洞卷积原理
如下如,卷积核没有红点标记位置为0,红点标记位置同正常卷积核。