真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SkyHackthon比賽指北-ASR篇-創(chuàng)新互聯(lián)

寫在前面

本系列具體介紹可以參見基礎(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è)部分:

  • 背景介紹:簡(jiǎn)單介紹基礎(chǔ)背景知識(shí)。
  • 數(shù)據(jù)收集與處理:本篇的重點(diǎn)內(nèi)容,詳細(xì)講解如何進(jìn)行數(shù)據(jù)集的收集和處理,方便驗(yàn)證。
  • 模型訓(xùn)練與驗(yàn)證:主要是使用 Nemo 進(jìn)行,會(huì)講解替換模型等的操作。

技術(shù)介紹

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ù)收集的一些小想法:

  • 必須人工復(fù)核:建議全部的數(shù)據(jù)不論從何渠道收集而來,盡可能的人工聽過一遍,以此來保證數(shù)據(jù)集質(zhì)量,避免訓(xùn)練的時(shí)候內(nèi)容白費(fèi)。
  • 不能吹毛求疵:適當(dāng)?shù)脑胍粢欢ㄊ强梢越邮艿?,可以考慮現(xiàn)實(shí)中,我們想要的是盡可能的聽清對(duì)方所說的話,但是我們并不能要求對(duì)方一定是在完全無噪聲的情況下說話,所以只要話的主體是清晰可見的,我們就不應(yīng)該因?yàn)榈自攵鴴仐墧?shù)據(jù)。
數(shù)據(jù)處理

相比于數(shù)據(jù)收集,數(shù)據(jù)的處理要簡(jiǎn)單很多,根據(jù)時(shí)間上的順序來講,數(shù)據(jù)處理分為以下幾個(gè)步驟:

  • 人工檢查:
    這里人工檢查主要是去聽數(shù)據(jù),確定每一條的數(shù)據(jù)都沒有太大問題,比如沒有過強(qiáng)的方言口音、沒有特別大的噪聲、沒有錯(cuò)誤的發(fā)音內(nèi)容等等。
  • 格式統(tǒng)一:
    這一步是保證數(shù)據(jù)一定要符合數(shù)據(jù)訓(xùn)練時(shí)候的格式要求,單聲道、格式為 WAV、采樣率為44100。 對(duì)于格式要求,可以使用 ffmpeg 或者 格式工廠進(jìn)行統(tǒng)一的批量轉(zhuǎn)換。
  • 切分?jǐn)?shù)據(jù):
    在完成格式統(tǒng)一后,我們就擁有了全量可用的數(shù)據(jù)集,然后進(jìn)行接下來要進(jìn)行訓(xùn)練集和驗(yàn)證集的切分,通常而言,80/20 的比例或者 90/10 的比例作為訓(xùn)練集與驗(yàn)證集的切分。提示:可以給每條語(yǔ)音都保留至少一條的測(cè)試集,用于最后模型的驗(yàn)證。
  • 制作標(biāo)注:
    使用自己的 Code 能力,為每個(gè)處理好的音頻進(jìn)行數(shù)據(jù)標(biāo)注,其主要方式是使用librosa包獲取時(shí)長(zhǎng),并根據(jù)你自己的方式確定語(yǔ)音內(nèi)容(比如使用不同文件夾表示不同的語(yǔ)音內(nèi)容),然后寫入標(biāo)注文件中。
    具體代碼請(qǐng)自行發(fā)揮,這里不會(huì)提供。

在完成上面步驟之后,數(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 版本。
    在不同版本的 Nemo 中,存在不同的可用模型,比賽時(shí),可用和 YiPeng 老師確認(rèn),是否可更換 Nemo 的版本,如果可更換,操作性就大了很多。但是往往不推薦新人更換版本,因?yàn)檫@會(huì)帶來不可知的環(huán)境沖突,建議基礎(chǔ)薄弱的同學(xué)跳過此步驟。
  • 步驟二:確定可用模型。
    在這里,我直接無償提供一個(gè)方法,方便確定當(dāng)前可用版本下的全部模型:nemo_asr.models.EncDecCTCModel.list_available_models(),該方法可獲取到當(dāng)前版本全部的可用的 ASR 模型。
  • 步驟三:挑選模型。
    根據(jù)步驟二中得到的已知模型,我們可用去 NGC (需要登錄)上挑選一個(gè)更好的基礎(chǔ)模型。
    在這里插入圖片描述
    其中 STT 表示 Speech To Text 也就是 ASR 模型, 而 Zh 表示 中文模型。點(diǎn)擊模型以后可以看到模型的基礎(chǔ)準(zhǔn)確率、模型調(diào)用指令等內(nèi)容。根據(jù)之前已知的 Nemo 版本和多方面因素,我們可以從中挑選一個(gè)模型作為我們的訓(xùn)練使用。
  • 步驟四:配置文件
    在挑選好模型以后,距離訓(xùn)練就只有最后一步了:為模型準(zhǔn)備配置文件。配置文件我是通過 Nemo 的 Github 倉(cāng)庫(kù)進(jìn)行尋找的,得益于其良好的項(xiàng)目結(jié)構(gòu),我們只需要確定 Nemo 的版本,就可以打開對(duì)應(yīng)的代碼歷史,然后進(jìn)入 Example 文件夾進(jìn)行查閱,然后修改一些對(duì)應(yīng)參數(shù)即可使用。(小提示,默認(rèn)的 quartznet 修改 citrinet 是非常簡(jiǎn)單的。)
    在這里插入圖片描述
  • 步驟五:訓(xùn)練。 這里其實(shí)不需多言,使用 比賽直接的腳本即可,當(dāng)然,自己可以根據(jù)實(shí)際情況適當(dāng)調(diào)整一些超參數(shù),比如訓(xùn)練輪次、學(xué)習(xí)率等。
模型驗(yàn)證

驗(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ā),分為以下情況:

  • 數(shù)據(jù)標(biāo)注有誤:這是標(biāo)注的數(shù)據(jù)和實(shí)際的語(yǔ)音內(nèi)容存在差別導(dǎo)致的,檢查一下該文件位于訓(xùn)練還是驗(yàn)證,如果位于訓(xùn)練集,那與之相關(guān)的訓(xùn)練內(nèi)容可能都會(huì)存在問題,如果都存在問題,可能就得重新跑了。
  • 數(shù)據(jù)存在干擾:比如口音、噪聲等干擾了語(yǔ)音識(shí)別的效果,如果只是零星存在,那對(duì)于最終結(jié)果基本沒有影響。
  • 數(shù)據(jù)毫無問題:用以數(shù)據(jù)如果干凈且無其他問題,但是測(cè)試結(jié)果存在問題,那么可能是以下三個(gè)原因:數(shù)據(jù)量不充足、模型訓(xùn)練不夠擬合、選擇的模型存在問題。

總結(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)查看詳情吧


網(wǎng)站題目:SkyHackthon比賽指北-ASR篇-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://weahome.cn/article/ccsphi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部