Convolution arithmetic 卷积算法
文章、动图源地址:https://github.com/vdumoulin/conv_arithmetic
深度学习中使用的卷积算法的知识总结。
本教程的代码和/或图像可以免费用于非商业用途
- [1] Vincent Dumoulin, Francesco Visin - A guide to convolution arithmetic
for deep learning
(BibTeX)
Convolution animations 卷积Gif
N.B.: 蓝色的图是输入,绿色的图是输出。
![]() | ![]() | ![]() | ![]() |
不补零(No padding) | 任意补零(Arbitrary padding) | 半补零(Half padding)) | 全补零(Full padding) |
无步长(no strides) | 无步长(no strides) | 无步长(no strides) | 无步长(no strides) |
![]() | ![]() | ![]() | |
不补零(No padding) | 有补零(Padding)Padding | 有补零(Padding)Padding | |
有步长(strides) | 有步长(strides) | 有步长(奇步)(strides(odd)) |
Transposed convolution animations 转置卷积Gif,也叫做Deconvolution
N.B.: 蓝色的图是输入,绿色的图是输出,与上面卷积一一对应。
![]() | ![]() | ![]() | ![]() |
No padding, no strides, transposed | Arbitrary padding, no strides, transposed | Half padding, no strides, transposed | Full padding, no strides, transposed |
![]() | ![]() | ![]() | |
No padding, strides, transposed | Padding, strides, transposed | Padding, strides, transposed (odd) |
Dilated convolution animations 扩张卷积Gif
扩张卷积与普通的卷积相比,除了卷积核的大小以外,还有一个扩张率(dilation rate)参数,主要用来表示扩张的大小。扩张卷积与普通卷积的相同点在于,卷积核的大小是一样的,在神经网络中即参数数量不变,区别在于扩张卷积具有更大的感受野。感受野是卷积核在图像上看到的大小,例如3×33×3卷积核的感受野大小为9(如下Gif所示)。参考
N.B.: 蓝色的图是输入,绿色的图是输出。
![]() |
No padding, no stride, dilation |