• [李宏毅] self attention 个人笔记


    https://www.bilibili.com/video/BV1JA411c7VT?p=11&spm_id_from=333.880.my_history.page.click&vd_source=14d17a501a1dad78c613f1ba7f8f947c

    输入输出

    传统神经网络的输入是一个向量。

    self attention

    • 输入:一组向量,且长度可以不固定。比如
      • NLP:一个句子由一些词组成,每个词是一个向量,长度固定;但一个句子由多少词是不确定的。
      • 一段声音信号,每个窗口用一个向量表示
      • 一个graph:each node as a vector
    • 输出:三种情况
      • 每个vector都有一个输出(sequence labeling)
        • NLP:词性标注 POS taggin
        • 声音信号:每一个frame的元音?
        • graph:每个人会不会买这个商品
      • 整个sequence有一个输出
        • NLP: sentiment analysis: 这段话是消极还是积极
        • 声音信号:这是谁说的
        • graph:这个分子是否亲水
      • 不知道多少个输出label,机器自己决定 (seq2seq)
        • NLP : 语言翻译
        • 声音信号:语音识别

    过程:

    scalar角度:如何从a求b (single head, w.o. PE)

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    矩阵乘法角度:如何从a求b (single head, w.o. PE)

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    multi head

    就是使用多组qkv,得到多组b,这些b拼接起来乘W得到最终的b.
    在这里插入图片描述

    PE

    实际上还需要把position encoding和a相加再操作。
    在这里插入图片描述

    应用

    主要是NLP,如bert。

    如果是speech这种数据,长度太长,可以截断:
    在这里插入图片描述
    如果把image看做一排向量,也可以用transformer:
    在这里插入图片描述

    self attention V.S. CNN

    CNN 类似于,只对领域求α的self attentin。
    在这里插入图片描述
    可以看这篇论文
    在这里插入图片描述
    相当于self attention加上一些限制,就是CNN。所以在样本少的时候cnn更好,样本多时相反。
    在这里插入图片描述

    self attention V.S. RNN

    也有相似之处。
    但self attention可以并行计算,而且离得很远的东西也可以很好的用到(RNN容易遗忘)。因此现在基本self attention可以代替RNN。
    在这里插入图片描述

    for graph

    只需算有边的点的alpha,没边的直接置0
    在这里插入图片描述

  • 相关阅读:
    腾讯云双11服务器优惠活动价格表预热!
    jQuery 事件
    基于MCMC的交通量逆建模(Matlab代码实现)
    PMP考试通关宝典-敏捷专题
    【已解决】微信小程序-苹果手机日期解析异常
    SPFA算法(判断负权回路,求最短路径)(851,852)
    LinkedList源码分析
    第7讲:Python中整数序列Range函数的概念以及使用
    OData WebAPI实践-与ABP vNext集成
    2023国赛数学建模C题模型代码
  • 原文地址:https://blog.csdn.net/qq_34342853/article/details/126189649