当前位置:   article > 正文

反向传播算法的推导_卷积神经网络反向传播理论推导

卷积神经网络反向传播理论推导

一、参数说明

参数说明

  • W i j ( l ) W_{ij}^{(l)} Wij(l):表示 第 l-1 层的第 j 个激活特征第 l 层第 i 个神经元 的权值

  • b i j ( l ) b_{ij}^{(l)} bij(l):表示 第 l-1 层的第 j 个激活特征第 l 层第 i 个神经元 的偏置(其中 j j j 恒为 0,表示偏置项;第 0 个特征 a 0 ( l ) a_0^{(l)} a0(l) 恒为 1,表示其只作为其它神经元的偏置,本身并不需要计算)

  • Note:输入层算作 第 0 层 j 代表第 l-1 层的激活特征的下标 j ∈ [ 1 , n l − 1 ] j \in [1, n^{l-1}] j[1,nl1]) 、 i 代表第 l 层的神经元的下标 i ∈ [ 1 , n l ] i \in [1, n^{l}] i[1,nl]


二、公式定义

  • l l l 层神经元的状态值 z ( l ) = w ( l ) a ( l − 1 ) + b ( l ) z^{(l)}=w^{(l)}a^{(l-1)}+b^{(l)} z(l)=w(l)a(l1)+b(l),表示一个神经元所获得的输入信号的加权和(即:特征的线性组合)
  • l l l 层神经元的激活值 a ( l ) = f l ( z ( l ) ) a^{(l)}=f_l(z^{(l)}) a(l)=fl(z(l)),特征的非线性映射,可把 a ( l ) a^{(l)} a(l) 看作 更高级的特征
  • 激活函数: f ( z ) = 1 1 + e − z f(z) =\frac{1}{1+e^{-z}} f(z)=1+ez1
  • 损失函数(MSE): J ( W , b ; x , y ) = 1 2 ∥ a ( l ) − y ( l ) ∥ 2 = 1 2 ∑ i = 1 n l [ a i ( l ) − y i ( l ) ] 2 J(W,b; x,y) = \frac{1}{2} \left \| a^{(l)} - y^{(l)} \right \|^{2}=\frac{1}{2} \sum_{i=1}^{n^{l}}\left [a_i^{(l)}-y_i^{(l)} \right ]^{2} J(W,b;x,y)=21 a(l)y(l) 2=21i=1nl[ai(l)yi(l)]2
    这里写图片描述
    这里写图片描述
  • 向量的导数(注意 维度从下到上排列
    在这里插入图片描述

三、结合实例分析推导过程(全连接神经网络)

1. 我们以一个两层神经元为例对推导过程详细分析

two-layer-network

  • 输入特征和输出类标值分别为:
    [ x 0 , x 1 , x 2 ] T = [ 1 , 0.05 , 0.1 ] T ; y ( 2 ) = [ 0 , 1 ] T [x_0, x_1, x_2]^T=[1, 0.05, 0.1]^T; y^{(2)}=[0, 1]^T [x0,x1,x2]T=[1,0.05,0.1]T;y(2)=[0,1]T
  • 各参数初始化值分别为:
    这里写图片描述
2. 梯度值的推导
(a)抽象的推导过程

在这里插入图片描述在这里插入图片描述

(b) 结合实际例子的推导过程

gradient

3. 反向传播总结
  • 从误差项的公式中可以看出:
    • l l l 层的误差项可以通过第 l + 1 l + 1 l+1 层的误差项计算得到,这就是误差的反向传播(Backpropagation,BP)
    • 反向传播算法的含义是: l l l 的一个神经元的误差项是所有与该神经元相连的 l + 1 l + 1 l+1 的神经元的 误差项的权重和 再乘上该神经元 激活函数的导数
  • 全连接神经网络的训练过程可以分为以下四步:
    • 首先,前向 计算每一层的 状态值(作为整体,用于求导后带入导数公式)和激活值,且保存每一层的 权重值
    • 其次,计算输出层的误差项(因为输出层没有 δ l + 1 \delta^{l+1} δl+1 可用)
    • 然后,反向 传播计算每一层的误差
    • 最后,计算每一层参数的偏导数,并按下面的公式更新参数
      在这里插入图片描述

四、卷积神经网络的反向传播

  • 卷积神经网络的反向传播如下图所示:
    在这里插入图片描述
  • 卷积类型,其中 n 为输入大小,m 为卷积核大小
    在这里插入图片描述

五、固定网络参数反向优化输入(或参数)

  • 已经训练好的模型(固定权重),可通过 loss 反向传播(主要是残差)来反向优化输入(或参数)
  • 可参考AI-编解码、AI-ISP、Learning to Prompt for Vision-Language Models
    在这里插入图片描述

五、参考资料

1、https://xpqiu.github.io/slides/20151226_CCFADL_NNDL.pdf
2、卷积神经网络(CNN)反向传播算法
3、Convolutional Neural Networks backpropagation: from intuition to derivation
4、Backpropagation In Convolutional Neural Networks

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/999007
推荐阅读
相关标签
  

闽ICP备14008679号