CNN知识点

CNN输入层的通道数 = CNN卷积核的通道数

卷积后输出层的通道数(深度)= 卷积核个数

eg:输入矩阵shape为Height*Width*Channels,则卷积核(滤波器)的通道数也为Channels【和输入一致】。卷积核大小为Kernel_size*Kenel_size*Channels,那么输出的一个feature_map的形状为(Height-Kernel_size+1)*(Width-Kernel_size+1)*1,在步长为1,padding=0的情况。

卷积输入层与卷积输出层的计算式:

设input layer:H*W*C(通常在CV领域,H=W),卷积核大小为K*K*C,步长为S,padding为P。则卷积后的输出层形状为:

((H-K)+2*P) / S +1                            (1)

通常池化层操作也适用于上述公式(1)。

卷积操作计算动图可查看:

机器学习算法之——卷积神经网络(CNN)原理讲解 - 知乎

关于卷积层的参数量计算式:

设卷积核个数为M,卷积核大小为Km*Km*C,则参数量为:

\sum_{i=1}^{M}({K_{i}}^{2}*C+1)

+1表示每个卷积核有一个bia偏置项。

关于池化层的参数量,恭喜,没有需要learn的参数。

关于FC层的参数量:

case 1:FC层前面是卷积层:

_{W_{cf}} =  连接到conv层的FC层权重个数;

B_{cf} =  连接到conv层的FC层偏差个数;

O = 卷积层输出大小;

N = 卷积核个数;

F = 全连接层神经元个数。

                        W_{cf} = O^{2}*N*F

                        B_{cf} = F

                        参数总量 = W_{cf} + B_{cf}

case 2:FC层前面还是FC层:

_{W_{ff}} =  连接到前一层FC层的FC层权重个数;

B_{cf} =  连接到前一层FC层的FC层偏差个数;

F = 全连接层神经元个数;

F_{-1} = 前一层FC层的神经元数。则

                         参数总量 = F_{-1} * F + F = F *(F_{-1}+1)

若对君有用,请不吝点赞~~

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值