Transformer算法——总结

目录

简介:

详解一——宏观黑盒:

详解二——拆分组件:

详解三——编码器和解码器:

编码器:

解码器:

 详解四——引入张量:

 详解五——观察编码器:

详解六——查询向量、键向量、值向量

 详解七——通过矩阵运算实现自注意力机制 

详解八——自注意力的矩阵运算形式

讲解九——残差模块

 详解十——Decode整体动态图


简介:

        算法出处想必大家都熟悉了,源于论文《Attention is All You Need》,代码部分可以从GitHub获取,其作为Tensor2Tensor包的一部分。(注:目前也实现了一个基于PyTorch的版本

        来看一下算法的总体结构,稍后从更容易理解的角度分析:

在这里插入图片描述


详解一——宏观黑盒:

        都说卷积神经网络可以看作一个黑盒子,其实Transformer算法模型也是一个黑箱操作,看图理解:在机器翻译中,很明显,输入一种语言,经过算法模型得到另一种语言的输出。

        从全局的角度看完之后,咱们来看局部的算法模型,其实它是由编码组件、解码组件和它们之间的连接组成 。如下图:


详解二——拆分组件:

        编码组件部分:由一堆编码器(encoder)构成。

        解码组件部分:由相同数量(与编码器对应)的解码器(decoder)组成。


详解三——编码器和解码器:

        所在的编码器在结构上都是相同的,但它们没有共享参数。每个解码器都可以分解成两个子层。

编码器:

        输入——>经过一个自注意力(self-attention)层(帮助编码器在对每个单词编码时关注句子的其他单词)——>前馈(feed-forward)神经网络中(每个位置的单词对应的前馈神经网络都完全一样或者说是一层窗口为一个单词的一维卷积神经网络

解码器:

        除了具有编码器的自注意力层和前馈神经网络层以外,这两层之间还有一个注意力层,用来关注输入句子的相关部分(和seq2seq模型的注意力作用相似)。 


 详解四——引入张量:

        在图景中我们了解了模型,那么各种向量和张量是怎么样在模型的不同部分中,将输入转化为输出的呢?

        1、首先将每个输入单词通过词嵌入算法转换为词向量。

        2、每个单词都被嵌入为512维的向量,用上图的方框代替这些向量。

         3、词嵌入过程只发生在最底层的编码器中。所有编码器接收一个向量列表,列表中那个的每个向量大小为512维。在底层(最开始)编码器中它就是词向

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值