欢迎访问 TensorFlow NLP 机器翻译 代码库!以下内容将帮助您快速入门基于 Transformer 的序列到序列模型(seq2seq)实现。

代码结构概览 📁

  1. 数据预处理

    • 加载并清洗平行语料(如英德对照数据)
    • 构建词汇表与子词编码(SubwordTextEncoder)
    • 使用 tf.data.Dataset 创建训练/验证/测试数据集
  2. 模型构建

    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)
  3. 训练流程

    • 使用 tf.keras.losses.SparseCategoricalCrossentropy 计算损失
    • 通过 tf.keras.optimizers.Adam 优化训练
    • 添加注意力权重可视化(如 attention_weights

扩展阅读 🔗

Transformer_模型结构
机器翻译_流程图

本项目遵循开源精神,所有代码均可自由使用与修改!🎉