亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于機器學習的音頻分類

        2021-01-20 07:57:28熊華煜雒瑞森
        計算機工程與設(shè)計 2021年1期
        關(guān)鍵詞:分類模型

        熊華煜,余 勤,任 品,雒瑞森

        (四川大學 電氣工程學院,四川 成都 610065)

        0 引 言

        音頻信息的種類在多媒體技術(shù)發(fā)展下變得越發(fā)多樣化,如不同風格、樂器演奏的音樂,各地方言人聲等。因而語料庫質(zhì)量的好壞對系統(tǒng)的影響巨大。標準語料庫訓練出的語音模型在這些干擾下識別率會大大降低,需適當?shù)念A(yù)處理技術(shù)進行改善。

        因此,音頻分類技術(shù)具有非常巨大的理論價值和實際意義[1]。預(yù)分類為對應(yīng)的音頻處理算法模型的使用提供指導,能提高處理的效率和準確度;音頻檢索方面,已分類音頻可作為帶標簽音頻數(shù)據(jù)庫,方便用作音頻處理模型訓練素材;日常生活中,音頻分類可以為實時語音進行識別、目標場景分析等應(yīng)用提供精確化預(yù)處理支持,可驅(qū)動更多音頻信息處理任務(wù)的優(yōu)化發(fā)展。

        1 相關(guān)方法簡述

        本文所涉及分類模型使用音頻的MFCC(melscale frequency cepstral coefficients)作為特征向量,分別輸入到支持向量機、貝葉斯分類器、全連接神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)中以探究各個模型的二分類和多分類準確度。

        1.1 MFCC特征參數(shù)

        梅爾倒譜系數(shù)(MFCC)是用數(shù)字形式表征音頻信號的常用特征,其詳細定義請參見文獻[2],運用在語音相關(guān)系統(tǒng)中時可賦予系統(tǒng)良好的魯棒性與識別率,與基于線性預(yù)測的倒譜相比較可以更好模擬人的聽覺感知效果。

        1.2 支持向量機分類器

        支持向量機(support vector machine,SVM)是一種經(jīng)典的監(jiān)督式學習模型及相關(guān)的分類算法。以二分類為例,其原理是在得到一些待分類數(shù)據(jù)點的情況下,找到一個滿足分類要求的最優(yōu)超平面,使所有正分類點到該平面的距離與所有負分類點到該平面的距離的總和達到最大,這個平面就是最優(yōu)分類超平面。

        1.3 樸素貝葉斯分類器

        樸素貝葉斯分類器(簡稱BYS)[3]具有將先驗知識綜合的特性,它提供了推理的一種概率手段,即基于待考察的量遵循某概率分布且根據(jù)這些概率以及已觀察數(shù)據(jù)進行推理這一假定,以求作出最優(yōu)的決策。

        1.4 人工神經(jīng)網(wǎng)絡(luò)

        人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)是一種類人腦神經(jīng)連接結(jié)構(gòu)的計算模型,其詳細定義參見文獻[4]。結(jié)構(gòu)中的每個神經(jīng)元都是對信息進行處理的最小結(jié)構(gòu),其經(jīng)過組合形成的系統(tǒng)具有非線性、自適應(yīng)[5]信息處理特征。神經(jīng)元布局如圖1所示。

        圖1 神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)[6]

        在訓練多層神經(jīng)網(wǎng)絡(luò)時常采用逆誤差傳播算法(error backpropagation,BP),其執(zhí)行一般包含以下4步:

        (1)按輸入層到輸出層方向,計算輸出值;

        (2)按輸出層到輸入層方向,計算誤差值;

        (3)計算每個權(quán)重的梯度;

        (4)使用梯度下降算法更新權(quán)重。

        全連接神經(jīng)網(wǎng)絡(luò)(fully connected neural network,F(xiàn)C)即神經(jīng)網(wǎng)絡(luò)中除輸出層外每層每個神經(jīng)元都與上一層所有神經(jīng)元相連,每個連接都有一個權(quán)值,第N-1層神經(jīng)元輸出是第N層神經(jīng)元的輸入。

        卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)是一種利用卷積突出數(shù)據(jù)特征的神經(jīng)網(wǎng)絡(luò),詳細定義參見文獻[7]。它使用3種方法強化模型訓練效果:一是局部連接,神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)不再是每一層的所有神經(jīng)元都與上一層所有神經(jīng)元相連;二是權(quán)值共享,在神經(jīng)網(wǎng)絡(luò)中一組連接可以用同樣的權(quán)重,不再是每一個連接都有一個不同的權(quán)重;三是通過池化層的下采樣,這種方式不僅可以減少該層的樣本數(shù)量,而且還有助于該模型魯棒性的提高。

        循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)的詳細定義參見文獻[8],與卷積神經(jīng)網(wǎng)絡(luò)最大的不同在于,前者輸入數(shù)據(jù)都是獨立的,在訓練過程中彼此之間不存在聯(lián)系,而循環(huán)神經(jīng)網(wǎng)絡(luò)先后輸入數(shù)據(jù)在訓練過程中存在聯(lián)系,因此可更好地處理包含順序信息的數(shù)據(jù)。

        1.5 實驗總體設(shè)計

        本文設(shè)計以各種分類算法模型的基本框架為基礎(chǔ),不斷調(diào)整參數(shù)以觀察音頻的分類準確度。在經(jīng)典的機器學習算法中,調(diào)整輸入特征尺寸,不斷改變訓練與測試樣本的比例,并反復(fù)進行測試觀察模型的準確度波動,在先進的神經(jīng)網(wǎng)絡(luò)算法中,不斷調(diào)整網(wǎng)絡(luò)層數(shù)以及迭代次數(shù)以觀察準確度波動,之后在同樣的樣本訓練及測試條件下橫向?qū)Ρ雀鱾€模型的準確度以尋求出最適合音頻分類的模型,最后研究了正則化參數(shù)對以上得出的最優(yōu)模型準確度的影響,得到了最合適的參數(shù)。

        2 模型具體實現(xiàn)

        2.1 所用語言及開發(fā)環(huán)境

        本文的模型構(gòu)建使用Python語言完成,采用PyCharm作開發(fā)環(huán)境,音頻庫采用GTZAN的genres數(shù)據(jù)集,包括5種不同風格(布魯斯、古典、鄉(xiāng)村、迪斯科、嘻哈)音樂,每種100條,每條30 s。

        由于樣本數(shù)量較少,考慮通過對音頻進行剪切實現(xiàn)數(shù)據(jù)擴充,因此將音頻每9 s剪成一段,每兩段間有4 s的重合,從而將每段30 s的音頻剪切成為5段9 s的音頻,成功將樣本數(shù)量擴大了5倍。最終擴展成每類500條數(shù)據(jù)。

        2.2 特征提取

        使用Python庫librosa中feature.mfcc函數(shù)提取音頻的前20維MFCC特征參數(shù),通過numpy中ndarry.flatten將20*388的特征參數(shù)平鋪成一維長度為7760的向量。當使用支持向量機和貝葉斯分類器進行分類時,可僅使用一位數(shù)作為標簽代表音頻的種類,當使用神經(jīng)網(wǎng)絡(luò)進行分類時,使用One-shot編碼作為特征向量的標簽,以匹配神經(jīng)網(wǎng)絡(luò)輸出層神經(jīng)元的個數(shù)。最終得到帶標簽的特征向量矩陣。

        2.3 支持向量機分類器的實施

        2.3.1 模型實現(xiàn)

        支持向量機模型主要使用了sklearn庫,在得到帶標簽的特征向量矩陣之后,先將各特征向量打亂順序,再使用sklearn中的train_test_split函數(shù)選擇一部分數(shù)據(jù)作訓練集,剩下部分作測試集。使用svm.SVC構(gòu)建支持向量機模型,使用fit函數(shù)進行訓練,predict函數(shù)進行測試,最后通過classification_report函數(shù)和accuracy_score函數(shù)得到支持向量機的分類效果。

        2.3.2 多分類效果

        當使用20%的數(shù)據(jù)為測試集,剩下的數(shù)據(jù)為訓練集時,該模型的分類準確度為0.837。

        重復(fù)執(zhí)行程序,得到分類結(jié)果見表1。

        表1 重復(fù)運行支持向量機模型所得數(shù)據(jù)

        觀察到分類準確度在0.8左右,但波動較大,推測原因是測試樣本量過大,同支持向量機小樣本訓練產(chǎn)生過擬合的特性相矛盾。

        2.4 貝葉斯分類器的實施

        2.4.1 模型實現(xiàn)

        貝葉斯分類器的實現(xiàn)通過sklearn庫實現(xiàn),使用sklearn.naive_bayes中的GaussianNB搭建一樸素貝葉斯分類器,其它與支持向量機相同。

        2.4.2 多分類效果

        使用20%數(shù)據(jù)為測試集,剩下的為訓練集時,模型分類準確度為0.84。重復(fù)執(zhí)行結(jié)果見表2。

        表2 重復(fù)運行貝葉斯分類器模型所得數(shù)據(jù)

        觀察到分類準確度在0.8左右,且波動較小。

        2.5 全連接神經(jīng)網(wǎng)絡(luò)的實施

        2.5.1 模型實現(xiàn)

        全連接神經(jīng)網(wǎng)絡(luò)模型的實現(xiàn)基于Keras框架,使用keras.models中Sequencial模塊建立序列模型,通過keras.layers中Dense和Activation函數(shù)添加全連接層和激活函數(shù),通過model.compile函數(shù)添加adam優(yōu)化器,使用交叉熵損失函數(shù),以分類準確度作衡量指標,使用model.fit 函數(shù)進行訓練,最后通過model.evaluate輸入測試集數(shù)據(jù)檢驗分類效果。

        2.5.2 多分類效果

        使用含5層隱藏層的神經(jīng)網(wǎng)絡(luò),輸入genre數(shù)據(jù)集,選擇64%的數(shù)據(jù)作為訓練集,16%的數(shù)據(jù)作驗證集,20%的數(shù)據(jù)作為測試集,迭代35次,得到分類準確度為0.709。

        更改迭代次數(shù),得到程序分類準確度隨迭代次數(shù)的變化如圖2所示。

        圖2 不同迭代次數(shù)對應(yīng)的分類準確度

        觀察分類準確度的變化,可以發(fā)現(xiàn)迭代30次時分類準確度最高,為0.757,控制迭代次數(shù)為30次,修改隱藏層的層數(shù),對每種情況重復(fù)3次實驗取平均值,觀察分類準確度的變化如圖3所示。

        圖3 不同隱藏層層數(shù)對應(yīng)的平均分類準確度

        觀察到神經(jīng)網(wǎng)絡(luò)層數(shù)的變化對分類準確度的影響并不大,其中當隱藏層層數(shù)為4時,分類準確度相對較高,為0.755。

        2.6 卷積神經(jīng)網(wǎng)絡(luò)的實施

        2.6.1 模型實現(xiàn)

        卷積神經(jīng)網(wǎng)路模型構(gòu)建亦基于Keras框架,使用keras.models中的Sequencial模塊建立序列模型,不同之處在于使用卷積神經(jīng)網(wǎng)絡(luò)時,先將輸入數(shù)據(jù)轉(zhuǎn)化為三維形式,其深度設(shè)為1,然后通過Conv2D函數(shù)實現(xiàn)卷積操作,MaxPooling2D函數(shù)實現(xiàn)池化層下采樣,最后通過全連接層得到分類結(jié)果。

        2.6.2 多分類效果

        輸入genres數(shù)據(jù)集,讓數(shù)據(jù)先通過兩個卷積層加池化層的組合,再通過一個全連接層,迭代20次,得到分類準確度為0.758。改變迭代次數(shù),得到分類效果及相應(yīng)花費時間見表3。

        表3 不同迭代次數(shù)對應(yīng)的分類準確度及時間

        考察分類準確度隨迭代次數(shù)的變化,可得如圖4所示。

        圖4 卷積神經(jīng)網(wǎng)絡(luò)分類準確度隨迭代次數(shù)的變化

        一開始分類準確度隨迭代次數(shù)增加而增加,30次之后漸趨于平穩(wěn),最終分類準確度在0.83左右。

        2.7 循環(huán)神經(jīng)網(wǎng)絡(luò)的實施

        2.7.1 模型實現(xiàn)

        循環(huán)神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建同樣使用Keras框架實現(xiàn),在建立模型時使用了SimpleRNN函數(shù)建立循環(huán)層,然后再接入全連接層,輸出分類結(jié)果。

        2.7.2 多分類效果

        輸入genres數(shù)據(jù)集,調(diào)整迭代次數(shù),每種次數(shù)運行3次,得到平均分類效果如圖5所示。

        圖5 多分類準確度隨迭代次數(shù)的變化

        觀察到隨著迭代次數(shù)的變化,分類準確度在0.68到0.72之間上下波動,總體變化不大。

        2.8 分類效果對比

        綜合結(jié)果,得各模型分類準確度如圖6所示。

        圖6 5種模型多分類準確度對比

        從圖6可觀察到,使用genres數(shù)據(jù)集考察各模型多分類效果時,準確度最高的是卷積神經(jīng)網(wǎng)絡(luò),其次是支持向量機和貝葉斯分類器,其中兩者的平均分類準確度相仿,但多次執(zhí)行程序發(fā)現(xiàn),支持向量機分類準確度方差高于貝葉斯分類器,因此綜合來看,貝葉斯分類器分類優(yōu)于支持向量機,之后是全連接神經(jīng)網(wǎng)絡(luò),最后是循環(huán)神經(jīng)網(wǎng)絡(luò)??砂l(fā)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)分類效果最好,因此接下來將基于卷積神經(jīng)網(wǎng)絡(luò)處理genres數(shù)據(jù)集使用Dropout正則化對實驗過程進行優(yōu)化,以達到更好的分類效果。

        3 Dropout正則化

        3.1 Dropout正則化簡介

        觀察模型訓練過程可發(fā)現(xiàn),訓練集與驗證集的分類效果良好,但測試集效果較差,這是泛化能力不足的體現(xiàn),如何減少泛化誤差則成為一大關(guān)鍵問題。正則化可通過使模型復(fù)雜度降低從而具有更好泛化能力,Dropout正則化便是其中一種方法,可通過每個訓練案例中隨機省略一半特征檢測器來減少神經(jīng)網(wǎng)絡(luò)過度擬合[9]。即將一半隱藏層節(jié)點設(shè)置為0,降低隱藏層節(jié)點間影響,讓模型具有更強泛化性。使用Dropout正則化時,并不局限于省略一半隱藏層節(jié)點,而可根據(jù)實際需求人為確定省略掉的隱藏層節(jié)點數(shù)量的比例,以提高模型泛化性。

        3.2 Dropout正則化實現(xiàn)及效果

        在卷積神經(jīng)網(wǎng)絡(luò)中仍通過Keras實現(xiàn)Dropout,在模型訓練時屏蔽掉一些神經(jīng)元,讓神經(jīng)元輸出乘以1/(1-p)進行放大,p為神經(jīng)元被屏蔽概率(Dropout率)。該處放大操作是防止訓練時結(jié)果不穩(wěn)定增加的補償,使輸入同樣數(shù)據(jù)情況下輸出期望也相同。

        分別在卷積神經(jīng)網(wǎng)絡(luò)的隱藏層中最后一層池化層及全連接層激活函數(shù)后面加上Dropout語句,設(shè)置迭代次數(shù)為40,更改p值,得到效果如圖7所示。

        圖7 分類準確度隨Dropout率的變化

        可觀察到,當Dropout率設(shè)置為0.3時5類音頻的分類準確度最高,達到0.882。設(shè)定Dropout率為0.3,增加迭代次數(shù),得到效果如圖8所示。

        圖8 分類準確度隨迭代次數(shù)的變化

        可觀察到,當?shù)鸀?0次時,分類準確度最佳,為0.894,比使用Dropout之前提高了6%。

        4 結(jié)束語

        音頻分類,在生活中有巨大理論與實際意義,在音頻檢索或音頻管控系統(tǒng)領(lǐng)域均有廣泛的應(yīng)用。

        本文對常見分類模型的音頻分類進行了探究,搭建了支持向量機、貝葉斯分類器、全連接網(wǎng)絡(luò)、卷積網(wǎng)絡(luò)、循環(huán)網(wǎng)絡(luò)5種分類模型,輸入數(shù)據(jù)集后得到每種模型分類效果,并對數(shù)據(jù)進行了對比與討論,確定了卷積神經(jīng)網(wǎng)絡(luò)在用于音頻多分類時是較為理想的機器學習模型,在對5類音頻進行分類時,準確率接近0.9,并通過實驗得到了最佳的網(wǎng)絡(luò)正則化優(yōu)化參數(shù)0.3與迭代次數(shù)70。

        如何將最優(yōu)模型的可分類數(shù)進一步擴展,探索平衡分類精度、分類速度的更加效率的模型結(jié)構(gòu),并將模型應(yīng)用在更多更具體實用領(lǐng)域(例如音樂應(yīng)用中的定向風格音樂推薦[10],或是應(yīng)用在非法廣播監(jiān)控中提前分離出音樂過多的條目以減少干擾等),將會是本文未來的工作目標。

        猜你喜歡
        分類模型
        一半模型
        分類算一算
        垃圾分類的困惑你有嗎
        大眾健康(2021年6期)2021-06-08 19:30:06
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        分類討論求坐標
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        3D打印中的模型分割與打包
        FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
        日韩不卡一区二区三区色图| 久久成人免费电影| 久久久久久久久中文字幕| 扒开女性毛茸茸的视频| 国产精品沙发午睡系列| 国产午夜无码片在线观看影院 | 国产成人精品三级在线影院| 一本色道久久综合亚州精品| 一区二区三区高清在线观看视频| 无码丰满熟妇一区二区| 午夜一级韩国欧美日本国产| 一区二区在线视频大片| av手机在线观看不卡| 性xxxx18免费观看视频| 国产亚洲亚洲精品777| 韩国免费一级a一片在线| 中文字幕免费人成在线网站| 精品少妇一区二区三区免费观| 欧洲亚洲综合| 粉嫩的18在线观看极品精品| 日韩女同视频在线网站| av无码天堂一区二区三区| 毛片无遮挡高清免费久久| 日本免费三片在线视频| 欧美性高清另类videosex| 伊人蕉久中文字幕无码专区| 九九久久精品大片| 沐浴偷拍一区二区视频| 真实国产老熟女无套中出| 亚洲影院丰满少妇中文字幕无码| 中文字幕久久熟女人妻av免费| 亚洲精品国产一二三区| 欧美天欧美天堂aⅴ在线| 国产一线视频在线观看高清| 成人大片免费在线观看视频| 伊人久久大香线蕉av不卡 | 亚洲成AV人在线观看网址| 久久一区二区三区少妇人妻| 无码av一区二区大桥久未| 久久免费区一区二区三波多野在| 丝袜美腿亚洲综合久久|