该笔记比较baseline2与1相比进行了哪些改进,以及对后续优化的启发。
赛题回顾
利用神经网络实现机器翻译,先编码再解码,将英文翻译为中文。
task2任务内容
如何更好地实现文本到编码的转换从而提升模型性能?
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
from torch.nn.utils import clip_grad_norm_
from torchtext.data.metrics import bleu_score
from torch.utils.data import Dataset, DataLoader
from torchtext.data.utils import get_tokenizer
from torchtext.vocab import build_vocab_from_iterator
from typing import List, Tuple
import jieba
import random
from torch.nn.utils.rnn import pad_sequence
import sacrebleu
import time
import math
数据预处理
分词器tokenizer
中文采用jieba库分词,英文采用spacy库分词,结果更加准确
模型构建
与baseline1相比,新增attention类,引入注意力机制。
该机制使神经网络模型能够关注编码器每一层的隐藏输出,都作为解码器的输入,而不只考虑编码器的最后一层隐藏输出。
class Attent