BiLSTM 模型 =========== 切换语言: :doc:`../en/BiLSTMModel` ``M4`` 是当前项目中的双向 LSTM 编码器。 为什么要保留 BiLSTM +++++++++++++++++++ BiLSTM 是 CNN 的自然对照: - CNN 偏向局部模式抽取; - BiLSTM 明确把序列看作有顺序的链; - 双向隐藏状态能同时整合左右上下文。 结构概览 +++++++++++++++++++++++++++++ - 输入:one-hot tensor ``(B, 5, L)`` - 序列布局:转成 ``(B, L, 5)`` - 核心:2 层双向 LSTM - 隐层宽度:每个方向 256 - 输出:前向/后向最终状态拼接 如果展开成标准递推公式,LSTM 每一步都会更新门控和记忆: .. math:: i_t = \sigma(W_i x_t + U_i h_{t-1} + b_i) .. math:: f_t = \sigma(W_f x_t + U_f h_{t-1} + b_f) .. math:: o_t = \sigma(W_o x_t + U_o h_{t-1} + b_o) .. math:: \tilde{c}_t = \tanh(W_c x_t + U_c h_{t-1} + b_c) .. math:: c_t = f_t \odot c_{t-1} + i_t \odot \tilde{c}_t, \qquad h_t = o_t \odot \tanh(c_t) 双向版本会同时做正向和反向递推,因此每个最终表示都能同时感受到左右两侧上下文。 为什么对 EPI 有帮助 +++++++++++++++++++++++++++++ 增强子和启动子区域中的调控信息不只是单个 motif,还包括 motif 的上下文组织。 BiLSTM 能更直接地表达: - 顺序上的模式推进; - 局部到中程的上下文累积; - 被简单池化操作冲淡的方向性信号。 这在一个 motif 的意义依赖前后文、依赖多个局部模式出现顺序时尤其重要。BiLSTM 建模的 不只是“有没有 motif”,而是“motif 如何沿着序列上下文展开”。 优势 +++ - 顺序感强; - 循环归纳偏置清晰; - 适合和注意力、状态空间路线做直接对照。 计算复杂度与适用范围 +++++++++++++++++++++ - 时间复杂度:递归更新使其大致呈 :math:`O(L \cdot H^2)` 风格,并且位置维并行性有限。 - 显存特征:隐藏状态本身不算极端,但训练时需要沿整条序列保留递归激活用于反向传播。 - 适用范围:适合短到中等长度窗口,以及那些“顺序上下文比全局两两交互更重要”的场景。 局限 +++ - 对超长序列来说计算顺序性更强; - 并行性不如纯卷积或纯注意力路线。 项目中的作用 +++++++++++++++++++++++++++++ ``M4`` 是整个 benchmark 中经典循环基线的代表,用来回答一个核心问题: 在引入 Transformer、Mamba、RWKV 等新路线之后,显式顺序递归是否仍然有价值。 .. image:: ../img/div.png