self Attention為何除以根號dk?(全新角度)

全網最獨特解析:self Attention為何除根號dk?

一、假設條件:查詢向量和鍵向量服從正態分布

假設查詢向量 q i q_i qi?和鍵向量 k j k_j kj?的每個分量均為獨立同分布的隨機變量,且服從標準正態分布,即:
q i ( m ) , k j ( m ) ~ N ( 0 , 1 ) ( m = 1 , 2 , … , d k ) q_i^{(m)}, k_j^{(m)} \sim \mathcal{N}(0,1) \quad (m=1,2,\dots,d_k) qi(m)?,kj(m)?N(0,1)(m=1,2,,dk?)
此時,每個分量的均值為0,方差為1。


二、點積的統計特性分析

查詢向量 q i q_i qi?和鍵向量 k j k_j kj?的點積為:
q i ? k j = ∑ m = 1 d k q i ( m ) k j ( m ) q_i \cdot k_j = \sum_{m=1}^{d_k} q_i^{(m)} k_j^{(m)} qi??kj?=m=1dk??qi(m)?kj(m)?
根據獨立隨機變量和的方差性質,點積的方差為:
Var ( q i ? k j ) = ∑ m = 1 d k Var ( q i ( m ) k j ( m ) ) \text{Var}(q_i \cdot k_j) = \sum_{m=1}^{d_k} \text{Var}(q_i^{(m)} k_j^{(m)}) Var(qi??kj?)=m=1dk??Var(qi(m)?kj(m)?)
由于 q i ( m ) q_i^{(m)} qi(m)? k j ( m ) k_j^{(m)} kj(m)?獨立且均服從 N ( 0 , 1 ) \mathcal{N}(0,1) N(0,1),乘積的方差為:
Var ( q i ( m ) k j ( m ) ) = Var ( q i ( m ) ) ? Var ( k j ( m ) ) + [ E ( q i ( m ) ) ] 2 ? Var ( k j ( m ) ) + [ E ( k j ( m ) ) ] 2 ? Var ( q i ( m ) ) = 1 \text{Var}(q_i^{(m)} k_j^{(m)}) = \text{Var}(q_i^{(m)}) \cdot \text{Var}(k_j^{(m)}) + [E(q_i^{(m)})]^2 \cdot \text{Var}(k_j^{(m)}) + [E(k_j^{(m)})]^2 \cdot \text{Var}(q_i^{(m)}) = 1 Var(qi(m)?kj(m)?)=Var(qi(m)?)?Var(kj(m)?)+[E(qi(m)?)]2?Var(kj(m)?)+[E(kj(m)?)]2?Var(qi(m)?)=1
因此,點積的方差為 d k d_k dk?,標準差為 d k \sqrt{d_k} dk? ?


三、縮放的必要性:Softmax的輸入敏感性

Softmax函數對輸入值的量級極其敏感:

  1. 數值溢出問題:若點積的絕對值隨 d k d_k dk?增大而顯著增大(例如 d k = 64 d_k=64 dk?=64時標準差為8),輸入Softmax的值可能超出浮點數表示范圍。
  2. 梯度消失問題:當某些點積值遠大于其他值時,Softmax輸出接近獨熱分布(Hard Attention),導致梯度趨近于零,阻礙參數更新。
  3. 分布退化問題:未經縮放的輸入會使注意力權重集中在極少數位置,失去“軟性關注”的優勢。

四、除以 d k \sqrt{d_k} dk? ?的數學解釋

通過將點積除以 d k \sqrt{d_k} dk? ?,可以將點積的標準差從 d k \sqrt{d_k} dk? ?縮放至1,即:
Var ( q i ? k j d k ) = Var ( q i ? k j ) d k = 1 \text{Var}\left( \frac{q_i \cdot k_j}{\sqrt{d_k}} \right) = \frac{\text{Var}(q_i \cdot k_j)}{d_k} = 1 Var(dk? ?qi??kj??)=dk?Var(qi??kj?)?=1
此時,點積的分布被標準化 N ( 0 , 1 ) \mathcal{N}(0,1) N(0,1),實現了以下效果:

  1. 數值穩定性:Softmax輸入的均值為0、方差為1,避免極端值。
  2. 梯度均衡性:Softmax輸出的概率分布更平緩,梯度更新更穩定。
  3. 模型魯棒性:注意力權重在多位置間合理分配,保留軟性關注能力。

五、為何不是其他縮放因子?

若采用其他縮放因子(如 d k d_k dk? 2 d k 2\sqrt{d_k} 2dk? ?):
? 除以 d k d_k dk?:方差將縮小為 1 / d k 1/d_k 1/dk?,導致Softmax輸入過小,注意力權重趨于均勻分布,失去區分性。
? 除以 2 d k 2\sqrt{d_k} 2dk? ?:方差將縮小為 1 / 4 1/4 1/4,輸入量級過小,同樣影響注意力權重的有效性。


總結

從正態分布的角度看,除以 d k \sqrt{d_k} dk? ?的本質是通過方差歸一化,將點積的統計特性控制在合理范圍內

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/74256.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/74256.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/74256.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

numpy學習筆記10:arr *= 2向量化操作性能優化

numpy學習筆記10:arr * 2向量化操作性能優化 在 NumPy 中,直接對整個數組進行向量化操作(如 arr * 2)的效率遠高于顯式循環(如 for i in range(len(arr)): arr[i] * 2)。以下是詳細的解釋: 1. …

Cursor+Claude-3.5生成Android app

一、Android Studio下載 https://developer.android.com/studio?hlzh-tw#get-android-studio 等待安裝完成 二、新建工程 點擊new project 選擇Empty Activity 起一個工程名 當彈出這個框時 可以在settings里面選擇No proxy 新建好后如下 點擊右邊模擬器&#xff0c…

WPF Reactive 數據綁定

文章目錄 Combox 綁定List-通過枚舉綁定方法一:方法二:Button 綁定TextBlock綁定NumericUpDown綁定Expander綁定checkbox綁定NumericUpDownCombox 綁定List-通過枚舉綁定 方法一: ViewControl using Avalonia; using Avalonia.Controls; using Avalonia.Markup.Xaml; usin…

算法及數據結構系列 - 滑動窗口

系列文章目錄 算法及數據結構系列 - 二分查找 算法及數據結構系列 - BFS算法 算法及數據結構系列 - 動態規劃 算法及數據結構系列 - 雙指針 算法及數據結構系列 - 回溯算法 算法及數據結構系列 - 樹 文章目錄 滑動窗口框架思路經典題型76. 最小覆蓋子串567. 字符串的排列438. …

Android adb調試應用程序

啟動app 有的時候app不是預先安裝的,也不能從界面start一個app,這時需要后臺拉起app。 $adb shell am start package.name/Activity.name 例如,android原生camera app, 包名為com.android.camera2, mainActivity名為…

Java EE(15)——網絡原理——TCP協議解析一

一.確認應答/(確認)序列號 接收方接收到數據后,向發送方返回一個確認信號(ack),告訴發送方數據被成功接收。ACK報文段只是作為確認使用的,一般來說不攜帶應用層數據(載荷),也就是說只有報頭部分。但有可能…

node-ddk,electron 組件, 打開新窗口

node-ddk 打開新窗口 https://blog.csdn.net/eli960/article/details/146207062 也可以下載demo直接演示 http://linuxmail.cn/go#node-ddk 本文講解如何在渲染進程發起創建新窗口, 包括 window.open 在主進程定義窗口類型 import main, { NODEDDK } from "node-ddk…

git管理時keil項目忽略文件列表

在使用 Git 管理 Keil MDK(μVision 5)工程時,需要忽略編譯生成的臨時文件、調試文件、用戶配置等非必要內容。以下是忽略文件的詳細列表及說明,可直接保存為 .gitignore 文件: Keil MDK 工程的 .gitignore 文件 giti…

C#單例模式

單例模式 (Singleton),保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。通常我們可以讓一個全局變量使得一個對象被訪問,但它不能防止你實例化對個對象,一個最好的辦法就是,讓類自身負責保護它的唯一實例。這個類可以保證沒…

ZYNQ的cache原理與一致性操作

在Xilinx Zynq SoC中,Cache管理是確保處理器與外部設備(如FPGA邏輯、DMA控制器)之間數據一致性的關鍵。Zynq的ARM Cortex-A9處理器包含L1 Cache(指令/數據)和L2 Cache,其刷新(Flush/Invalidate&…

Linux NFS、自動掛載與系統啟動管理指南

1. NFS客戶端掛載導出的目錄的方式 NFS(網絡文件系統) 允許將遠程服務器的目錄掛載到本地,像訪問本地文件一樣操作遠程文件。掛載方式主要有兩種: 手動掛載:使用 mount 命令(臨時生效,重啟后丟…

NO.55十六屆藍橋杯備戰|排序|插入|選擇|冒泡|堆|快速|歸并(C++)

插?排序 插?排序(Insertion Sort)類似于玩撲克牌插牌過程&#xff0c;每次將?個待排序的元素按照其關鍵字??插?到前?已排好序的序列中&#xff0c;按照該種?式將所有元素全部插?完成即可 #include <iostream> using namespace std; const int N 1e5 10; …

【Oracle資源損壞類故障】:詳細了解壞塊

目錄 1、物理壞塊與邏輯壞塊 1.1、物理壞塊 1.2、邏輯壞塊 2、兩個壞塊相關的參數 2.1、db_block_checksum 2.2、db_block_checking 3、檢測壞塊 3.1、告警日志 3.2、RMAN 3.3、ANALYZE 3.4、數據字典 3.5、DBVERIFY 4、修復壞塊 4.1、RMAN修復 4.2、DBMS_REPA…

計算機網絡高頻(二)TCP/IP基礎

計算機網絡高頻(二)TCP/IP基礎 1.什么是TCP/IP?? TCP/IP是一種網絡通信協議,它是互聯網中最常用的協議之一。TCP/IP有兩個基本的協議:TCP(傳輸控制協議)和IP(互聯網協議)。 TCP(Transmission Control Protocol,傳輸控制協議)是一種可靠的、面向連接的協議。它負…

【大模型算法工程】大模型應用工具化、忠誠度以及知識庫場景下PDF雙欄解析問題的討論

1. 大模型時代應用工具化以及無忠誠度現象討論 接觸大模型久了&#xff0c;也慢慢探到一些大模型能力表現非常自然和突出的場景&#xff0c;比如AI搜索&#xff08;依賴大模型的理解總結能力&#xff09;、AI對話&#xff08;即chat&#xff0c;依賴大模型的生成能力&#xff0…

Java EE(13)——網絡編程——UDP/TCP回顯服務器

前言 本文主要介紹UDP和TCP相關的API&#xff0c;并且基于這兩套API實現回顯服務器 UDP和TCP UDP和TCP屬于網絡五層模型中傳輸層的協議 特點&#xff1a; UDP&#xff1a;無連接&#xff0c;不可靠&#xff0c;面向數據包&#xff0c;全雙工 TCP&#xff1a;有連接&#xff…

【藍橋杯】12111暖氣冰場(多源BFS 或者 二分)

思路 這題可以用BFS做&#xff0c;也可以用二分來做。 用二分這里只提供一個思路&#xff1a;對時間來二分查找&#xff0c;check函數就是檢查在特定的時間 t 0 t_0 t0?內每一個暖氣爐的傳播距離能否覆蓋所有格子。 用BFS做&#xff1a; 由幾個點開始向外擴散&#xff0c;知道…

使用bat批量獲取WORD中包含對應字符的段落,段落使用回車換行

get_word_paragraphs.vbs 獲取命令行參數 If WScript.Arguments.Count 0 ThenWScript.Quit 1 End If 獲取 Word 文檔路徑 docPath WScript.Arguments(0) 創建 Word 應用程序對象 Set objWord CreateObject("Word.Application") objWord.Visible False 打開 Word …

DeepSeek自學手冊:《從理論(模型訓練)到實踐(模型應用)》|73頁|附PPT下載方法

導 讀INTRODUCTION 今天分享是由ai呀蔡蔡團隊帶來的DeepSeek自學手冊&#xff1a;《從理論&#xff08;模型訓練&#xff09;到實踐&#xff08;模型應用&#xff09;》&#xff0c;這是一篇關于DeepSeek模型訓練、應用場景及替代方案的綜合指南文章&#xff0c;主要介紹了Deep…

WEB API 設計規范

REST API 簡介 REST 是 Representational State Transfer 的縮寫&#xff0c;它將資源作為核心概念&#xff0c;通過 HTTP 方法對資源進行操作。其本身是一套圍繞資源進行操作的架構規范。在實際應用中&#xff0c;更多的是體現在 API 的設計上。 企業在進行產品設計開發時&a…