kaldi lattice(網(wǎng)格)

https://shiweipku.gitbooks.io/chinese-doc-of-kaldi/content/lattice.html

一、lattice 基礎(chǔ)

????1、Lattice

????????① 它是一個FST;

????????② 輸入:transition-ids? ? ? 輸出:詞

????????③ 權(quán)重(weights):圖代價(graph cost) +? 聲學(xué)代價 (acoustic cost

????2趣效、CompactLattice(本質(zhì)上包含了和Lattice相同的信息)

????????① 它是acceptor(輸入域輸出符號始終相同,均為詞)

????????② 權(quán)重(weights): 一對浮點數(shù)(Lattice中的權(quán)重 )+ 一個整數(shù)序列(transition-ids)

????3疮蹦、讀取 Lattice 和 CompactLattice 均可用 SequentialLatticeReader惰瓜。

? ? ? ????兩者之間轉(zhuǎn)換可使用 ConvertLattice()

????4否副、Lattice 和 CompactLattice 類型被當做數(shù)據(jù)結(jié)構(gòu)來表示傳統(tǒng)的網(wǎng)絡(luò),也用于表示 N-best 列表

????5崎坊、網(wǎng)絡(luò)上很多算法(如取最優(yōu)路徑备禀,或剪枝)用Lattice 類型比 CompactLattice 類型效率更高。

? ? ? ????這是因為 CompactLattice 類型的權(quán)重包括了transition-ids 序列(比較難處理)奈揍。

? ? ????? 像取最有路徑的操作痹届,會將權(quán)重相乘,對應(yīng)著序列相加 打月。

????6队腐、對很多算法來說,時間復(fù)雜度是網(wǎng)格長度的平方

????7奏篙、Lattices 通常以 CompactLattice 的形式存儲在 archive(檔案)

? ? ? ????而且慣例是 acoustic weights 不采用縮放(存儲的時候不縮放)

? ? ????? 所以當對 acoustic weights 做敏感的運算(如剪枝)柴淘,對應(yīng)的命令行會有 --acoustic-scale 選項 (在 thch30 ????例子中是0.1 or 0.08333333),并在進行運算前縮放秘通,運算結(jié)束后縮放回來为严。

????ps: 思考:根據(jù)第7點,調(diào)節(jié) --acoustic-scale 參數(shù)對模型調(diào)優(yōu)有沒有幫助肺稀?

二第股、與 weights 相關(guān) (graph cost, acoustic cost)

????1话原、LexicographicWeight 首先比較第一個元素并用第二個元素打破平局

????2夕吻、LatticeWeight? 首先比較和值,用差值打破平局

????3繁仁、根據(jù) 1和2 可知涉馅,LatticeWeight(a,b) 與 LexicographicWeight(a+b, a-b)等價

????4、LatticeWeight 的意圖是取總代價(graph+acoustic cost)最小的黄虱,同時分別記住 graph cost 和 acoustic cost

????5稚矿、之所以不用 LexicographicWeight 代替 LatticeWeight 是因為 (graph+acoustic cost, acoustic cost)這樣定義有些混亂

三捻浦、生成lattice

????1晤揣、目前,生成 lattice 的唯一解碼器是定義在 decoder/lattice-simple-decoder.h 中的類 LatticeSimpleDecoder朱灿,它被 gmm-latgen-simple.cc中調(diào)用

????2昧识、LatticeSimpleDecoder 是由 SimpleDecoder 修改得到的

? ? ????? SimpleDecoder 是 Veterbi beam search 算法的一個直接實現(xiàn),只有一個可調(diào)參數(shù) :pruning beam

? ? ????? LatticeSimpleDecoder 有一個更重要的可調(diào)參數(shù):lattice beam (也可稱為 lattice-delta)母剥,一般比 pruning ????beam 小

????3滞诺、基本框架是:

????????① LatticeSimpleDecoder 先生成一個狀態(tài)級網(wǎng)絡(luò)形导;

????????② 然后用 lattice-delta 剪枝环疼;

????????③ 最后執(zhí)行 determinization算法习霹,對每個詞序列僅保留最優(yōu)路徑

????4、在 SimpleDecoder 中炫隶,有引用計數(shù)的回溯(reference-counted tracebacks)

????????在 LatticeSimpleDecoder 中淋叶,單個回溯是不夠的,因為網(wǎng)格具有更復(fù)雜的結(jié)構(gòu)伪阶。

????????實際上煞檩,存儲前向鏈接比后向鏈接更方便。

????????為了釋放 lattice-delta pruning(剪枝) 時不需要的鏈接栅贴,我們需要做的比引用計數(shù)更多斟湃,實際上也沒有做引用計數(shù)。

四檐薯、一些 lattice 上的操作

????1凝赛、pruning lattices (剪枝)

????????網(wǎng)格可以用一個設(shè)定的 pruning beam 來剪枝。這會去掉和網(wǎng)格中最優(yōu)路徑的代價相差不夠小的那部分 arcs(弧) 和 states

????2坛缕、lattice composition (組合)

????① 組合網(wǎng)格

????????這是在轉(zhuǎn)換器(tansducer)形式下完成的墓猎。例如可以把網(wǎng)格看做 transition-ids 到 words 的一個轉(zhuǎn)換器

????② 組合網(wǎng)格和一個固定的FST (是指網(wǎng)格和 HCLG.fst 的組合嗎?)

????????為了這個目的赚楚, FST 被動態(tài)地轉(zhuǎn)換為網(wǎng)格毙沾;FST的權(quán)重解釋為網(wǎng)格權(quán)重的 "graph part"

????3、有些時候我們不需要網(wǎng)格結(jié)構(gòu)而是需要最佳路徑或 N-best 路徑

????????N-best 列表的格式和網(wǎng)格一樣宠页,除了每個句子有多個 FSTs (如果設(shè)定了n,最多 n 個)

????4左胞、如果想要網(wǎng)格的時間信息

????????① LatticeStateTimes 函數(shù) (for lattice)

????????② CompactLatticeStateTimes 函數(shù) (for CompactLattice)

五、總結(jié)

????根據(jù)之前看的資料举户,總結(jié)了一個基于 kaldi 的 ASR 和 KWS 流程罩句,只是個人見解,可能存在不對的地方敛摘。

????1门烂、wav2features 首先提取音頻特征(訓(xùn)練不同的模型需要的特征不一樣)

????2、提取的特征根據(jù)聲學(xué)模型 (final.mdl ?) 得到 phones or HMM states

????3兄淫、根據(jù) phones or HMM states 得到 lattices

????4屯远、把 lattice 和 HCLG.fst 組合得到新的 FST,再從中得到 N-best 路徑

????5捕虽、根據(jù)最佳路徑得 ASR 解碼結(jié)果慨丐;

? ? ? ? ? 根據(jù) N-best 路徑搜索關(guān)鍵詞。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泄私,一起剝皮案震驚了整個濱河市房揭,隨后出現(xiàn)的幾起案子备闲,更是在濱河造成了極大的恐慌,老刑警劉巖捅暴,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恬砂,死亡現(xiàn)場離奇詭異,居然都是意外死亡蓬痒,警方通過查閱死者的電腦和手機泻骤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梧奢,“玉大人狱掂,你說我怎么就攤上這事∏坠欤” “怎么了趋惨?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惦蚊。 經(jīng)常有香客問我器虾,道長,這世上最難降的妖魔是什么养筒? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任曾撤,我火速辦了婚禮,結(jié)果婚禮上晕粪,老公的妹妹穿的比我還像新娘挤悉。我一直安慰自己,他們只是感情好巫湘,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布装悲。 她就那樣靜靜地躺著,像睡著了一般尚氛。 火紅的嫁衣襯著肌膚如雪诀诊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天阅嘶,我揣著相機與錄音属瓣,去河邊找鬼。 笑死讯柔,一個胖子當著我的面吹牛抡蛙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播魂迄,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼粗截,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了捣炬?” 一聲冷哼從身側(cè)響起熊昌,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤绽榛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后婿屹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灭美,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年选泻,在試婚紗的時候發(fā)現(xiàn)自己被綠了冲粤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片美莫。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡页眯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出厢呵,到底是詐尸還是另有隱情窝撵,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布襟铭,位于F島的核電站碌奉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏寒砖。R本人自食惡果不足惜赐劣,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望哩都。 院中可真熱鬧魁兼,春花似錦、人聲如沸漠嵌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽儒鹿。三九已至化撕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間约炎,已是汗流浹背植阴。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留圾浅,地道東北人掠手。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像贱傀,于是被迫代替她去往敵國和親惨撇。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355