[机器学习]详解transformer---小白篇

1.背景:

Transformer是2017年的一篇论文《Attention is All You Need》提出的一种模型架构,这篇论文里只针对机器翻译这一种场景做了实验,并且由于encoder端是并行计算的,训练的时间被大大缩短了。全面击败了当时的SOTA,

现阶段,Transformer在cv领域也是全面开花,基于transformer的目标识别,语义分割等算法也是经常屠榜。

论文: [1706.03762] Attention Is All You Need (arxiv.org)         

2.正文:

2.1 self-attention 是什么?

感性认识:

举例子:今天晚上打你

首先转换为词向量,转换为不同维数的矩阵。(维数是我随便写的,就是举个栗子)

 之后self-attention重构词向量,根据句子中每个词和自己的关系,通过权重表示关系的紧密程度。

 这就是自注意力机制,即:一句话当中每个词看其他词与自己的关系,这个词和其他句子中的词之间的关系叫做注意力机制。

2.2 self-attention 如何计算?

 

q1:当x1主动查别的词向量和自己的关系时需要用到的向量;

k1:当x1被别的词向量查询时需要出示的向量;

v1:当前词的特征向量

注意:每一个词向量都有q1,k1,v1这三个辅助向量;

 通过训练得到Q,K,V 三个矩阵。

divide by 8: 消除维数不同对相似程度的影响,理解为向量是64位,开根号之后为8。

2.3 multi-headed 机制

 

2.4 Transformer 在CV方向的应用

视觉中的Attention 表现为关注图片前景,弱化背景。 以ViT为例说明:

 Token :每一个词或者每一个patch。

将输入的图片分成九份,每一份都以向量的的形式输入,通过一个全连接层,即:x1 = wx1 + b ,之后是self-attention 计算。每一份就是一个token。

 处理图片的时候需要patch position Embedding。位置向量和图片向量要绑定在一起。

 CNN层数的增多会提取更多的特征,能有更大的感受野,但是transformer 不需要堆叠,就可以或多全局的信息,但是transformer的训练能需要更好的资源,需要更多的训练数据。CNN不需要占用很大的资源。transformer 5 层相当于CNN30层

2.4.1位置编码

未完待续......

最后,如果这篇文章让你有多一点点了解编程这个世界,那就点个赞吧!

参考:

【经典精读】Transformer模型深度解读 - 知乎 (zhihu.com)

哔哩哔哩:【唐宇迪】transformer算法解读及其在CV领域应用_哔哩哔哩_bilibili

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值