zoukankan      html  css  js  c++  java
  • 动手学深度学习 | 注意力分数 | 65

    注意力分数

    刚刚的注意力权重,如何设计使得和我们现在的东西比较相像?里面一个东西叫做注意力分数。

    可以看看之前的使用过了高斯核的注意力。

    上图有一堆key-value pair(训练时候的x和y),输入一个query(推理时候的x),然后query和每一个key做一个计算,得到一个注意力分数a,然后这些注意力分数a经过softmax得到注意力权重,然后(alpha(x,x_i)y_i)就可以得到一个注意力的输出。

    拓展到高维度,就是这些向量可以是长度不同的,应该怎么处理呢?

    可加性的注意力是什么意思?

    k是长度为k的向量,q是长度为q的向量,那么(W_kk)会得到一个长度为h的向量,(W_qq)也会得到一个长度为h的向量,然后将两个向量加起来,再和长度为h向量v进行计算。

    好处:key,value可以是任意的长度

    如何query和key的长度一样,长度为d,那么最简单的方式就是不学东西,直接query和key进行内积,在除$sqrt{d} $

    这个操作就是让其相对来说对参数没有那么敏感。

    这个的好处是不用学习参数。

    代码

    QA

    1. 把之前的x和x_i换成了q和k_i吗?

    是的,之前核方法的注意力那里使用的是x和x_i,这里换成了q和k_i。

    沐神说干脆下次把书的公式进行统一,统一为q和k_i。

  • 相关阅读:
    51. N皇后-递归dfs+回溯-困难
    Python基础/注意事项
    22. 括号生成-递归dfs回溯-中等难度
    40. 组合总和 II-递归dfs+剪枝-中等难度
    90. 子集 II-递归+dfs-中等难度
    78. 子集-递归+dfs-中等难度
    871. 最低加油次数-贪心-困难
    T-SQL 日期函数
    T-SQL DISTINCT子句 去重复
    T-SQL 数值函数
  • 原文地址:https://www.cnblogs.com/Rowry/p/15378449.html
Copyright © 2011-2022 走看看