面试常问系列(二)-神经网络参数初始化之自注意力机制

目录

(一)、transformer中的自注意力机制为什么要除以根号d?

[1. 点积的方差问题](#1. 点积的方差问题)

[2. 缩放的作用](#2. 缩放的作用)

[3. 类比初始化方法](#3. 类比初始化方法)

[4. 实验验证](#4. 实验验证)

5.总结


(一)、transformer中的自注意力机制为什么要除以根号d?

在Transformer的自注意力机制中,除以根号维度(即,其中是键向量的维度)的核心目的是为了稳定梯度,避免点积结果因维度增大而爆炸。以下是详细解释:

1. 点积的方差问题

  • 假设:查询向量(Q)和键向量(K)的每个分量独立且服从均值为0、方差为1的分布。
  • 点积计算 的结果是个独立分量的和(因为维度是d的点积,所以就是q1*k1+...+qn*kn)。根据独立变量的方差叠加性质,点积的方差为,标准差为
  • 问题 :当较大时(如512或1024),点积结果可能分布在的宽区间内。若直接输入Softmax,其梯度会因输入值过大而趋近于0(梯度饱和),导致训练困难。
    • 这里我在赘述一下
      • 随着d的增大,点积的范围可能变大,举例子
        • d=10,点击范围可能[-10,10]波动
        • d=1000,点击范围可能[-30,30]波动,甚至更高。
        • 讲到这里肯定有人好奇,这个为什么呢?除了直观上的加和项变多,该怎么理解呢?
          • 首选可以参考我上面的文章面试常问系列(一)-神经网络参数初始化-CSDN博客,会更好理解,下面我简单说一下。
          • 这个的方差就是上面说的,d个独立分量的和
          • 上面的公式是核心,不理解的可以再去看一下我的链接。这也就是说,新的标准差范围取决于维度个数!!!
    • 还有什么问题呢?
      • 1>**数值不稳定:**softmax的公式分子是e的x次幂,分母是求和,如果包含大树,e的指数运算会直接溢出。如果x = [1000,10,10],则1000就直接溢出了。

      • 2>权重分布退化: softmax的公式分子是e的x次幂,分母是求和,如果包含大数,比如,x = [100,10,10] 那么softmax之后的值为

        复制代码
        [1.0, 8.194012623990515e-40, 8.194012623990515e-40]这个结果应该比较直观了,某个权重接近1,其他权重接近0,注意力机制,将会只关注极个别特征,变成hard模式,而没有那么soft!
      • 3>训练困难 :在初始化阶段,过大的点积使 Softmax 输出极端化(接近0或1),梯度趋于零,导致梯度消失,阻碍模型收敛。不太理解的,可以去看下面试常问系列(一)-神经网络参数初始化-CSDN博客

2. 缩放的作用

  • 缩放公式 :将点积结果除以,即Softmax()。
  • 方差控制 :缩放后,点积的方差变为,标准差为1。这使得点积结果分布在更合理的区间(如-5到+5),Softmax的输入不会因维度增大而爆炸。
  • 梯度稳定性:Softmax的梯度在输入值适中时较大,缩放后梯度更稳定,模型训练更高效。

3. 类比初始化方法

  • 类似He初始化(考虑前一层神经元数量调整权重方差),此处通过缩放调整点积的方差,确保网络各层的输入分布稳定。

4. 实验验证

  • 原论文通过实验表明,缩放后模型收敛更快,性能更优。若省略缩放(即直接计算Softmax(Q⋅KT)),训练过程可能因梯度消失而失败。

5.总结

除以dk​​的本质是对点积结果进行方差归一化,确保Softmax的输入值不会随维度增大而失控,从而保持梯度稳定,提升训练效率和模型性能。这一设计是Transformer高效训练的关键细节之一。

6.赘述

后面这一部分,还会再出几个常见面试题,希望大家理论结合例子和实战,深入理解,加油!

相关推荐
西猫雷婶2 小时前
神经网络|(十九)概率论基础知识-伽马函数·下
人工智能·深度学习·神经网络·机器学习·回归·scikit-learn·概率论
机器学习之心4 小时前
PINN物理信息神经网络用于求解二阶常微分方程(ODE)的边值问题,Matlab实现
人工智能·神经网络·matlab·物理信息神经网络·二阶常微分方程
大千AI助手4 小时前
梯度消失问题:深度学习中的「记忆衰退」困境与解决方案
人工智能·深度学习·神经网络·梯度·梯度消失·链式法则·vanishing
HenrySmale21 小时前
01 神经网络简介
人工智能·深度学习·神经网络
小王爱学人工智能1 天前
残差神经网络的案例
人工智能·深度学习·神经网络
大千AI助手1 天前
梯度爆炸问题:深度学习中的「链式核弹」与拆弹指南
人工智能·深度学习·梯度·反向传播·梯度爆炸·指数效应·链式法则
荒野饮冰室1 天前
目标检测定位损失函数:Smooth L1 loss 、IOU loss及其变体
深度学习·神经网络·损失函数·iou
星期天要睡觉1 天前
深度学习——ResNet 卷积神经网络
pytorch·深度学习·神经网络
悟乙己1 天前
使用 BayesFlow 神经网络简化贝叶斯推断的案例分享(二)
人工智能·深度学习·神经网络
bylander2 天前
【论文阅读】Jet-Nemotron: 高效语言模型与后神经网络架构搜索
论文阅读·神经网络·语言模型