Transformer是如何执行attention的?

在微信公众号上看到过一篇文章:https://mp.weixin.qq.com/s/pEGAc5Q6EDbIc7ysFC1WmA,这篇文章详细的介绍了Transformer的attention是如何执行的,这里我进行了总结,然后将transformer中的attention以及non-local中的attention进行了比较

transformer与non local对比

non-local原文地址:https://arxiv.org/pdf/1711.07971.pdf
non-local讲解:https://blog.csdn.net/weixin_41978699/article/details/122461611
知乎问题:https://www.zhihu.com/question/427061585/answer/1541669750

根据网上的一些结论和我的理解,这里总结了二者的区别与联系

联系

  • 二者均建立了长距离依赖关系,但是Transformer提供了一种pipeline,而non-local只是一种算子(可以理解为trick?)
  • non-local=transformer的single head attention,但是non local并没有涉及到FNN(即MLP) - pos embedding,所以MLP对于attention很重要?

区别

  • Non-local只做特征提取,并没有跳出CNN的范畴,依然以CNN为主要架构,只是在CNN处理的过程中用了attention思想进行一定处理的一个模块;而transformer则完全抛弃了CNN,整个pipeline看起来更简洁,可以理解为和CNN并列的一个工作
  • 接上条,对于CNN来说,将non local作为了辅助模块;而对于transformer来说却将attention作为核心模块(卷积和attention地位颠倒),但是可能会加一些卷积层,因为注意力并不擅长底层特征的提取,其余的建模交给注意力机制
  • CNN需要处理高分辨率的特征图并且引入相对位置表征,在GPU上的效率不高
  • transformer如果完全抛弃卷积,由于缺乏平移不变性的先验,对数据量和训练长度的要求很高,不能高效的学习,所以一般会做与训练模型,如果没有大量的数据进行预训练,建议保留部分卷积层
  • transformer处理为序列,而CNN为图像
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值