本系列具體介紹可以參見基礎(chǔ)篇。這篇是系列第二篇,篇幅相較于基礎(chǔ)篇會(huì)比較短,因?yàn)?Nemo 真的是一個(gè)很好用的庫(kù)。
創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、攀枝花網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為攀枝花等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。該篇主要分為三個(gè)部分:
ASR:自動(dòng)語(yǔ)音識(shí)別技術(shù),Automatic Speech Recognition 的縮寫,其目的是將人的語(yǔ)音轉(zhuǎn)化為文字。在各大社交軟件以及輸入法中已經(jīng)是普遍可見的應(yīng)用。
以 Sky Hackthon 比賽理念出發(fā),比賽通常是構(gòu)建一個(gè)可以應(yīng)用于實(shí)際生活中的 AI 小工具,那么日常生活中,最為常見的溝通手段肯定就是使用對(duì)話交流??梢哉f, ASR 技術(shù)可以說是構(gòu)建 AI應(yīng)用中必不可少的一環(huán)。
在 Sky Hackthon 的比賽中,通常使用 Nemo 進(jìn)行 ASR 模塊的構(gòu)建,從官網(wǎng)頁(yè)面我們可以得知:
NVIDIA NeMo 是一個(gè)框架,用于借助簡(jiǎn)單的 Python 界面構(gòu)建、訓(xùn)練和微調(diào) GPU 加速的語(yǔ)音和自然語(yǔ)言理解 (NLU) 模型。使用 NeMo,開發(fā)者可以創(chuàng)建新的模型架構(gòu),并通過易于使用的應(yīng)用編程接口 (API),在 NVIDIA GPU 中的 Tensor Core 上使用混合精度計(jì)算對(duì)其進(jìn)行訓(xùn)練。
借助 NeMo,您可以構(gòu)建用于實(shí)時(shí)自動(dòng)語(yǔ)音識(shí)別 (ASR)、自然語(yǔ)言處理 (NLP) 和文本轉(zhuǎn)語(yǔ)音 (TTS) 應(yīng)用(例如視頻通話轉(zhuǎn)錄、智能視頻助理以及醫(yī)療健康、金融、零售和電信行業(yè)的自動(dòng)化呼叫中心支持)的模型。
而正如其宣傳的那樣,Nemo 的使用其實(shí)真的很簡(jiǎn)單很簡(jiǎn)單,做好數(shù)據(jù)收集和模型訓(xùn)練,在 Sky Hackthon 一定能拿到好的結(jié)果!
數(shù)據(jù)收集與處理機(jī)器學(xué)習(xí)與深度學(xué)習(xí)的相關(guān)人士肯定都聽過一句話:數(shù)據(jù)決定上限,模型抬高下限。因此在 ASR 篇中,重點(diǎn)會(huì)講如何收集與處理數(shù)據(jù)集,保證收集到足量足質(zhì)的數(shù)據(jù)集。
數(shù)據(jù)要求數(shù)據(jù)基本要求:?jiǎn)温暤馈AV格式、44100采樣率、普通話、內(nèi)容完整、盡量無噪聲。
數(shù)據(jù)額外要求:數(shù)據(jù)越多越好、發(fā)音盡可能多元化(主要指年齡、性別)。
數(shù)據(jù)收集方案這里提供幾個(gè)方案供大家參考,視自己情況選擇方案進(jìn)行數(shù)據(jù)收集。
方案一:自己錄制。
自己參賽,自然應(yīng)該 Push 自己,隊(duì)伍內(nèi)成員對(duì)語(yǔ)音內(nèi)容反復(fù)錄制3-5條并不會(huì)導(dǎo)致數(shù)據(jù)過分?jǐn)M合,特別是每個(gè)人語(yǔ)速、語(yǔ)調(diào)都是可以人為控制進(jìn)行變換的,可以視為單獨(dú)錄制的。同時(shí),如果隊(duì)伍成員內(nèi)有喜歡配音的小伙伴,那我只能說,聲優(yōu)都是怪物,完全可讓他們多錄一點(diǎn)。
方案優(yōu)點(diǎn):質(zhì)量有保障、來源很穩(wěn)定、重復(fù)錄制可以獲取大量數(shù)據(jù)。
方案缺點(diǎn):音色單一、數(shù)據(jù)內(nèi)容同質(zhì)性高、可能過擬合。
方案二:呼朋喚友。
可以呼喚課題室內(nèi)的小伙伴,或者是同班同學(xué),每個(gè)人來幫忙錄制一句,積少成多,也可變成非常大量的數(shù)據(jù)集。當(dāng)然,對(duì)小伙伴們要求就不能太高,盡量提前做好準(zhǔn)備工作,比如調(diào)整好設(shè)備,設(shè)置好參數(shù),讓小伙伴們過來簡(jiǎn)單說兩句話就ok,大家一般都是不會(huì)拒絕的。如果是要線上通知朋友,一定要提前做好教程,告知如何錄制有效的數(shù)據(jù)集,避免白費(fèi)功夫。
方案優(yōu)點(diǎn):質(zhì)量可能略低于方案一,但是相對(duì)有保證、音色更加多樣,過擬合可能性降低。
方案缺點(diǎn):可能數(shù)量不足、適合線下場(chǎng)景、需要一定社交與溝通能力。
方案三:撒錢大法。
該方案需要借助QQ,適合有群管理的,或者有很多很多群的,又或者有諸多線上朋友的同學(xué),使用QQ語(yǔ)音紅包,可以讓大家為了搶紅包而為你發(fā)送語(yǔ)言,而你只需要提前打開 QQ 保存音頻的文件夾(位于QQ存檔目錄/QQ號(hào)/Audio
),然后就可以等著收文件了!
方案優(yōu)點(diǎn):收集速度快、收集數(shù)量大且音色豐富。
方案缺點(diǎn):需要消耗一定的金錢、可能被群管理員移出群聊、質(zhì)量低,需要二次過濾保證可用性。
使用提示:
1.收獲的文件名稱均為亂碼,需要根據(jù)時(shí)間排序后提取可能的文件,然后進(jìn)行挨個(gè)過濾,建議做好準(zhǔn)備統(tǒng)一處理
2.收獲的文件并非 WAV 格式,也非 44100 的采樣率,可以考慮使用格式工廠進(jìn)行批量轉(zhuǎn)換。
3.如果錄音的人太快,可能錄制到開始時(shí) 滴 的一聲,如果比較熟可以考慮重新錄,不太熟只能廢掉了。
4.錄制過來的文件可能存在大量的方言、或者帶有底噪的,前者建議直接刪除,后者請(qǐng)視情況而定。
方案四:API合成。
可以使用諸如 百度、訊飛、騰訊等的 API 接口,生成不同的 語(yǔ)音內(nèi)容,然后使用 ffmpeg 進(jìn)行格式轉(zhuǎn)換之后加入訓(xùn)練。該方案來自于 愷 在第六屆比賽中的幫助,所以請(qǐng)說:謝謝你,愷!
方案優(yōu)點(diǎn):數(shù)據(jù)來源穩(wěn)定、質(zhì)量較好。
方案缺點(diǎn):需要一定的 Coding 能力和文檔閱讀能力、反復(fù)使用的時(shí)候可能需要花費(fèi)小額金錢購(gòu)買、需要格式轉(zhuǎn)換。
關(guān)于 ASR 數(shù)據(jù)收集的一些小想法:
相比于數(shù)據(jù)收集,數(shù)據(jù)的處理要簡(jiǎn)單很多,根據(jù)時(shí)間上的順序來講,數(shù)據(jù)處理分為以下幾個(gè)步驟:
librosa
包獲取時(shí)長(zhǎng),并根據(jù)你自己的方式確定語(yǔ)音內(nèi)容(比如使用不同文件夾表示不同的語(yǔ)音內(nèi)容),然后寫入標(biāo)注文件中。在完成上面步驟之后,數(shù)據(jù)就充分可用了,將接下來進(jìn)入模型訓(xùn)練的環(huán)節(jié)。
模型訓(xùn)練與驗(yàn)證比賽官方提供的 Notebook 足以完成基礎(chǔ)的訓(xùn)練,以下操作是在基礎(chǔ)訓(xùn)練之上,保證 ASR 部分有足夠的準(zhǔn)確率。
模型訓(xùn)練當(dāng)準(zhǔn)備好數(shù)據(jù)集并放入指定位置之后,我們就要準(zhǔn)備訓(xùn)練了,在這里主要講解如何更換一個(gè)可用的模型進(jìn)行訓(xùn)練。
nemo_asr.models.EncDecCTCModel.list_available_models()
,該方法可獲取到當(dāng)前版本全部的可用的 ASR 模型。驗(yàn)證的思路其實(shí)比較簡(jiǎn)單:使用代碼跑一遍全部的數(shù)據(jù)集,看看有多少的數(shù)據(jù)能拿到 1 分的滿分,如果絕大部分?jǐn)?shù)據(jù)都無法拿到 1分,我們重新檢查數(shù)據(jù)集,確定數(shù)據(jù)集毫無問題之后重新訓(xùn)練即可。
但是,當(dāng)只有小部分無法拿到 1 的滿分的時(shí)候,一般都是數(shù)據(jù)上出現(xiàn)問題,從我個(gè)人經(jīng)歷出發(fā),分為以下情況:
總結(jié)而言:使用 Nemo 訓(xùn)練比較省心,只要準(zhǔn)備好數(shù)據(jù),挑選正確的模型,就可以完成一次良好的訓(xùn)練。
結(jié)語(yǔ)得益于使用 Nemo,ASR 的整體流程相對(duì)簡(jiǎn)單,更多的時(shí)間還是在收集數(shù)據(jù)與處理數(shù)據(jù)上,因此, ASR 部分的完全可以由一個(gè)人單獨(dú)負(fù)責(zé)全部,其他人根據(jù)其指揮進(jìn)行一定的數(shù)據(jù)收集協(xié)助即可。畢竟數(shù)據(jù)收集環(huán)節(jié)多一個(gè)人多一份力。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧