深入理解Transformer架构:从编码器到训练模型
1. 编码器架构概述
编码器架构由一个Keras层或模块(称为编码器层)重复N次构成。编码器层包含多头注意力机制和前馈网络,并进行归一化处理,以解决深度神经网络中的梯度消失问题。编码器的输入包括输入句子嵌入和位置编码,位置编码用于定义句子中单词的相对位置。
2. 掩码函数
在处理填充序列时,网络可能会将额外的填充标记(零)视为有效输入,因此需要编写掩码函数来屏蔽这些额外的填充。
- 填充掩码 :用于屏蔽填充标记。
def create_padding_mask(x):
mask = tf.cast(tf.math.equal(x, 0), tf.float32)
# (batch_size, 1, 1, sequence length)
return mask[:, tf.newaxis, tf.newaxis, :]
示例:
x=tf.constant([[2974, 50, 2764, 2975, 0, 0,
0, 0, 0, 0]])
create_padding_mask(x)
输出:
<tf.Tensor: shape=(1, 1, 1, 10), dtype=float32,
numpy=arra
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



