語言模型理論基礎-持續更新-思路清晰

1.預訓練

相似的任務A、B,任務A已經用大數據完成了訓練,得到模型A。

我們利用-特征提取模型的-“淺層參數通用”的特性,使用模型A的淺層參數,其他參數再通過任務B去訓練(微調)。

2.統計語言模型

通過條件概率,解決“完型填空”問題和“預測句子出現概率”問題。

3.神經網絡語言模型 -- 為了預測next

就是通過mlp,利用已有的詞庫將單詞編碼為onehot * Q矩陣(可學習),擬合一個預測下一個單詞的模型。最后輸出的softmax維度是詞庫的維度大小。

softmax(w2(tanh((w1x+b1)))+b2)

x是輸入的詞編碼

缺點:onehot的維度==詞庫的大小,容易出現維度爆炸。我們希望去訓練一個Q去控制詞embedding大小。

得出:onehot * Q = V,V向量就能表示一個單詞的詞向量。且能調整大小、能計算詞的余弦相似度。

但是:一個Q矩陣,所有的詞都在用?

4.Word2Vec類模型 -- 為了得到詞vec

· CBOW

給出一個詞的上下文,預測這個詞。--完形填空

· Skip-gram

給出詞預測上下文。--沒啥用

w2v是一種預訓練模型,因為這個模型可以預訓練好一個Q矩陣,供別的下游任務直接使用,無需重新訓練。

而onehot不是預訓練,是一一對應的表查詢。

但是:詞向量不能進行多義詞表示。

5.ELMo--解決上述問題

注意雙向雙層

輸入:很普通的w2v詞向量E;

輸出:融合上下文信息的新詞向量T。對于一個同一詞,T的編碼也會不一樣了,而且相關性應該是負的。

但是:lstm不能并行,長期依賴。

6.attention

理解:“Query,Key,Value的概念取自于信息檢索系統,舉個簡單的搜索的例子來說。當你在某電商平臺搜索某件商品(年輕女士冬季穿的紅色薄款羽絨服)時,你在搜索引擎上輸入的內容便是Query。 然后搜索引擎根據Query為你匹配Key(例如商品的種類,顏色,描述等)。 然后根據Query和Key的相似度得到匹配的內容(Value)。”

理解:Q,K,V是三個矩陣。 是 X 輸入與 Wq,Wk,Wv 點積的結果。 最開始Wq,Wk,Wv 是隨機生成的, 后面通過訓練 Wq,Wk,Wv 會不斷調整,通過loss 函數進行。 Wq,Wk,Wv 就是需要訓練的參數。

理解:每個token都會發出一個Q去詢問其他token,點乘他們的K,得到相對的重要性,為了消除較大的K對softmax的影響除以根號dk,再做softmax得到概率后,點乘V,得到具體需要注意多少

? !!從分布的角度解釋。

7.self-attention

經典

8.67的區別

· 注意力機制沒有規定QKV的來源

· 自注意力規定QKV必須是源于X,只是乘了不同的矩陣,在空間上做了不同的伸縮旋轉。

9.self和rnn lstm的比較

rnn:

,x0的信息傳的遠了就消失了。

lstm:

,通過門,選擇性記憶/增強前文的信息。

二者都不能并行,存在長序列依賴問題。

10.mask attention

生成模型是一個單詞一個單詞的生成,所以對已生成的單詞想要做attention的話,attention map會像是下階梯形矩陣。

11.多頭自注意

就是將X分成8塊,每個頭有自己的QKV,同樣得到一個Z,拼接后再經過一個線性變換得到原來大小的Z。

12.位置編碼

· 由于attention可以并行計算,導致它不能像rnn一樣完全順序進行計算。

· 而且如果沒有位置編碼,即使話的順序是亂的,也不影響attention的計算。所以應該有位置編碼來表示語序。加到原來的詞向量中。

計算方式:

?對于每個pos的編碼,偶數位置用sin奇數位置用cos。2i的目的僅是為了轉換為對應的三角函數。

再根據三角函數和差化積:

得到:PE = sin(將posi分為兩數之和) = 這兩個數的PE的線性組合。

理解為:較大posi的編碼中蘊含了較小posi的PE信息。即,相當于遞歸的意思,后面的pos必須依賴之前的值。

13.transformer框架

seq2seq模型

encode:將輸入變成詞向量

decode:輸入詞向量,生成下步預測

N層encoder,代表輸入經過了N個encoder逐步增強詞向量表示。

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

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

相關文章

ResNet與注意力機制:深度學習中的強強聯合

引言 在深度學習領域,卷積神經網絡(CNN)一直是圖像處理任務的主流架構。然而,隨著網絡深度的增加,梯度消失和梯度爆炸問題逐漸顯現,限制了網絡的性能。為了解決這一問題,ResNet(殘差…

【C++】——C++11新特性

目錄 前言 1.初始化列表 2.std::initializer_list 3.auto 4.decltype 5.nullptr 6.左值引用和右值引用 6.1右值引用的真面目 6.2左值引用和右值引用比較 6.3右值引用的意義 6.3.1移動構造 6.4萬能引用 6.5完美轉發——forward 結語 前言 C,這門在系統…

【C++網絡編程】第5篇:UDP與廣播通信

一、UDP協議核心特性 1. UDP vs TCP ?特性 ?UDP?TCP連接方式無連接面向連接(三次握手)可靠性不保證數據到達或順序可靠傳輸(超時重傳、順序控制)傳輸效率低延遲,高吞吐相對較低(因握手和確認機制&…

MOSN(Modular Open Smart Network)是一款主要使用 Go 語言開發的云原生網絡代理平臺

前言 大家好,我是老馬。 sofastack 其實出來很久了,第一次應該是在 2022 年左右開始關注,但是一直沒有深入研究。 最近想學習一下 SOFA 對于生態的設計和思考。 sofaboot 系列 SOFABoot-00-sofaboot 概覽 SOFABoot-01-螞蟻金服開源的 s…

微信小程序日常開發問題整理

微信小程序日常開發問題整理 1 切換渲染模式1.1 WebView 的鏈接在模擬器可以打開,手機上無法打開。 1 切換渲染模式 1.1 WebView 的鏈接在模擬器可以打開,手機上無法打開。 在 app.json 中看到如下配置項,那么當前項目就是 keyline 渲染模式…

【Altium Designer】銅皮編輯

一、動態銅皮與靜態銅皮的區分與切換 動態銅皮(活銅): 通過快捷鍵 PG 創建,支持自動避讓其他網絡對象,常用于大面積鋪銅(如GND或電源網絡)。修改動態銅皮后,需通過 Tools → Polygo…

Java「Deque」 方法詳解:從入門到實戰

Java Deque 各種方法解析:從入門到實戰 在 Java 編程中,Deque(雙端隊列)是一個功能強大的數據結構,允許開發者從隊列的兩端高效地添加、刪除和檢查元素。作為 java.util 包中的一部分,Deque 接口繼承自 Qu…

ffmpeg+QOpenGLWidget顯示視頻

?一個基于 ?FFmpeg 4.x? 和 QOpenGLWidget的簡單視頻播放器代碼示例,實現視頻解碼和渲染到 Qt 窗口的功能。 1)ffmpeg庫界面,視頻解碼支持軟解和硬解方式。 硬解后,硬件解碼完成需要將數據從GPU復制到CPU。優先采用av_hwf…

深入解析嵌入式內核:從架構到實踐

一、嵌入式內核概述 嵌入式內核是嵌入式操作系統的核心組件,負責管理硬件資源、調度任務、處理中斷等關鍵功能。其核心目標是在資源受限的環境中提供高效、實時的控制能力。與通用操作系統不同,嵌入式內核通常具有高度可裁剪性、實時性和可靠性&#xff…

20250324-使用 `nltk` 的 `sent_tokenize`, `word_tokenize、WordNetLemmatizer` 方法時報錯

解決使用 nltk 的 sent_tokenize, word_tokenize、WordNetLemmatizer 方法時報錯問題 第 2 節的手動方法的法1可解決大部分問題,可首先嘗試章節 2 的方法 1. nltk.download(‘punkt_tab’) LookupError: *******************************************************…

『 C++ 』多線程同步:條件變量及其接口的應用實踐

文章目錄 條件變量概述條件變量簡介條件變量的基本用法 案例:兩個線程交替打印奇偶數代碼解釋 std::unique_lock::try_lock_until 介紹代碼示例代碼解釋注意事項 std::condition_variable::wait 詳細解析與示例std::condition_variable::wait 接口介紹代碼示例代碼解…

【VolView】純前端實現CT三維重建-CBCT

文章目錄 什么是CBCTCBCT技術路線使用第三方工具使用Python實現使用前端實現 純前端實現方案優缺點使用VolView實現CBCT VolView的使用1.克隆代碼2.配置依賴3.運行4.效果 進階:VolView配合Python解決卡頓1.修改VtkThreeView.vue2.新增Custom3DView.vue3.Python生成s…

debug - 安裝.msi時,為所有用戶安裝程序

文章目錄 debug - 安裝.msi時,為所有用戶安裝程序概述筆記試試在目標.msi后面直接加參數的測試 備注備注END debug - 安裝.msi時,為所有用戶安裝程序 概述 為了測試,裝了一個test.msi. 安裝時,只有安裝路徑的選擇,沒…

Java Stream兩種list判斷字符串是否存在方案

這里寫自定義目錄標題 背景初始化方法一、filter過濾方法二、anyMatch匹配 背景 在項目開發中,經常遇到篩選list中是否包含某個子字符串,有多種方式,本篇主要介紹stream流的filter和anyMatch兩種方案,記錄下來,方便備…

DeepSeek vs 通義大模型:誰將主導中國AI的未來戰場?

當你在深夜調試代碼時,是否幻想過AI伙伴能真正理解你的需求?當企業面對海量數據時,是否期待一個真正智能的決策大腦? 這場由DeepSeek和通義領銜的大模型之爭,正在重塑中國AI產業的競爭格局。本文將為你揭開兩大技術巨頭的終極對決! 一、顛覆認知的技術突破 1.1 改變游戲…

3. 軸指令(omron 機器自動化控制器)——>MC_SetOverride

機器自動化控制器——第三章 軸指令 12 MC_SetOverride變量?輸入變量?輸出變量?輸入輸出變量 功能說明?時序圖?重啟運動指令?多重啟動運動指令?異常 MC_SetOverride 變更軸的目標速度。 指令名稱FB/FUN圖形表現ST表現MC_SetOverride超調值設定FBMC_SetOverride_instan…

從像素到世界:自動駕駛視覺感知的坐標變換體系

接著上一篇 如何讓自動駕駛汽車“看清”世界?坐標映射與數據融合詳解的概述,這一篇詳細講解自動駕駛多目視覺系統設計原理,并給出應用示例。 摘要 在自動駕駛系統中,準確的環境感知是實現路徑規劃與決策控制的基礎。本文系統性地解析圖像坐標系、像素坐標系、相機坐標系與…

附錄B ISO15118-20測試命令

本章節給出ISO15118-20協議集的V2G命令,包含json、xml,并且根據exiCodec.jar編碼得到exi內容, 讀者可以參考使用,測試編解碼庫是否能正確編解碼。 B.1 supportedAppProtocolReq json: {"supportedAppProtocolReq": {…

VLAN章節學習

為什么會有vlan這個技術? 1.通過劃分廣播域來降低廣播風暴導致的設備性能下降; 2.提高網絡管理的靈活性和通過隔離網絡帶來的安全性; 3.在成本不變的情況下增加更多的功能性; VLAN又稱虛擬局域網(再此擴展&#xf…

FPGA時鐘約束

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 目錄 前言 一、Create_clock 前言 時鐘周期約束&#xff0c;就是對時鐘進行約束。 一、Create_clock create_clock -name <name> -period <period> -waveform …