反向传播详解

  1. 反向传播

    1. 下降的幅度与斜率大小成正比,越到最小点时,每步应越来越小,防止调过头
    2. 某一点导数大小即可表现为 w的变化幅度 w - k * ▽J(w)
    3. ▽J(w)为正表示向左走 w变小 ,为负表示向右走 w会变大
  2. 简单数字识别案例中

    1. 对于一张图片,输入图片特征,经过隐藏层, 转化为10维向量,经过sigmod ,rule后----->(对应的概率值)

    2. 此时假设为bad network

      0.1 1--------------------------1

      0.2 2--------------------------2 假设为真实值

      0.8 3--------------------------3

    3. 此时需要做的就是提高0.2的值,减少其他 (但应该注意,增加2的激活值,比减少1的激活值重要)

    4. 变动的大小与 目标值与现在值之间的差成正比

    5. 0.2(激活值) = w0*a1+w0*a2+.......+b 增加激活值

      1. 增加b
      2. 改变权重
        1. 并不是要增加所有的w,
        2. 每个w对应的a较大时,此时w对激活值的影响较大,把影响大的成为正,小的成为负
        3. 对于0.1 0.8 的变化 也会的到正负变化 综合之后,即可得到上层激活值的变化趋势,
        4. 再次循环,计算上一层
      3. 改变上一层激活值a
    6. 迭代一步,对每一个样本计算,求出权重变化值, 求平均 ,修改权重 再次迭代 ,速度较慢

    7. 因此划分为小批量,此时迭代一步的数量就是batch的数量 不断循环

参考:

https://www.bilibili.com/video/av16144388?from=search&seid=41428351275121069

https://www.bilibili.com/video/av16577449?p=1

https://zhuanlan.zhihu.com/p/25081671

http://colah.github.io/posts/2015-08-Backprop/

posted @ 2019-12-13 18:22  下雨天,真好  阅读(683)  评论(0编辑  收藏  举报