Bootstrap

深度学习:位置前馈神经网络

是 Transformer 模型中的一个重要组件。位置前馈神经网络在每个位置上独立地对输入进行处理,通常由两个全连接层(线性层)和中间的一个非线性激活函数(如 ReLU)组成

代码如下:

class PositionWiseFFN(nn.Module):
    def __init__(self, ffn_num_input, ffn_num_hiddens, ffn_num_outputs, **kwargs):
        super().__init__(**kwargs)
        self.dense1 = nn.Linear(ffn_num_input, ffn_num_hiddens)
        self.relu = nn.Relu()
        self.dense2 = nn.Linear(ffn_num_hiddens, ffn_num_outputs)
        
    def forward(self, X):
        return self.dense2(self.relu(self.dense1(X)))

位置前馈神经网络的作用

位置前馈神经网络在 Transformer 模型中的作用如下:

  • 非线性变换:
    通过两个全连接层和中间的 ReLU 激活函数,引入非线性变换,增强模型的表达能力。

  • 独立处理:
    每个位置上的输入数据独立地通过位置前馈神经网络进行处理,从而捕捉每个位置的局部特征。

  • 特征映射:
    将输入特征映射到隐藏层特征,再映射到输出特征,实现特征的变换和提取。

;