高端网站的特点,网络销售管理条例,哪个网站专门做二手电脑手机的,安装wordpress博客网址更改计算卷积神经网络中输出特征图尺寸的关键公式
在设计卷积神经网络#xff08;CNN#xff09;时#xff0c;准确计算每个卷积层的输出特征图尺寸是至关重要的。这不仅关系到网络的结构设计#xff0c;也直接影响参数优化和整体性能。适当的计算可以确保网络层正确连接…计算卷积神经网络中输出特征图尺寸的关键公式
在设计卷积神经网络CNN时准确计算每个卷积层的输出特征图尺寸是至关重要的。这不仅关系到网络的结构设计也直接影响参数优化和整体性能。适当的计算可以确保网络层正确连接避免资源浪费并优化性能。以下内容提供了详细的参数说明和计算过程包括如何从期望的输出特征图尺寸反向推导所需的padding量。
核心公式及参数详解
卷积层的输出特征图尺寸 (H_{out}) 和 (W_{out}) 通常通过以下公式计算
对于输出高度 ( H o u t H_{out} Hout ) [ H o u t ⌊ H i n 2 × p a d d i n g [ 0 ] − d i l a t i o n [ 0 ] × ( k e r n e l _ s i z e [ 0 ] − 1 ) − 1 s t r i d e [ 0 ] 1 ⌋ H_{out} \left\lfloor \frac{H_{in} 2 \times padding[0] - dilation[0] \times (kernel\_size[0] - 1) - 1}{stride[0]} 1 \right\rfloor Hout⌊stride[0]Hin2×padding[0]−dilation[0]×(kernel_size[0]−1)−11⌋ ]
对于输出宽度 ( $W_{out} $) [ $W_{out} \left\lfloor \frac{W_{in} 2 \times padding[1] - dilation[1] \times (kernel_size[1] - 1) - 1}{stride[1]} 1 \right\rfloor $]
参数详解
( H i n H_{in} Hin), ( W i n W_{in} Win)分别代表输入特征图的高度和宽度。( p a d d i n g [ 0 ] padding[0] padding[0]), ( p a d d i n g [ 1 ] padding[1] padding[1])分别在高度和宽度方向上的padding值用于调整输入尺寸以适应特定的输出需求或操作边界条件。( d i l a t i o n [ 0 ] dilation[0] dilation[0]), ( d i l a t i o n [ 1 ] dilation[1] dilation[1])在高度和宽度方向上的扩张率。扩张卷积通过在卷积核元素之间插入“空格”增加其感受野使得卷积核能覆盖更大的区域而不增加额外的参数。( k e r n e l _ s i z e [ 0 ] kernel\_size[0] kernel_size[0]), ( k e r n e l _ s i z e [ 1 ] kernel\_size[1] kernel_size[1])卷积核在高度和宽度方向上的尺寸影响感受野的大小和参数数量。( s t r i d e [ 0 ] stride[0] stride[0]), ( s t r i d e [ 1 ] stride[1] stride[1])步长定义了卷积核在输入特征图上移动时的间距直接影响输出特征图的尺寸。
反向推导Padding
已知输入尺寸、卷积核尺寸、步长、扩张率以及目标输出尺寸时可以通过以下方式计算所需的padding
对于高度方向的padding ( p a d d i n g [ 0 ] padding[0] padding[0] ) [ p a d d i n g [ 0 ] ( ( H o u t − 1 ) × s t r i d e [ 0 ] d i l a t i o n [ 0 ] × ( k e r n e l _ s i z e [ 0 ] − 1 ) 1 − H i n ) / 2 padding[0] \left(\left(H_{out} - 1\right) \times stride[0] dilation[0] \times (kernel\_size[0] - 1) 1 - H_{in}\right) / 2 padding[0]((Hout−1)×stride[0]dilation[0]×(kernel_size[0]−1)1−Hin)/2 ]
对于宽度方向的padding ( p a d d i n g [ 1 ] padding[1] padding[1] ) [ p a d d i n g [ 1 ] ( ( W o u t − 1 ) × s t r i d e [ 1 ] d i l a t i o n [ 1 ] × ( k e r n e l _ s i z e [ 1 ] − 1 ) 1 − W i n ) / 2 padding[1] \left(\left(W_{out} - 1\right) \times stride[1] dilation[1] \times (kernel\_size[1] - 1) 1 - W_{in}\right) / 2 padding[1]((Wout−1)×stride[1]dilation[1]×(kernel_size[1]−1)1−Win)/2 ]
这些公式允许从期望的输出尺寸反向计算出必要的padding值以确保输出尺寸符合设计规范。
示例
考虑一个输入特征图尺寸 ( H i n 32 H_{in} 32 Hin32), ( W i n 32 W_{in} 32 Win32)使用 ( 3 × 3 3 \times 3 3×3) 的卷积核步长 ( 1 × 1 1 \times 1 1×1)无扩张 d i l a t i o n 为 1 dilation为1 dilation为1并需输出特征图尺寸也为 ( 32 × 32 32 \times 32 32×32) 的情况。
根据公式计算所需的padding
[ p a d d i n g [ 0 ] ( ( 32 − 1 ) × 1 1 × ( 3 − 1 ) 1 − 32 ) / 2 1 padding[0] \left(\left(32 - 1\right) \times 1 1 \times (3 - 1) 1 - 32\right) / 2 1 padding[0]((32−1)×11×(3−1)1−32)/21 ]
[ p a d d i n g [ 1 ] ( ( 32 − 1 ) × 1 1 × ( 3 − 1 ) 1 − 32 ) / 2 1 padding[1] \left(\left(32 - 1\right) \times 1 1 \times (3 - 1) 1 - 32\right) / 2 1 padding[1]((32−1)×11×(3−1)1−32)/21 ]
这表明为保持输出特征图的尺寸不变每个方向需要添加 ( 1 × 1 1 \times 1 1×1) 的padding。
结论
通过准确应用和反向推导公式可以精确控制CNN中的层输出尺寸优化网络设计确保达到预定的性能目标。这种方法不仅节省了调试时间还提高了网络设计的效率和可预测性。