|
|
|
@ -31,7 +31,7 @@ def mlp(x, scope, n_state, *, hparams):
|
|
|
|
|
|
|
|
|
|
可以看到上面是非常简单的两层线性变换,而且没有其它隐藏层。
|
|
|
|
|
|
|
|
|
|
FFNN 在 Transformer 中的作用是为了引入非线性并增加模型的表达能力。多头注意力机制虽然能够捕捉输入序列中的长距离依赖关系,但它本身是一个线性操作。FFNN 通过在注意力机制之后添加非线性变换,使得模型能够学习更复杂的特征表示。
|
|
|
|
|
前馈神经网络(FFNN) 在 Transformer 中的作用是为了引入非线性并增加模型的表达能力。多头注意力机制虽然能够捕捉输入序列中的长距离依赖关系,但它本身是一个线性操作。FFNN 通过在注意力机制之后添加非线性变换,使得模型能够学习更复杂的特征表示。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -46,9 +46,9 @@ FFNN 在 Transformer 中的作用是为了引入非线性并增加模型的表
|
|
|
|
|
3 6
|
|
|
|
|
~~~
|
|
|
|
|
|
|
|
|
|
我们的目标是训练一个模型来预测输出`y`,给定输入`x`。我们的模型是一个线性模型:`y_pred = w * x`。
|
|
|
|
|
我们的目标是训练一个模型来预测输出`y`,给定输入`x`。我们的模型是一个简单的单变量线性回归模型:`y_pred = w * x`。
|
|
|
|
|
|
|
|
|
|
初始化权重 `w` 为 0.5,学习率 `lr` 为 0.01。我们将手动进行3次迭代的权重更新。
|
|
|
|
|
初始化权重 `w` 为 0.5,学习率 `lr` 为 0.01。我们将通过编写代码模拟进行3次迭代的权重更新。
|
|
|
|
|
|
|
|
|
|
#### 迭代 1:
|
|
|
|
|
|
|
|
|
@ -148,5 +148,5 @@ FFNN 在 Transformer 中的作用是为了引入非线性并增加模型的表
|
|
|
|
|
|
|
|
|
|
### 总结
|
|
|
|
|
|
|
|
|
|
在GPT-2中,前馈神经网络(FFNN)由两层线性变换组成,其中间插入了GELU激活函数以引入非线性。FFNN在Transformer架构中紧随多头注意力层之后,其目的是增强模型的表达能力,使其能够捕捉更复杂的特征表示。通过手动迭代一个简单的单层神经网络示例,我们展示了权重更新的基本过程:前向传播计算预测值,计算损失函数,通过反向传播求梯度,最后使用梯度下降法更新权重。这个过程在多次迭代中重复,目标是最小化损失函数,从而训练出能够准确预测输出的模型。虽然这是一个简化的例子,但它揭示了深度学习模型训练的核心机制。
|
|
|
|
|
在GPT-2中,前馈神经网络由两层线性变换组成,第一层线性变换后应用了GELU激活函数以引入非线性。FFNN在Transformer架构中紧随多头注意力层之后,其目的是增强模型的表达能力,使其能够捕捉更复杂的特征表示。通过手动迭代一个简单的单层神经网络示例,我们展示了权重更新的基本过程:前向传播计算预测值,计算损失函数,通过反向传播求梯度,最后使用梯度下降法更新权重。这个过程在多次迭代中重复,目标是最小化损失函数,从而训练出能够更准确地预测输出的模型。虽然这是一个简化的例子,但它揭示了深度学习模型训练的核心机制。
|
|
|
|
|
|
|
|
|
|