Backto DeepLearning Index
dilation
dilation 是对 kernel 进行膨胀,多出来的空隙用 0 padding。用于克服 stride 中造成的 失真问题。

对应关系是 k d = ( k − 1 ) × d + 1 k_{d} = (k -1)\times d + 1 kd=(k−1)×d+1, 对原始kernel 进行 d 倍 dilation 之后得到新的 k d k_d kd, k k k 一般是奇数, d d d 一般是偶数,从而保证了 k d k_d kd 也是奇数。注意,使用dilation的时候,先把 k k k dilation 成 k d k_d kd, 去卷积运算,生成下一层的 feature map。但是参数存储的还是原始的 k k k 的大小.
引入 dilation 的目的是 既想利用已经训练好的模型进行fine-tuning,又想改变网络结构得到更加dense的score map.. 如下图 p0-s0-d2

这样最大的好处就是卷积核的参数没变(还是9个),但是感受野从 3x3 变成了 5x5. 虽然一个格子,计算的是5x5 感受野里的 9 9 9 个格子,但是卷积核整体看到了 7x7 的field,而不是 dilation 之前 5x5 的 field。
Ref
- 对卷积层dilation膨胀的作用的理解,caffe-ssd dilation Hole算法解析: 很全面了
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208952.html原文链接:https://javaforall.net
