李宏毅深度学习笔记07---Transformer

1.Transformer的入门简介

transformer是一种带有self-attention的seq2seq 的模型

处理seq2seq的问题最常用的架构是RNN

下图,左边的结构是RNN,右边的结构是self-attention layer,bi可以基于整个输入序列而得到的。b1,b2,b3,b4是并行计算的。

self-attention layer 可以取代RNN 

2.Self-attention的原理

 

(1)拿每个query q去对每个key k做attention

(2)进行soft-max处理

softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类!

假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值就是

更加形象的描述是:

理解完softmax,就容易理解下图了。

 

 

(3)得到输出结果b1

其中,代表乘法的意思。

同理,可以得到b2,b3,b4的值。

(4)利用矩阵的思想理解self-attention的第1,2,3步的执行过程

<1>q,v,k的矩阵化表示

<2>α1,11,21,31,4计算过程矩阵化表示

<3>计算得到b

(4)self-attention计算过程回顾

3.self-attention 未考虑位置信息

self-attention模型中是没有位置信息的,原始论文中有一个独特的位置变量ei,这个ei不是从数据中学出来的,而是人为设定的

可以这样理解,将每个词的位置信息理解为one-hot的词向量pi,将pi与xi做拼接。W也可以看做由两部分WI,WP组成。

 

4.Transformer非常经典的结构图

 

(1)attention的可视化

从下图中可知,第一个句子,it通过attention知道对应animal,第2个句子通过修改第一个句子的部分内容,可知it对应street

 

5.Transformer的应用

总结一句话:凡是可以用seq2seq的地方,都可以用transformer

 

posted @   雨后观山色  阅读(975)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示