码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 软注意力和硬注意力的对比


    软注意力和硬注意力的对比

    软注意力(确定):

    软(确定性)注意力机制使用所有键的加权平均值来构建上下文向量。对于软注意力,注意力模块相对于输入是可微的,因此整个系统仍然可以通过标准的反向传播方法进行训练。软注意力数学描述如下1:
    e = f ( q , k ) α = s o f t m a x ( e ) = e x p ( e i ) ∑ k = 1 n e x p ( e k ) c = ∑ i = 1 n α i v i \begin{aligned} \pmb{e} &= f(\pmb{q},\pmb{k}) \\ \pmb{\alpha}&=softmax(\pmb{e})=\frac{exp(e_i)}{\sum_{k=1}^nexp(e_k)} \\ \pmb{c}&=\sum_{i=1}^{n}\alpha_i\pmb{v}_i \end{aligned} eeααcc​=f(qq,kk)=softmax(ee)=∑k=1n​exp(ek​)exp(ei​)​=i=1∑n​αi​vvi​​
    其中的 f ( q , k ) f(q,k) f(q,k)有很多种计算方法,如下表所示1:

    在这里插入图片描述

    硬注意力(随机):

    硬(随机)注意力中的上下文向量是根据随机采样的键计算的。硬注意力可以实现如下1:
    α ~ ∼ M u l t i n o u l l i ( { α i } ) c = ∑ i = 1 n α ~ i v i \widetilde{\alpha} \sim Multinoulli(\{\alpha_i\}) \\ \pmb{c}=\sum_{i=1}^{n}\widetilde{\alpha}_i\pmb{v}_i α ∼Multinoulli({αi​})cc=i=1∑n​α i​vvi​
    注:多项式分布2:多项式分布是二项式分布的推广。二项式做n次伯努利实验,规定了每次试验的结果只有两个。如果现在还是做n次试验,只不过每次试验的结果可以有m个,且m个结果发生的概率互斥且和为1,则发生其中一个结果X次的概率就是多项分布。概率密度函数是:
    P ( X 1 = k 1 , X 2 = k 2 , ⋯   , X n = k n ) = n ! ( k 1 ! ) ( k 2 ! ) ⋯ ( k n ! ) ∏ i = 1 n ( p k i ) P(X_1=k_1,X_2=k_2,\cdots,X_n=k_n)=\frac{n!}{(k_1!)(k_2!)\cdots(k_n!)}\prod \limits_{i=1}^n(p_{k_i}) P(X1​=k1​,X2​=k2​,⋯,Xn​=kn​)=(k1​!)(k2​!)⋯(kn​!)n!​i=1∏n​(pki​​)

    两者的对比和一种改进:

    与软注意力模型相比,硬注意力模型的计算成本更低,因为它不需要每次都计算所有元素的注意力权重。 然而,在输入特征的每个位置做出艰难的决定会使模块不可微且难以优化,因此可以通过最大化近似变分下限或等效地通过 REINFORCE 来训练整个系统。 在此基础上,Luong 等人提出了机器翻译的全局注意力和局部注意力机制3。 全局注意力类似于软注意力。 局部注意力可以看作是硬注意力和软注意力之间的有趣混合,其中一次只考虑源词的一个子集。 这种方法在计算上比全局注意力或软注意力更便宜。 同时,与硬注意力不同,这种方法几乎在任何地方都是可微的,从而更容易实现和训练。

    全局的注意力结构如下4:

    在这里插入图片描述

    局部的注意力结构如下4:

    在这里插入图片描述

    参考:


    1. Niu Z, Zhong G, Yu H. A review on the attention mechanism of deep learning[J]. Neurocomputing, 2021, 452: 48-62. ↩︎ ↩︎ ↩︎

    2. 《Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》论文阅读 ↩︎

    3. Luong M T, Pham H, Manning C D. Effective approaches to attention-based neural machine translation[J]. arXiv preprint arXiv:1508.04025, 2015. ↩︎

    4. Luong M T, Pham H, Manning C D. Effective approaches to attention-based neural machine translation[J]. arXiv preprint arXiv:1508.04025, 2015.
      ranslation[J]. arXiv preprint arXiv:1508.04025, 2015. ↩︎ ↩︎

  • 相关阅读:
    springcloud_2021.0.3学习笔记:nacos单机模式支持mysql
    2022牛客多校联赛第十场 题解
    ClickHouse distributed表引擎
    Rt-Thread 移植2--线程定义与切换(KF32)
    基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持formdesigner的本地图片上传与回显的功能实现
    dreamweaver个人网页设计作业 学生个人网页猫眼电影 WEB静态网页作业模板 大学生个人主页博客网页代码 dw个人网页作业成品
    图片翻译成中文怎么弄?分享三个图片翻译小技巧
    Java面试题:当任务数超过线程池的核心线程数时,如何让它不进入队列,而是直接启用最大线程数
    git项目中object清理,.git目录透明化以及基础的git管理基础
    论文阅读_LMM 的黎明_GPT4_4V
  • 原文地址:https://blog.csdn.net/KPer_Yang/article/details/126356818
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号