网站开发需要几个人,搬家网站模板,建设一个电影网站怎么做,建设网站报告自然语言处理六-最重要的模型-transformer-上 什么是transformer模型transformer 模型在自然语言处理领域的应用transformer 架构encoderinput处理部分#xff08;词嵌入和postional encoding#xff09;attention部分addNorm Feedforward add NormFeedforw… 自然语言处理六-最重要的模型-transformer-上 什么是transformer模型transformer 模型在自然语言处理领域的应用transformer 架构encoderinput处理部分词嵌入和postional encodingattention部分addNorm Feedforward add NormFeedforword实际上就是两层全连接层中间有激活函数等add Norm 最终encoder的输出 什么是transformer模型
它是编码器和解码器的架构来处理一个序列对这个跟seq2seq的架构是一样的。 如果没接触过seq2seq架构可以通俗的理解编码器用来处理输入解码器用来输出但与seq2seq的架构不同的是transformer是纯基于注意力的。 之前花了几篇的篇幅讲注意力也是在为后面讲解这个模型打基础。
transformer模型无疑是近几年最重要的模型目前的大模型几乎都以它为基础发展很多模型的名字都带有缩写T正是transformer的缩写。 当然transfomer不仅仅用于自然语言处理领域归集于自然语言处理模块下面来讲是因为它在自然语言处理领域的应用非常广泛下面就讲它的几种应用。
transformer 模型在自然语言处理领域的应用
编码器和解码器架构比较擅长处理QA类的问题但这个QA不仅仅是一个问题、一个答案的形式许多的自然语言处理都可以理解为QA类问题比如
真实的QA类问题。比如机器人问答。机器翻译。比如中英翻译摘要提取。输入文章提取摘要情感分析。输入评价输出正面/负面评价 等等
下面来介绍transformer的架构看什么样子的架构能实现上面的这些功能
transformer 架构
它出自经典论文《attention is all you need》论文地址是 http://arxiv.org/abs/1706.03762本文中的诸多图片都是取自该论文下面的架构图也是出自论文 从上图就可以看出transfomer的架构包括左边encoder和右边decoder下面先来讲encoder部分
encoder
左侧的encoder部分输入一排input vector向量输出一排向量忽略中间的细节来看是如下的的架构 中间encoer部分如果是seq2seq架构就是RNNtransformer就相对复杂一些 下面分部分介绍encoder的各个部分
input处理部分词嵌入和postional encoding 输入一排经过词嵌入input Embedding再加上位置信息Postional Encoding 这部分可以在 位置编码有介绍生成一排向量。 然后进入attention计算
attention部分
transformer最重要的attention部分这部分是多头注意力。值得注意的是这部分的输出并不会直接丢给全连接层还需要在额外经过residual add和layer norm
add
add的操作: 执行residual 残差连接将attention的输入加到self-attention后的输出
Norm
残差后的输出进行层归一化层归一化的操作 不考虑batch将输入中同一个feature同一个sample不同的dimension 计算均值和标准差然后如下计算 这个操作用能听得懂的话翻译一下就是是对每个样本里面的元素进行归一化 整个过程如下 最终上述部分的输出作为全连接层的输入
Feedforward add Norm
上一部分的输出输入到本部分
Feedforword实际上就是两层全连接层中间有激活函数等 当然中间的卷积可以换成线性层Linear
经过这个全连接层的输出之后依然要经过残差add 和层归一化norm然后输出.
add Norm
这部分 同attention 那一层的操作此处不赘述
最终encoder的输出
在encoder中上面这三个步骤是可以重复多次的所以看到架构图中表示了*N操作。 最终的输出才是encoder的输出。
篇幅所限下一篇文章继续 transformer的decoder部分 自然语言处理六-最重要的模型-transformer-下