mLSTM 模型 ========== 切换语言: :doc:`../en/mLSTMModel` ``M5`` 实现的是受 xLSTM 风格启发的矩阵记忆 LSTM 路线。 它和普通 LSTM 的不同 ++++++++++++++++++++ 普通 LSTM 主要维护向量状态,而 mLSTM 维护的是更丰富的矩阵记忆更新。这个设计 背后的动机是:对复杂序列依赖来说,矩阵记忆可能比简单隐藏向量更能保留结构化关系。 核心思想 +++++++++++++++++++++++++++++ - 每个时间步形成 query / key / value 投影; - 记忆更新单位是矩阵而不是简单向量; - 门控在 log space 中稳定化; - 用双向包装同时保留正向和反向上下文。 如果写成更抽象的记忆更新形式,可以表示为: .. math:: C_t = f_t \, C_{t-1} + i_t \, (v_t \otimes k_t) 其中 :math:`C_t` 是矩阵型记忆,:math:`v_t \otimes k_t` 表示结构化外积写入, :math:`i_t, f_t` 控制写入和保留。相比向量记忆,这种状态更容易保留复杂的相互作用结构。 为什么适合基因组序列 +++++++++++++++++++++++++++++ 调控序列中的依赖关系往往不是单一 motif,而是组合性的。矩阵记忆递归的吸引力 就在于:它理论上可以比普通循环状态保存更丰富的相互作用结构。 当一个 motif 会改变另一个 motif 的作用,或者一组 motif 更像“协同单元”而不是若干 独立命中时,这种 richer recurrent state 就会更有意义。 优势 +++ - 比 vanilla LSTM 有更丰富的状态表达; - 不依赖二次复杂度注意力; - 作为现代循环替代路线很有代表性。 计算复杂度与适用范围 +++++++++++++++++++++ - 时间复杂度:仍然沿序列递推,因此长度方向本质上还是顺序式,只是每步状态更新比普通 LSTM 更重。 - 显存特征:比 BiLSTM 更高,因为它维护的是更丰富的矩阵型内部记忆,而不只是简单向量状态。 - 适用范围:适合那些既重视顺序关系、又希望递归状态能保留更复杂交互结构的场景。 代价 +++ - 实现和理解都比普通 BiLSTM 更复杂; - 本质上仍属于递归路线; - 对比基础模型时,调参和稳定性要求更高。 项目中的作用 +++++++++++++++++++++++++++++ ``M5`` 是当前项目中的高级循环代表,它把模型谱系从经典 LSTM 继续向前推进, 在文档层面也很好地连接了传统 RNN 与更现代的状态空间、注意力路线。 .. image:: ../img/div.png