重庆微网站,PHP 网站开发 入门,html网站实例,济南协会网站设计团队文章目录 7.前馈网络8.加法和归一化组件9.组合所有编码器组件构成完整编码器 7.前馈网络
编码器块中的前馈网络子层如下图所示#xff1a; 图1.32 – 编码器块
前馈网络由两个带有ReLU激活函数的全连接层组成。全连接层#xff08;Fully Connected Layer#xff09;有时也… 文章目录 7.前馈网络8.加法和归一化组件9.组合所有编码器组件构成完整编码器 7.前馈网络
编码器块中的前馈网络子层如下图所示 图1.32 – 编码器块
前馈网络由两个带有ReLU激活函数的全连接层组成。全连接层Fully Connected Layer有时也称为密集层即每一层的每个神经元都与上一层的所有神经元相连。在Transformer的前馈网络中这样的密集层有两个。
第一个密集层将输入数据映射到一个更高维度的空间。
第二个密集层则将第一个密集层的输出映射回原始维度。
在这两个密集层之间通常会加入ReLURectified Linear Unit激活函数。ReLU激活函数的定义如下
f(x) max(0,x)
这意味着ReLU函数会将所有负数输入映射到0而正数输入保持不变。ReLU激活函数有助于引入非线性因素使得神经网络能够学习和模拟更复杂的函数。
前馈网络的参数在不同的句子位置上是相同的但在不同的编码器块上是不同的。
在下一节中我们将介绍编码器的另一个组件——加法和归一化组件。
8.加法和归一化组件
在Transformer的编码器中还有一个重要的组件加法和归一化组件。它连接着一个子层的输入和输出。也就是说如下图所示虚线我们可以观察到加法和归一化组件
1将多头注意力子层的输入连接到其输出
2将前馈子层的输入连接到其输出 图1.33 – 带有加法和归一化组件的编码器块
加法和归一化组件基本上是一个残差连接后面跟着层归一化。层归一化通过防止每层中的值发生重大变化从而可以得到更快的训练。
现在我们已经了解了编码器的所有组件让我们在下一节中将它们全部放在一起看看编码器作为一个整体是如何工作的。
9.组合所有编码器组件构成完整编码器
下图显示了两个编码器的堆叠为了看上去更加简洁清晰只展开了编码器1 图1.34 – 编码器堆叠仅编码器1展开
从图1.34所示的编码器中我们可以看到
1首先我们将输入转换为输入嵌入嵌入矩阵embedding matrix然后添加位置编码position encoding并作为输入喂给最底层的编码器encoder 1。
2编码器1接收到输入后将其发送到多头注意力multi-head attention子层多头注意力子层运算后输出注意力矩阵attention matrix。
3将注意力矩阵作为输入喂给下一个子层——前馈网络。前馈网络接收注意力矩阵作为输入并输出编码器表示encoder representation。
4接下来我们取编码器1的输出encoder representation并将其作为输入喂给下一级编码器encoder 2。
5编码器2执行相同的流程并输出给定输入句子的编码器表示encoder representation。
我们可以将N个编码器一个接一个地逐层堆叠最后一级的编码器最顶层编码器获得的输出encoder representation将是给定输入句子的表示representation。让我们将最终编码器在我们上面所举的例子中是编码器2获得的编码器表示记为R。
我们取最终编码器编码器2获得的编码器表示R并将其作为输入喂给解码器。解码器接收编码器表示R作为输入并尝试生成目标句子。
现在我们已经理解了transformer的编码器部分下一节我们将详细介绍解码器是如何工作的。 感谢您的阅读欢迎关注