zoukankan      html  css  js  c++  java
  • 反向传播的工作原理(深度学习第三章)

    https://www.youtube.com/watch?v=Ilg3gGewQ5U

    What is backpropagation really doing?

    这里写图片描述
    梯度向量的每一项大小是在告诉大家,代价函数对于每一个参数有多敏感。

    这里写图片描述
    对于改变激活值,可以有三种方法:
    1.增加偏置
    2.增加权重
    3.改变上一层的激活值

    对于梯度下降,我们不知看每个参数是该增大还是减小,我们还看哪个参数的性价比最高。

    反向传播的原理

    把最后一层的神经元期待全部加起来,作为对如何改变倒数第二层神经元的指示,这些期待变化不仅是权重的倍数,也是每个神经元激活值改变量的倍数,这就是反向传播的实现原理。我们把所有期待的改变加起来,就得到了一串对倒数第二层改动的变化量。有了这些,我们就可以重复这个过程,改变影响倒数第二层神经元激活值的相关参数,从后一层带前一层,把这个过程一直循环到第一层。

    小结

    反向传播(backpropagation)算法算的是单个训练样本想怎样修改权重和偏置,不仅是说每个参数应该变大还是变小,还包括了这些变化的比例是多大,才能最快的降低代价。
    真正的梯度下降,得对好几万个训练样本都这么操作。然后对这些变化值取平均,但是这样算起来太慢了。所以可以先把所有的样本分到各个minibatch中,计算一个minibatch来作为梯度下降的一步,计算每一个minibatch的梯度,来调整参数,不断循环。最终你就会收敛到代价函数的一个局部最小值上。

    反向传播的数学原理

  • 相关阅读:
    python scrapy爬取前程无忧招聘信息
    scrf 原理及flask-wtf防护
    Django 惰性机制
    Django 中配置MySQL数据库
    Django的安装命令
    python装饰器
    python面向对象之继承
    OSI七层模型
    面向对象
    python函数
  • 原文地址:https://www.cnblogs.com/bryce1010/p/9387030.html
Copyright © 2011-2022 走看看