李宏毅NLP-7-CTC/RNN-T文本對齊

LAS

在這里插入圖片描述
LAS(Listen, Attend and Spell )模型,在語音識別中的解碼和訓練過程,具體內容如下:
解碼(Decoding)

  • 公式 Y ? = arg ? max ? Y log ? P ( Y ∣ X ) Y^* = \arg\max_Y \log P(Y|X) Y?=argmaxY?logP(YX) 表示解碼階段的目標是找到使對數條件概率 log ? P ( Y ∣ X ) \log P(Y|X) logP(YX) 最大的文本序列 Y ? Y^* Y?。這里使用束搜索(Beam Search)算法實現,該算法在每一步保留若干個概率最高的候選路徑,以平衡計算量和搜索效果,避免窮舉所有可能序列。

訓練(Training)

  • 公式 θ ? = arg ? max ? θ log ? P θ ( Y ^ ∣ X ) \theta^* = \arg\max_{\theta} \log P_{\theta}(\hat{Y}|X) θ?=argmaxθ?logPθ?(Y^X) 表示訓練階段要找到最優的模型參數 θ ? \theta^* θ?,使模型在給定語音特征 X X X 時,預測文本序列 Y ^ \hat{Y} Y^ 的對數概率最大。通過最大化這個對數似然函數,調整模型參數以提升對語音 - 文本映射關系的學習能力。

模型計算

  • 延續前文,再次強調 “LAS directly computes P ( Y ∣ X ) P(Y|X) P(YX)” ,計算方式為 P ( Y ∣ X ) = p ( a ∣ X ) p ( b ∣ a , X ) ? P(Y|X) = p(a|X)p(b|a, X)\cdots P(YX)=p(aX)p(ba,X)? ,即依次計算每個 token 基于語音特征和已生成 token 的條件概率。
  • 右側展示模型結構,黃色解碼器單元 z 0 ? z 3 z^0 - z^3 z0?z3結合藍色上下文向量 c 0 ? c 2 c^0 - c^2 c0?c2 輸出不同 token 概率(如 p ( a ) p(a) p(a) p ( b ) p(b) p(b) p ( E O S ) p(EOS) p(EOS)),用于生成文本序列。

CTC, RNN-T

在這里插入圖片描述
這張圖對比了LAS與CTC、RNN - T在語音識別中的原理,重點闡述了CTC和RNN - T的特性:

解碼與訓練基礎

  • 解碼:公式 Y ? = arg ? max ? Y log ? P ( Y ∣ X ) Y^* = \arg\max_Y \log P(Y|X) Y?=argmaxY?logP(YX) 表示解碼目標是找出使對數條件概率 log ? P ( Y ∣ X ) \log P(Y|X) logP(YX) 最大的文本序列 Y ? Y^* Y?,通過束搜索(Beam Search)實現。
  • 訓練:公式 θ ? = arg ? max ? θ log ? P θ ( Y ^ ∣ X ) \theta^* = \arg\max_{\theta} \log P_{\theta}(\hat{Y}|X) θ?=argmaxθ?logPθ?(Y^X) 意味著訓練時要找到最優參數 θ ? \theta^* θ?,最大化模型預測文本序列 Y ^ \hat{Y} Y^ 基于語音特征 X X X的對數概率。

LAS模型特點

  • LAS直接計算 P ( Y ∣ X ) P(Y|X) P(YX) ,計算方式為 P ( Y ∣ X ) = p ( a ∣ X ) p ( b ∣ a , X ) ? P(Y|X) = p(a|X)p(b|a, X)\cdots P(YX)=p(aX)p(ba,X)?,依次計算每個token基于語音特征及已生成token的條件概率。

CTC和RNN - T模型特點

  • 對齊需求:與LAS不同,CTC和RNN - T需要進行對齊(alignment)操作。模型通過編碼器得到隱藏狀態 h 1 ? h 4 h^1 - h^4 h1?h4,計算 P ( h ∣ X ) P(h|X) P(hX),其中 h h h 序列包含空白符 ? \phi ? (如 h = a ? b ? h = a \phi b \phi h=a?b?) 。
  • 概率計算:CTC和RNN - T計算 P ( Y ∣ X ) P(Y|X) P(YX) 時,需對所有與目標文本序列 Y Y Y 對齊的路徑 h h h求和,即 P ( Y ∣ X ) = ∑ h ∈ a l i g n ( Y ) P ( h ∣ X ) P(Y|X) = \sum_{h \in align(Y)} P(h|X) P(YX)=halign(Y)?P(hX)。最終將含空白符的 h h h 序列映射為目標文本序列(如 a ? b ? → a b a \phi b \phi \to a b a?b?ab ),解決語音與文本時間不對齊問題。

在這里插入圖片描述

怎么窮舉所有的可能組合
在這里插入圖片描述
語音識別的對齊方式:

  • 圖表中部從 “speech”(時長T = 6)到 “text”(字數N = 3)的流程,直觀呈現了語音識別從輸入語音信號到輸出文本的過程。這里時長T和字數N的標注,體現了語音和文本在長度上的對應關系,也是對齊操作需要解決的關鍵問題,即如何將時長為T的語音準確對應到字數為N的文本上。

不同方法展示

  • HMM:HMM(隱馬爾可夫模型)在語音識別中通過狀態轉移和發射概率來建模語音信號。這里展示將 “cat” 擴展到長度T的方式,反映了HMM如何將離散的文本單元對應到連續的語音片段上。其示例結果展示了HMM在對齊過程中的具體實現,可能是通過一系列狀態轉移來匹配語音的不同時段和文本的每個字符。
  • CTC:CTC(Connectionist Temporal Classification)是一種用于解決序列對齊問題的方法。它通過引入空白符,允許模型在不需要預先知道語音和文本精確對齊關系的情況下進行訓練。圖中展示的將 “cat” 擴展到長度T的示例,體現了CTC在處理語音和文本對齊時的靈活性,它可以自動處理語音和文本之間的時間不對齊問題。
  • RNN - T:RNN - T(RNN Transducer)也是一種處理序列到序列任務的模型。它結合了循環神經網絡和變換器的特點,能夠直接對語音和文本進行聯合建模。圖中展示的將 “cat” 擴展到長度T的示例,展示了RNN - T在語音識別對齊中的具體操作方式,它可能通過遞歸計算來逐步生成文本序列,同時考慮語音的上下文信息。

在這里插入圖片描述
隱馬爾可夫模型(HMM)在語音識別中的對齊過程展開,詳細展示了將文本 “cat” 擴展到指定長度 T T T 的方法以及對應的網格圖表示,以下是詳細解釋:

文本擴展部分

  • 擴展目標與方式:圖上方左側 “HMM” 標識表明這部分內容基于隱馬爾可夫模型。“cat” 通過向右的黑色粗箭頭指向 “ccaaat caaaat …” ,將 “cat” 中的每個字符重復若干次,以達到總長度為 T T T 的序列。
  • 約束條件:灰色文本框內的公式 “For n = 1 to N output the n - th token t n t_n tn? times constraint: t 1 + t 2 + ? t N = T , t n > 0 t_1 + t_2+\cdots t_N = T, t_n > 0 t1?+t2?+?tN?=T,tn?>0” 給出了具體的約束條件。這里 N N N 是文本 “cat” 的字符數量( N = 3 N = 3 N=3), t n t_n tn? 表示第 n n n 個字符重復的次數,所有字符重復次數之和要等于 T T T,且每個字符至少重復一次。
  • 網格圖標識:中間左側 “Trellis Graph” 表明這是一個網格圖,常用于表示序列對齊過程中的狀態轉移。
  • 網格內容:第一行藍色方格內的 x 1 x^1 x1 x 6 x^6 x6 代表語音信號的不同時刻或特征,其中 x 5 x^5 x5 旁的火箭圖標和 x 6 x^6 x6旁的紅色表情圖標可能是用于特殊標記或強調。左側三行灰色方格內的 c、a、t 對應文本 “cat” 中的字符。
  • 箭頭含義:黑色箭頭 “duplicate” 表示字符重復,即沿著同一行繼續選擇相同字符;黑色細箭頭 “next token” 表示切換到下一個字符。從左上角橙色圓點開始,不同顏色的箭頭代表不同的對齊路徑,最終都指向右下角藍色圓點,藍色圓點下的紅色亮點表示最終的結束狀態或目標狀態。

在這里插入圖片描述
在這里插入圖片描述

  • 操作過程:圖中 “CTC” 字樣明確了主題。從 “cat” 出發,經過 “duplicate”(重復)和 “add ? \phi ?”(添加空白符)操作,得到諸如 “ c ? a a t t ? c a ? t ? ? c\phi aatt \phi ca\phi t\phi \cdots c?aatt?ca?t??” 這樣的序列。這體現了 CTC 允許在文本中插入空白符,以解決語音和文本在時間上的不對齊問題。

  • 規則約束:下方灰色文本框內的代碼樣式文字給出了詳細的輸出規則和約束條件。它規定了先輸出若干次空白符 ? \phi ? ,然后依次輸出第 n n n個 token 若干次。約束等式和不等式確保了生成序列的長度和字符組合符合要求,如所有字符(包括空白符)出現次數之和要滿足一定條件,每個字符重復次數有相應的限制等。

  • 文本擴展:“cat” 通過 “duplicate” 和 “add ? \phi ?” 操作轉換為 “ c ? a a t t ? c a ? t ? ? c\phi aatt \phi ca\phi t\phi \cdots c?aatt?ca?t??” 并延長到長度 T T T

  • 網格圖表示:中間的藍色方格網格是核心部分。方格內標注的 x 1 x^{1} x1 到 $ x^{6}$ 代表語音信號的不同時刻或特征。方格內的不同顏色圓點、符號 ? \phi ?以及字母 “c”“a”“t” 表示不同的狀態。黑色箭頭和文字說明 “duplicate”(重復當前字符)、“next token”(切換到下一個字符)、“insert ? \phi ?”(插入空白符) 展示了狀態之間的轉移規則。帶有爆炸效果的小圖標可能是用于特殊標記或強調某個關鍵狀態或操作。
    在這里插入圖片描述
    當下一個 token 和當前 token 相同時的處理規則是不能往下走。

在這里插入圖片描述
RNN - T(RNN Transducer)在語音識別中的文本處理規則:
文本擴展

  • 文本擴展操作:“cat” 通過黑色粗箭頭指向右側形如 “ ? a ? t ? ? \phi a\phi t\phi \cdots ?a?t??” 的序列,箭頭下方 “add ? \phi ?x T” 說明操作是向 “cat” 中添加 ? \phi ? (空白符),且添加的總次數與參數 T T T 相關。這一操作體現了 RNN - T 在處理語音和文本對齊時,通過引入空白符來增強模型靈活性和處理能力。
  • 對話框內容:圖片下方左側的藍色和橙色對話框包含了重要的規則說明。藍色對話框 “Put some ? \phi ?(option)” 表示可以選擇添加一些空白符,這給予了模型在處理過程中的一定靈活性。橙色對話框 “Put the n - th token t n t_n tn? times” 表示要將第 n n n 個 token 輸出 t n t_n tn?次,且 “at least once” 強調每個 token 至少要出現一次。
  • 規則闡述:右側灰色方框內的數學相關文字進一步闡述了輸出規則和約束條件。它詳細說明了輸出 ? \phi ? 的次數規則,例如先輸出若干次 ? \phi ? ,然后依次輸出每個 token 若干次。同時,給出了嚴格的約束等式和不等式,確保生成序列的長度和字符組合符合要求,如所有字符(包括空白符)出現次數之和要滿足一定條件,每個 token 重復次數有相應的下限等。

在這里插入圖片描述
橫著走插入的是空,往下走是預測下一個token

  • 核心操作:從 “cat” 出發,通過箭頭 “add ? \phi ? x T” 指向添加了多個空白符號 “ ? \phi ?” 的序列,這表明 RNN - T 在處理文本時,會向原始文本中添加一定數量的空白符,以增強模型在處理語音和文本對齊時的靈活性。
  • 網格含義:網格圖由上下兩部分組成,上方藍色方格標注的 x 1 x^{1} x1 x 6 x^{6} x6 代表語音信號的不同時刻或特征;下方淺藍色方格中字母 “c”“a”“t” 重復排列,代表文本中的字符。
  • 路徑規則:黑色箭頭表示不同的操作,“Insert ? \phi ?” 表示插入空白符,“output token” 表示輸出當前字符。路徑的起始和結束點用藍色圓點標記,清晰地展示了整個操作流程的開始和結束。
  • 特殊標記:路徑中的紅色圓點標記在 “t” 處,可能是為了突出某個關鍵步驟或狀態;鉛筆圖標標記可能表示需要進一步處理或注意的節點。

總結

在這里插入圖片描述

  • HMM(隱馬爾可夫模型):由一系列帶有字母(如 “c”“a”“t”)的圓圈表示狀態,圓圈之間的箭頭體現了狀態轉移關系。HMM通過狀態轉移概率和發射概率來描述序列的生成過程,在語音識別中,這些狀態和轉移可能對應著語音的不同音素或發音狀態的變化。
  • CTC(Connectionist Temporal Classification):同樣由帶字母和符號(如 “c”“a”“t”“( \phi )”)的圓圈和箭頭構成狀態轉移圖。CTC引入了空白符 ? \phi ?,用于處理語音和文本之間的時間不對齊問題。它允許模型在不需要預先知道語音和文本精確對齊關系的情況下進行訓練,增強了模型的靈活性。
  • RNN - T(RNN Transducer):除了字母和符號的圓圈及箭頭外,部分狀態上方標注了 “not gen”,可能表示這些狀態在特定條件下不進行生成操作。RNN - T結合了循環神經網絡和變換器的特點,能夠直接對語音和文本進行聯合建模,其狀態轉移反映了模型在處理語音序列時逐步生成文本的過程。

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

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

相關文章

jQuery和CSS3卡片列表布局特效

這是一款jQuery和CSS3卡片列表布局特效。該卡片布局使用owl.carousel.js來制作輪播效果&#xff0c;使用簡單的css代碼來制作卡片布局&#xff0c;整體效果時尚大方。 預覽 下載 使用方法 在頁面最后引入jquery和owl.carousel.js相關文件。 <link rel"stylesheet&qu…

Microsoft 推出 Magentic-UI,多智能體引領網頁人機協作變革

當前&#xff0c;現代生產力與網頁操作緊密相連&#xff0c;信息檢索、表單填寫、儀表盤導航等網頁任務已成為工作流程的重要環節。然而&#xff0c;大量網頁任務仍依賴人工重復操作&#xff0c;效率低下且易出錯。與此同時&#xff0c;許多 AI 智能體雖追求自主運行&#xff0…

2023年6級第一套長篇閱讀

畫名詞概念&#xff0c;動詞概念 多處定位原詞加同義改寫 畫關鍵詞&#xff0c;多處定位直接就可以選A了 沒有定位的句子先比沒匹配到的段落&#xff0c;再匹配長的段落先易后難

登山第二十三梯:有序點云平面快速分割——35Hz幀速前進

文章目錄 一 摘要 二 資源 三 內容 一 摘要 3D 點云中的實時平面提取對于許多機器人應用至關重要。作者提出了一種新穎的算法&#xff0c;用于在從 Kinect 傳感器等設備獲得的有組織的點云中實時可靠地檢測多個平面。通過在圖像空間中將這樣的點云均勻地劃分為不重疊的點組&…

【北京盈達科技】GEO優化:引領AI時代內容霸權,重塑行業生態

盈達科技GEO優化&#xff1a;引領AI時代內容霸權&#xff0c;重塑行業生態 在人工智能飛速發展的今天&#xff0c;生成式AI已經深刻改變了人們獲取信息的方式。從ChatGPT到文心一言&#xff0c;再到各種智能問答系統&#xff0c;AI生成的內容正在成為信息傳播的新主流。然而&a…

安卓端智能耗材柜系統可行性方案(基于uniapp + Vue3)

一、系統架構設計 1. 技術棧&#xff1a; 前端框架&#xff1a;uniapp Vue3 TypeScript狀態管理&#xff1a;Pinia&#xff08;分層設計&#xff0c;模塊化Store&#xff09;硬件交互&#xff1a;Android原生插件&#xff08;Java/Kotlin封裝&#xff09;通信協議&#xff…

Java交互協議詳解:深入探索通信機制

解析Java中各類交互協議的設計原理與實戰應用&#xff0c;涵蓋TCP/UDP自定義協議、HTTP/RESTful、WebSocket、RPC等主流方案。 一、交互協議核心概念 交互協議是系統間通信的規則集合&#xff0c;包含&#xff1a; 消息格式&#xff1a;數據序列化方式&#xff08;JSON/XML/P…

k8s上運行的mysql、mariadb數據庫的備份記錄

文章目錄 前言一、獲取需要備份的數據庫的信息二、備份步驟1.準備工作2.手動備份3.定時任務自動備份 總結 前言 記錄一下在k8s運行的數據庫的備份步驟。 我的思路是新建一個數據庫的容器作為工具容器&#xff0c;通過工具容器執行mysqldump命令進行備份&#xff0c;最后通過定…

寶塔面板部署python web項目詳細教程

最近在學langchain&#xff0c;寫了一個小案例出來&#xff0c;我剛好有一臺服務器&#xff0c;就嘗試自己部署一下項目&#xff0c;結果很幸運一遍過&#xff0c;現在記錄一下。我的系統是OpenCloudOS 9 目錄 1.安裝python解釋器版本 2.上傳項目文件到寶塔面板 3.添加項目…

IT選型指南:電信行業需要怎樣的服務器?

從第一條電報發出的 那一刻起 電信技術便踏上了飛速發展的征程 百余年間 將世界編織成一個緊密相連的整體 而在今年 我們迎來了第25屆世界電信日 同時也是國際電聯成立的第160周年 本屆世界電信日的主題為:“彌合性別數字鴻溝,為所有人創造機遇”,但在新興技術浪潮洶涌…

OAuth協議中的Token、Ticket

OAuth協議中的核心概念&#xff08;如Token、Ticket等&#xff09;可以通過日常生活中的類比來形象理解&#xff1a; 1. 門票&#xff08;Ticket&#xff09; vs 令牌&#xff08;Token&#xff09;類比 概念現實類比OAuth中的表現Ticket電影院紙質票&#x1f3ab;短期有效的臨…

80x86CPU入棧與出棧操作

一、棧操作&#xff1a;入棧push&#xff0c;出棧pop 棧操作&#xff1a;FILO&#xff08;先進后出機制&#xff09; 棧頂的指針&#xff1a;ss:sp決定&#xff0c;任意時刻棧頂指針指向SS:SP的位置 對于8086CPU 入棧時&#xff1a;sp-2 出棧時&#xff1a;sp2 assume cs…

最優控制:從變分法到龐特里亞金原理

典型問題 根據系統的建模可以劃分為&#xff1a; 線性系統&#xff1a; x ˙ A x B u \mathbf{\dot{x}} \boldsymbol{A}\mathbf{x}\boldsymbol{B}\mathbf{u} x˙AxBu非線性系統 x ˙ ( t ) f ( x ( t ) , u ( t ) , t ) \dot{\mathbf{x}}(t) \mathbf{f}(\mathbf{x}(t)…

DeepSeek 提示詞大全

目錄 前言一、提示詞基礎理論 什么是提示詞提示詞的類型提示詞的基本結構 二、提示詞設計原則 明確指令結構化表達情境化需求漸進式引導邊界與限制 三、場景化提示詞模板 寫作創作類角色扮演類信息提取類代碼編程類教育學習類商業營銷類生活助手類 四、提示詞優化技巧 迭代式優…

安科瑞Acrelcloud-6200系統:智慧路燈安全用電監控平臺架構解析

安科瑞顧強———Acrelgq 智慧路燈作為智慧城市與新基建的核心載體&#xff0c;集成了大量異元異構電子設備&#xff0c;其供電安全與能效管理面臨電壓多樣、權屬分散、擴展性不足等挑戰。本文提出一種融合統一供電、分路計量、智能防護與遠程監控的解決方案&#xff0c;通過構…

DMBOK對比知識點對比(1)

1.CDGP各章活動 章節一級

css設置動態數值:clamp函數

CSS 的 clamp() 函數是一個強大的工具&#xff0c;用于創建響應式且范圍可控的動態值。它結合了min() 和max() 的邏輯&#xff0c;允許你定義一個值在最小值和最大值之間動態調整。 語法為&#xff1a; clamp(最小值, 首選值, 最大值)&#xff1b; 工作原理&#xff1a; 當 …

數值計算與數據相關參數剖析:保障模型訓練穩定與準確

一、計算類型&#xff1a;以BF16為例 1.1 核心作用 BF16 是一種計算方式&#xff0c;它能讓模型訓練更快&#xff0c;還省內存。比如訓練模型時&#xff0c;用普通方式可能很慢&#xff0c;占內存也多&#xff0c;而 BF16 就像給模型開了 “加速鍵”&#xff0c;訓練起來更高…

數據庫讀寫分離解決方案

數據庫讀寫分離解決方案 一、讀寫分離核心概念 讀寫分離(Read/Write Splitting)是通過將數據庫的讀操作和寫操作分離到不同的數據庫節點來提升系統整體性能的架構模式。 核心原則:寫操作集中在主庫(Master),讀操作分散到從庫(Slave),通過數據復制保持主從一致性 二、技術實…

小白的進階之路系列之七----人工智能從初步到精通pytorch自動微分優化以及載入和保存模型

本文將介紹Pytorch的以下內容 自動微分函數 優化 模型保存和載入 好了,我們首先介紹一下關于微分的內容。 在訓練神經網絡時,最常用的算法是反向傳播算法。在該算法中,根據損失函數相對于給定參數的梯度來調整參數(模型權重)。 為了計算這些梯度,PyTorch有一個內置…