LSTM 的遗忘门、输入门、输出门 ,本质都是由神经元构成的小型神经网络层 ------ 不是离散的if/else,而是通过神经元的协同计算,实现对信息的连续比例控制。

一、所有门控的统一神经元组成逻辑
3 个门控的神经元结构完全一致,核心是 "输入→神经元计算→激活输出" 的标准化流程,仅参数(权重 / 偏置)独立不共享。具体组成分 3 步:
1. 门控的输入:统一来源
每个门控的输入都是上一时刻隐藏状态**** (模型前一步的输出,含历史信息)与当前时刻输入**** (新数据)的拼接,即[hₜ₋₁, xₜ]。
→ 这是神经元层的 "原始输入信号",所有门控的神经元都基于这个拼接信号做计算。
2. 神经元的核心计算单元
每个门控层由多个神经元构成(数量 = 隐藏层维度,比如隐藏层设 64 维,门控层就有 64 个神经元),每个神经元的计算逻辑是:
线性变换(权重 × 输入 + 偏置)
-
权重:每个门控有专属权重矩阵(遗忘门WfW_fWf、输入门WiW_iWi、输出门WoW_oWo),矩阵的行数 = 神经元数量,列数 = 输入
[hₜ₋₁, xₜ]的维度; -
偏置:每个门控有专属偏置项(bfb_fbf、bib_ibi、bob_obo),维度 = 神经元数量;
-
计算式:对输入
[hₜ₋₁, xₜ],每个神经元执行 "W门控⋅[ht−1,xt]+b门控W_{门控} \cdot [hₜ₋₁, xₜ] + b_{门控}W门控⋅[ht−1,xt]+b门控",得到线性输出。
3. 神经元的激活函数:统一用 sigmoid
所有门控神经元的线性输出,都会经过sigmoid 激活函数处理:
σ(z)=11+e−z\sigma(z) = \frac{1}{1+e^{-z}}σ(z)=1+e−z1
→ 作用是将神经元输出压缩到[0,1]区间,这个值就是 "信息通过比例"(1 = 完全允许,0 = 完全阻断),是门控的核心功能。
二、输入门的额外神经元层:生成候选记忆
输入门除了上述 "控制比例的神经元层"(输出iti_tit),还多一个**生成候选细胞状态**** **的神经元层------ 结构同样是神经元构成,仅激活函数不同:
-
输入:还是
[hₜ₋₁, xₜ]; -
计算:专属权重矩阵WCW_CWC、偏置bCb_CbC,执行 "WC⋅[ht−1,xt]+bCW_C \cdot [hₜ₋₁, xₜ] + b_CWC⋅[ht−1,xt]+bC";
-
激活:用
tanh(输出[-1,1]),目的是将新信息标准化,作为后续更新细胞状态的 "原材料"。
三、总结:门控 = 神经元层的本质
LSTM 门控机制的组成,一句话说透:
每个门控都是 "N 个神经元组成的单层网络" (N = 隐藏层维度),每个神经元负责计算一个维度的 "信息通过比例",通过 "输入拼接→线性计算(权重 + 偏置)→sigmoid 激活" 的固定流程,实现对信息的连续控制;输入门额外加一个tanh激活的神经元层,用于生成候选记忆。
所有门控的神经元参数(权重 / 偏置)在训练中通过梯度下降优化,最终让模型学会 "该保留什么、该更新什么、该输出什么"。