卷积层 / 全连接层 的空间和计算复杂度

空间 / 计算复杂度
  • 参数个数

    全连接层 >> 卷积层

    每个输入元素,都由独立的权重,因此,权重参数的个数很多。

    卷积层,复用卷积核的参数,因此,参数个数少很多。

    因此,全连接层,对内存的占用大很多。

  • 运算次数

    卷积层 > 全连接层

    卷积层的运算次数,由 6 个乘积因子决定。

    全连接层,仅仅有两个乘积因子。因此,计算次数,通常更少

    因此,卷积层,对计算资源消耗更多。

复杂度
  • 卷积层

    参数个数

    \[O(C_{out} * C_{in} * K_{h} * K_{w} ) \]

    计算复杂度

    \[O(C_{out} * C_{in} * K_{h} * K_{w} * O_{h} * O_{w}) \]

  • 全连接层

    参数个数 / 计算复杂度,均为

    \[O(d_{in} * d_{out}) \]

卷积层的计算
  • 参数个数

    \[n1 = C_{out} * C_{in} * K_{h} * K_{w} + C_{out} \]

  • 计算次数

    计算复杂度:卷积层>> 激活层 / 汇聚层

    卷积层:

    \[(C_{out} * C_{in} * K_{h} * K_{w} + C_{out}) * O_{h} * O_{w} = n1 * O_{h} * O_{w} \]

    激活层:

    \[C_{in} * I_{h} * I_{w} \]

    汇聚层:

    \[C_{in} * K_{h} * K_{w} * O_{h} * O_{w} \]

全连接层的计算
  • 参数个数 / 计算次数

    \[d_{in} * d_{out} + d_{out} \]

参考:

卷积神经网络的复杂度分析

posted @ 2022-06-23 15:50  TonyYPZhang  阅读(1613)  评论(0编辑  收藏  举报