李宏毅04_nlp

前言

  • 根据输出不同nlp可以分为三类:
    1. 每个vector生成一个label :每一个节点有什么样的特性
    2. 整个sequence生成一个label :将留言分类为好或不好
    3. seq2seq:语言翻译
      在这里插入图片描述

一、self-attention

(一)sequence labelling

  • 将每个vector都输入到FCN(Fully-connected Network)网络中,得到一个label。
  • 缺点:缺少vector与vector之间关系的连接
    在这里插入图片描述

(二)self-attention

  1. 如何结合上下文
    • 将每个vector输入到self-attention网络中,该网络会结合上下文生成一个vector。新的vector是考虑是上下文之后的情况,再将其输入到FCN中得到label。
    • self-attention可多次使用,与FCN交替使用。
      在这里插入图片描述
      在这里插入图片描述
  2. 如何计算几个vector之间的相关性
  • (1)用soft-max将所有向量进行归一化,标准化。
    • 点积:若两个向量的点积为0,则说明两向量垂直,没有相关性。若点积为1,方向同向,说明它们完全相关。
      在这里插入图片描述
  • (2)根据vector之间关系的强弱,抽取重要资讯。
    在这里插入图片描述
  • (3)如何求参数b
    • 利用内积得到attention的分数
    • Wq:参数的集合,weight
      在这里插入图片描述
      在这里插入图片描述
  • (4)总结
    • I:input输入,self-attention的输入是一串vector
    • 对A进行处理(softmax,relu等)得到Amax
    • O:self-attention这个layer的输出
      在这里插入图片描述

(三)对位置的咨询Positional Encoding

加上一个位置向量ei
在这里插入图片描述

(四)self-attention在cv上的应用

  • 将image分为pixel,每个pixel是以RGB为维度的三维向量。
    在这里插入图片描述
  • self-attention VS CNN
    • self-attention比较的是每个像素点和图片其他像素点之间的关联性
    • CNN规定了一个感受野,它只考虑感受野以内的点的关联性。
    • self-attention是一个大的CNN,CNN是self-attention的局部版
    • CNN适合数据量小的情况;self-attention适合数据量大的情况
      在这里插入图片描述
      在这里插入图片描述

二、Transformer

  • 定义:是一个sequence To sequence的model
  • 结构:由一个Encoder和一个Decoder组成。输入一个sequence,由encoder进行处理,将处理好的结果给decoder,decoder决定它要输出什么样的sequence。
    在这里插入图片描述

(一)Encoder

  1. block
    • residual:将input直接与output加起来得到新的vector
    • 流程:先通过self-attention进行处理,residual,标准化,输入到FCN中进行非线性化,再residual,再标准化得到输出。这个输出才是transformer encoder里面一个block的输出。在这里插入图片描述
    • 将input加上positional encoding,进入到muti-head attention(self-attention),然后Add&Norm,再feed forward,再Add&Norm才是一个block的输出。
    • muti-head attention:是一种注意力机制的变体,常用于自注意力机制(self-attention)的多头组合。通过使用多个注意力头,模型可以同时关注不同的语义信息和位置信息,从而更好地捕捉输入序列中的不同特征。每个注意力头可以专注于不同的特征子空间,提供更多的表征能力和注意力的灵活性。
    • Add&Norm :residual + Layer norm
      在这里插入图片描述

(二)Decoder

  • 将输出当作下一轮输入
    在这里插入图片描述
  • masked:第n个参数只考虑n与n之前vector的关系,不管n之后vector的关系。
  • 因为decoder的输出是一个一个的,所以它只能考虑它左边的输入。在这里插入图片描述

(三)Encoder和Decoder之间怎么传递咨询

在这里插入图片描述

  • cross-attention
  • decoder生成一个q,去encoder那边抽取咨询出来,当作FCN的input。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值