从self-attention到Transformer之self-attention

从self-attention到Transformer之self-attention

1. self-attention

想要解决一个Seq2Seq的问题,根据经验我们完全可以把整个序列的每一个向量都丢到一个fully-connected neural network中然后根据不同任务输出对应的输出,就像下图一样:
FC指的是全连接的的神经网络
但是很明显这种结构显然有很大的瑕疵,假如今天要做的是一个词性标注的任务,我们的输入是"I saw a saw"这样一个序列,两个位置的saw在经过fully-connected neural network之后肯定是一样的输出,但是事实上,在I后面的saw肯定和在a后面的saw不是一样的词性。所以有没有可能让神经网络考虑前后文的输入的。答案是有可能的,就像下图一样,把前后几个向量串起来一起丢到fully-connected neural network里面去:
考虑了上下文的fully-connected neural network
但是这种做法也是有极限的,如果有一个任务不能只考虑一个window里面的内容,而是要考虑整个序列才能解决,而且输入的序列有长有短,这种做法显然行不通。所以有没有更好的办法考虑前后文的信息呢?这就是接下来self-attention要做的事情。
self-attention框架
self-attention要输入一整个序列,然后经过一些列操作输出相同长度的序列。像上图中所示,输入四个向量的序列然后输出四个向量,然后再通过过fully-connected neural networkd得到输出。跟之前fully-connected neural network不同的是,输出的四个向量都是考虑了整个输入序列的信息才得到的。当然这一系列过程完全是可以叠加的,就像下图一样。self-attention和fully-connected neural network交替使用,self-attention处理整个序列的信息,fully-connected neural network专注于处理一个位置的信息。
在这里插入图片描述
在2017年Google提出的transformer模型中核心的结构就是self-attention。文章有一个霸气的名字叫"Attention is all you need."。附上原文链接:https://arxiv.or

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值