caffe源码 池化层 反向传播

大数据 waitig 960℃ 百度已收录 0评论

图示池化层(前向传播)

池化层其实和卷积层有点相似,有个类似卷积核的窗口按照固定的步长在移动,每个窗口做一定的操作,按照这个操作的类型可以分为两种池化层:

输入参数如下:
输入: 1 * 3 * 4 * 4
池化核: 4 * 4
pad: 0
步长:2
输出参数如下:
输出:1 * 3 * 2 * 2
  • MAC (max pooling)在窗口中取最大值当做结果
  •  image
  • AVG (average pooling)在窗口中取平均值当做结果
  • image

池化层的反向传播

按照前向传播的分类,反向传播也需要分成两类

  • MAC (max pooling)

    • 如果只看输出矩阵中的一个点y,则有 y = max( x1 , x2, x3, … );

    • 所以对x求导后有(可以理解成分段函数的求导)

      image

    • 代码实现:

      image

      可见上图,这个xn如果影响多个y,则会叠加起来

  • AVG (average pooling)

    • 如果只看输出矩阵中的一个点y,则有 y = ( x1 , x2, x3, … ,xn )/n;

    • 所以对x求导后有

      image

    • 代码实现

      image

      可见上图,这个xn如果影响多个y,则会叠加起来


本文由【waitig】发表在等英博客
本文固定链接:caffe源码 池化层 反向传播
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)