国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

《WeNet語音識別實(shí)戰(zhàn)》答疑回顧(一)

2022-07-12 16:02 作者:語音之家  | 我要投稿


關(guān)注微信公眾號:【語音之家工匠學(xué)堂】,獲取更多AI語音相關(guān)課程!

添加班主任微信:15601233621,備注【B站】,獲取課程優(yōu)惠!


問 1:現(xiàn)在語音識別落地比較難的點(diǎn)?

答:目前來說,語音識別落地的難點(diǎn)有中英混、方言、預(yù)訓(xùn)練模型等。首先,中英混是一個語音識別落地的難點(diǎn),現(xiàn)在有很多研究在做;其次,方言也是一個難點(diǎn),這里面主要是數(shù)據(jù)的問題,像是低資源的模型的構(gòu)建,就是在數(shù)據(jù)比較少的情景如何構(gòu)建語音模型;其他的還有類似WAV2vec這種預(yù)訓(xùn)練模型,如果模型要做得比較大,如何去做實(shí)時的流式推理,這些都是目前研究的一些點(diǎn),在最近也都有一些進(jìn)展。


問 2:學(xué)了WeNet可以做點(diǎn)什么?比如說在科研實(shí)驗(yàn)方面,能夠提供那些幫助?

答:WeNet這個工具包本身的定位不是提供一些基礎(chǔ)的組件讓大家去實(shí)踐一些新的算法,它最大的特點(diǎn)是講究落地性,它會總結(jié)并集成目前工業(yè)界最有效的一些實(shí)踐的方式,相當(dāng)于幫大家做了篩選,直接跳過一些坑。

對于語音識別的初學(xué)者來說,可以通過WeNet構(gòu)建起自己對端到端的知識體系,雖然只通過使用WeNet不能把這個知識體系建立完全,但是它可以作為一個骨干,我們可以基于這個骨干補(bǔ)充更多的知識。

如果想要用WeNet做科研也沒有問題,現(xiàn)在有很多實(shí)驗(yàn)室的同學(xué)和工業(yè)界的朋友都會在WeNet的基礎(chǔ)上做一些改造,然后發(fā)一些文章。而且做科研試驗(yàn)肯定是需要了解一些基礎(chǔ)的模型的架構(gòu)和實(shí)現(xiàn),雖然也有一些其它的工具包可以幫助我們來了解這些知識,但是WeNet會更全面,所以可以把WeNet作為一個基礎(chǔ)的Framework,把它搞懂了對做科研試驗(yàn)肯定是有幫助的。


問 3:現(xiàn)在語音識別主流的方案是什么?主流的落地方案又是什么呢?

答:目前開源語音識別的主流的方案有Kaldi、 K2、PaddleSpeech、ESPnet 、WeNet。

關(guān)于主流的落地方案是什么,這個要分開說,如果想搞科研,那么ESPnet就會更適合一些,WeNet也可以;如果要產(chǎn)品落地的話,那么目前來說WeNet是走在最前面的。

首先,WeNet針對落地化的一些問題,提出了語言模型、熱詞等不少解決方案,接下來也會繼續(xù)優(yōu)化熱詞,后續(xù)可能會出一個熱詞增強(qiáng)的2.0,大家也可以關(guān)注一下。其次是能夠很簡單地把WeNet部署起來,用到一個真實(shí)的業(yè)務(wù)上面去。


問 4:如果想充分理解一個預(yù)訓(xùn)練模型的算法,比如aishell預(yù)訓(xùn)練模型,應(yīng)該從哪入手?

答:如果是想去研究模型結(jié)構(gòu)以及模型的訓(xùn)練,那么可以把WeNet的recipe跑通,然后再明確每一個腳本的輸入、輸出、模型結(jié)構(gòu)。也可以嘗試調(diào)參,觀察模型的收斂效果,或者模型損失的下降速度會不會更快。

如果是想去研究一下Runtime的話,這門課(《WeNet語音識別實(shí)戰(zhàn)》)會帶大家去把整個Runtime跑通,其中也包括Runtime的調(diào)試。如果你想更深入的話,你也可以針對每一行代碼,了解底層邏輯,只要你把整個調(diào)試跑起來之后,這個問題也都是比較簡單的。

那么當(dāng)你把整個Rimetime跑下來之后,大家也可以去參考WeNet公眾號上面的一些推送。在整個WeNet的開發(fā)過程中,針對于每一個功能點(diǎn),都會有一篇推送介紹這個功能點(diǎn)的實(shí)現(xiàn)過程,比如說熱詞的實(shí)現(xiàn)過程,你可以根據(jù)代碼和推送理解WeNet的整個邏輯。在這個基礎(chǔ)之上,如果你有一些比較好的想法,你也可以去做簡單的改進(jìn)。

Runtime的改動是比較簡單的,即使對于C++不是太熟悉,也可以在代碼里面找類似的部分,把它拷貝一下就能夠去完成你的想法。大家也可以看一下我們Github上有不少的PR,也是一些其他同學(xué)的一些改動,不是特別復(fù)雜,代碼量不多。


問 5:端到端模型對于領(lǐng)域文本優(yōu)化有什么方案可以在實(shí)際應(yīng)用中使用的?

答:可以使用領(lǐng)域的語言模型,比如在語音相關(guān)的場景可以使用語音識別的文本統(tǒng)計(jì)一個語言模型,在識別過程中對語言模型的內(nèi)容進(jìn)行增強(qiáng)。熱詞也可以一定程度上作為解決該問題的補(bǔ)充。


問6:當(dāng)前最新的比較好的算法好像也就是 Conformer了,還有比這更好的嗎? 如果找不到更好的算法,應(yīng)該從哪些方面來優(yōu)化預(yù)訓(xùn)練模型呢?

答:Conformer可以認(rèn)為是Transformer的一個變種,Transformer在全局建模方面有比較好的性能。因?yàn)檎Z音識別模型的性能不能只關(guān)注WER,還需要關(guān)注模型的大小和延遲,如果想要優(yōu)化模型也可以從這兩方面入手,因?yàn)閷τ谀P偷穆涞鼗瘉碚f,延遲是一個很重要的性能。如果你看過WeNet的論文之后發(fā)現(xiàn)WeNet的建模會讓延遲比較大,并且有一個好的想法能夠降低它的延遲,你也可以嘗試修改。


問 7:WeNet有什么獨(dú)特的地方嗎?比如流識別方面。

答:WeNet里制作、使用了比U2更優(yōu)化的U2++算法解決流式的問題。具體思想是做兩次識別,第一遍利用CTC的結(jié)果,第二遍利用Attention Decoder做rescoring,整體實(shí)現(xiàn)模型架構(gòu)上的流式。Conformer、Transformer模塊中的Self-Attention本身是不能做流式識別的,在WeNet中通過dynamic chunk training的方式實(shí)現(xiàn)了Conformer和Transformer的流式。


問 8:熱詞增強(qiáng)和熱詞喚醒在實(shí)現(xiàn)上的區(qū)別是什么?

答:熱詞喚醒即為Hot Word或者Wake-up Word,是一個輕量級的關(guān)鍵詞檢測,通常部署在端側(cè)的設(shè)備上,如音響、手機(jī)等。它占用資源很小,網(wǎng)絡(luò)規(guī)模一般在幾十k到幾百k。而熱詞增強(qiáng)是語音識別中的一項(xiàng)技術(shù),它對一些特定場景中特定名詞做實(shí)時的定向增強(qiáng),一般會部署在算力比較強(qiáng)勁的端側(cè)。


問 9:目前WeNet的時間戳方案不太準(zhǔn)確(一是靜音的判斷不準(zhǔn)確,二是字與字的時間戳是連著的,無論中間靜音有多大),請問有什么方案可以提高時間戳的準(zhǔn)確度嗎?

答:時間戳是根據(jù)CTC判斷,本身CTC在這方面有一定的滯后性或者漂移,這個是導(dǎo)致時間戳不準(zhǔn)確的一個原因。在后處理時,初版WeNet考慮到字與字之間的時間戳是連著的這樣的問題,在最新版的WeNet已經(jīng)修正合并到master的分支中。


問 10:請問現(xiàn)在工業(yè)上用傳統(tǒng)的技術(shù)多還是端到端的技術(shù)多啊?

答:目前來說這兩種都有。但是現(xiàn)在有一種趨勢,這種趨勢大致是從去年開始的,就是從傳統(tǒng)的混合框架遷移到端到端的框架上面去。有一些公司研究的比較快或者說技術(shù)迭代的比較快,已經(jīng)完成遷移了;有一些公司還在驗(yàn)證或者說遷移的過程中,可能再過一兩年基本上大部分就都遷移到端到端了。

因?yàn)槎说蕉诉@個框架優(yōu)勢比較明顯:第一,搭系統(tǒng)的門檻低了,第二,端到端在性能方面已經(jīng)超越了傳統(tǒng)的混合框架,雖然端到端還有它本身的一些問題,如在工業(yè)上落地的時候需要考慮很多的問題,包括領(lǐng)域遷移的問題、熱詞的問題等等。但是大的趨勢肯定是往端到端上遷移的。


問 11:WeNet 轉(zhuǎn) onnx 的時候要拆成幾個模型導(dǎo)出,可以合并為一個嗎?

答:不可以,因?yàn)閛nnxruntime 不支持。


問 12:熱詞的文件是什么結(jié)構(gòu)?

答:一個文本文件,每一行表示一個熱詞,不需要提前分詞。


問 13:web socket server 怎么啟用熱詞?

答:指定兩個參數(shù):--context_path 和 --context_score


問 14:-context_score 這個值是什么范圍?一般多少合適?

答:需要手動調(diào),可以設(shè)置為 3 ~ 10


問 15:web socket server支持語言模型嗎?

答:支持,參數(shù)的定義都在 decoder/params.h 里面,可以仔細(xì)看一下。


問 16:在流式識別中,如何解決背景噪音帶來的干擾?

答:通常的做法是給訓(xùn)練集加噪聲,真實(shí)的加噪數(shù)據(jù)訓(xùn)練更好,也可以模擬加噪數(shù)據(jù)。


問 17:一般外呼場景都是8k采樣率的錄音, 假設(shè)模型都一樣 ,8k和16k不同采樣率訓(xùn)練出的模型準(zhǔn)確率會有差距嗎?

答:在模型、語料、信道等信息相同的情況下,如果只是經(jīng)過降采樣后訓(xùn)練模型,兩種采樣率的模型結(jié)果是有差距的,正常情況下,8k的結(jié)果沒有16k的好。


問 18:不把16k降到8k維護(hù)一套8k的是因?yàn)?6k準(zhǔn)確率高嗎?如果有存儲需求16k意味著存的音頻占的硬盤翻倍了,rtf也會下降吧?

答:維護(hù)兩套肯定比維護(hù)一套的成本高。存的時候按原始采樣率存就行了,不會有額外存儲,8k轉(zhuǎn)16k這個過程代價不高。


問 19:WeNet進(jìn)行一些簡單的優(yōu)化rtf大概能到多少?

答:0.1左右。


問 20:web socket server,用的onnx的模型,加上熱詞后,score從3-10都試了下,沒有起作用。onnx模型,是從非流模型導(dǎo)出的,會是這個原因嗎?

答:熱詞跟是否流式?jīng)]有關(guān)系,根據(jù)運(yùn)行結(jié)果來看,兩個熱詞里均包含OOV,都被跳過了。熱詞文件格式有問題,應(yīng)該是UTF-8。


問 21:熱詞標(biāo)記,但是最后沒有實(shí)現(xiàn)是因?yàn)槭裁矗?/strong>

答:熱詞并不能確保一定成功,因?yàn)榻獯a過程中首先取了概率前十的字,如果熱詞不在這里面,分?jǐn)?shù)再高也沒用。


問 22:CTC的尖峰效應(yīng),是不是可以理解為:目標(biāo)函數(shù)約束前面的神經(jīng)網(wǎng)絡(luò),將一個詞的多幀信息,集中到了'尖峰'這一幀。

答:在輸出中如果輸出錯誤會有較大的罰分,將不確定的結(jié)果不指定到具體的幀,輸出blank,確定的結(jié)果輸出,迭代過程中正確的結(jié)果就越突出,準(zhǔn)確率越高。


問 23:web socket server 配置了 熱詞的文本文件后,如果有追加或更新,需要重啟服務(wù)么?還是自動就生效了?

答:需要重啟重新構(gòu)圖的,如果希望熱更新,需要自己做一些開發(fā)的工作,如通過增加一個 ?熱詞更新 的命令,讓web socket server重新構(gòu)圖。


問 24:為什么這里算概率一定要把這些全部加起來,為什么不能像一個一個地算,求出最大概率為聲學(xué)對齊結(jié)果呢?

如果你的模型參數(shù)已經(jīng)優(yōu)化好了,最大概率是聲學(xué)對齊,如果是一個隨機(jī)初始化的模型,最大概率的那個系列只是一個隨機(jī)對齊。

假如你的初始模型,在標(biāo)注約束下預(yù)測出的是“我我我我我我我愛東哥”,然后你又把這個輸出當(dāng)作是正確對齊,那你的模型無論怎么學(xué)。學(xué)到的還是這個輸出。

如果只是從概率公式上看,“文本標(biāo)注=我愛東哥”這個事件,等價于其“所有個可能的對齊”組成的事件,所以可以寫成這些子事件的概率之和。


問 25:一般這種websocket 如何做高并發(fā),有沒有好的解決方案?

答:需要再包裝一層上層服務(wù),可以用nginx代理,nginx可以代理ws,后面部署多個ws server。

《WeNet語音識別實(shí)戰(zhàn)》答疑回顧(一)的評論 (共 條)

分享到微博請遵守國家法律
沈阳市| 漠河县| 广平县| 绥棱县| 通山县| 赤壁市| 涟水县| 西盟| 响水县| 亳州市| 汤原县| 庆阳市| 鲁甸县| 海兴县| 怀柔区| 浮山县| 吴江市| 凌海市| 阳城县| 两当县| 屏山县| 海城市| 承德市| 云龙县| 大邑县| 政和县| 溆浦县| 锦屏县| 搜索| 大埔区| 墨江| 吉木萨尔县| 开阳县| 通辽市| 武义县| 开原市| 稻城县| 南木林县| 德令哈市| 杨浦区| 高清|