注意力计算为什么要除以根号dK

文章目录

一、QKV的初始化方式

首先要知道,QKV的初始化方式为均值为0,方差为1的随机初始化

均值非零的负面影响

当数据分布均值不为零时,例如全为正数,每一层的输出会逐渐向上偏移。这种偏移在深层网络中不断累积,最终导致数值爆炸。对称分布的数据能让信号落在激活函数最敏感的区域内,通常以零为中心的区域对ReLU、Softmax等函数最为敏感,有利于梯度传播和学习效率。

方差过小的后果

方差过小(如0.0001)会导致信号在传播过程中逐渐衰减。矩阵乘法后的数值越来越小,激活函数输出接近零。这种情况下梯度也会变得极小,网络难以更新权重,出现梯度消失现象。

方差过大的后果

方差过大(如100)会使信号在传播过程中不断放大。矩阵乘法后的数值越来越大,激活函数进入饱和区。此时梯度可能变得极大或不稳定,导致权重更新幅度过大,出现梯度爆炸现象,甚至产生NaN值。

理想方差设置

将方差设置为1能保持信号传播的稳定性。经过线性变换、注意力机制或残差连接后,信号幅度既不会放大也不会缩小。这种稳定的信号传播是深层网络有效训练的基础。

初始化方法的选择

常用初始化方法如Xavier和Kaiming初始化,都考虑了输入输出的维度关系来调整初始权重分布。这些方法通过数学推导确保前向传播和反向传播中信号的方差保持稳定,避免梯度问题的发生。

激活函数的影响

不同激活函数对初始化策略有不同要求。例如ReLU家族函数需要特别处理负半轴的稀疏性,Sigmoid类函数需要注意避免饱和区。选择初始化方法时应结合具体激活函数的特性。

二、方差的累计特性

方差的可加性:独立随机变量和的方差等于方差的和。

方差的缩放性质:随机变量乘以常数 ( a ) 时,方差变为 ( a 2 ) ( a^2 ) (a2) 倍。

方差大 → 分数差距极端 → e x e^x% ex爆炸 → softmax 输出极度稀疏 → 梯度消失 → 训练崩溃。

除以 ( d k ) \sqrt{(d_k)} (dk) ,相当于将方差缩小的到了1的大小左右。

相关推荐
飞Link7 分钟前
智能体时代的“紧箍咒”:深度解析 Agent 治理架构与 AI 杀伤开关
人工智能·架构
飞Link12 分钟前
2000 亿砸向算力:字节跳动 AI 基建跨越,后端与运维的“万亿 Token”生死战
运维·人工智能
zhangfeng113325 分钟前
小龙虾 wordbuddy 安装浏览器控制器 agent-browser npm install -g agent-browse
前端·人工智能·npm·node.js
阿里云大数据AI技术25 分钟前
一条 SQL 生成广告:Hologres 如何实现素材生成到投放分析一体化
人工智能·sql
liudanzhengxi34 分钟前
GitSubmodule避坑全攻略
人工智能·新人首发
用户4252108006036 分钟前
Claude Code Linux 服务器部署与配置
人工智能
OJAC11138 分钟前
学过Python却不敢投AI岗,他最后拿下12K offer
人工智能
Bigger39 分钟前
因为看不懂小棉袄的画,我写了个 AI 程序帮我“翻译”她的世界
前端·人工智能·ai编程
CeshirenTester41 分钟前
LangChain的工具调用 vs 原生Skill API:性能差在哪儿?
java·人工智能·langchain
爱问的艾文1 小时前
八周带你手搓AI应用-第二周-让AI更像人-第1天-流式输出改造
人工智能