• 深度学习原理与框架-RNN网络架构-RNN网络 1.RNN的前向传播 2.RNN的反向传播


    对于神经网络而言,每一个样本的输入与输入直接都是独立的,即预测的结果之间并没有联系

    而对于RNN而言:不仅仅是有当前的输入,而且上一层的隐藏层也将进行输入,用于进行结果的预测。因此每一个输入都与之前的输入可以通过隐藏层的输入而产生联系。

    这种特性在自然语言的处理中使用较广,即当前输入预测下一个词,与上一层隐藏层的传入有关

    RNN的前向传播

    比如预测ot结果,即输入xt,预测下一个词的结果即为ot, 

    st表示的是当前隐藏层的个数,V表示将st进行np.argmax求得预测类别, 使用softmax计算损失值函数

    输入的话分为两步:当前预测值得输入和上一个隐藏层的输出,通过st = f(Uxt + Wst - 1) 获得当前隐藏层的结果,进行ot的预测

    RNN的反向传播

    当预测结果E3进行反向传播时,先经过一个dloss/dprobs, 即损失值对softamx概率的反向求导,然后分为两步:一步是对u的求导,即dout * dx, 另外一步是

    ds3/ ds2 进行求导,即dout * W, 在此之前也需要一步relu的求导, 一步一步向后传,直到传到第一个输入层

  • 相关阅读:
    利用百度轻松语音合成,语音识别
    python圆周率计算小程序(非常慢)
    python成语接龙小游戏
    在数组添加元素时报错:IndexError: list index out of range
    Redis-jedis的使用
    Shiro整合SpringMVC简单实例(一)
    容器
    防重提交功能(Token技术的引入)
    PageUtil
    单例设计模式
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/10516488.html
Copyright © 2020-2023  润新知