zoukankan      html  css  js  c++  java
  • 卷积

    整理一下, 关于卷积层梯度反向传递的过程.

    参考
    参考

    注: (s ot=1)的部分是自己推得, 可能是错的(自己想了很久, 感觉错的机会不大).

    符号

    在这里插入图片描述

    输入: (x in mathbb{R}^{N imes C imes H imes W});
    权重: (w in mathbb{R}^{F imes C imes HH imes WW});
    biases: (b);
    输出:(y in mathbb{R}^{N imes F imes H' imes W'})

    [H' = 1+ (H+2 p-HH)/s \ W' = 1+ (W+2p-WW)/s, ]

    其中(p)表示补零(pad), (s)表示滑动距离(stride).

    [y=x*w, ]

    其中(*)表示卷积.

    2-D, s=1

    不考虑(C), 可以将补零后的视作(x).

    在这里插入图片描述

    (mathrm{d}b)

    在这里插入图片描述

    (mathrm{d}w)

    [mathrm{d}w=x*mathrm{d}y ]

    在这里插入图片描述

    (mathrm{d}x)

    [mathrm{d}x=mathrm{d}hat{y} * w^r. ]

    在这里插入图片描述

    (mathrm{d}x_{mn})可以表示为俩个矩阵对应元素相乘再对各元素求和.
    在这里插入图片描述
    在这里插入图片描述
    (mathrm{d}hat{y})是以(mathrm{d}y) 为中心完全补零(上下各补(HH-1), 左右各补(WW-1)), (w^r)(w)左右翻转, 上下翻转后的结果.

    举个例子

    在这里插入图片描述

    2-D (s ot =1)

    在这里插入图片描述

    (mathrm{d}b)

    一样的

    (mathrm{d}w)

    [mathrm{d} w = x * mathrm{d}hat{y}, ]

    其中(hat{y})是在(y)的基础上, 在行列间添加(s-1)个0.
    在这里插入图片描述

    (mathrm{d} x)

    [mathrm{d}x = mathrm{d}hat{y} * w^r, ]

    其中(w^r)和上面一样都是左右翻转加上上下翻转, (mathrm{d}hat{y})先在(mathrm{d}y)的基础上各行各列插入(s-1)零, 并在左右各补(WW-1)零, 上下各补(HH-1)零.
    在这里插入图片描述

    depth

    加上了(C),则

    [y_f=sum_c y_{fc}, ]

    其中

    [y_{fc} = x_c*w_{fc}+b_{fc}, ]

    [frac{partial L}{partial y_fc} = frac{partial L}{partial y_{f}}, ]

    剩下的就是和之前的类似的操作了.

  • 相关阅读:
    消除共模干扰的方法
    C#模拟键盘事件
    获取本地IP V4 出现::1
    生成ssh密钥
    苹果应用商店DNS修改加快下载速度
    模算术 modular arithmetic
    有限域和质数的幂
    rere
    test
    图信号处理进行大数据分析
  • 原文地址:https://www.cnblogs.com/MTandHJ/p/12757339.html
Copyright © 2011-2022 走看看