【NLP】Attention機制

1.模型對比

  1. RNN(馬爾科夫鏈式編碼)

    • 通過遞歸計算逐個處理 token,當前編碼結果 h t h_t ht?僅依賴前一步的隱藏狀態 h t ? 1 h_{t-1} ht?1?和當前輸入 x t x_t xt?
    • 局限性:序列建模需嚴格串行,無法并行;長距離依賴易丟失(梯度消失/爆炸)
    • 例:雙向 LSTM 需正向+反向兩次遍歷才能捕獲上下文,但仍是局部傳遞
  2. CNN(局部窗口編碼)

    • 使用固定尺寸的卷積核(如窗口為3)聚合局部上下文信息
    • 局限性:單層僅能捕獲窗口內的局部特征,需多層堆疊擴大感受野
    • 例:深度 CNN 需多層級聯才能建模長距離依賴,信息傳遞路徑長
  3. Attention(全局交互編碼)

    • 通過 Query-Key-Value 矩陣計算,直接建立任意兩個 token 間的關聯
    • 核心優勢:單層即可全局交互,每個位置的編碼融合了序列中所有 token 的信息
    • 例:Self-Attention 中,每個詞與整個序列計算相似度權重(如公式中的 Q K T / d QK^T/\sqrt{d} QKT/d ?

2.Attention的實現方式

1.Attention的常見實現方式

  • 加性 Attention (Additive Attention / Bahdanau Attention)

    • 公式
      Score ( Q , K i ) = v T tanh ? ( W q Q + W k K i ) \text{Score}(Q, K_i) = v^T \tanh(W_q Q + W_k K_i) Score(Q,Ki?)=vTtanh(Wq?Q+Wk?Ki?)
    • 特點:通過可學習的參數矩陣 W q , W k W_q, W_k Wq?,Wk?和向量 v v v計算注意力權重,適用于 Query 和 Key 維度不同的場景。
  • 點積 Attention (Dot-Product Attention / Luong Attention)

    • 公式
      Score ( Q , K i ) = Q ? K i \text{Score}(Q, K_i) = Q \cdot K_i Score(Q,Ki?)=Q?Ki?
    • 特點:計算高效(矩陣乘法),但需 Query 和 Key 維度相同;當維度較高時,點積結果可能過大,導致 Softmax 梯度消失。
  • 縮放點積 Attention (Scaled Dot-Product Attention)

    • 改進點:在點積基礎上引入縮放因子 d k \sqrt{d_k} dk? ?,緩解高維點積結果過大的問題。
    • 公式
      Attention ( Q , K , V ) = softmax ( Q K T d k ) V \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V Attention(Q,K,V)=softmax(dk? ?QKT?)

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

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

相關文章

基于OpenCV與PyTorch的智能相冊分類器全棧實現教程

引言:為什么需要智能相冊分類器? 在數字影像爆炸的時代,每個人的相冊都存儲著數千張未整理的照片。手動分類不僅耗時,還容易遺漏重要瞬間。本文將手把手教你構建一個基于深度學習的智能相冊分類系統,實現:…

活動安排問題 之 前綴和與差分

文章目錄 D. Robert Hood and Mrs Hood 考慮到一個活動開始時間和結束時間s,e,那么可以影響到的范圍就是 s-d1,e,所以我們只需對這個每一個活動可以影響到的區域進行標記即可,當然為了降低時間復雜度,我們將使用前綴和與差分 t int(input()…

C++之 多繼承

在學校里有老師和學生,他們都是人,我么應該創建一個名為 Person 的基類和兩個名為 Teacher 和Student 的子類,后兩者是從前者繼承來的 有一部分學生還教課掙錢(助教),也就是同時存在著兩個”是一個”關系&…

大數據學習棧記——Redis安裝及其使用

本文介紹NoSQL技術:Redis的安裝及其使用。操作系統:Ubuntu24.04 Redis介紹 Redis是一個鍵值(key-value)存儲系統,即鍵值對非關系型數據庫,和Memcached類似,目前正在被越來越多的互聯網公司采用…

2024團體程序設計天梯賽L3-1 奪寶大賽

L3-037 奪寶大賽 分數 30 作者 陳越 單位 浙江大學 奪寶大賽的地圖是一個由 nm 個方格子組成的長方形,主辦方在地圖上標明了所有障礙、以及大本營寶藏的位置。參賽的隊伍一開始被隨機投放在地圖的各個方格里,同時開始向大本營進發。所有參賽隊從一個方格…

JMeter的高并發和高頻率和分布式

性能測試 模擬各種正常的、峰值的測試環境,檢測程序的各項性能指標是否能夠達標 高并發 JMeter中內置了定時器,可以實現時間模式相關的性能測試 需求1:同一時刻100個同學去訪問學生管理系統的查詢所有學院信息功能,統計高并發情況下平均響…

ubuntu學習day2

linux常用命令 3.文件查看及處理命令 3.1查看文件內容 cat[選項][文件] -b 對非空輸出行編號 -E 在每行結束處顯示$ -n 對輸出的所有行編號 -s 不輸出多行空行 標準輸入、標準輸出和標準錯誤 在 Linux 中,每個進程默認有三個文件描述符: 標準輸入&…

項目中引入 Redis 及 常用五種數據類型

在平常的開發過程中,我們經常會用到緩存的技術。比如,驗證碼60秒后過期、計數器的實現、商品信息存儲在緩存中快速展示等。那么,項目中經常會使用到的便是 redis 緩存。redis 在內存中操作,讀寫快。Redis 常用的數據類型有五種&am…

Spark-SQL簡介及核心編程

Spark-SQL概述:是Spark用于結構化數據處理的模塊,前身是Shark。Shark基于Hive開發,使SQL-on-Hadoop性能大幅提升,但對Hive依賴制約了Spark發展。SparkSQL汲取Shark優點并重新開發,在數據兼容、性能優化和組件擴展上優勢…

奇趣點播系統測試報告

1.項目簡介 本項目旨在搭建一個視頻共享點播系統,服務器支持用戶通過前端瀏覽器訪問服務器,獲取展示與觀看和操作的界面,最終實現視頻的上傳以及觀看和刪改查等基礎管理功能。讓用戶擁有良好的觀看體驗和分享視頻的快捷方式,此外…

【Web API系列】WebSocketStream API 深度實踐:構建高吞吐量實時應用的流式通信方案

前言 在當今的 Web 開發領域,實時通信已成為許多應用的核心需求。無論是即時聊天、實時數據儀表盤,還是在線游戲和金融交易系統,都需要高效的雙向數據傳輸能力。傳統的 WebSocket API 為此提供了基礎支持,但在處理大規模數據流、…

基于LangGraph的智能報告生成平臺項目分析

前言 不知道你是否知道或者了解OpenAI and Gemini Deep Research。他們是一種能夠根據輸入問題進行規劃、結合網絡搜索獲取信息并最終呈現結果的研究工具或技術。那這樣research是如何實現的呢?最近剛好看到一個實現類似功能的開源項目: open_deep_search。本文將基于該項目進…

Redis 常見的集群架構

Redis 常見的集群架構 以下是 Redis 常見的集群架構及其核心模式詳解,結合其設計原理、適用場景和優缺點進行綜合說明: 一、主從復制模式 架構原理 角色劃分:包含一個主節點(Master)和多個從節點(Slave&…

面試寶典(C++基礎)-01

文章目錄 1. C++基礎1.1 C++特點1.2 說說C語言和C++的區別1.3 說說 C++中 struct 和 class 的區別1.4 include頭文件的順序以及雙引號""和尖括號<>的區別1.5 說說C++結構體和C結構體的區別1.6 導入C函數的關鍵字是什么,C++編譯時和C有什么不同?1.7 C++從代碼…

快速獲得ecovadis認證的方法,如何提升ecovadis認證分數,有效期是多久

快速獲得EcoVadis認證的方法 EcoVadis認證是企業社會責任&#xff08;CSR&#xff09;和可持續發展能力的國際評估標準&#xff0c;被廣泛應用于供應鏈管理&#xff08;如蘋果、微軟、聯合利華等巨頭要求供應商通過EcoVadis評估&#xff09;。以下是快速獲得認證的關鍵步驟&am…

ubuntu 安裝samba

ubuntu 版本&#xff1a;Ubuntu 24.04.2 LTS 1. 保證連網 2. 安裝samba sudo apt install samba 在安裝結束以后&#xff0c;我們可以使用下面的命令來查看安裝&#xff1a; apt list | grep samba freeipa-client-samba/noble 4.11.1-2 amd64 ldb-tools/noble 2:2.8.0samba…

基于SpringBoot的寵物健康咨詢系統(源碼+數據庫+萬字文檔)

502基于SpringBoot的寵物健康咨詢系統&#xff0c;系統包含三種角色&#xff1a;管理員、用戶&#xff0c;顧問主要功能如下。 【用戶功能】 1. 首頁&#xff1a;查看系統主要信息和最新動態。 2. 公告&#xff1a;瀏覽系統發布的公告信息。 3. 顧問&#xff1a;瀏覽可提供咨詢…

人工智能驅動的科研新范式及學科應用研究

人工智能&#xff08;AI&#xff09;驅動的科研新范式通過數據、算力、算法的深度耦合深度嵌入科學研究的全過程&#xff0c;引發科研流程、思考邏輯和組織模式的深刻變革。文章系統總結了AI驅動科研新范式的主要特征與形式&#xff0c;提出AI驅動科研新范式的演化方向由“科研…

代碼生成工具explain的高級用法

修改 explain.cpp 中的模板部分&#xff1a; // 添加自定義頭文件 cout << "#include \"CustomLib.h\"\n"; 生成支持日志的記錄代碼&#xff1a; cout << "Logger::init();\n"; // 自動插入初始化代碼其他匯總 Magnet 多線程控制…

Vue3+elementPlus中 樹形控件封裝

1.組件 <template><div class"selection"><el-select placeholder"請選擇" v-model"nameList" clearable clear"handleClear" ref"selectUpResId" style"width: 100%"><el-option hidden :…