为什么self-attention要除以一个根号dk

2024-05-25 00:52
文章标签 self attention 除以 根号 dk

本文主要是介绍为什么self-attention要除以一个根号dk,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简单说法是为了让方差到1,推公式也好推。但是没几个人说为什么方差要到1.
如果不除以根号dk,显然QK有可能很大,这就让softmax更有能力得到接近one-hot的结果。这本应是好的,但是从实践来看,我们并不要求一定要输出one-hot,这有点over-fitting的感觉了。差不多就行。
还有更重要的理由。softmax求导是 a − a 2 a-a^2 aa2 a a a是softmax的结果。如果 a a a太one-hot了,这里的梯度直接全部到0,就太小了。我愿称之为softmax陷阱,就和sigmoid一样,你以为one-hot好,事实上谁知道呢,比起任由self-attention只关注一个v,还是看看远方的其他v吧。这样看,如果浅层网络已经提取到足够的信息了,后面的所有v都将与最有价值的v趋于一致,否则就会因为根号dk强制多see几个而引入不必要的v。除非readout的softmax不用根号dk,实际上也确实是这么做的。

这篇关于为什么self-attention要除以一个根号dk的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1000027

相关文章

多头注意力机制(Multi-Head Attention)

文章目录 多头注意力机制的作用多头注意力机制的工作原理为什么使用多头注意力机制?代码示例 多头注意力机制(Multi-Head Attention)是Transformer架构中的一个核心组件。它在机器翻译、自然语言处理(NLP)等领域取得了显著的成功。多头注意力机制的引入是为了增强模型的能力,使其能够从不同的角度关注输入序列的不同部分,从而捕捉更多层次的信息。 多头注意力机

DK盾-服务器 + docusaurus搭建

DK盾云服务器官网:https://www.dkdun.cn 详细可看我的github博客https://mumuzi7179.github.io/docs/Blog/%E5%8F%8B%E9%93%BE 主要是CSDN审核不通过 DK盾CTF群–727077055 以下是为了审核通过顺带写的。。 Docusaurus搭建 第一步,安装npm curl -fsSL https://

LLM agentic模式之reflection:SELF-REFINE、Reflexion、CRITIC

SELF-REFINE SELF-REFINE出自2023年3月的论文《Self-Refine: Iterative Refinement with Self-Feedback》,考虑到LLM第一次生成结果可能不是最好的输出,提出一种包括反馈(feedback)和改善(refinement)两个步骤的迭代方法来改进LLM的初始输出。 基本思路 对于输入,SELF-REFINE让LLM生成一个

【Deep Learning】Self-Supervised Learning:自监督学习

自监督学习 本文基于清华大学《深度学习》第12节《Beyond Supervised Learning》的内容撰写,既是课堂笔记,亦是作者的一些理解。 在深度学习领域,传统的监督学习(Supervised Learning)的形式是给你输入 x x x和标签 y y y,你需要训练一个基于参数 θ \theta θ的神经网络 f θ ( x ) f_\theta(x) fθ​(x)使其能

MCT Self-Refine:创新集成蒙特卡洛树搜索 (MCTS)提高复杂数学推理任务的性能,超GPT4,使用 LLaMa-3 8B 进行自我优化

📜 文献卡 题目: Accessing GPT-4 level Mathematical Olympiad Solutions via Monte Carlo Tree Self-refine with LLaMa-3 8B作者: Di Zhang; Xiaoshui Huang; Dongzhan Zhou; Yuqiang Li; Wanli OuyangDOI: 10.48550/a

多头Attention MultiheadAttention 怎么用?详细解释

import torchimport torch.nn as nn# 定义多头注意力层embed_dim = 512 # 输入嵌入维度num_heads = 8 # 注意力头的数量multihead_attn = nn.MultiheadAttention(embed_dim, num_heads)# 创建一些示例数据batch_size = 10 # 批次大小seq_le

CVPR2023论文速览自监督Self-Supervised相关38篇

Paper1 Self-Supervised Video Forensics by Audio-Visual Anomaly Detection 摘要原文: Manipulated videos often contain subtle inconsistencies between their visual and audio signals. We propose a video foren

动画图解Attention机制,让你一看就明白

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 作者:Raimi Karim 编译:ronghuaiyang 导读 之前分享了几次attention的文章,感觉意犹未尽,这次用GIF来解释Attention机制,让人一看就明白,并解释如何用在Google Translate之类的机器翻译场景中。 几十年来,统计机器翻译一直是占主导地位的翻译模型,直到神经机器翻译 (NMT)的

Attention机制的一个简单的概述

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 作者:Synced 编译:ronghuaiyang 导读 注意力机制并不神秘或复杂。它只是一个由参数和数学构成的接口。你可以在任何合适的地方插入它,并且可能会提升结果。 什么是Attention? Attention是一个简单的向量,通常使用softmax函数来输出得到。 在注意力机制之前,翻译依赖于阅读一个完整的句子,将所有的信

oc学习笔记1——self,super

self: self和java中的this,比较类似,但oc中的self比java中的this要强大。 1.self在对象方法(以-(减号)开头的方法)中,表示当前的实例对象。 2.self在类方法(以+(加号)开头的方法中),表示当前类 super: 调用当前方法的父类方法(类方法或对象方法), 使用的场景:子类只是想覆盖父类中的某个方法,并且只是对父类方法的拓展,在父类