深度学习——卷积运算计算公式:输入输出关系、输出维度、参数量
在进行深度学习训练时,优化器会对模型的参数进行优化,以寻找到一组最优解。一个简单的卷积神经网络,可以分为卷积池化层和全连接层,全连接层中的参数可以用神经元连接的权重W来表示,而卷积层的参数往往是用卷积核参数来表示。2D卷积对于输入层为 Win×Hin×DinW_{i n} \times H_{i n} \times D_{i n}Win×Hin×Din的特征图,输出为Wout ×H
![](https://csdnimg.cn/release/devpress/public/img/ic-book.4f347164.png)
在进行深度学习训练时,优化器会对模型的参数进行优化,以寻找到一组最优解。一个简单的卷积神经网络,可以分为卷积池化层和全连接层,全连接层中的参数可以用神经元连接的权重W来表示,而卷积层的参数往往是用卷积核参数来表示。
2D卷积
对于输入层为 W i n × H i n × D i n W_{i n} \times H_{i n} \times D_{i n} Win×Hin×Din的特征图,输出为 W out × H out × D out W_{\text {out }} \times H_{\text {out }} \times D_{\text {out }} Wout ×Hout ×Dout 的卷积过程,其参数具体为以下几个:
超参数
- 卷积核个数: k k k
- 卷积核维度: w × h w \times h w×h
- 步长: s s s
- padding: p p p
其他参数
- 输入通道数: D i n D_{i n} Din
- 输出通道数:
D
o
u
t
D_{out}
Dout
输入层和输出层之间的参数关系为:
W out = ( W in + 2 p − w ) / s + 1 H out = ( H in + 2 p − h ) / s + 1 D out = k \begin{array}{l} W_{\text {out }}=\left(W_{\text {in }}+2 p-w\right) / s+1 \\ H_{\text {out }}=\left(H_{\text {in }}+2 p-h\right) / s+1 \\ D_{\text {out }}=k \end{array} Wout =(Win +2p−w)/s+1Hout =(Hin +2p−h)/s+1Dout =k
参数量其实就是所有卷积核包含的参数的总和加上卷积核的个数,因此总参数量如下所示:
( w ∗ h ∗ D i n + 1 ) ∗ k \left(w * h * D_{i n}+1\right) * k (w∗h∗Din+1)∗k
3D卷积
3D卷积其实就是在2D卷积的基础上增加了一个卷积的维度,以卷积核为例,除去通道数,2D卷积一般是 t × t t \times t t×t二维的,而3D卷积则是 d × t × t d \times t \times t d×t×t三维的,增加的长度 d d d则用来在特征图增加的维度上进行卷积,因此其总体的参数也将发生变化。
对于输入层为 W i n × H i n × D i n × C i n W_{i n} \times H_{i n} \times D_{i n}\times C_{in} Win×Hin×Din×Cin的特征图(此时 C i n C_{in} Cin为通道数),输出为 W out × H out × D out × C i n W_{\text {out }} \times H_{\text {out }} \times D_{\text {out } \times C_{in}} Wout ×Hout ×Dout ×Cin的卷积过程,其参数具体为以下几个:
超参数
- 卷积核个数: k k k
- 卷积核维度: w × h × d w \times h \times d w×h×d
- 步长: s s s
- padding: p p p
其他参数
- 输入通道数: C i n C_{i n} Cin
- 输出通道数:
C
o
u
t
C_{out}
Cout
输入层和输出层之间的参数关系为:
W out = ( W in + 2 p − w ) / s + 1 , H out = ( H in + 2 p − h ) / s + 1 , D out = ( D in + 2 p − d ) / s + 1 , C out = k \begin{array}{l} W_{\text {out }}=\left(W_{\text {in }}+2 p-w\right) / s+1, \\ H_{\text {out }}=\left(H_{\text {in }}+2 p-h\right) / s+1, \\ D_{\text {out }}=\left(D_{\text {in }}+2 p-d\right) / s+1, \\ C_{\text {out }}=k \end{array} Wout =(Win +2p−w)/s+1,Hout =(Hin +2p−h)/s+1,Dout =(Din +2p−d)/s+1,Cout =k
参数量为: ( w × h × d × C i n + 1 ) ∗ k (w \times h \times d \times C_{in}+1) * k (w×h×d×Cin+1)∗k
ps:工作在不同通道上的卷积核的参数可以是不同的,因此2D卷积和3D卷积计算参数量时分别乘了 D i n D_{in} Din和 C i n C_{in} Cin。
Reference:
https://www.zhihu.com/question/402674728
更多推荐
所有评论(0)