前言
在音頻領(lǐng)域,mel頻譜和mfcc是非常重要的特征數(shù)據(jù)甘有,在深度學(xué)習(xí)領(lǐng)域通常用此特征數(shù)據(jù)作為網(wǎng)絡(luò)的輸入訓(xùn)練模型诉儒,來解決音頻領(lǐng)域的各種分類、分離等業(yè)務(wù)亏掀,如端點(diǎn)偵測忱反、節(jié)奏識別、和弦識別滤愕、音高追蹤温算、樂器分類、音源分離间影、回聲消除等相關(guān)業(yè)務(wù)注竿。
當(dāng)然,針對深度學(xué)習(xí)音頻領(lǐng)域的業(yè)務(wù)魂贬,不是用下這兩個(gè)特征巩割、選幾個(gè)網(wǎng)絡(luò)、打個(gè)標(biāo)簽付燥,放數(shù)據(jù)訓(xùn)練就完事了宣谈, 僅僅基于mel頻譜和mfcc這兩個(gè)特征,解決好上述業(yè)務(wù)某些情況下還是遠(yuǎn)遠(yuǎn)不夠的键科,熟悉這些特征的內(nèi)在邏輯性闻丑、衍生細(xì)節(jié)和延展,才能更好的結(jié)合深度學(xué)習(xí)解決業(yè)務(wù)問題勋颖。
下面講解mel頻譜和mfcc特征的算法流程和一些細(xì)節(jié)梆掸、延展,這些細(xì)節(jié)從局部角度來看牙言,都會影響到最終特征呈現(xiàn)的細(xì)節(jié)差異酸钦,這些差異放大到模型訓(xùn)練結(jié)果的準(zhǔn)確性、魯棒性上怎么樣是非常值得研究的,某些情況下可能會有質(zhì)的變化卑硫,質(zhì)的變化無論正向還是負(fù)向都是值得關(guān)注的徒恋,最怕的是沒變化;同時(shí)欢伏,一些問題的延展從廣義角度來看入挣,帶來不同的特征組合、網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)思考等也是解決業(yè)務(wù)問題非常重要的思想源泉硝拧。
算法流程
設(shè) sr 為采樣率径筏,fftLength 為幀長度,slideLength 為滑動長度
下面是一張mel頻譜和mfcc的大概算法流程圖障陶。
1. 預(yù)加重(Pre-emphasis)
如流程圖所示的第1步滋恬,屬于信號的預(yù)處理,補(bǔ)償高頻分量損失抱究,提升高頻分量恢氯,一般情況下可以忽略此步驟,屬于信號的簡單增強(qiáng)鼓寺,對特征有一定的提升效果勋拟。公式如下
一般取0.97
公式屬于差分一階即高通濾波器。
2. 分幀(Frame)
現(xiàn)實(shí)中大多數(shù)信號都是非平穩(wěn)的妈候,但大多數(shù)短時(shí)間內(nèi)可以近似看做是平穩(wěn)的敢靡,可以用短時(shí)傅里葉變換表現(xiàn)非平穩(wěn)信號頻域特征。 一般語音中采用10ms~30ms左右苦银,樂音中可以更長一些64ms~256ms啸胧。
分幀涉及到前后重疊(overlap),一般情況下以滑動幀長的1/4或1/2(前后重疊3/4或1/2)進(jìn)行墓毒,即吓揪。
3. 加窗(Window)
加窗目的是減少頻譜泄露,降低泄漏頻率干擾所计,提升頻譜效果柠辞,默認(rèn)不處理即加矩形窗(Rect),干擾泄漏較嚴(yán)重主胧,一般情況下加Hann窗叭首,針對大多數(shù)信號都有不錯(cuò)的效果。公式如下
Hann為余弦窗踪栋,N表示階數(shù)焙格。
4. 短時(shí)傅里葉變換(STFT)
分幀加窗傅里葉變換即短時(shí)傅里葉變換。公示如下
設(shè)數(shù)據(jù)長度為 dataLength夷都,
STFT屬于標(biāo)準(zhǔn)的數(shù)學(xué)變換眷唉,為復(fù)數(shù)域,尺寸為 ,為表示區(qū)分冬阳,一般的如
取模蛤虐,尺寸為
表示為STFT頻譜,有以下類型頻譜肝陪。
驳庭,STFT幅值頻譜
,STFT功率頻譜
氯窍,STFT dB(分貝)頻譜
饲常,STFT標(biāo)準(zhǔn)dB頻譜
注:
- dB頻譜屬于相對譜,加減乘除對頻率相對dB值沒影響狼讨,標(biāo)準(zhǔn)dB頻譜相當(dāng)于建立一個(gè)基準(zhǔn)參考線贝淤,方便分析頻譜和量化,大多數(shù)頻譜示例都是此種類型熊楼。
- 深度學(xué)習(xí)中使用dB譜訓(xùn)練大多數(shù)要優(yōu)于其它數(shù)值類型的頻譜霹娄。
5. 濾波器組過程(Filter bank)
此過程是計(jì)算mel頻譜關(guān)鍵部分和mfcc的重要一步能犯。流程圖如下
mel刻度(scale)是一種基于人耳聽覺設(shè)計(jì)的log壓縮刻度鲫骗,人耳針對低頻比較敏感,高頻不太敏感踩晶,比如110hz和116hz一般人都能區(qū)分出來执泰,但4000hz和4100hz大部分分不出來。mel刻度和hz的轉(zhuǎn)換公式如下
圖中前三個(gè)步驟即根據(jù)業(yè)務(wù)fre邊界和num頻帶個(gè)數(shù)計(jì)算mel刻度下所映射的freBandArr渡蜻。
接下來就是STFT頻帶如何映射到mel刻度的頻帶术吝,用頻帶加三角窗進(jìn)行計(jì)算mel刻度的filterBank matrix,三角窗公式如下
如下圖
當(dāng)然這個(gè)是對稱的茸苇,線性頻帶用對稱的沒問題排苍,mel刻度產(chǎn)生的頻帶log比例,左右不會對稱学密,這時(shí)候使用三角窗就是非對稱的淘衙,下面是mel刻度的filterBank matrix公式
下面給出一個(gè)簡單的示意圖
最后,一般使用STFT功率頻譜和filterBank matrix做矩陣乘法運(yùn)算即得出mel功率頻譜腻暮。
6. 非線性校正(Rectification)
對上一步mel功率頻譜取log運(yùn)算彤守,即mel dB頻譜就是通常所使用的“mel頻譜”,一般情況下5哭靖、6步作為一個(gè)整體看待具垫,合到一塊可以理解為mel頻譜的計(jì)算。
下面是STFT頻譜和mel頻譜(num=128)的效果對比圖试幽。
7. 離散余弦變換(DCT)
離散余弦變換筝蚕,即數(shù)據(jù)為偶函數(shù)的實(shí)數(shù)傅里葉的變換,有去相關(guān)和能量集中特點(diǎn)。公式如下
當(dāng)起宽,即DCT變換蔗坯,
,即DST變換燎含。
DCT變換宾濒,屬于數(shù)據(jù)高度去相關(guān)后的特征反映,由于能量集中的特點(diǎn)屏箍,在數(shù)據(jù)壓縮領(lǐng)域廣泛常用绘梦,一般的,DCT考慮到數(shù)據(jù)解析延拓時(shí)中間點(diǎn)選取赴魁、邊界卸奉、方式等情況有8種對應(yīng)變換,常用的為DCT-II變換颖御,公式如下
mel頻譜經(jīng)過DCT變換后得到倒譜系數(shù)(cepstral coeffs)即MFCCs榄棵。
8. 能量和delta
能量和delta的計(jì)算屬于mfcc特征體系下的可選操作。
能量特征相當(dāng)于給mfcc加上bias偏置潘拱,具有一定抗噪作用疹鳄,公式如下
根據(jù)公式,可以從時(shí)域計(jì)算芦岂,也可以基于頻域計(jì)算瘪弓,很明顯,這樣計(jì)算出的結(jié)果動態(tài)范圍太小禽最,一般針對結(jié)果取log運(yùn)算即腺怯,又稱log能量,可以替換首個(gè)mfcc直流分量值或首位置追加川无。
delta是計(jì)算數(shù)據(jù)的變化呛占,基于當(dāng)前點(diǎn)區(qū)域的局部斜率最小二乘近似值,公式如下
M為階數(shù)懦趋,為奇數(shù)晾虑,一般取9
針對mfcc計(jì)算其delta,然后再計(jì)算delta的delta愕够,可以偵測mfcc狀態(tài)的變化走贪,變化的變化,可以作為mfcc的兩組輔助特征參與網(wǎng)絡(luò)模型的訓(xùn)練惑芭,某些情況下起到更好的準(zhǔn)確性和泛化能力坠狡。
mfcc相關(guān)效果圖如下
綜上所有,詳細(xì)描述解釋了算法流程中每一步計(jì)算流程遂跟,下面將對一些步驟流程涉及到的細(xì)節(jié)思考點(diǎn)和延伸點(diǎn)做深入的展開逃沿。
相關(guān)細(xì)節(jié)
1. weight-A計(jì)權(quán)
針對上面預(yù)加重方式而言婴渡,本質(zhì)上是一個(gè)高通濾波器,是衰減低頻的凯亮,本身并不會提升高頻边臼,“補(bǔ)償高頻分量損失,提升高頻分量”并不太嚴(yán)謹(jǐn)?shù)容^形象假消,衰減低頻相對來說就是變相提升高頻柠并,是縮減高低頻動態(tài)范圍的。
為什么要縮減高低頻動態(tài)范圍富拗,有沒有更好的方式臼予,答案就是weight-A計(jì)權(quán)。
上面有提到“人耳對低頻比較敏感啃沪,高頻不太敏感”粘拾,這個(gè)敏感是針對頻率分辨而言的,針對頻率的強(qiáng)度而言创千,這句話是反過來的即人耳對高頻比較敏感缰雇,低頻不太敏感,以吉他樂器為例追驴,用同樣力度撥最粗和最細(xì)的弦發(fā)出的音械哟,即物理上兩者強(qiáng)度(振幅)是一樣的,但聽覺上高頻比低頻要響的多氯檐,人們用weight-A計(jì)權(quán)來量化這種“響度”的心理指標(biāo)戒良,數(shù)學(xué)上表示不同頻段的log函數(shù)加減体捏,效果如下圖冠摄。
如圖所示,整個(gè)頻段不僅有衰減几缭、還有真正的提升區(qū)域河泳。
針對一些業(yè)務(wù)的深度學(xué)習(xí)模型訓(xùn)練,加weight-A計(jì)權(quán)能提升4%~5%左右精度年栓。
2. overlap重疊
數(shù)據(jù)分幀涉及到幀長和重疊兩個(gè)問題拆挥,幀長決定頻域的頻率分辨率和時(shí)域的時(shí)間分辨率,幀長越長某抓,頻域分辨率越精確纸兔,時(shí)域分辨率越模糊,但受限大多數(shù)信號本身非平穩(wěn)特點(diǎn)不可能無限長否副,幀長越短汉矿,時(shí)域分辨率越精確,頻域分辨率越模糊备禀。
重疊問題洲拇,就是相對當(dāng)前幀滑動的問題奈揍,如上面分幀流程所述一般情況下滑動幀長的1/4或1/2,當(dāng)然赋续,滑動長度也可以等同幀長(前后重疊為0)男翰,甚至超過幀長(沒有重疊,前后跳躍)纽乱。
重疊多少還是不重疊還是跳躍蛾绎,本身并不會提升時(shí)域分辨率,可以理解為頻譜t維度的不同時(shí)間間隔采樣鸦列,滑動小相當(dāng)于頻譜圖的插值升采樣秘通,滑動大相當(dāng)于頻譜圖的抽取降采樣,針對端點(diǎn)偵測業(yè)務(wù)頻域的相關(guān)算法敛熬,滑動太小或跳動過大都不會有好的效果肺稀,如下面效果對比。
如圖所見应民,紫色和綠色是滑動極小和跳動過大效果话原。
針對端點(diǎn)偵測相關(guān)業(yè)務(wù),選擇合適幀長后诲锹,前后滑動一般沒有重疊或少許跳動效果相對好一些繁仁。
3. window窗函數(shù)
時(shí)域加窗目的是減少頻譜泄露,上述算法流程描述中归园,一般情況下加Hann窗黄虱,但窗函數(shù)有很多,如Triang庸诱,Hann捻浦,Hamm,Guass桥爽,Kaiser朱灿,F(xiàn)lattop,Blackman等等钠四。
不同窗如何選擇盗扒,在深度學(xué)習(xí)一些業(yè)務(wù)中,不同窗的選擇對模型的訓(xùn)練和結(jié)果影響是怎樣的缀去,或者哪些窗在業(yè)務(wù)中是值得做嘗試的侣灶。
Guass,Kaiser非常值得嘗試缕碎,公式如下
針對Guass:
, 兩者之間互為反比
默認(rèn)
針對Kaiser:
為零階第一類修正貝塞爾函數(shù)褥影,可有下面公式級數(shù)計(jì)算,
阎曹,一般取
項(xiàng)左右
默認(rèn)
Gauss伪阶,Kaiser相比其它大多數(shù)窗而言煞檩,屬于窗口可變窗,一般窗口寬度越大栅贴,分辨率越細(xì)斟湃,過渡帶越小,但阻帶衰減偏大檐薯;一般窗口寬度越窄凝赛,分辨率越大,過渡帶越大坛缕,但阻帶衰減偏小墓猎。
針對Guass和Kaiser這兩種可以調(diào)整寬度的窗,在一些業(yè)務(wù)中可以選擇最大化旁瓣衰減赚楚,用相應(yīng)的頻譜特征訓(xùn)練深度學(xué)習(xí)業(yè)務(wù)模型時(shí)毙沾,可能會有不錯(cuò)的表現(xiàn)。
4. rectification非線性校正
上述算法流程描述中宠页,一般而言5左胞、6步合到一起是標(biāo)準(zhǔn)的頻譜呈現(xiàn)結(jié)果,但從功率頻譜非線性校正角度而言举户,
不止log函數(shù)一種烤宙,當(dāng)然log是最重要最常用的一種,可以用cubic root(三次開方)俭嘁,類Relu等其它方式躺枕。
從深度學(xué)習(xí)角度來看,可以把類mel頻譜當(dāng)做一種網(wǎng)絡(luò)層計(jì)算供填,log拐云、cubic root等非線性操作當(dāng)做激活函數(shù)。
從這個(gè)角度來看捕虽,針對不同的業(yè)務(wù)慨丐,激活函數(shù)的不同選擇設(shè)計(jì),對模型的訓(xùn)練和結(jié)果的影響有可能是天翻地覆的泄私,在研發(fā)業(yè)務(wù)中是很值得關(guān)注測試的一個(gè)點(diǎn)。
各種刻度
1. 其它刻度
mel頻譜如此知名备闲,難道做音頻領(lǐng)域深度學(xué)習(xí)就只有mel頻譜晌端?當(dāng)然不是,有些情況mel頻譜不一定是最優(yōu)的恬砂。
如上面算法流程描述中mel刻度的解釋咧纠,是一種基于人耳聽覺設(shè)計(jì)的log壓縮刻度,后面發(fā)展出更準(zhǔn)確人耳聽覺模型刻度泻骤,Bark和ERB刻度漆羔,公式如下
2. Gammatone filter
公式中 部分為
形式函數(shù)梧奢,
理解為tone,稱之為gammatone演痒。
一般情況下亲轨,人耳聽覺模型中的ERB刻度和gammatone filter的bandwidth相關(guān)聯(lián),即b為ERB刻度的bandwidth鸟顺。
基于這個(gè)濾波器求頻響非常復(fù)雜惦蚊,只能給出近似公式,論文公式推導(dǎo)足足有20多頁讯嫂,已超過大部分人的研究上限蹦锋,即使拿論文的結(jié)果公式直接編程實(shí)現(xiàn)也不輕松。幸運(yùn)的是audioFlux開源項(xiàng)目有比較標(biāo)準(zhǔn)的實(shí)現(xiàn)欧芽,感興趣的朋友可以研究一下莉掂。
3. 刻度頻譜
除了上述刻度以外,還有基于樂音八度的octave刻度千扔,更通用的log刻度等等巫湘,基于上面算法流程,mel刻度產(chǎn)生mel頻譜和mfcc特征昏鹃,同樣的流程尚氛,bark/erb等刻度產(chǎn)生對應(yīng)的bark/erb頻譜和相應(yīng)倒譜系數(shù),一些不同刻度頻譜的對比圖如下
更多的不同刻度頻譜類型可嘗試使用audioFlux庫測試洞渤。
4. 可能的問題
在一些業(yè)務(wù)中阅嘶,比如樂器相關(guān)業(yè)務(wù)中,上面所有的刻度中载迄,可能都會有一些小問題讯柔,針對低頻的頻帶,可能有些已經(jīng)小于STFT的最小分辨率护昧,這時(shí)候顯然沒意義魂迄,額外的造成干涉發(fā)散效果;針對中頻的頻帶惋耙,有些可能過大捣炬,分辨不夠細(xì);針對高頻的頻帶绽榛,可能還不夠大湿酸,分辨還是相對過小。
上述情況下灭美,在一些業(yè)務(wù)中推溃,特定的一些網(wǎng)絡(luò)結(jié)構(gòu)中,中低頻的分辨率差可能會導(dǎo)致訓(xùn)練模型的欠擬合届腐,很難達(dá)到一定準(zhǔn)確度铁坎,或者高頻的分辨率過小可能會導(dǎo)致訓(xùn)練模型的欠擬合蜂奸,泛化能力差,出現(xiàn)這種情況后可以嘗試以下方式:
1硬萍,適當(dāng)?shù)脑黾訑?shù)據(jù)集扩所、調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)等通用方式。
2襟铭,增加不同維度的特征輸入碌奉,讓網(wǎng)絡(luò)找到最優(yōu)解或跳出局部最優(yōu)解。
3寒砖,自定義刻度赐劣,既然明確原因,從特征本身優(yōu)化上入手哩都。
綜上魁兼,不同scale下產(chǎn)生的頻譜數(shù)據(jù)高低頻細(xì)節(jié)、能量聚集漠嵌、對比度都會有不同的差異咐汞,這種差異放大到一些業(yè)務(wù)實(shí)踐中,模型的準(zhǔn)確度和魯棒性怎么樣儒鹿,就非常有嘗試研究價(jià)值化撕。
在深度學(xué)習(xí)一些業(yè)務(wù)中,如果mel刻度下的相關(guān)特征可以出結(jié)果约炎,使用bark相關(guān)特征替換植阴,往往有一定的效果提升。
濾波器組
1. 概念
數(shù)字信號中圾浅,濾波器有基礎(chǔ)的高通濾波器和低通濾波器掠手, 帶通濾波器可以有低通和高通串聯(lián)而成,F(xiàn)ilter bank可以理解為多個(gè)帶通濾波器狸捕。
濾波器組是一個(gè)映射矩陣喷鸽,表示STFT線性頻帶和不同刻度下的頻帶映射關(guān)系,至于怎么映射灸拍,就是算法流程描述第5步中的三角窗函數(shù)法做祝,三角窗的Filter bank如下圖所示
2. 歸一化
如上圖所示,一般刻度產(chǎn)生的頻帶株搔,低頻帶寬小剖淀,高頻越來越大,意味著高頻區(qū)域很長的一段頻帶都會參與當(dāng)前頻率分量的映射計(jì)算纤房,相對低頻而言顯然不太合理,這時(shí)候需要對Filter bank進(jìn)行歸一化處理翻诉。
歸一化方式有以帶寬和面積區(qū)域兩種方式炮姨,以帶寬方式歸一化效果如下圖
3. 不同的窗
針對Filter bank的計(jì)算捌刮,難道就只有三角窗函數(shù)法,當(dāng)然不是舒岸,可以使用Rect绅作,Hann,Hamm等等這些窗函數(shù)蛾派,Gammatone也是一種特殊的窗函數(shù)俄认,某種角度上講甚至可以不計(jì)算,下面是幾種不同窗下Filter bank的對比圖
下面是不同窗下的頻譜對比圖
圖中Slaney和ETSI是兩種不同類型的三角窗洪乍,其它更多窗類型測試可嘗試使用audioFlux庫眯杏。
4. 加窗方式
窗函數(shù)重疊處處理有很多細(xì)化方式,頻帶前后窗都是有重疊的壳澳,一般的處理方式是重疊點(diǎn)后面不再參與之前計(jì)算岂贩,重疊點(diǎn)之前不再參與之后計(jì)算,如下面圖所示
如果各個(gè)頻帶窗函數(shù)可以等比例縮放巷波,這樣的話對不同刻度下的頻帶都變成可調(diào)整的萎津,窗函數(shù)不同的寬度選擇,對應(yīng)時(shí)頻分辨率不同的變化抹镊,結(jié)合PWT(偽小波變換)锉屈,就是另外一種CWT效果的同等變體,不同于CWT對波函數(shù)的限定要求垮耳,可以用更廣泛的窗函數(shù)研究CWT颈渊。
綜上,針對Filter bank的計(jì)算氨菇,加什么窗儡炼?怎么加窗娘荡?何種歸一化方式犁河?使用這些組合產(chǎn)生出更多細(xì)粒度的不同特征届巩,訓(xùn)練出模型準(zhǔn)確性和魯棒性如何慢哈,是非常值得嘗試研究的玛荞。
倒譜系數(shù)
1. 概念
什么是倒譜系數(shù)契讲,為什么DCT計(jì)算后是倒譜系數(shù)带膀?
倒譜的標(biāo)準(zhǔn)公式定義如下
數(shù)據(jù)經(jīng)過FFT變換后取log后撩银,再次FFT變換一般稱為倒譜鹃共,更廣義的講即時(shí)域數(shù)據(jù)經(jīng)過FFT變?yōu)轭l域數(shù)據(jù)鬼佣,頻域數(shù)據(jù)再次
FFT變換即倒譜變換。
DCT是DFT的特例霜浴,所以DCT針對之前FFT結(jié)果再次變換符合上述公式概念定義晶衷,也稱倒譜系數(shù);相比DFT,DCT能量較聚集晌纫,相當(dāng)于頻譜數(shù)據(jù)的再壓縮税迷,用小部分系數(shù)就能反映出數(shù)據(jù)的高度去相關(guān)的特征。
2. 倒譜應(yīng)用
倒譜可以干什么锹漱?
可以估算音高箭养,可以作為解卷積(deconv)的一種方式,分離信號哥牍,計(jì)算包絡(luò)(envelope)/共振峰(Formant)等等毕泌,
解卷積推導(dǎo)公式如下
3. 延展
分?jǐn)?shù)傅里葉變換(FRFT)
根據(jù)倒譜的定義,延展一下嗅辣,能否多次FFT撼泛,多次FFT的意義是什么,多次變換引申如下
設(shè)辩诞,換元后定義
引用后坎弯,F(xiàn)FT變換的次數(shù)可以非整數(shù)即分?jǐn)?shù)傅里葉變換,物理意義的表現(xiàn)就是旋轉(zhuǎn)頻譜一定角度译暂,可以多一個(gè)維度分析頻譜抠忘,同時(shí)也帶來其它概念的延伸,如分?jǐn)?shù)卷積等等外永。
方法論
1. 大特征(big feature)式訓(xùn)練
曾經(jīng)看到國外有一個(gè)做音頻分類的一個(gè)小業(yè)務(wù)崎脉,網(wǎng)絡(luò)輸入包括時(shí)域的能量、均方根伯顶、過零率囚灼、均值、方差祭衩、協(xié)方差灶体、偏度、峰度掐暮、矩蝎抽、中值、中位數(shù)路克、相關(guān)系數(shù)等等數(shù)十種時(shí)域相關(guān)的統(tǒng)計(jì)特征樟结,不管三七二十一,合理歸一化后精算,扔給一個(gè)卷積網(wǎng)絡(luò)跑模型訓(xùn)練瓢宦,最后能達(dá)到90%以上準(zhǔn)確率。
這種方式不能說是好還是壞灰羽,從業(yè)務(wù)結(jié)果上來說驮履,把網(wǎng)絡(luò)完全當(dāng)做一個(gè)黑箱鱼辙,輸入盡可能多的自身掌握的各種特征,打好標(biāo)簽疲吸,扔給網(wǎng)絡(luò)跑座每,只要能出結(jié)果就是好的前鹅。
如果把這種操作延展摘悴,在音頻領(lǐng)域特征選擇上,一個(gè)體系的舰绘、全面的蹂喻、多維度的任意不同粒度組合成一個(gè)靈活的大的特征數(shù)據(jù),相對單一或少量組合的特征捂寿,作為網(wǎng)絡(luò)輸入訓(xùn)練模型是否更具有優(yōu)勢口四,這個(gè)問題是值得思考研究的。
針對大特征數(shù)據(jù)的訓(xùn)練秦陋,有以下幾種方式可以嘗試:
1蔓彩,大特征數(shù)據(jù)合理歸一化整體作為輸入,單一輸入驳概,經(jīng)典網(wǎng)絡(luò)和不同網(wǎng)絡(luò)結(jié)構(gòu)組合訓(xùn)練赤嚼。
2,大特征數(shù)據(jù)合理歸一化整體作為輸入顺又,同樣數(shù)據(jù)多路輸入更卒,各種不同網(wǎng)絡(luò)結(jié)構(gòu)組合訓(xùn)練。
3稚照,大特征數(shù)據(jù)不同的特征維度蹂空,不同數(shù)據(jù)多路輸入,分別走相同的網(wǎng)絡(luò)結(jié)構(gòu)和不同的網(wǎng)絡(luò)結(jié)構(gòu)組合訓(xùn)練果录。
4上枕,基于第3種方式,一些特征直接作為中間隱藏?cái)?shù)據(jù)插入內(nèi)部不同網(wǎng)絡(luò)結(jié)構(gòu)中組合訓(xùn)練弱恒。
2. 內(nèi)嵌式網(wǎng)絡(luò)訓(xùn)練
深度學(xué)習(xí)中辨萍,全連接、卷積斤彼、RNN等這些基礎(chǔ)網(wǎng)絡(luò)分瘦,在空間和時(shí)間維度上不同的細(xì)化神經(jīng)元線性運(yùn)算加各種非線性激活操作來完善自身通識的算法體系,解耦數(shù)據(jù)特征工程琉苇、特征建模和目標(biāo)結(jié)果的層層依賴嘲玫,成為一種通識的算法思維。傳統(tǒng)基于統(tǒng)計(jì)學(xué)的機(jī)器學(xué)習(xí)和模式識別在此面前顯得不堪一擊并扇,像一個(gè)暴發(fā)戶一樣去团,前人們含辛茹苦積累數(shù)十年的領(lǐng)域經(jīng)驗(yàn),一個(gè)門外漢幾天就給顛覆了,關(guān)鍵是結(jié)果還比你好土陪。
當(dāng)然昼汗,從學(xué)習(xí)研究角度來看,如HMM鬼雀、GMM顷窒、CRF等這些前人積累的經(jīng)典算法模型,在后續(xù)業(yè)務(wù)中有可能用不到源哩,但這些算法思維是很值得借鑒學(xué)習(xí)的鞋吉,備足思維“原料”,任何時(shí)候都不過時(shí)励烦。
這些網(wǎng)絡(luò)的根在哪里谓着,從算法角度來看就是數(shù)值計(jì)算和數(shù)值優(yōu)化,數(shù)值計(jì)算層面網(wǎng)絡(luò)里有大量的線代運(yùn)算坛掠,自然有CUDA和各種BLAS作為支撐赊锚,最優(yōu)化理論上,大部分情況下是訓(xùn)練收斂快慢屉栓、震蕩的問題舷蒲,相關(guān)理論研究積累目前來看相對成熟。
從工程角度來看系瓢,基于最速下降體系的反向傳播算法已成事實(shí)上的標(biāo)準(zhǔn)阿纤,其它諸如二階求導(dǎo)、牛頓法等始終為小眾市場夷陋,但問題是自動微分工程上的實(shí)踐欠拾,有pytorch在手,實(shí)現(xiàn)各種網(wǎng)絡(luò)結(jié)構(gòu)骗绕、自定義各種網(wǎng)絡(luò)結(jié)構(gòu)等算法難度上呈指數(shù)級下降藐窄,現(xiàn)在的玩法更多是網(wǎng)絡(luò)的深度,網(wǎng)絡(luò)的各種組合上酬土,這可能才是目前網(wǎng)絡(luò)的根結(jié)所在荆忍。
現(xiàn)在,回歸到內(nèi)嵌式網(wǎng)絡(luò)訓(xùn)練 撤缴,這些基礎(chǔ)的網(wǎng)絡(luò)本質(zhì)上可以看做是積分變換刹枉,而音頻領(lǐng)域有數(shù)十種經(jīng)典的積分變換,這些變換不同于前人積累的特定領(lǐng)域的經(jīng)典模型算法屈呕,它本身就是典型的高度抽象的數(shù)學(xué)公式微宝,自帶通識基礎(chǔ)。
第一種方式
拿最常見的mel頻譜來說虎眨,姑且認(rèn)為它是STFT變換的一種蟋软,我們可以直接拿mel頻譜當(dāng)做網(wǎng)絡(luò)輸入訓(xùn)練镶摘,同樣的,我們可以把mel頻譜寫入網(wǎng)絡(luò)結(jié)構(gòu)的前向計(jì)算中岳守,這時(shí)可以直接拿時(shí)域數(shù)據(jù)當(dāng)做網(wǎng)絡(luò)輸入訓(xùn)練凄敢,這兩者之間的差別在哪,答案是沒有差別湿痢,之前是mel頻譜作為特征輸入涝缝,現(xiàn)在只不過不是mel頻譜的計(jì)算放在網(wǎng)絡(luò)開頭計(jì)算而已,速度可能會快一些蒙袍,叫一個(gè)更有逼格的名字俊卤,Mel-CNN、CWT-Transformer害幅、NSGT-RNN、CRF-LSTM岂昭、PCA-Inception等等網(wǎng)絡(luò)以现。
第二種方式
可以把mel頻譜計(jì)算放到網(wǎng)絡(luò)的中間,這時(shí)候mel頻譜計(jì)算可以作為一個(gè)算子參與到前向约啊、后向這些計(jì)算邑遏,影響前后神經(jīng)元權(quán)重參數(shù)的更新,這時(shí)候可以稱之為Mel-CNN等等總算是更進(jìn)一步恰矩,更準(zhǔn)確說是mel頻譜激活函數(shù)记盒。
第三種方式
mel頻譜有自己的神經(jīng)元,開始成為真正的mel頻譜網(wǎng)絡(luò)層外傅,同樣的延展纪吮,類如mel頻譜等積分變換,什么都不操作萎胰,它就是一個(gè)稍微復(fù)雜點(diǎn)的算子碾盟、激活函數(shù),如果在空間和時(shí)間維度上加上神經(jīng)元設(shè)計(jì)技竟,誰能保證不會出現(xiàn)下一個(gè)類卷積網(wǎng)絡(luò)的通識結(jié)構(gòu)呢冰肴,當(dāng)然,這種設(shè)計(jì)要求有較強(qiáng)的理論推導(dǎo)能力和大量的基礎(chǔ)測試榔组,足以支撐構(gòu)建新設(shè)計(jì)網(wǎng)絡(luò)的理論基礎(chǔ)和業(yè)務(wù)邏輯解釋熙尉。
最后,音頻領(lǐng)域數(shù)十種經(jīng)典的積分變換加上傳統(tǒng)機(jī)器學(xué)習(xí)的經(jīng)典模型算法搓扯,如何內(nèi)嵌式網(wǎng)絡(luò)訓(xùn)練检痰,最最起碼視野開闊很多,對于業(yè)務(wù)而言擅编,真正的網(wǎng)絡(luò)層實(shí)現(xiàn)可能算是標(biāo)準(zhǔn)的科研攀细,而作為一個(gè)算子激活函數(shù)的使用是應(yīng)該嘗試的箫踩,最不濟(jì),把這些當(dāng)做不同維度的特征輸入也總比什么都沒有好谭贪,多一個(gè)維度境钟,多一種特征,多一種選擇俭识。
總結(jié)
本文大體上分四個(gè)部分慨削,算法流程詳細(xì)描述解釋了每一步計(jì)算流程,相關(guān)細(xì)節(jié)算是簡單步驟流程的細(xì)節(jié)點(diǎn)思考和延展套媚,各種刻度缚态、濾波器組、倒譜系數(shù)算是重要概念和重要步驟的細(xì)節(jié)點(diǎn)思考和延展堤瘤,以上三個(gè)部分算是整個(gè)“深入”部分玫芦,方法論是“淺出”部分。
備足思維“原料”本辐,任何時(shí)候都不過時(shí)
多一個(gè)維度桥帆,多一種特征,多一種選擇