电子商务网站建设需要做好哪些准备6,东莞优化排名推广,电影网站开发PPT模板,备案关闭网站NLP自然语言处理
更多内容#xff0c;请关注#xff1a; github#xff1a;https://github.com/gotonote/Autopilot-Notes.git
一、简介
seq2seq(Sequence to Sequence)是一种输入不定长序列#xff0c;产生不定长序列的模型#xff0c;典型的处理任务是机器翻译#…NLP自然语言处理
更多内容请关注 githubhttps://github.com/gotonote/Autopilot-Notes.git
一、简介
seq2seq(Sequence to Sequence)是一种输入不定长序列产生不定长序列的模型典型的处理任务是机器翻译输入一段不定长的源语言文字如中文而产生一段不定长的目标语言文字如英文。
seq2seq模型通常会选用编码器解码器Encoder-Decoder架构编码器接受不定长输入并产生一定大小的上下文Context再将上下文投喂给解码器产生不定长的输出。
在机器翻译的情况下上下文是一个向量通常是一个数字数组。编码器和解码器往往都是递归神经网络RNN。如下图上下文是浮点数的向量将具有较高值的单元格分配更亮的颜色来可视化颜色的矢量。可以在设置模型时设置上下文向量的大小。通常为编码器RNN中隐藏单元的数量此处可视化显示大小为 4 的向量但在实际应用中上下文向量的大小可能为 256、512 或 1024。
根据设计RNN 在每个时间步长接受两个输入一个输入在编码器的情况下输入句子中的一个单词和一个隐藏状态。词向量通常是在一个大型语料库上学习得到的这样的技术称为词嵌入Word Embedding。这些将单词转换为向量空间以捕获单词的许多含义/语义信息例如 国王 - 男人 女人 女王。
我们需要在处理输入词之前将其转换为向量。该转换是使用词嵌入算法完成的。我们可以使用预先训练的嵌入也可以在数据集上训练我们自己的嵌入。嵌入大小为 200 或 300 的向量是典型的为了简单起见我们展示了大小为 4 的向量。
二、BERT
BERT是Bidirectional Encoder Representations from Transformers的简称该模型用Transformer模块堆叠而成提出一种用大量未标注数据对模型进行预训练词预测任务MLM和连续语句判断任务NSP然后用预训练模型在目标训练集上进行微调。
一输入/输出表示形式
BERT采用WordPiece[1]的表示形式
WP TE SE PE 两个特殊标记 [CLS]起始标记同时对应的输出向量表示分类结果Classification[SEP]分隔标记Separate分隔两个不同的句子 TE词编码词嵌入 SE段编码指示该单词从属与那个分段句子 PE位置编码
二预训练任务
用大量未标注的数据集如维基百科等语料来构造一系列简单的预训练任务。
三词预测MLM
Masked Language Model(LML)训练模型token-level的能力使其能够关注token之间的联系。随机在语料 中挑选15%的单词进行处理
以80%的概率将这些单词替换为[MASK]特殊标记以10%的概率用词表中的随机单词替换这些单词以10%的概率保持不变
四连续语句判断NSP
Next Sentence Prediction(NSP)训练模型sentence-level的能力使其能够关注两个语句之间的联系。随机在语料中抽选连续的两个语句并以50%的概率用随机语句来替代第二个语句让模型学习判断两个语句是不是 连续的通常在该任务中能达到97%-98%的准确率。
五迁移学习
BERT复用预训练模型权重之后在目标数据集和任务上对所有权重进行微调。常见NLP任务的输入输出形式如 下图所示
参考文献
[1] Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation