0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

我們?cè)谌绾位谏疃葘W(xué)習(xí)做實(shí)時(shí)噪聲抑制

LiveVideoStack ? 來(lái)源:LiveVideoStackCon ? 作者:馮建元 ? 2021-05-13 10:28 ? 次閱讀

在實(shí)時(shí)通訊技術(shù)迅猛發(fā)展的今天,人們對(duì)通話時(shí)的降噪要求也不斷提高。深度學(xué)習(xí)也被應(yīng)用于實(shí)時(shí)的噪聲抑制。本次LiveVideoStackCon 2021 上海站中,我們邀請(qǐng)到了聲網(wǎng)Agora音頻算法負(fù)責(zé)人馮建元老師為我們分享深度學(xué)習(xí)落地移動(dòng)端的范例,遇到的問(wèn)題和未來(lái)的展望。

今天給大家介紹一下我們?cè)谌绾位谏疃葘W(xué)習(xí)做實(shí)時(shí)噪聲抑制,這也是一個(gè)深度學(xué)習(xí)落地移動(dòng)端的范例。 我們就按照這樣一個(gè)順序來(lái)進(jìn)行介紹。首先噪聲其實(shí)是有一些不同的種類,它們是如何進(jìn)行分類的,如何選擇算法并怎樣通過(guò)算法去解決這些噪聲的問(wèn)題;另外,會(huì)介紹如何通過(guò)深度學(xué)習(xí)的方式去設(shè)計(jì)一些這樣的網(wǎng)絡(luò),如何通過(guò)AI的模型去進(jìn)行算法的設(shè)計(jì);

另外,我們都知道深度學(xué)習(xí)網(wǎng)絡(luò)的算力,模型不可避免的都會(huì)比較大。我們?cè)诼涞匾恍㏑TC的場(chǎng)景時(shí),不可避免會(huì)遇到一些問(wèn)題,有哪些問(wèn)題是需要我們解決的,如何解決模型大小的問(wèn)題、算力的問(wèn)題;最后會(huì)介紹目前降噪能達(dá)到什么樣的效果和一些應(yīng)用的場(chǎng)景,以及如何能將噪聲抑制等做得更好。

01.噪聲的分類與降噪算法的選擇

先了解下我們平時(shí)的噪聲都有哪些種類。

e662e5ae-b386-11eb-bf61-12bb97331649.png

其實(shí)噪聲不可避免的會(huì)跟著你所處的環(huán)境,所面臨的物體都會(huì)發(fā)出各種各樣的聲音。其實(shí)每一個(gè)聲音都有自己的意義,但如果你在進(jìn)行實(shí)時(shí)溝通時(shí),只有人聲是有意義的,那其他聲音你可能會(huì)把它認(rèn)為是噪音。其實(shí)很多噪聲是一個(gè)穩(wěn)態(tài)的噪聲,或者說(shuō)平穩(wěn)的噪聲。比如說(shuō)我這種錄制的時(shí)候可能會(huì)有一些底噪,你現(xiàn)在可能聽(tīng)不到。

比如說(shuō)空調(diào)運(yùn)行時(shí)會(huì)有一些呼呼的風(fēng)聲。像這些噪聲都是一些平穩(wěn)的噪聲,它不會(huì)隨著時(shí)間變化而去變化。這種可以通過(guò)我知道這個(gè)噪聲之前是什么樣的,我把它estimate出來(lái),就通過(guò)這樣的方式,在之后如果這個(gè)噪聲一直出現(xiàn)就可以通過(guò)很簡(jiǎn)單的減法的方式把它去掉。像這種平穩(wěn)的噪聲其實(shí)很常見(jiàn),但其實(shí)不是都那么平穩(wěn),都能那么方便的去去除。

另外,還有很多噪聲是不平穩(wěn)的,你不能預(yù)測(cè)這個(gè)房間里會(huì)不會(huì)有人突然手機(jī)鈴聲響起來(lái)了;突然有人在旁邊放了一段音樂(lè)或者在地鐵、在馬路上車子呼嘯而過(guò)的聲音。這種聲音都是隨機(jī)出現(xiàn)的,是不可能通過(guò)預(yù)測(cè)的方式去解決的。其實(shí)這塊也是我們會(huì)用深度學(xué)習(xí)的原因,像傳統(tǒng)的算法對(duì)于非穩(wěn)態(tài)的噪聲會(huì)難以消除和抑制。

在使用場(chǎng)景上來(lái)說(shuō),就算你是很安靜的會(huì)議室或者在家,可能也不可避免的會(huì)被設(shè)備引入的一些底噪或一些突發(fā)的噪聲都會(huì)產(chǎn)生一些影響。這一塊也是在實(shí)時(shí)通訊中不可避免的一道前處理的工序。

e6e5b5c4-b386-11eb-bf61-12bb97331649.png

拋開(kāi)我們平時(shí)會(huì)碰到的這些噪聲在感官上的理解??吹剿跀?shù)字方面,在信號(hào)層面是一個(gè)怎么樣的表現(xiàn)。噪聲,聲音都是通過(guò)空氣的傳播介質(zhì)的傳播最后到你耳朵里,通過(guò)你耳毛的感應(yīng),最后形成心里的感知。在這些過(guò)程中,比如我們采用一些麥克風(fēng)的信號(hào),在一些采集的時(shí)候它是一個(gè)wave的信號(hào)。

它是一些上下震蕩的一些波形。那如果是干凈的人聲,他說(shuō)話的時(shí)候會(huì)看到一些波形,他不說(shuō)話的時(shí)候基本就是0,那如果加上一些噪聲它就會(huì)變成右邊一樣,會(huì)有波形上的一些混疊,噪聲的震動(dòng)會(huì)和人聲的震動(dòng)混疊在一起,會(huì)有一些模糊不清。即使不在說(shuō)話也會(huì)有一些波形。這是直接從wave信號(hào)的層面,如果說(shuō)把它通過(guò)傅里葉變換,變到頻域上來(lái)看,在不同的頻率上,人聲的發(fā)音一般在20赫茲到2k赫茲之間,人還會(huì)有基頻、振峰、諧波的產(chǎn)生。

你可以看到人在頻譜上是這樣一些形狀,但是你加上噪聲會(huì)發(fā)現(xiàn)頻譜變得模糊不清,頻譜不該出現(xiàn)能量的地方有很多能量。

做噪聲抑制其實(shí)就是做一個(gè)inverse,一個(gè)反向的過(guò)程。把這些時(shí)域的信號(hào)通過(guò)一些濾波的方式變成一個(gè)純凈的信號(hào)。也可以通過(guò)頻域的方式把這些嘈雜的噪點(diǎn)去掉,形成一些比較純凈的語(yǔ)料。

e7517e12-b386-11eb-bf61-12bb97331649.png

降噪這種算法很早之前就有了,在貝爾實(shí)驗(yàn)室發(fā)明電話的時(shí)候就發(fā)現(xiàn)噪聲會(huì)有很大的通信的影響。不同的信噪比會(huì)導(dǎo)致由于香農(nóng)定理影響你的帶寬,你是一個(gè)純凈的信號(hào)甚至可以用比較小的帶寬進(jìn)行一個(gè)傳輸。在2000年之前我們可以把這些算法統(tǒng)稱為,知之為知之。 第一塊,它們主要針對(duì)比較穩(wěn)態(tài)的噪聲就是Stationary Noise,為什么叫知之為知之呢,就是你不再說(shuō)話沒(méi)有人聲的時(shí)候就只有噪聲,另外你去通過(guò)靜音段噪聲的捕捉去構(gòu)建出噪聲的一些分布。

因?yàn)樗欠€(wěn)態(tài)的噪聲,它隨著時(shí)間的變化也沒(méi)有那么劇烈,以后就算是有人聲了,你也可以通過(guò)你estimate好的模型去進(jìn)行一些譜減或者是維納濾波的方式解決。像這種Stationary Noise是因?yàn)橐婚_(kāi)始我們的元器件有很多底噪,所以他們第一個(gè)會(huì)干掉這種Stationary Noise的噪聲。其實(shí)方法來(lái)說(shuō)就是一些譜減法、維納濾波,后來(lái)可能有高級(jí)一點(diǎn)波差、小波分解,這些方法都萬(wàn)變不離其宗,它會(huì)通過(guò)靜音段estimate它的這樣的noise,在以后的過(guò)程中就可以通過(guò)一些譜減的方法來(lái)解決。

慢慢大家會(huì)發(fā)現(xiàn)除了Stationary Noise其實(shí)平時(shí)通話中想要只保有人聲,其他的噪聲也要處理,這塊到了2000年之后我們會(huì)說(shuō),因?yàn)槠鋵?shí)人的聲音的分布和風(fēng)的聲音的分布是不一樣的,有些風(fēng)聲經(jīng)過(guò)麥克風(fēng)的,比如我這樣吹的,低頻部分可能會(huì)高一些,高頻部分可能衰減的更快。其實(shí)都是通過(guò)聚類的方式可以把人聲和噪聲分解開(kāi)來(lái),主要的思想都是把聲音的信號(hào)投射到更高維的空間進(jìn)行聚類,聚類的方式就會(huì)有些自適應(yīng)的方法慢慢可以去使用,也類似于深度學(xué)習(xí)的前身,會(huì)把聲音分成不同的種類,在高維空間進(jìn)行降噪時(shí)把符合人聲的特點(diǎn)保留下來(lái),其他部分舍去就可以做到。

這塊方法來(lái)說(shuō)比如Subspace 空間分解,在圖像領(lǐng)域大獲成功,在音頻領(lǐng)域去風(fēng)噪也比較好的非負(fù)矩陣分解。再比如說(shuō)不止一種噪聲,要分解出好多種噪聲,像字典學(xué)習(xí)這種方式也是可以做的。 像常見(jiàn)的一種噪聲我們把它叫Non-Stationary Noise with Simple Patterns,是不穩(wěn)定的噪聲,像呼呼的風(fēng)聲,但它可能有固定的模式。

比如呼呼的風(fēng)聲有時(shí)出現(xiàn)有時(shí)沒(méi)有出現(xiàn),但它是遵循風(fēng)的低頻比較密集等等這種特征。其中是可以通過(guò)一個(gè)一個(gè)去學(xué)習(xí),比如風(fēng)聲、雷電的聲音、底噪的聲音等等,可以通過(guò)學(xué)習(xí)的方式去實(shí)現(xiàn)。現(xiàn)在我們發(fā)現(xiàn),物以類聚的話,噪聲的種類是無(wú)窮無(wú)盡的,每一種機(jī)械每一種摩擦每一種風(fēng)吹過(guò)的聲音導(dǎo)致的渦流可能都是不一樣的。

在這種情況下很多噪聲混疊我們無(wú)法去窮盡,這時(shí)候我們就想到通過(guò)大量數(shù)據(jù)去訓(xùn)練一個(gè)模型,這樣采集到的噪聲也好人聲的混加也好,能過(guò)通過(guò)不斷的去學(xué)習(xí),我們叫它熟能生巧2020。通過(guò)訓(xùn)練的方式,通過(guò)大量的數(shù)據(jù)樣本,能讓模型學(xué)到足夠的知識(shí),對(duì)噪聲更加魯棒,不用一個(gè)一個(gè)去做分解。 按照這樣的思路,已經(jīng)有很多深度學(xué)習(xí)的模型可以做到這樣噪聲的抑制,同時(shí)保證它對(duì)不同的噪聲都有抑制效果。

很多噪聲不是單一存在的,尤其是一些復(fù)合的噪聲。比如你在一個(gè)咖啡館里可能會(huì)聽(tīng)到那些觥籌交錯(cuò)的聲音混雜著各種人在聊天談話的聲音。我們把背景的人聲叫Babble noise,Babble就是呢喃的聲音,這種背景的噪聲你也是想去掉的。多個(gè)聲音混雜在一起你就會(huì)發(fā)現(xiàn)它的頻譜就像洪水過(guò)路一般所有東西都混雜在里面,會(huì)很難去去除。

如果你用傳統(tǒng)的算法,它把明顯的人聲會(huì)保留,比較高頻的混疊會(huì)更加嚴(yán)重,其實(shí)很難去區(qū)分開(kāi),它把在4k以上的高頻統(tǒng)一當(dāng)成噪聲去除掉了。這是傳統(tǒng)降噪方法的一些缺陷。 像深度學(xué)習(xí)的方法,判斷一個(gè)降噪方法的好壞主要是兩點(diǎn): 第一點(diǎn),對(duì)原聲人聲的保留程度是怎么樣的,是不是對(duì)語(yǔ)譜的損傷盡量的小。 第二點(diǎn),把噪聲去得盡量的干凈。 滿足這兩點(diǎn),右邊是深度學(xué)習(xí)的方法,語(yǔ)譜在高頻也可以得到保留,同時(shí)噪聲也沒(méi)有混雜在其間。

02.基于深度學(xué)習(xí)的算法設(shè)計(jì)

現(xiàn)在針對(duì)深度學(xué)習(xí)方法怎樣去設(shè)計(jì)。

和其他深度學(xué)習(xí)一樣也會(huì)包括這幾個(gè)步驟。

第一步,喂給模型什么樣的輸入,輸入可以去進(jìn)行選擇,我們的聲波信號(hào)可以通過(guò)wave的形式通過(guò)頻譜的形式或者是更加高維的MFCC的形式甚至心理聽(tīng)閾BARK域的形式去給到它。不同的輸入決定了你的模型采用的結(jié)構(gòu)也不一樣。在模型結(jié)構(gòu)上,可能會(huì)選擇類似圖像的,如果是頻譜可能類似CNN的方法去做。聲音是有一定時(shí)間連續(xù)性的,你也可以通過(guò)waveform直接去做。

這塊選擇不同的模型結(jié)構(gòu),但是我們發(fā)現(xiàn)在移動(dòng)端的時(shí)候,也會(huì)受到算力和存儲(chǔ)空間的限制,可能會(huì)對(duì)模型進(jìn)行一些組合,不是用單一的模型去做。在模型的選擇這塊會(huì)有所考量,另外一塊也會(huì)比較重要就是選擇一個(gè)合適的數(shù)據(jù)去訓(xùn)練模型 。

訓(xùn)練模型的過(guò)程比較簡(jiǎn)單,就是把人聲信號(hào)和噪聲信號(hào)混在一起喂到程序里,這樣模型會(huì)給你一個(gè)純凈的人聲信號(hào)。這時(shí)就會(huì)選擇我這個(gè)數(shù)據(jù)是不是為了cover所有不同的語(yǔ)言,上一個(gè)會(huì)議上也提到不同的語(yǔ)言組成的因素也是不一樣的,比如中文會(huì)比日文多五六個(gè)音素,如果是英文還有五六個(gè)音素和中文是不一樣的,為了cover住這些的語(yǔ)言可能會(huì)選擇多語(yǔ)言的數(shù)據(jù)。

另外一塊性別也是不一樣的,如果語(yǔ)料訓(xùn)練不夠均衡,對(duì)男聲和女聲的降噪能力可能有所偏差。另外噪聲上的類型可能會(huì)有一些選擇上的考慮,因?yàn)椴豢赡馨阉性肼暥几F盡,所以會(huì)選擇一些typical noise。這邊大概羅列出來(lái),不同F(xiàn)eature 的選擇,模型的設(shè)計(jì),以及數(shù)據(jù)的準(zhǔn)備回來(lái)看看要注意哪些方向。

我們先看一下我們會(huì)選擇什么樣的數(shù)據(jù)給到模型。 第一個(gè)考慮的是把最原始的wave信號(hào)做一個(gè)端到端的處理生存一個(gè)wave信號(hào)。這個(gè)想法一開(kāi)始的時(shí)候是被否定的,因?yàn)閣ave信號(hào)和它的采樣率有關(guān),可能16K的采樣率1幀10毫秒會(huì)有160個(gè)點(diǎn),數(shù)據(jù)量非常龐大如果直接喂的話可能導(dǎo)致模型處理需要很大一個(gè)模型才能handle。

我們?cè)谥熬驮谙肽懿荒苻D(zhuǎn)化成頻域,在頻域上做能減少數(shù)據(jù)的輸入。在17、18年之前都是在頻域上去做這個(gè)事情,但是在2018年像Tasnet模型已經(jīng)能通過(guò)時(shí)域端到端的去生成降噪的一個(gè)效果。 頻域可能會(huì)更早一些,之前在頻域上做噪點(diǎn)的去除,通過(guò)掩碼的形式去解決噪聲的問(wèn)題。比如把噪聲的能量去除掉只保留人聲的能量。

19年有一篇paper做了一個(gè)比較,無(wú)論從時(shí)域還是頻域都可以得到一個(gè)比較好的降噪效果,而且模型計(jì)算復(fù)雜度不是相當(dāng)?shù)摹?/p>

這個(gè)輸入信號(hào)不會(huì)很大程度上決定你模型的算力或者效果,就是可以的。 在這個(gè)基礎(chǔ)上,時(shí)域頻域都是可以的話,我們想要進(jìn)一步減少模型的算力可能需要選用一些高維度像MFCC這種形式去做,這塊也是一開(kāi)始設(shè)計(jì)模型考量的地方。根據(jù)算力限制,本來(lái)200多個(gè)頻點(diǎn)到MFCC只有40個(gè)bin,這樣就可以減少輸入。因?yàn)槁曇舸嬖谝恍┱诒涡?yīng)你可能把它分成一些足夠細(xì)小的子帶就能做到噪聲抑制的作用,所以也是行之有效能減少模型算力的方法。

剛剛是講到信號(hào)的輸入,在做模型結(jié)構(gòu)選擇的時(shí)候也會(huì)有很多對(duì)模型結(jié)構(gòu)算力的考量,可以把模型算力的復(fù)雜度和模型參數(shù)量畫(huà)一個(gè)XY軸去表正。像一些CNN方法,因?yàn)槭蔷矸e的存在,里面很多算子是可以復(fù)用的,卷積核可以在整個(gè)頻譜上復(fù)用。這種情況下,在同樣參數(shù)結(jié)構(gòu)中它的算力復(fù)雜度會(huì)最高,因?yàn)樗菑?fù)用的它的參數(shù)量就很小。

如果一些手機(jī)APP對(duì)參數(shù)量有限制,比如手機(jī)APP不能大于200M可能模型給你的空間就1-2兆,這種情況下盡量選擇CNN模型。 參數(shù)量并不是一個(gè)很大的限制而運(yùn)算力可能會(huì)受到一些挑戰(zhàn),比如一個(gè)算力較差的芯片,只有1GHz。這時(shí)卷積神經(jīng)網(wǎng)絡(luò)的方式并不是適合的,這時(shí)可能是用一些linear 這種層來(lái)表征,所以linear 也是矩陣乘。

矩陣乘在一些DSP芯片和傳統(tǒng)CPU方面表現(xiàn)的算力都不是很高,缺點(diǎn)是每個(gè)算子是不可復(fù)用的。這種情況下參數(shù)量比較大,但計(jì)算力上可能會(huì)更加的小。但只用linear這種方式就像DNN一樣只有l(wèi)inear 層,就是它參數(shù)很大算力也很大。 前面提到人的說(shuō)話時(shí)間是有連續(xù)性的,可以用RNN這種有短時(shí)或長(zhǎng)時(shí)記憶的這種方式,把參數(shù)通過(guò)實(shí)時(shí)的自適應(yīng)去記憶出當(dāng)前噪聲的狀態(tài),這樣可以進(jìn)一步減少它的算力。

綜合下來(lái)說(shuō),當(dāng)你選擇模型時(shí)盡量少去使用linear layers,這種會(huì)帶來(lái)很大參數(shù)量的提升和算力的提升。你可以去融合這些不同的結(jié)構(gòu),比如先用CNN再用RNN這種CRN的形式,那它第一步通過(guò)壓縮你輸入的維度,再通過(guò)長(zhǎng)短時(shí)記憶的方式,把模型算力進(jìn)一步的減少。 根據(jù)不同場(chǎng)景,如果做離線的處理,可能使用雙向的人工神經(jīng)網(wǎng)絡(luò)去做效果可能是最好的。在RTC場(chǎng)景中不能去增加延遲。像LSTM這種單向型的網(wǎng)絡(luò)可能更加合適。如果想進(jìn)一步減少算力,三個(gè)門的LSTM還是太大那就用兩個(gè)門結(jié)構(gòu)的GRU等等,在一些細(xì)節(jié)上提升算法的能力。

e8286332-b386-11eb-bf61-12bb97331649.png

怎么選擇模型結(jié)構(gòu)和使用場(chǎng)景和算力有關(guān)。另外一塊就是怎么選擇喂到模型的數(shù)據(jù)。數(shù)據(jù)里面一塊是語(yǔ)譜的損傷,要準(zhǔn)備更充分干凈的語(yǔ)料,里面包括不同的語(yǔ)言、性別,以及語(yǔ)料本身可能含有底噪,盡量選擇錄音棚消音室錄的比較純凈的語(yǔ)料。這樣你的reference決定了你的目標(biāo)可能是比較純凈的,效果會(huì)更好一些。

還有一塊是能不能cover住噪聲,噪聲是無(wú)窮無(wú)盡的,可以根據(jù)你的場(chǎng)景,比如會(huì)議場(chǎng)景選擇一些比較典型的辦公室里的人聲、手機(jī)提示音等等,這些作為訓(xùn)練語(yǔ)料。其實(shí)很多噪聲是簡(jiǎn)單噪聲的一些組合,當(dāng)簡(jiǎn)單噪聲數(shù)量足夠多的時(shí),模型的魯棒性也會(huì)提升,哪怕是一些沒(méi)有見(jiàn)過(guò)的噪聲也能cover。噪聲有時(shí)不能收集的話可以自己做一些,人工合成一些,比如日光燈管、輝光效應(yīng)造成的雜音、50赫茲的交流電時(shí)時(shí)刻刻都在釋放50赫茲、100赫茲的諧波的噪聲。這種噪聲可以通過(guò)人造的方法去加入訓(xùn)練集里面提升模型的魯棒性。

03.RTC移動(dòng)端困境

假設(shè)我們已經(jīng)有一個(gè)比較好的模型了,在落地時(shí)會(huì)遇到哪些困難呢?

e835699c-b386-11eb-bf61-12bb97331649.png

在實(shí)時(shí)互動(dòng)的場(chǎng)景中,首先它有別于離線的操作,對(duì)實(shí)時(shí)性的要求更高,它要求逐幀計(jì)算,非因果不可用,未來(lái)的信息是無(wú)法去獲得的,這樣的場(chǎng)景下一些雙向的神經(jīng)網(wǎng)絡(luò)不可用。 另外要去適配不同的手機(jī)、不同的移動(dòng)終端,這里面受到各種芯片算力的影響,如果想使用更加廣泛模型算力會(huì)有限制同時(shí)模型參數(shù)大小也不能過(guò)大,尤其是調(diào)用芯片是模型參數(shù)量很大算力不是很高,但是由于參數(shù)的讀取IO的操作也會(huì)影響到模型最終表現(xiàn)。

場(chǎng)景的豐富性剛才也有提到,一些比較成功的,不同語(yǔ)音比如中英文、日文的cover程度以及噪聲的類型。在實(shí)時(shí)互動(dòng)場(chǎng)景中不可能讓每一個(gè)人都在同一個(gè)場(chǎng)景說(shuō)同樣的話,場(chǎng)景的豐富性也要考慮其中。

04.如何落地移動(dòng)端

在這樣一些條件下,如何去落地深度學(xué)習(xí)呢?我們可以從兩個(gè)方面去解決這些問(wèn)題。

首先,算法方面可以通過(guò)算法突圍的方式。剛剛有提到一點(diǎn),像全卷積的、全linear的,對(duì)它的參數(shù)對(duì)它的算力都有不同,可以通過(guò)不同模型的組合,針對(duì)不同算力可以組合出不同算力的結(jié)構(gòu)。效果來(lái)說(shuō)可能會(huì)有一些偏頗差異,什么樣的機(jī)型能適用什么樣的算法,可以通過(guò)這樣的模型結(jié)構(gòu)來(lái)解決,整體來(lái)說(shuō)是一個(gè)組合式的算法,通過(guò)模型組合使它的算力能盡量滿足它的芯片和存儲(chǔ)空間的要求。

第二,整個(gè)算法的場(chǎng)景是不一樣的,所以會(huì)選擇不一樣的模型去解決,在一開(kāi)始如果能夠選擇出場(chǎng)景,比如會(huì)議場(chǎng)景,不可能會(huì)有音樂(lè)、動(dòng)物的叫聲,這些噪聲指標(biāo)就不用特別關(guān)注,這些東西可以作為模型裁剪的方向。

算法本身可能模型就是這么大,出來(lái)還是一個(gè)5-6兆的參數(shù),你可能覺(jué)得它還是不夠?;蛘哒f(shuō)它的算力在移動(dòng)端不進(jìn)行優(yōu)化,它在內(nèi)存的調(diào)用,芯片存儲(chǔ)cache的方面可能都會(huì)有問(wèn)題。會(huì)影響到它在推理過(guò)程中,實(shí)際使用過(guò)程中的結(jié)果,明明在訓(xùn)練時(shí)跑的是ok的,但在落地不同芯片時(shí)跑的是不一樣的。

在工程上也會(huì)進(jìn)行突圍,主要針對(duì)模型推理以及一些處理的方式會(huì)有所不一樣。首先在模型方面會(huì)做一些算子的優(yōu)化,在訓(xùn)練搭建模型的時(shí)候都是一層層加上去的,但很多算子可以進(jìn)行一些融合,包括算子融合、凸優(yōu)化。一些參數(shù)做模型的剪枝、量化,這些都是可以進(jìn)一步減少模型的算力以及參數(shù)量的大小。

第一步就是對(duì)模型進(jìn)行一些裁剪量化,這一塊已經(jīng)能做到讓你的模型是最優(yōu)的最符合場(chǎng)景的。另外在不同的移動(dòng)終端它的芯片也是不一樣的,有些手機(jī)可能只有CPU有些好點(diǎn)的手機(jī)會(huì)有GPU NPU甚至?xí)械腄SP芯片甚至能開(kāi)放它的算力。 這塊我們能更好的去適應(yīng)芯片,會(huì)有一些不同的推理框架,各家都會(huì)有一些比較開(kāi)源的框架可以去使用,比如蘋果的Core ML、谷歌的TensorFlow Lite,它會(huì)把芯片調(diào)度編譯層的優(yōu)化做在里面。

在這步上來(lái)說(shuō),做和不做差異是非常巨大的,因?yàn)檎麄€(gè)算法怎么運(yùn)算是一回事,怎么做內(nèi)存調(diào)用、矩陣的計(jì)算、浮點(diǎn)計(jì)算還是另一回事。做工程化的優(yōu)化,這種效果可能是百倍的提升。優(yōu)化可以用開(kāi)源的框架去做,也可以自己做一些編譯的優(yōu)化,如果你對(duì)芯片的算力比較熟悉,比如不同的cache的怎么調(diào)用,它的大小是什么,你可以自己去做??赡苣阕龀鰜?lái)的結(jié)果比這種開(kāi)源的框架更有針對(duì)性,效果會(huì)更好。 在我們把模型和推理引擎整合起來(lái)之后,就是我們最后的產(chǎn)品,我們幾乎能在所有的終端做好適配,在所有芯片上完整工程化的一個(gè)產(chǎn)品,這樣能實(shí)時(shí)使用。

05.降噪demo試聽(tīng)

我們現(xiàn)在聽(tīng)一聽(tīng)降噪效果是什么樣的。

這邊羅列了幾種比較常見(jiàn)的噪聲。

我們先聽(tīng)鍵盤上的原聲,再聽(tīng)鍵盤降噪的效果。鍵盤聲基本上都已經(jīng)被消除掉了。

風(fēng)聲我們來(lái)聽(tīng)是這樣子的,這是一段德語(yǔ)在風(fēng)聲中的演講。來(lái)我們聽(tīng)聽(tīng)降噪后的效果。

地鐵也是一個(gè)比較常見(jiàn)的場(chǎng)景,我們聽(tīng)聽(tīng)原聲,這其實(shí)是我在上海地鐵10號(hào)線在念一段詩(shī)。我們聽(tīng)聽(tīng)降噪的一個(gè)效果。

車內(nèi)噪聲,比如出租車上的一個(gè)噪聲,我們聽(tīng)一下。我們聽(tīng)聽(tīng)暈車大哥在降噪后的效果,這是我們實(shí)際在出租車上錄下來(lái)的一段語(yǔ)料,并將整個(gè)機(jī)器引擎的噪聲都把它去掉了。

06.Can we do it better?

聽(tīng)完這些demo后,看看我們能做什么讓效果變得更好,場(chǎng)景變得更多一些呢?

我們還有很多難以解決的問(wèn)題。包括一些音樂(lè)信息的保留,如果你是在一個(gè)音樂(lè)場(chǎng)景去開(kāi)降噪,你會(huì)發(fā)現(xiàn)伴奏都沒(méi)有了只剩下人聲,這些場(chǎng)景可能會(huì)通過(guò)更精細(xì)化的方式,比如音源分離的方式,能不能把樂(lè)器的聲音也保留,但有些音樂(lè)聽(tīng)上去像噪聲是比較難以解決的一個(gè)領(lǐng)域。另一塊像人聲、像Babble noise,背景的這種噪聲有時(shí)和人聲比較難以區(qū)別,尤其像雞尾酒效應(yīng),大家都在說(shuō)話,通過(guò)AI判定哪個(gè)人說(shuō)話是真正有效的是比較難。

噪聲抑制,比如說(shuō)我們做的都是單通道的,采用一些麥克風(fēng)陣列可能會(huì)做一些指向性的降噪,但這些也是一個(gè)比較難的地方,什么聲音值得保留,人聲和背景聲如何分辨這塊也是比較難的方向,這也是未來(lái)我們會(huì)去探索的一個(gè)比較明確的方向。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 噪聲
    +關(guān)注

    關(guān)注

    13

    文章

    1113

    瀏覽量

    47323
  • RTC
    RTC
    +關(guān)注

    關(guān)注

    2

    文章

    519

    瀏覽量

    66127
  • 通訊技術(shù)
    +關(guān)注

    關(guān)注

    1

    文章

    90

    瀏覽量

    13888

原文標(biāo)題:基于深度學(xué)習(xí)的實(shí)時(shí)噪聲抑制——深度學(xué)習(xí)落地移動(dòng)端的范例

文章出處:【微信號(hào):livevideostack,微信公眾號(hào):LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AI深度噪音抑制技術(shù)

    AI深度噪音抑制技術(shù)通過(guò)深度學(xué)習(xí)算法實(shí)現(xiàn)了對(duì)音頻中噪聲的智能消除,它在音頻清晰度提升、環(huán)境適應(yīng)性、實(shí)時(shí)
    的頭像 發(fā)表于 10-17 10:45 ?221次閱讀
    AI<b class='flag-5'>深度</b>噪音<b class='flag-5'>抑制</b>技術(shù)

    FPGA深度學(xué)習(xí)能走多遠(yuǎn)?

    。FPGA的優(yōu)勢(shì)就是可編程可配置,邏輯資源多,功耗低,而且賽靈思等都在極力推廣。不知道用FPGA深度學(xué)習(xí)未來(lái)會(huì)怎樣發(fā)展,能走多遠(yuǎn),你怎么看。 A:FPGA
    發(fā)表于 09-27 20:53

    深度學(xué)習(xí)算法嵌入式平臺(tái)上的部署

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)算法各個(gè)領(lǐng)域的應(yīng)用日益廣泛。然而,將深度學(xué)習(xí)算法部署到資源受限的嵌入式平臺(tái)上,仍然是一個(gè)具有挑戰(zhàn)性的任
    的頭像 發(fā)表于 07-15 10:03 ?967次閱讀

    開(kāi)關(guān)電源的紋波噪聲如何抑制

    開(kāi)關(guān)電源因其高效率、小體積、輕重量等優(yōu)點(diǎn),現(xiàn)代電子設(shè)備中得到了廣泛應(yīng)用。然而,開(kāi)關(guān)電源工作過(guò)程中會(huì)產(chǎn)生紋波噪聲,這些噪聲不僅會(huì)影響電源本身的性能,還可能對(duì)后續(xù)電路造成不良影響。因此
    的頭像 發(fā)表于 05-30 17:01 ?583次閱讀

    示波器噪聲抑制技巧

    示波器噪聲抑制是確保測(cè)量準(zhǔn)確性和波形清晰度的重要環(huán)節(jié)。噪聲可能來(lái)自多種源頭,包括電源線、信號(hào)源、示波器本身以及外部電磁干擾等。
    的頭像 發(fā)表于 05-20 15:40 ?1029次閱讀

    BUCK電路EMI噪聲的有效抑制方法

    這個(gè)噪聲是開(kāi)關(guān)電源特性所致,它的產(chǎn)生是無(wú)法避免的,但是可以通過(guò)加輸入電容和輸入濾波電路傳播路徑上對(duì)噪聲進(jìn)行抑制,以下會(huì)詳細(xì)論述。
    發(fā)表于 04-25 09:52 ?2342次閱讀
    BUCK電路EMI<b class='flag-5'>噪聲</b>的有效<b class='flag-5'>抑制</b>方法

    如何抑制和減少電子噪聲影響?

    電子噪聲的來(lái)源多種多樣,對(duì)電子設(shè)備的功能和性能產(chǎn)生了重大的影響。如何抑制和減少這些電子噪聲的影響,如今的電子設(shè)計(jì)中尤為重要。
    的頭像 發(fā)表于 03-27 10:29 ?954次閱讀
    如何<b class='flag-5'>抑制</b>和減少電子<b class='flag-5'>噪聲</b>影響?

    FPGA深度學(xué)習(xí)應(yīng)用中或?qū)⑷〈鶪PU

    上漲,因?yàn)槭聦?shí)表明,它們的 GPU 訓(xùn)練和運(yùn)行 深度學(xué)習(xí)模型 方面效果明顯。實(shí)際上,英偉達(dá)也已經(jīng)對(duì)自己的業(yè)務(wù)進(jìn)行了轉(zhuǎn)型,之前它是一家純粹 GPU 和游戲的公司,現(xiàn)在除了作為一家云
    發(fā)表于 03-21 15:19

    什么是LDO?淺析低壓差穩(wěn)壓器 (LDO) 中的噪聲及電源抑制

    本文中,我們將介紹低壓差 (LDO) 穩(wěn)壓器中噪聲和電源抑制比 (PSRR) 的影響。讓我們簡(jiǎn)單討論一下什么是 LDO。
    的頭像 發(fā)表于 03-15 17:12 ?2913次閱讀
    什么是LDO?淺析低壓差穩(wěn)壓器 (LDO) 中的<b class='flag-5'>噪聲</b>及電源<b class='flag-5'>抑制</b>比

    升壓型DCDC轉(zhuǎn)換器高頻噪聲抑制方法

    升壓型DC-DC轉(zhuǎn)換器提供高效率的電源轉(zhuǎn)換時(shí)會(huì)產(chǎn)生高頻噪聲。因此抑制高頻噪聲是設(shè)計(jì)升壓型DC-DC轉(zhuǎn)換器時(shí)的一個(gè)重要考慮。以下是一些有效的高頻噪聲
    的頭像 發(fā)表于 02-26 10:58 ?732次閱讀

    噪聲抑制的原理 用EMI濾波器抑制噪聲的方法

    噪聲抑制的原理主要基于聲波的相消性干涉,通過(guò)產(chǎn)生與原始噪聲波相位相反的聲波來(lái)達(dá)到降低噪聲水平的效果。
    的頭像 發(fā)表于 02-22 18:25 ?1865次閱讀
    <b class='flag-5'>噪聲</b><b class='flag-5'>抑制</b>的原理 用EMI濾波器<b class='flag-5'>抑制</b><b class='flag-5'>噪聲</b>的方法

    GPU深度學(xué)習(xí)中的應(yīng)用與優(yōu)勢(shì)

    人工智能的飛速發(fā)展,深度學(xué)習(xí)作為其重要分支,正在推動(dòng)著諸多領(lǐng)域的創(chuàng)新。在這個(gè)過(guò)程中,GPU扮演著不可或缺的角色。就像超級(jí)英雄電影中的主角一樣,GPU深度
    的頭像 發(fā)表于 12-06 08:27 ?1158次閱讀
    GPU<b class='flag-5'>在</b><b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>中的應(yīng)用與優(yōu)勢(shì)

    面向電路的噪聲耦合抑制技術(shù)

    面向電路的噪聲耦合抑制技術(shù)
    的頭像 發(fā)表于 11-29 15:56 ?573次閱讀
    面向電路的<b class='flag-5'>噪聲</b>耦合<b class='flag-5'>抑制</b>技術(shù)

    請(qǐng)問(wèn)外部噪聲引入目標(biāo)系統(tǒng)的途徑和抑制方法有哪些?

    請(qǐng)問(wèn)外部噪聲引入目標(biāo)系統(tǒng)的途徑和抑制方法有哪些? 外部噪聲是指來(lái)自于環(huán)境或設(shè)備的不希望信號(hào)干擾,導(dǎo)致目標(biāo)系統(tǒng)輸出的信號(hào)出現(xiàn)失真或其他問(wèn)題。為了解決這個(gè)問(wèn)題,我們首先需要了解外部
    的頭像 發(fā)表于 11-09 15:53 ?402次閱讀

    開(kāi)關(guān)電源的五種紋波噪聲如何抑制?

    開(kāi)關(guān)電源的五種紋波噪聲如何抑制? 開(kāi)關(guān)電源作為常用的電源單元,電子工程師的開(kāi)發(fā)設(shè)計(jì)中扮演著重要的角色。然而,由于其工作原理,開(kāi)關(guān)電源輸出的電壓、電流等參數(shù)受到各種因素的影響,其中最重要的就是五種
    的頭像 發(fā)表于 11-06 10:13 ?1083次閱讀