深度学习——卷积神经网络原理解析(Convolution layer)

本文深入探讨了卷积神经网络的原理,详细介绍了卷积层的前向传播和反向传播过程,包括卷积核、步长、填充等关键概念,并提供了具体的数学公式和参数计算示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

深度学习——卷积神经网络原理解析(Convolution layer)

简介

  • 卷积主要应用于计算机视觉领域,经常用于特征的提取、目标检测、人脸检测与识别等任务。卷积是同于一系列加乘法运算完成,核心是卷积核(filter),还有一些参数:strid(s)、pad、weights。下面介绍卷积层的前向传播和反先传播过程。

前向传播(fowardpropagation)

  • 前向传播比较容易理解,就是卷积核和对应输入数据的区域先进行点积运算,再把一个矩阵里面数据求和得到一个数。
    在这里插入图片描述
  • lll:代表第lll层(conv layer)
  • f(l)f^{(l)}f(l):卷积核的尺寸( filter size)
  • plp^{{l}}pl:pad的大小
  • s(l)s^{(l)}s(l): stride的大小
  • ncln^{l}_{c}ncl: 卷积核个数
  • 每个卷积&的尺寸 f=fl∗fl∗ncl−1f = f^{l}*f^{l}*n_c^{l-1}f=flflncl1
  • 卷积完输出的尺寸: al=nHl∗nWl∗ncla^{l} = n_H^{l}*n_W^{l}*n_c^{l}al=nHlnWlncl
  • nH=⌊nHl−1+2p(l)−flsl⌋+1,nW=⌊nWl−1+2p(l)−flsl⌋+1n_H=\lfloor\frac{n_H^{l-1}+2p^{(l)}-f^{l}}{s^l}\rfloor+1,n_W=\lfloor\frac{n_W^{l-1}+2p^{(l)}-f^{l}}{s^l}\rfloor+1nH=slnHl1+2p(l)fl+1,nW=slnWl1+2p(l)fl+1
  • z(nh,nw,c)l=np.sum(Wc∗aslice+bc)z^l_{(nh,nw,c)}=np.sum(W_c*aslice+b_c)z(nh,nw,c)l=np.sum(Wcaslice+bc)
  • 一个卷积层参数个数: numbers= (f∗f∗nCl−1∗+1)∗nCl,1代表参数b(f*f*n_C^{l-1}*+1)*n_C^{l},1代表参数b(ffnCl1+1)nCl1b
    比如输入数据data 维度3∗3∗33*3*3333,filter大小为3,nCl=20n_C^{l}=20nCl=20,参数总个数为:(3∗3∗3+1)∗20=560(3*3*3+1)*20=560(333+1)20=560

反向传播(backpropagation)

dAl−1+=∑c=1nC∑i=1nH∑j=1nWWcl∗dZ(i,j,c)l(1)dA^{l-1} += \sum_{c=1}^{n_C}\sum_{i=1}^{n_H}\sum_{j=1}^{n_W}W_c^l*dZ^l_{(i,j,c)} \qquad(1)dAl1+=c=1nCi=1nHj=1nWWcldZ(i,j,c)l(1)
dWcl=∑i=1nH∑j=1nWal−1∗dZ(i,j)l(2) dW_c^l =\sum_{i=1}^{n_H}\sum_{j=1}^{n_W}a^{l-1}*dZ_{(i,j)}^l \qquad(2)dWcl=i=1nHj=1nWal1dZ(i,j)l(2)
dbl=∑i=1nH∑j=1nWdZ(i,j)l(3)db^l = \sum_{i=1}^{n_H}\sum_{j=1}^{n_W}dZ_{(i,j)} ^l\qquad(3)dbl=i=1nHj=1nWdZ(i,j)l(3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值