You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CNN反向传播求解:基于给定网络结构与δ参数的完整推导

CNN反向传播完整推导

没问题,我来一步步给你推这个CNN的反向传播过程,咱们从已知的全连接层误差δH₁=0.25、δH₂=-0.15开始,逐层往回计算各层参数的梯度以及误差项的回传:

1. 全连接层(FC1)的梯度计算

首先明确全连接层的结构:激活层输出的2x2特征图会被展平成4维向量(记为A_flat = [A₁₁, A₁₂, A₂₁, A₂₂]^T),全连接层权重矩阵W_fc是2×4的矩阵,偏置b_fc是2×1的向量,输出H = [H₁, H₂]^T。

已知该层的误差项δH = [0.25, -0.15]^T,我们可以计算:

  • 权重梯度dW_fc:每个元素为误差项对应神经元与展平后激活值的乘积,公式为:
    dW_fc[i][j] = δH[i] * A_flat[j]  (i=0,1;j=0,1,2,3)
    
    展开后就是一个2×4的矩阵,比如第一行是0.25*A₁₁, 0.25*A₁₂, 0.25*A₂₁, 0.25*A₂₂,第二行是-0.15*A₁₁, -0.15*A₁₂, -0.15*A₂₁, -0.15*A₂₂。
  • 偏置梯度db_fc:偏置的梯度直接等于对应神经元的误差项,因为偏置只作用于单个神经元:
    db_fc = [δH₁, δH₂]^T = [0.25, -0.15]^T
    

2. Sigmoid激活层的误差回传

激活层的输入是池化后的2x2特征图F₂,输出A = σ(F₂)(σ是logistic sigmoid函数)。我们需要把全连接层的误差回传到激活层的输入F₂,得到误差项δA(对应F₂的误差)。

Sigmoid函数的导数特性是σ'(z) = σ(z)*(1-σ(z)) = A*(1-A),所以误差项的计算是:

δA[i][j] = (W_fc[0][2i+j] * δH₁ + W_fc[1][2i+j] * δH₂) * A[i][j]*(1-A[i][j])

这里2i+j是展平向量的索引对应关系(比如i=0,j=0对应索引0;i=0,j=1对应索引1,以此类推),*表示元素-wise乘法。最终δA是一个2x2的矩阵,每个元素对应池化后特征图的位置误差。

3. 最大池化层的误差回传

池化层是2×2最大池化、步长2,输入是4x4的卷积特征图F₁,输出是2x2的F₂。最大池化没有可训练参数,回传误差时需要把δA的值放回F₁中对应池化窗口内最大值的位置,窗口内其他位置误差为0。

具体来说:

  • F₁被分成4个不重叠的2×2窗口,分别对应F₂的4个元素:
    • 窗口1(F₁的(0,0)-(1,1))对应F₂的(0,0),若该窗口最大值在F₁的(p1,q1)位置,则δF₁[p1][q1] = δA[0][0],窗口内其他3个位置为0;
    • 窗口2(F₁的(0,2)-(1,3))对应F₂的(0,1),若最大值在F₁的(p2,q2)位置,则δF₁[p2][q2] = δA[0][1],其他位置为0;
    • 窗口3(F₁的(2,0)-(3,1))对应F₂的(1,0),同理赋值;
    • 窗口4(F₁的(2,2)-(3,3))对应F₂的(1,1),同理赋值。

最终δF₁是一个4x4的矩阵,只有4个位置有非零值(对应每个池化窗口的最大值位置),其余为0。

4. 卷积层的梯度计算

卷积层使用2×2卷积核W_c、步长1,输入是5x5的图像X,输出是4x4的F₁。现在我们计算卷积核的梯度dW_c和偏置的梯度db_c:

  • 卷积核梯度dW_c:采用互相关运算,每个元素是输入X对应区域与δF₁对应位置的乘积之和,公式为:
    dW_c[m][n] = Σ(i=0到3) Σ(j=0到3) X[i+m][j+n] * δF₁[i][j]  (m=0,1;n=0,1)
    
    比如dW_c[0][0]就是所有X[i][j] * δF₁[i][j]的和(m=0,n=0时i+m=i,j+n=j)。
  • 偏置梯度db_c:偏置作用于卷积后的每个元素,所以梯度是δF₁所有元素的和:
    db_c = Σ(i=0到3) Σ(j=0到3) δF₁[i][j]
    

5. 输入层的梯度(可选)

如果需要计算输入图像X的梯度dX,可以通过δF₁与卷积核W_c的全卷积运算得到(需要对δF₁补1层零,使其尺寸变为5x5),公式为:

dX[i][j] = Σ(m=0到1) Σ(n=0到1) W_c[m][n] * δF₁[i-m][j-n]

这里当i-m或j-n不在0-3范围内时,δF₁取0。最终dX是一个5x5的矩阵,对应输入图像每个像素的梯度。


内容的提问来源于stack exchange,提问作者koryakinp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:13:01