我是靠谱客的博主 饱满月饼,最近开发中收集的这篇文章主要介绍二维卷积层参数对形状的影响卷积核填充步长转置卷积,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

卷积核

假设原输入形状为 ( n h × n w ) (n_h times n_w) (nh×nw),卷积核 kernel 大小为 ( k h × k w ) (k_h times k_w) (kh×kw),则输出形状为 ( n h − k h + 1 ) × ( n w − k w + 1 ) (n_h - k_h + 1) times (n_w - k_w + 1) (nhkh+1)×(nwkw+1)

填充

填充 padding 是指在输入高和宽两侧填充元素(通常是 0 元素),如果在高的两侧一共填充 ph 行,在宽的两侧一共填充 pw 列,则输出形状为 ( n h − k h + p h + 1 ) × ( n w − k w + p w + 1 ) (n_h - k_h + p_h + 1) times (n_w - k_w + p_w + 1) (nhkh+ph+1)×(nwkw+pw+1)一般情况下会设置 p h = k h − 1 p_h = k_h - 1 ph=kh1 p w = k w − 1 p_w = k_w - 1 pw=kw1来输入和输出具有相同的高和宽。

假设这里 k h k_h kh 是奇数,我们会在高的两侧分别填充 p h 2 frac{p_h}{2} 2ph 行;如果 k h k_h kh 是偶数,在输入的顶端填充 ⌈ p h 2 ⌉ lceilfrac{p_h}{2}rceil 2ph 行,在底端填充 ⌊ p h 2 ⌋ lfloorfrac{p_h}{2}rfloor 2ph。在宽的两侧同理。

步长

卷积核在输入中每次滑动的长度就是步长 stride

当高上步长为 s h s_h sh,宽上步长为 s w s_w sw 时,输出形状为 ⌊ ( n h − k h + p h + s h ) / s h ⌋ × ⌊ ( n w − k w + p w + s w ) / s w ⌋ lfloor (n_h - k_h + p_h + s_h) / s_hrfloor times lfloor(n_w - k_w + p_w + s_w) / s_w rfloor (nhkh+ph+sh)/sh×(nwkw+pw+sw)/sw 如果设置 p h = k h − 1 p_h = k_h - 1 ph=kh1 p w = k w − 1 p_w = k_w - 1 pw=kw1,那么输出形状将简化为 ⌊ ( n h + s h − 1 ) / s h ⌋ × ⌊ ( n w + s w − 1 ) / s w ⌋ lfloor (n_h + s_h - 1) / s_hrfloor times lfloor(n_w + s_w - 1) / s_w rfloor (nh+sh1)/sh×(nw+sw1)/sw更进一步,如果输入的高和宽都能被各自的步长整除,那么输出形状为 ( n h / s h ) × ( n w / s w ) (n_h / s_h) times (n_w / s_w) (nh/sh)×(nw/sw)

转置卷积

如果步幅为 s ,填充为 s / 2 (假设 s / 2 是整数)且卷积核的高和宽为 2s ,转置卷积核会将输入的高和宽分别放大 s 倍。

最后

以上就是饱满月饼为你收集整理的二维卷积层参数对形状的影响卷积核填充步长转置卷积的全部内容,希望文章能够帮你解决二维卷积层参数对形状的影响卷积核填充步长转置卷积所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部