• 循环神经网络RNN+长短期记忆网络LSTM 学习记录


    循环神经网络(RNN)

    RNN的的基础单元是一个循环单元,前部序列的信息经处理后,作为输入信息传递到后部序列
    在这里插入图片描述
    x为输入向量,y为输出向量,a为上一隐藏层的a与x通过激活函数得到的值,简言之,每一层神经元是通过输入x和上层得到的权重的a共同得到后续的结果
    在这里插入图片描述
    上述公式中,在这里插入图片描述为隐藏层的激活函数在这里插入图片描述为常数,在这里插入图片描述为权重,由此得到a与y。


    依次往后,可以得到
    在这里插入图片描述

    RNN常见的结构

    多对多结构(常用于机器翻译)、多对一结构(常用与情感分析)、一对一结构、一对多结构(音乐生成)
    在这里插入图片描述

    双向循环神经网络

    双向循环神经网络通过反向更新的隐藏层来利用方向时间信息
    通常用来对序列抽取特征、填空,而不是预测未来
    在这里插入图片描述
    简言之,双向循环神经网络有两个隐藏层,一个用来输出给后面的神经元,一个反向输出给上一个神经元。
    在这里插入图片描述

    长短期记忆网络LSTM

    参考文章:人人都能看懂的LSTM介绍及反向传播算法推导(非常详细)
    RNN是想把所有信息都记住,不管是有用的信息还是没用的信息
    LSTM则设计了一个记忆细胞,具备选择性记忆的功能,可以选择记忆重要信息,过滤噪声信息,减轻记忆负担,避免长期依赖问题。
    如下图为LSTM结构
    在这里插入图片描述

    LSTM–遗忘门

    在这里插入图片描述
    遗忘门就是遗忘对当前状态来说没有用的信息,决定我们还需不需要记住前面状态的信息,即当前时刻的记忆状态有多少来自于前面的记忆。接受ht-1和xt通过Sigmoid 激活函数生成了ft。输出值ft均介于0和1之间,1表示"完全接受这个",0表示"完全忽略这个"

    Ct-1是上一层的记忆细胞, 给与LSTM选择记忆功能,使得LSTM有能力选择每个时间步里面记忆的内容。

    LSTM–输入门

    在这里插入图片描述
    输入门就是对当前输入ht-1和xt进行处理,来确定在当前状态哪些信息需要保存。
    第一步,通过Sigmoid激活函数来决定什么值需要更新,即产生了it
    第二步,通过tanh激活函数创建了一个新的候选值向量,会被加入到状态中。

    LSTM–细胞状态更新

    在这里插入图片描述
    对记忆细胞的更新,忘记不想要的信息,然后在加上在这里插入图片描述根据我们决定更新每个状态的程度进行变化。

    LSTM–输出门

    在这里插入图片描述
    最后我们要确定输出值,第一步,我们将信息输入到一个sigmoid激活函数来确定细胞状态的哪一部分将被输出。第二步,将第一步输出的信息ot与我们的Ct通过一个tanh激活函数最终得到我们确定输出的信息。

  • 相关阅读:
    linux命令汇总
    二叉(搜索)树的最近公共祖先 ●●
    视频画面噪点太多难处理?AI工具一键消除
    vue3 watch 异步方法
    cppcheck使用大全
    GAN 的理想损失值应该是多少?(Make Your First GAN With PyTorch 附录 A)
    vite+rollup
    数据库优化【面试】
    441-C++基础语法(101-110)
    Vue3 企业级优雅实战 - 组件库框架 - 7 组件库文档的开发和构建
  • 原文地址:https://blog.csdn.net/qq_52237775/article/details/142212162