1. LSTM 模型图中每个黄色块都是一个 linear全连接层、3个σ代表3个门值值域01它是黄色的所以每个门的门值对应一个全连接层LSTM的输入包含三部分当前时间步输入Xt、上一时间步的隐藏层张量输出结果 hidden、上一时间步的C细胞状态细胞状态图中下面部分进行复制一个output输出、一个 ht传入下一层所以上面没有交叉的部分称为细胞状态。1️⃣ 遗忘门结构分析将当前时间步输入 xt与上一时间步隐藏层状态 ht-1进行 concat拼接得到 [xt, ht-1]然后通过一个 linear全连接层做变换最后通过 sigmoid函数进行激活得到一个遗忘门门值 ftsigmoid值域0,1则 ft值0,1,好比一扇门开合的大小程度门值都将作用在通过该扇门的张量遗忘门门值将作用的上一层的细胞状态上代表遗忘过去的多少信息又因为遗忘门门值是由 xtht-1计算得来的因此整个公式意味着根据当前时间步输入和上一个时间步隐含状态 ht-1来决定遗忘多少上一层的细胞状态所携带的过往信息① concat之后一定要经过一个全连接层全连接层的核心目标是为了进行形状的转化。② 对于xt ht-1作用得到一个门值作用的地方是上一层的细胞状态上一层的细胞状态包含前文信息遗忘门会选择性部分遗忘即 选择性部分记忆并非全部记忆对于 RNN它的缺点是链式法则需要考虑到全部每一个词都要记忆每次都要对最前面的词进行求导链式法则时会乘很多元素现在遗忘门会将前文信息选择性的遗忘删除使得在连乘时元素个数减少因此遗忘门可以缓解梯度消失现象。如何判断遗忘假设开始时遗忘门的门值都是 1即都进行了保留但模型本身有损失损失大效果差黄色部分是一个 linear层权重也会更新导致门值一定也会更新。遗忘门门值获取由当前时间步的 xt与上一时间步隐藏层张量的结果 ht-1拼接后经过一个全连接层再经过一个 sigmoid激活函数得到一个遗忘门门值 ftf即 forget2️⃣ 输入门结构分析我们看到输入门的计算公式有两个第一个就是产生输入门门值的公式它和遗忘门公式几乎相同区别只是在于它们之后要作用的目标上这个公式意味着输入信息有多少需要进行过滤输入门的第二个公式是与传统 RNN的内部结构计算相同对于 LSTM来讲它得到的是当前的细胞状态而不是像经典 RNN一样得到的是隐含状态。① xt与 ht-1拼接后经过 linear全连接层线性变换后经过 sigmoid激活函数后得到一个输入门的门值 it这个门值乘以 一个xt与 ht-1拼接后经过 linear全连接层线性变换后经过tanh得到的结果 Ct~此结果类似传统 RNN输出的结果对此结果做了输入门的选择Ct~ 可看作是临时的细胞状态或者说是加了新的 xt之后当前时间步得到的一个新的临时的细胞状态但需要通过输入门对其进行选择性的记忆即经过输入门进行一次过滤② 输入门包含两部分获取输入门门值、选择输入的对象即输入门即将作用的对象第一部分输入门门值获取由 xt、ht-1拼接后送给 linear全连接层sigmoid后得到输入门门值 it第二部分作用的对象xt、ht-1拼接后送给 linear全连接层再经过一个 tanh激活函数得到一个结果 CtCt是加了新的 xt之后当前时间步得到的一个新的临时的细胞状态但需要通过输入门对其进行选择性的记忆3️⃣ 细胞状态更新分析细胞更新的结构与计算公式非常容易理解这里没有全连接层只是将刚刚得到的遗忘门门值与上一个时间步得到的 C(t-1)相乘再加上输入门门值与当前时间步得到的未更新 C(t)相乘的结果最终得到更新后的C(t)作为下一个时间步输入的一部分整个细胞状态更新过程就是对遗忘门和输入门的应用。细胞状态更新用到了遗忘门门值 ft和输入门门值 it公式选择性遗忘遗忘门 ft作用于上一时间步的细胞状态 Ct-1ft * Ct-1这个过程是选择性的遗忘’历史的’一些消息 ➕️ 选择性输入输入门 it作用于’当前’真实输入的一部分 Ct~,哪些重要则记忆不重要的赋值给小的权重值 两者融合既包含了以前的历史信息、又包含了当前输入的新的信息最终得到当前时间步新的细胞状态 Ct。得到新的细胞状态 Ct后可直接进行输出给下一个时间步进行使用此时当前时间步的细胞状态已经更新完毕。对于 ht-1隐藏状态和 Ct-1细胞状态两者都包含了历史消息ht-1是一个短期记忆临时的上下文Ct-1是一个长期记忆。2. GUR 模型