R21 · 保留一次更新,再看信息怎样跨步留下
R20已区分门控职责。本页先把这些职责落到一次cell更新与hidden读出,再只改变保留门,观察同一内容跨多步如何变化。
状态 b1
图已给本步门值。先认保留项,再算i⊙g,把两项相加得到新cell;不需要预先打开备用门值推导。
状态 b2
新增output门与tanh读出hidden。沿分叉观察:本步读出受限制,cell仍可继续向后传递。
状态 b3
切换到独立一坐标干预,无新写入,只比较两种f。第0、1、5步给出趋势,末格留问号,先估计20步后保留多少。
状态 b4
20步末格揭示后,红箭头把同一连乘接到直接cell路径的导数。观察保留量与该路径梯度的关系,再区分最终任务是否答对。
状态 b0
先算旧cell逐项乘forget门的保留支路;候选写入尚未加入。
公式与算例详情
一次门控更新与读出
采用按前页公式、由指定教学参数得到的门与候选:$f=(0.9,0.2)$、$i=(0.1,0.75)$、$o=(0.8,0.5)$、$g=(0.5,-0.2)$。完整输入、参数及门值表 可逐项复算,例如 $\sigma(\ln 9)=0.9$。给定旧 cell $c_{t-1}=(1,-1)$。先保留旧信息:
$$f_t\odot c_{t-1}=(0.9,0.2)\odot(1,-1)=(0.9,-0.2).$$
再写入候选内容:
$$i_t\odot g_t=(0.1,0.75)\odot(0.5,-0.2)=(0.05,-0.15),$$ $$c_t=(0.9,-0.2)+(0.05,-0.15)=(0.95,-0.35).$$
最后计算本步 hidden:
$$h_t=(0.8,0.5)\odot\tanh(0.95,-0.35)=(0.591826,-0.168188).$$
输入门控制的是“写入多少”,不决定候选的正负。输出门较小也不等于把 cell 擦掉;它限制本步可见的 hidden,cell 仍沿独立通路传下去。
多步保留与直接路径导数
另设一坐标干预:$c_0=1$,每步$i=.01$、$g=0$,故写入项为0,$c_{20}=f^{20}$。$f=.99$时为0.8179069376,$f=.8$时为0.0115292150。固定门激活、沿直接cell路径的偏导为$\prod f$;单步局部贡献为$\operatorname{diag}(f_t)$。实际门还依赖旧hidden,总导数包括经hidden与门网络的其他路径,不能把这一乘积当成全部梯度。
一次更新与多步干预都是构造计算,并非模型学到的钥匙任务结果。它们说明接近1的保留门$f$与接近0的写入门$i$提供了较易保留内容的通路,不保证所有长期依赖成功或总梯度恒为1。状态是否保留与hidden/输出是否读对,需要分别验证。V-RNN PDF p113强调直接cell通路,p115说明其限制。
原课页采用记录:M13 LSTM的门到底怎样工作。页码均按PDF物理页计。
继续学习
本页自学核对:先预测f=.99与.8经过20步的末格,再计算c₂₀与直接cell通路的∏f;另写总梯度与任务输出为何仍需检验。
若把cell保留量、直接路径导数与任务成功混为一谈,可进入《状态在流动,梯度可以停在边界》;动手时打开LAB01的“C · 共享参数的梯度到底加了几次?”:先对照状态与梯度在截断边界的不同命运,再核门控梯度;固定门值保留算例不能替代远距能力实验。 实施范围见实验路线C。 若要增加对照,按已有受控设计固定相关条件;设计本身不代表新训练已完成。