欢迎访问 TensorFlow NLP 机器翻译 代码库!以下内容将帮助您快速入门基于 Transformer 的序列到序列模型(seq2seq)实现。
代码结构概览 📁
数据预处理
- 加载并清洗平行语料(如英德对照数据)
- 构建词汇表与子词编码(SubwordTextEncoder)
- 使用
tf.data.Dataset
创建训练/验证/测试数据集
模型构建
class Transformer(tf.keras.Model): def __init__(self, ...): super().__init__(...) # 编码器与解码器层定义 self.encoder = Encoder(...) self.decoder = Decoder(...) self.final_layer = tf.keras.layers.Dense(vocab_size)
- 包含自注意力机制(Self-Attention)与前馈网络(FFN)
- 支持多头注意力(Multi-Head Attention)与位置编码(Positional Encoding)
训练流程
- 使用
tf.keras.losses.SparseCategoricalCrossentropy
计算损失 - 通过
tf.keras.optimizers.Adam
优化训练 - 添加注意力权重可视化(如
attention_weights
)
- 使用
扩展阅读 🔗
本项目遵循开源精神,所有代码均可自由使用与修改!🎉