• 关于LSTM实现长短期记忆功能问题


    2019-09-07 22:01:45

    问题描述:LSTM是如何实现长短期记忆功能的?

    问题求解

    与传统的循环神经网络相比,LSTM仍然是基于当前输入和之前的隐状态来计算当前的隐状态,只不过对内部的结构进行了精心的设计,加入了更新门,遗忘门和输出门这三个门和一个内部记忆单元。

    在一个训练好的网络中,当输入的序列中没有重要的信息时,LSTM的遗忘门的数值接近于1,更新门的数据接近于0,此时过去的记忆会被保存,从而实现了长期的记忆功能;当输入的序列中出现了重要的信息时,LSTM应该把其存入记忆时,此时更新门的数值将接近于1;当输入的信息中出现了重要的信息,并且该信息意味着之前的记忆不再重要的时候,输入门的数值接近于1,遗忘门的数值接近于0,这样旧的记忆被遗忘,新的重要的信息被记忆。经过这样的设计,整个网络更容易学习到序列之间的长期依赖。

    关于激活函数的选择,在LSTM中,更新门,遗忘门,输出门的激活函数选择的是Sigmoid函数;在生成候选记忆的时候,使用的双曲正切函数Tanh作为激活函数。

    Sigmoid的输出介于0 - 1之间,符合门控的物理含义,且当输入较大/较小的时候,输出会非常接近1 / 0,从而保证了门控的开和关。

    在生成候选记忆的时候,使用Tanh函数,是因为其输出在-1 - 1之间,这与大多数场景下特征分布是0中心的吻合。此外,Tanh函数在输入为0附近相比Sigmoid函数有更大的梯度,通常会帮助模型收敛的更快。

  • 相关阅读:
    mysql的存储过程与事务入门
    关于CreateProcess函数一些经验
    windows下dump文件调试
    指针相关
    nsi脚本中执行.bat文件要隐藏dos窗口问题
    C 预处理
    __declspec(dllimport)与__declspec(dllexport)作用总结
    [转]window下使用SetUnhandledExceptionFilter捕获让程序的崩溃
    字符集与编码[转]
    vc下项目的头文件包含目录以及库导入预计库目录设置
  • 原文地址:https://www.cnblogs.com/hyserendipity/p/11483355.html
Copyright © 2020-2023  润新知