李宏毅深度學習教程 第6-7章 自注意力機制 + Transformer

強烈推薦!臺大李宏毅自注意力機制和Transformer詳解!_嗶哩嗶哩_bilibili

目錄

1. 詞嵌入&問題情形

2. self-attention?自注意力機制

3. 自注意力的變形

3.1 多頭注意力(multi-head)

3.2 位置編碼

3.3 截斷自注意力(truncated)

3.4 與CNN對比

3.5 與RNN對比

4. Transformer架構

4.1 編碼器?Encoder

4.2?自回歸解碼器

4.3 非自回歸解碼器

5. Transformer訓練過程與技巧


1. 詞嵌入&問題情形

詞嵌入(word embedding) 用一個有語義信息的向量表示每個詞,意思相關的會靠的近

詞嵌入的訓練基于分布式假說:"單詞的語義由其上下文決定"。通過分析單詞在文本中的共現模式,模型學習用向量表示單詞的語義和語法特征。

比如用“開心”的場景 都可以替換為“高興”? 這兩個詞的上下文很像 說明他們語義很像;

“蘋果”的上下文 和“梨”的上下文也很像,可能他們是同類型的

情形1:輸入等于輸出 如給一個句子輸出每個單詞的詞性(動詞名詞這些)都一一對應

情形2:多對一 給一段文字打標簽 輸出這段話是正面還是負面的

情形3:Seq2Seq序列到序列 如語言翻譯 語音識別,輸入的字符長度無法知道輸出的字符長度

聊天機器人:我和他說話 輸入一個序列? 機器人返回一個序列

QA問答問題:所有任務都可以轉化為 給材料給任務序列,返回答案序列

給文章打一個標簽是 多對一問題;給文章打多個標簽 就是多對多問題

2. self-attention?自注意力機制

? 三個向量&三個步驟

? ? ?? ??

Q K V 三個向量需要 X分別乘以矩陣W;這三個矩陣W 需要訓練得到

我要問位置1的注意力值是多少,就拿Q1 和所有位置的K相乘后softmax 得到A'

再用A'V 得到自注意力?b1。? ? ? 用矩陣乘法可以寫成

3. 自注意力的變形

3.1 多頭注意力(multi-head)

每個位置 多個q k v,類似CNN中的通道提取不同視覺特征,提取多種語義/語法特征

捕捉更多樣、復雜的依賴關系。而且因為可以GPU并行計算 效率相近但建模能力顯著提升

3.2 位置編碼

對于自注意力而言 注意力值與位置無關。但是像一段話中 詞的位置也是很重要的信息。

比如說句首的詞是動詞的概率特別小。? ? ? 實現方法為 在每個位置加一個專屬的e。

3.3 截斷自注意力(truncated)

原來的自注意力 是和整句話的所有發生關系。

如果一段話太長太長 可以設置一個范圍,只看這個范圍前后的。

?

3.4 與CNN對比

CNN 需要人為設定 濾波器、感受野;每個神經元僅考慮感受野內的信息。

自注意力 是自己去學習像素之間的關系,考慮身邊哪些像素是相關的。

所以CNN可看做特殊的自注意力機制,作為有限制的模型,適合數據較小的時候使用。

而自注意力更靈活,需要更多的數據否則容易過擬合。

3.5 與RNN對比

1) 自注意力看全局,RNN只看左邊的。Bi-RNN雙向版本也看全局但仍有差異,因為自注意力在最右邊?看最左邊的詞可以一步到位,而RNN需要從最左邊一步一步將記憶(隱狀態)傳遞過來。

2) 自注意力可以并行 而RNN需要傳遞串行 所以自注意力更高效

自注意力也可運用在的問題上 每個節點 連邊就是需要有關系? 連著邊才計算注意力分數

4. Transformer架構

4.1 編碼器?Encoder

add&norm加入殘差連接的設計,對a自注意力算出b之后 b+a再層歸一化

? ?

4.2?自回歸解碼器

先輸入 <BOS>,輸出 w1,再把 w1 當做輸入,再輸出 w2,直到輸出 <EOS> 為止。

除了常規字符外還要 開始字符<BOS>? 結束字符<EOS> 代表句子的開始和結束。

解碼器就是在編碼器的基礎上 層的開始加上掩碼自注意力(masked 因為輸出是一個一個輸出的 阻止每個位置選擇其后面的輸入信息)

最終目的是要輸出下一個詞 就對結果向量進行線性映射+softmax 找最大概率的那個

解碼器多頭注意力那里 是編碼器和解碼器的橋梁;K和V來自編碼器,Q來自解碼器的上一層

4.3 非自回歸解碼器

非自回歸不是一次產生一個字,而是一次把整個句子都產生出來;給多少<BOS> 就輸出多少字

優勢1是可以做到并行輸出 效率更高,但性能會差一些。

優勢2是可以控制輸出的長度

5. Transformer訓練過程與技巧

實際與期望結果向量的交叉熵(比如輸入一段語音 期望輸出“機器學習<EOS>”)

訓練時用交叉熵評估翻譯結果時的標準是?解碼器先產生一個完整的句子,再去跟正確的答案一整句做比較,兩個句子算出 BLEU 分數(訓練時不用BLEU因為計算復雜 且無法做微分)

1. 復制機制:解碼器直接從輸入中復制一些有用的東西

比如對話問題中,用戶給的比較生僻的輸入可以在回答中直接復制原問題里的詞

比如段落摘要問題中,很多原文的詞都可以直接復制信息

2. 引導注意力:當我們對一個問題有一定理解的時候 可以要求機器做注意力時以一定方向

如語音提取時讓它從左到右效果更好 如果順序胡亂結果就會有問題

3.?束搜索: 根據softmax的概率一個一個輸出 這是貪心的思想,再往后延伸效果不一定好

如果要后面的效果好 窮舉搜索 再分支往后看 分叉太多情況太多會導致也往后看不了多少

beam search束搜索 用于自回歸生成任務(即每一步依賴前一步的輸出)

維護一個有限的候選序列集合?平衡計算復雜度和結果質量,

在生成序列的每一步,不保留所有可能的候選,而是僅保留概率最高的 K 個

4. 加入噪聲/隨機性

訓練時加噪聲,讓機器看過更多不同的可能性,讓模型比較魯棒,比較能夠對抗它在測試的時候沒有看過的狀況。? ?

測試的時候加一些噪聲,用正常的解碼的方法產生出來的聲音聽不太出來是人聲,也不一定是最好的結果,產生比較好的聲音需要一些隨機性。

5. 計劃采樣(訓練集加入錯誤 提高容錯)

曝光偏差:訓練時看到的是完全正確的 測試時解碼器看到自己的輸出 所以會看到一些錯誤信息。

如果看到錯誤信息 后面會出現不堪設想的一步錯步步錯,

比如“機器學習”的qi 輸出成了 “氣”? 因為是串行一個一個生成的 所以后續跟著錯很多。

所以我們考慮在訓練集中 加一些錯誤的信息 期望使得它看到錯誤的信息 也能有一定容錯。

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

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

相關文章

大模型幻覺的本質:深度=邏輯層次,寬度=組合限制,深度為n的神經網絡最多只能處理n層邏輯推理,寬度為w的網絡無法區分超過w+1個復雜對象的組合

大模型幻覺的本質&#xff1a;深度邏輯層次&#xff0c;寬度組合限制&#xff0c;深度為n的神經網絡最多只能處理n層邏輯推理&#xff0c;寬度為w的網絡無法區分超過w1個復雜對象的組合&#x1f9e9; "深度邏輯層次"具體含義&#x1f522; "寬度組合限制"具…

2419.按位與最大的最長子數組

Problem: 2419. 按位與最大的最長子數組 思路 子數組按位與的結果&#xff0c;不會超過子數組里的最大值&#xff08;因為 a & b ≤ max(a, b)&#xff09;。 進一步推導&#xff0c;整個數組最大按位與的結果就是數組本身的最大值。 因為最大的那個元素自己作為子數組時&a…

智能時代:先管端點,再談效率

為什么需要統一端點管理&#xff1f;在混合辦公常態化、設備類型爆炸式增長的2025年&#xff0c;分散的端點如同散落各地的哨所。傳統管理方式讓IT團隊疲于應對系統更新、漏洞修復、權限分配等重復勞動&#xff0c;不僅消耗60%以上的運維時間&#xff0c;更可能因響應延遲導致安…

Windows字體simsum.ttf的安裝與Python路徑設置指南

下載工具&#xff1a; https://fontforge.org/en-US/downloads/windows-dl/ 使用工具&#xff1a; 復制到c:\windows\fonts路徑下面。 并復制到運行的python程序同一路徑下。比如&#xff1a;c:\pythoncode\new\

GitHub下載項目完整配置SSH步驟詳解

GitHub下載項目完整配置步驟&#xff08;從零開始&#xff09; 默認下好了git &#xff0c;在文件夾中右鍵打開git bash &#xff0c; 如果沒有請在csdn搜索教程 第一步&#xff1a;檢查并清理現有SSH配置 # 進入.ssh目錄 cd ~/.ssh# 備份并刪除所有現有密鑰&#xff08;避免沖…

數據結構(9)棧和隊列

1、棧 1.1 概念與結構 棧是一種特殊的線性表&#xff0c;只允許在固定的一端進行插入和刪除元素的操作。進行數據插入和刪除的一端稱為棧頂&#xff0c;另一端稱為棧底。棧里面的數據元素遵循后進先出的原則。棧的底層實現一般可以使用數組或者鏈表來實現&#xff0c;但數組的…

湖北大學暑期實訓優秀作品:面向美麗中國的數據化可視平臺

開發背景2024年1月11日&#xff0c;《中共中央國務院關于全面推進美麗中國建設的意見》發布&#xff0c;明確了建設美麗中國的總體要求、主要目標和重點任務&#xff0c;為我國生態文明建設提供了頂層設計和行動指南。系統簡介當前&#xff0c;中國正以空前的力度推進生態文明建…

Ubuntu系統VScode實現opencv(c++)隨機數與隨機顏色

在圖像處理與計算機圖形學中&#xff0c;隨機數與隨機顏色的生成常用于增強圖像的多樣性、可視化多個目標區域、模擬自然現象以及生成測試數據等任務。通過隨機化元素的顏色、位置或形狀&#xff0c;可以使程序在動態展示、調試輸出、以及數據增強等方面更加靈活和豐富。例如&a…

機器學習、深度學習與數據挖掘:三大技術領域的深度解析

基本概念與歷史沿革數據挖掘起源于20世紀90年代&#xff0c;是數據庫技術、統計學和機器學習交叉融合的產物。它經歷了從簡單查詢到復雜知識發現的演變過程&#xff0c;早期階段主要關注數據存儲和檢索&#xff0c;隨著IBM、微軟等公司的推動&#xff0c;逐漸形成了完整的知識發…

MoR vs MoE架構對比:更少參數、更快推理的大模型新選擇

Google DeepMind 近期發布了關于遞歸混合&#xff08;Mixture of Recursion&#xff09;架構的研究論文&#xff0c;這一新型 Transformers 架構變體在學術界和工業界引起了廣泛關注。該架構通過創新的設計理念&#xff0c;能夠在保持模型性能的前提下顯著降低推理延遲和模型規…

uniapp開發實現【中間放大兩邊縮小的輪播圖】

一、效果展示 二、代碼實現 <template><view><!-- 輪播圖 --><view class=<

機器學習沒有最好的模型,只有最合適的選擇(模型選擇)

機器學習領域存在"沒有免費午餐"定理&#xff0c;沒有任何一種模型在所有問題上都表現最優。不同模型有各自的優勢和適用場景。同一數據集上&#xff0c;不同模型的預測性能可能有巨大差異。例如&#xff0c;線性關系明顯的數據上線性模型可能表現優異&#xff0c;而…

關于人工智能AI>ML>DL>transformer及NLP的關系

一、AI、ML、DL、NLP的極簡概念1、人工智能&#xff08;AI&#xff09;有不同的定義&#xff0c;但其中一個定義或多或少已成為共識&#xff0c;即AI是一個計算機系統&#xff0c;它能夠執行通常需要人類智能才能完成的任務。根據這個定義&#xff0c;許多算法可以歸納為AI算法…

小迪23-28~31-js簡單回顧

前端-js開發 課堂完結后欲復習鞏固也方便后續-重游-故寫此篇 從實現功能過渡到涉及的相關知識點 知識點 1、 JS 是前端語言&#xff0c;是可以被瀏覽器“看到”的&#xff0c;當然也可以被修改啊&#xff0c;被瀏覽器禁用網頁的 JS 功能啊之類的。所以一般都是前后端分離開發&…

vue項目預覽pdf隱藏工具欄和側邊欄

1.在預覽PDF時&#xff0c;PDF查看器通常會顯示工具欄、側邊欄等控件。如果想隱藏這些控件&#xff0c;可以通過在PDF文件的URL中添加參數來實現。可以使用#toolbar0和#navpanes0等參數來隱藏工具欄和側邊欄。解釋&#xff1a; #toolbar0&#xff1a;隱藏工具欄。#navpanes0&am…

ERP、CRM、OA整合工具哪家好?2025年最新推薦

當前&#xff0c;大多數中大型企業已部署了ERP&#xff08;企業資源計劃&#xff09;、CRM&#xff08;客戶關系管理&#xff09;、OA&#xff08;辦公自動化&#xff09;等核心業務系統。這些系統在各自職能領域內發揮著關鍵作用&#xff1a;ERP管理財務、供應鏈與生產&#x…

設計模式:命令模式 Command

目錄前言問題解決方案結構代碼前言 命令是一種行為設計模式&#xff0c;它可將請求轉換為一個包含與請求相關的所有信息的獨立對象。該轉換讓你能根據不同的請求將方法參數化、延遲請求執行或將其放入隊列中&#xff0c;且能實現可撤銷操作。 問題 假如你正在開發一款新的文字…

4-verilog簡單狀態機

verilog簡單狀態機 1. always (posedge clk or negedge rst_n) beginif (!rst_n)cnt_1ms < 20b0;else if (cnt_1ms_en)cnt_1ms < cnt_1ms 1b1;elsecnt_1ms < 20d0; endalways (posedge clk or negedge rst_n) beginif(!rst_n)cur_state < s1_power_init;else i…

ICCV2025 | 對抗樣本智能安全方向論文匯總 | 持續更新中~

匯總結果來源&#xff1a;ICCV 2025 Accepted Papers 若文中出現的 論文鏈接 和 GitHub鏈接 點不開&#xff0c;則說明還未公布&#xff0c;在公布后筆者會及時添加. 若筆者未及時添加&#xff0c;歡迎讀者告知. 文章根據題目關鍵詞搜索&#xff0c;可能會有遺漏. 若筆者出現…

SPI通信中CS片選的兩種實現方案:硬件片選與軟件片選

一. 簡介本文簡單熟悉一下SPI通信中的片選信號&#xff08;CS&#xff09;的兩種實現方案&#xff1a;硬件片選和軟件片選&#xff0c;以及兩種方案的區別&#xff0c;如何選擇。在SPI&#xff08;Serial Peripheral Interface&#xff09;通信中&#xff0c;片選信號&#xff…