前馈网络(Feed-Forward Network, FFN)学习

简介

前馈网络的操作基本都是“先升维,非线性激活,再降维”的操作,示例公式如下:

\[FFN(x) = max(0, xW_1 + b_1)W_2 + b_2 \tag{1} \]

式中,\(W_1\)负责升维,\(W_2\)负责降维。

升维

通过将输入特征映射到高维,抽取高阶特征,方便信息的分离,具体操作是给输入特征乘以\(W_1\),随后加上\(b_1\)偏置项进行线性映射。
此操作只是进行了升维操作,并没有升秩,原理如下:

\[Rank(xW) \leq min(Rank(x), Rank(W)) \tag{2} \]

式中\(Rank(\cdot)\)表示秩运算。

非线性激活

激活函数有很多,结合具体问题进行选择,此处以\(ReLU(\cdot)\)为例:

\[ReLU(x) = max(0, x) \tag{3} \]

激活函数主要是为了提取非线性的特征,弱化不关注的信息(粗暴理解(详细的可自行学习):特征矩阵正数的信息是我们需要的,要增强,反之负数要抑制),若使用ReLU,可能会产生降秩(负数全变为了0,相较之前稀疏了,可理解为部分神经元关闭了,但我们抓住了高维隐空间中我们所需要的子空间,所以,降秩的影响一般较小)

降维

通过此操作,我们降低了相应后续运算的计算量,可能会考虑到损失了信息这一问题,无妨,我们有残差辅助🤗

创新

前馈部分的创新主要集中在升维和降维的操作上,特别是大模型参数高效微调设计所选之处,个人认为改进空间较大🙂

最后,用Nano Banana Pro配了一张图,供参考:
FFN

posted @ 2025-12-24 11:29  O_obk  阅读(10)  评论(0)    收藏  举报