面試常問系列(一)-神經網絡參數初始化-之-softmax

背景

本文內容還是對之前關于面試題transformer的一個延伸,詳細講解一下softmax

面試常問系列(二)-神經網絡參數初始化之自注意力機制-CSDN博客

Softmax函數的梯度特性與輸入值的幅度密切相關,這是Transformer中自注意力機制需要縮放點積結果的關鍵原因。以下從數學角度展開分析:

1. Softmax 函數回顧

給定輸入向量?z?= [z?, z?, ..., z?],Softmax 輸出概率為:

\sigma(z)_i = \frac{e^{z_i}}{\sum_{j=1}^{k}e^{z_j}} =\frac{e^{z_i}}{S},S=\sum_{j=1}^{k}e^{z_j}????????????????????????

其中?S?是歸一化因子。

2. 梯度計算目標

計算 Softmax 對輸入?z?的梯度,即?\frac{\delta \sigma_i}{\delta z_j}對所有?i,j∈{1,…,k}。

3. 梯度推導

根據鏈式法則,對?σi??關于?zj??求導:

\frac{\delta \sigma_i}{\delta z_j} = \left\{\begin{matrix} &\sigma_i(1-\sigma_j)) &if &i=j, \\ & -\sigma_i\sigma_j &if &i\neq j, \end{matrix}\right.

具體推到過程就不展示了,感興趣的有需要的可以評論下。因為本次重點不是通用的softmax分析,而是偏實戰分析。

4. 與交叉熵損失結合的梯度

在實際應用中,Softmax 通常與交叉熵損失L = \sum_{i=1}^{n}y_i*log\sigma_i 結合使用。此時梯度計算更簡單:

\frac{\partial L }{\partial z_j} = \sigma(z_j)-y_j

其中?y_j是真實標簽的 one-hot 編碼。

5. 推導

  1. 交叉熵損失對??\sigma_i?的梯度:

\frac{\partial L }{\partial\sigma_i} = -\frac{y_i}{\sigma_i}

? ? 2. 通過鏈式法則:

\frac{\partial L }{\partial z_j} =\sum_{i} \frac{\partial L }{\partial \sigma_i}\frac{\partial \sigma_i }{\partial z_j}=\sum_{i} -\frac{y_i }{\sigma_i}\frac{\partial \sigma_i }{\partial z_j}

????3. 代入在上面求解出的\frac{\delta \sigma_i}{\delta z_j}

  • i = j時,\frac{\partial L }{\partial z_j} =-\frac{y_i }{\sigma_j}*\sigma_j(1-\sigma_j)=-y_i*(1-\sigma_j)
  • i \neq j時,\frac{\partial L }{\partial z_j} =\sum_{i\neq j}-\frac{y_i }{\sigma_j}*(-\sigma_i\sigma_j)=\sigma_j*\sum_{i\neq j}{y_i}

? ? 4.合并上述結果

\frac{\partial L }{\partial z_j} =-y_j*(1-\sigma_j) + \sigma_j*(1-y_j)=\sigma_j-y_j

6.?梯度消失問題

  • 極端輸入值:若z_k遠大于其他z_i,則\sigma (z_k) \approx 1,其他\sigma (z_i) \approx 0。此時:
    • z_k的梯度:-y_k*(1-\sigma_{z_k}) \approx 0(若yk?=1,梯度接近0)。
    • 對其他zi?的梯度:\sigma (z_i) \approx 0, \sigma_j*\sum_{i\neq j}{y_i} \approx 0,梯度趨近于0。
  • 后果:梯度消失導致參數更新困難,模型難以訓練。

7.?縮放的作用

在Transformer中,點積結果除以dk??后:

  • 輸入值范圍受限:縮放后z_i的方差為1,避免極端值。
  • 梯度穩定性提升\sigma (z_i)分布更均勻,-y_k*(1-\sigma_{z_k})\sigma (z_i)不會趨近于0,梯度保持有效。

5.?直觀示例

  • 未縮放:若dk?=512,點積標準差結果可能達±22,Softmax輸出接近0或1,梯度消失。
  • 縮放后:點積結果范圍約±5,σ(zi?)分布平緩,梯度穩定。
  • 這個示例在最開始的跳轉鏈接有詳細解釋,可以參考。

總結

Softmax的梯度對輸入值敏感,過大輸入會導致梯度消失。Transformer通過除以dk??控制點積方差,確保Softmax輸入值合理,從而保持梯度穩定,提升訓練效率。這一設計是深度學習中處理高維數據時的重要技巧。

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

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

相關文章

5.9-selcct_poll_epoll 和 reactor 的模擬實現

5.9-select_poll_epoll 本文演示 select 等 io 多路復用函數的應用方法,函數具體介紹可以參考我過去寫的博客。 先綁定監聽的文件描述符 int sockfd socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in serveraddr; memset(&serveraddr, 0, sizeof(struc…

Python基礎語法(上)

常量和表達式 我們可以使用python來進行一些 - * / %的一些運算 print(1 2 - 3) print(1 2 * 3) print(1 2 / 3) python中的運算規則與數學當中一致,先乘除后加減,有括號的先計算括號里面的。 形如 1 2 - 3 這樣是算式, 在編程語言中稱為 表達式,…

數圖閃耀2025深圳CCFA中國零售博覽會:AI+零售數字化解決方案引發現場熱潮

展會時間:2025年5月8日—10日 地點:深圳國際會展中心(寶安新館) 【深圳訊】5月8日,亞洲規模最大的零售行業盛會——2025 CCFA中國零售博覽會在深圳盛大開幕。本屆展會匯聚全球25個國家和地區的900余家參展商&#xff…

方法:批量識別圖片區域文字并重命名,批量識別指定區域內容改名,基于QT和阿里云的實現方案,詳細方法

基于QT和阿里云的圖片區域文字識別與批量重命名方案 項目場景 ??企業檔案管理??:批量處理掃描合同、發票等文檔,根據編號或關鍵信息自動重命名文件??醫療影像管理??:識別X光、CT等醫學影像中的患者信息,按姓名+檢查日期重命名??電商訂單處理??:從訂單截圖中提…

Mybatis解決以某個字段存在,批量更新,不存在批量插入(高效)(一)

背景 在開發企業級應用時,我們經常需要處理批量數據的插入和更新操作。傳統的逐條處理方式性能低下,而簡單的REPLACE INTO或INSERT ... ON DUPLICATE KEY UPDATE在某些場景下又不夠靈活。本文將介紹一種基于臨時表的高效批量插入/更新方案,解…

JVM、JRE、JDK的區別

JVM JVM全稱Java虛擬機(Java Virtual Machine, JVM),它是運行java字節碼的虛擬機,JVM針對不同的系統有不同的實現,目的運行相同的字節碼有同樣的結果,JVM是“一次編譯,到處運行”實現的關鍵。如下不同的編程語言編譯生成字節碼文…

神經元和神經網絡定義

在深度學習中,神經元和神經網絡是構成神經網絡模型的基本元素。讓我們從基礎開始,逐步解釋它們的含義和作用。 1?? 神經元是什么? 神經元是神經網絡中的基本計算單元,靈感來自于生物神經系統中的神經元。每個人的腦中有數以億…

CDGP重點知識梳理

寫在前面 全文11700字,共82個重點知識 目 錄 考點分布 考試要求 第一章 數據管理-5%

Ubuntu 22.04 安裝配置遠程桌面環境指南

在云服務器或遠程主機上安裝圖形化桌面環境,可以極大地提升管理效率和用戶體驗。本文將詳細介紹如何在 Ubuntu 22.04 (Jammy Jellyfish) 系統上安裝和配置 Xfce4 桌面環境,并通過 VNC 實現遠程訪問。 系統環境 操作系統:Ubuntu 22.04 LTS (Jammy Jellyfish)架構:AMD64安裝…

node提示node:events:495 throw er解決方法

前言 之前開發的時候喜歡使用高版本,追求新的東西,然后回頭運行一下之前的項目提示如下 項目技術棧:node egg 報錯 node:events:495 throw er; // Unhandled error event ^ Error: ENOENT: no such file or directory, scandir F:\my\gi…

【軟件設計師:軟件工程】9.軟件開發模型與方法

一、軟件危機與軟件工程 軟件危機與軟件工程是計算機科學發展中密切相關的兩個概念。 1.軟件危機(Software Crisis) 背景:20世紀60年代至80年代,隨著計算機硬件性能提升,軟件規模與復雜度劇增,傳統開發方法難以應對,導致大量項目失敗。 表現: 成本失控:開發周期長、…

范式之殤-關系代數與參照完整性在 Web 后臺的落寞

最近參加了一個PostgreSQL相關的茶會,感慨良多。原本話題是PostgreSQL 在 SELECT 場景中憑借其成熟的查詢優化器、豐富的功能特性和靈活的執行策略,展現出顯著優勢。在窗口函數(Window Functions)、JOIN 優化、公共表表達式&#…

WebRTC工作原理詳細介紹、WebRTC信令交互過程和WebRTC流媒體傳輸協議介紹

簡介 WebRTC(Web Real-Time Communication)是一項允許在網頁瀏覽器之間進行音視頻通信的技術,基本不需要安裝額外的插件。它的核心特點是支持低延遲的點對點(P2P)通訊,常用于視頻聊天、實時文件共享、多人…

【大語言模型ChatGPT4/4o 】“AI大模型+”多技術融合:賦能自然科學暨ChatGPT在地學、GIS、氣象、農業、生態與環境領域中的應用

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千問為代表AI大語言模型帶來了新一波人工智能浪潮,可以面向科研選題、思維導圖、數據清洗、統計分析、高級編程、代碼調試、算法學習、論文檢索、寫作、翻譯、潤色、文獻輔助…

提升編程效率的利器:Zed高性能多人協作代碼編輯器

在當今這個快節奏的開發環境中,一個高效、靈活的代碼編輯器無疑對開發者們起著至關重要的支持作用。Zed,作為來自知名編輯器Atom和語法解析器Tree-sitter的創造者的心血之作,正是這樣一款高性能支持多人合作的編輯神器。本文將帶領大家深入探…

基于51單片機步進電機控制—9個等級

基于51單片機步進電機控制 (仿真+程序+設計報告) 功能介紹 具體功能: 1.使用L298驅動步進電機轉動,可分為9個速度等級(1級最快,9級最慢); 2.使用74HC595驅…

【某OTA網站】phantom-token 1004

新版1004 phantom-token 請求頭中包含phantom-token 定位到 window.signature 熟悉的vmp 和xhs一樣 最新環境檢測點 最新檢測 canvas 下的 toDataURL方法較嚴 過程中 會用setAttribute給canvas 設置width height 從而使toDataURL返回不同的值 如果寫死toDataURL的返回值…

LSTM的簡單模型

好的,我來用通俗易懂的語言解釋一下這個 LSTMTagger 類是如何工作的。 1?? 類的目的 這個 LSTMTagger 類是一個用于自然語言處理(NLP)任務的模型,目的是標注輸入的句子,通常用于詞性標注(例如&#xff…

每天批次導入 100 萬對賬數據到 MySQL 時出現死鎖

一、死鎖原因及優化策略 1.1 死鎖原因分析 批量插入事務過大: Spring Batch 默認將整個 chunk(批量數據塊)作為一個事務提交,100 萬數據可能導致事務過長,增加鎖競爭。 并發寫入沖突: 多個線程或批處理作…

DeepResearch深度搜索實現方法調研

DeepResearch深度搜索實現方法調研 Deep Research 有三個核心能力 能力一:自主規劃解決問題的搜索路徑(生成子問題,queries,檢索)能力二:在探索路徑時動態調整搜索方向(劉亦菲最好的一部電影是…