注意力计算为什么要除以根号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的大小左右。

相关推荐
Allen_LVyingbo2 小时前
机器伦理层级跃迁的逻辑结构、哲学意涵与形式化建模(上)
开发语言·人工智能·python·数学建模·量子计算
Mr数据杨2 小时前
医学影像分类模型构建与辅助诊断落地
机器学习·数据分析·kaggle
hpoenixf2 小时前
年轻人的第一个复杂 skill:我把 AI Skill 重做了三次
前端·人工智能
小博士爱吃西红柿3 小时前
GPT-Image-2-All 图像模型 API 对接
人工智能·gpt·ai作画
輕華4 小时前
LSTM实战(上篇):微博情感分析——词表构建与数据集加载
人工智能·机器学习·lstm
大江东去浪淘尽千古风流人物5 小时前
【cuVSLAM】GPU 加速、多相机、实时视觉/视觉惯性 SLAM设计优势
c++·人工智能·数码相机·ubuntu·计算机视觉·augmented reality
Elastic 中国社区官方博客10 小时前
Elasticsearch:使用 Agent Builder 的 A2A 实现 - 开发者的圣诞颂歌
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
chools10 小时前
【AI超级智能体】快速搞懂工具调用Tool Calling 和 MCP协议
java·人工智能·学习·ai
郝学胜-神的一滴11 小时前
深度学习必学:PyTorch 神经网络参数初始化全攻略(原理 + 代码 + 选择指南)
人工智能·pytorch·python·深度学习·神经网络·机器学习