李子煜 汪鑫 張優(yōu)優(yōu) 姚天
摘 要 近年來,隨著理論的發(fā)展與大數(shù)據(jù)的來臨,人工智能、深度學(xué)習(xí)再度成為學(xué)術(shù)界研究的熱點(diǎn)。本研究的主要目標(biāo)是通過卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)江蘇省方言的分類,提出了一種高效準(zhǔn)確的語(yǔ)音識(shí)別與分類的方法,可建立詳細(xì)的方言數(shù)據(jù)庫(kù),在方言日益衰微的今天,方言數(shù)據(jù)庫(kù)對(duì)于方言的保護(hù)與研究都具有重大意義。首先詳細(xì)介紹了用于卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集的制作過程,包括語(yǔ)音文件的準(zhǔn)備,聲譜圖的批量轉(zhuǎn)化以及處理過程。然后使用MatConvNet建立卷積神經(jīng)網(wǎng)絡(luò),在訓(xùn)練與測(cè)試過程中不斷修改參數(shù),最后使用江蘇省方言中的單字進(jìn)行測(cè)試,分類的準(zhǔn)確率在85%左右,證明該卷積神經(jīng)網(wǎng)絡(luò)性能良好。
關(guān)鍵詞 卷積神經(jīng)網(wǎng)絡(luò);語(yǔ)音識(shí)別;江蘇省方言;MatConvNet
中圖分類號(hào) TP3 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2018)208-0080-03
1 卷積神經(jīng)網(wǎng)絡(luò)
1.1 卷積神經(jīng)網(wǎng)絡(luò)的起源與發(fā)展
卷積神經(jīng)網(wǎng)絡(luò)是人工智能神經(jīng)網(wǎng)絡(luò)的一種,F(xiàn)ukushima于1980年第一次提出了一個(gè)基于感受野的理論模型Neocognitron,Neocognitron是一個(gè)自組織的多層神經(jīng)網(wǎng)絡(luò)模型,也是卷積神經(jīng)網(wǎng)絡(luò)的理論基礎(chǔ);1998年,Lecun 等提出的LeNet-5采用了反向傳播算法對(duì)神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)進(jìn)行有監(jiān)督的訓(xùn)練,經(jīng)過訓(xùn)練的網(wǎng)絡(luò)通過交替連接的卷積層和下采樣層將原始圖像轉(zhuǎn)換成一系列的特征向量,最后通過全連接的神經(jīng)網(wǎng)絡(luò)針對(duì)圖像的特征表達(dá)進(jìn)行分類,這就是最早的卷積神經(jīng)網(wǎng)絡(luò)模型;2012年,Krizhevsky 等提出的AlexNet 在大型圖像數(shù)據(jù)庫(kù)ImageNet的圖像分類競(jìng)賽中以準(zhǔn)確度超越第二名11%的巨大優(yōu)勢(shì)奪得了冠軍,使得卷積神經(jīng)網(wǎng)絡(luò)成為了學(xué)術(shù)界的焦點(diǎn),至此卷積神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于語(yǔ)音分析和圖像識(shí)別領(lǐng)域。
1.2 卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)是一個(gè)多層的神經(jīng)網(wǎng)絡(luò),由多個(gè)獨(dú)立神經(jīng)元彼此連接構(gòu)成平面,又由多個(gè)二維平面構(gòu)成完整的網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)一般含有多個(gè)卷積層與特征映射層,其中卷積層是卷積神經(jīng)網(wǎng)絡(luò)最基本的結(jié)構(gòu),一般來說,一個(gè)典型的卷積層包括數(shù)據(jù)輸入、卷積計(jì)算、激活、池化等部分組成。其中,數(shù)據(jù)輸入層也包括可選擇性的對(duì)原始數(shù)據(jù)的處理,主要是歸一化等圖像白化處理;卷積計(jì)算的目的是通過卷積核與輸入數(shù)據(jù)的卷積來實(shí)現(xiàn)圖像的特征提取,得到多個(gè)特征映射;激活通過非線性的激活函數(shù)處理,提高網(wǎng)絡(luò)的表達(dá)能力;池化層通過最大池化或者平均池化等來減小參數(shù)的規(guī)模,降低網(wǎng)絡(luò)的復(fù)雜程度。特征映射層上所有神經(jīng)元的權(quán)重相同,通過Logistic回歸與ReLu激活映射圖像特征,最后一個(gè)特征映射層通過softmax輸出結(jié)果。以本研究為例,本文的卷積層共使用了18個(gè)卷積核,并采用最大池化來提取圖像有效特征,防止過擬合,同時(shí)提高模型泛化能力;特征映射層通過ReLu函數(shù)來約束Logistic回歸中可能出現(xiàn)的負(fù)值,最后一層通過softmax來輸出分類結(jié)果。
1.3 卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn)與優(yōu)勢(shì)
卷積神經(jīng)網(wǎng)絡(luò)的模型因其權(quán)值共享的結(jié)構(gòu)類似于生物神經(jīng)網(wǎng)絡(luò),使得網(wǎng)絡(luò)模型的復(fù)雜度大大降低而被用于圖像及語(yǔ)音的識(shí)別,并取得了卓越的效果。另外,由于引入了GPU,以前很復(fù)雜的模型現(xiàn)在通過并行計(jì)算能很容易地訓(xùn)練,大大縮短了訓(xùn)練調(diào)節(jié)參數(shù)的周期,大大增強(qiáng)了卷積神經(jīng)網(wǎng)絡(luò)的實(shí)用性。
2 語(yǔ)音文件的準(zhǔn)備
2.1 語(yǔ)音文件的選擇
為了使卷積神經(jīng)網(wǎng)絡(luò)具有良好的性能,本研究選擇了種類繁多,發(fā)音相近的江蘇省方言對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。因?yàn)橛?xùn)練卷積神經(jīng)網(wǎng)絡(luò)需要龐大的數(shù)據(jù)集,本研究按照江蘇省各市分為70類,其中每類的語(yǔ)音文件又分為單字、詞語(yǔ)和短句各選擇300個(gè)音頻文件,從而提供了足夠可分為訓(xùn)練集與測(cè)試集的數(shù)據(jù)庫(kù)。
2.2 語(yǔ)音文件的下載
首先登錄江蘇語(yǔ)言與文化資源庫(kù)http://jsyy. jsjyt.edu.cn/選擇所要下載的音頻類型與所屬市,點(diǎn)擊鼠標(biāo)右鍵,選擇其中的“查看源”選項(xiàng),使用“ctrl+F”進(jìn)入查找頁(yè)面,查找“wav”文件,得到音頻的源文件下載地址為:http://jsyy.jsjyt. edu.cn/bigdata/濱海需交文件電子版/錄音/方言老男/老男例句/0001小張昨天.wav 獲得一個(gè)市的所有下載地址后使用Internet Download Manager進(jìn)行批量下載:點(diǎn)擊“任務(wù)”選項(xiàng),選擇“從剪貼板中添加批量任務(wù)”;點(diǎn)擊“瀏覽”選項(xiàng),選擇需要保存的位置,然后點(diǎn)擊“全部選擇”,然后點(diǎn)擊“確定”;選擇“開始執(zhí)行隊(duì)列”,點(diǎn)擊“確定”,開始批量下載到以縣級(jí)市名字命名的指定文件夾。這樣即可批量下載一個(gè)市的方言音頻文件。而下載其他市的樣本集只需在excel中用目標(biāo)市替換下載地址中的當(dāng)前市,重復(fù)以上步驟即可。
3 聲譜圖的轉(zhuǎn)換與處理
3.1 聲譜圖的轉(zhuǎn)換
為了使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行語(yǔ)音識(shí)別,本研究使用MATLAB將音頻文件轉(zhuǎn)換為可輸入卷積神經(jīng)網(wǎng)絡(luò)的二維聲譜圖。在MATLAB中有許多繪圖函數(shù),本研究中采用自動(dòng)短時(shí)傅里葉變換spectrogram函數(shù)直接繪制音頻文件的聲譜圖,軟件框架如圖1所示。
使用strcat函數(shù)獲取音頻文件的路徑與名稱;使用audioread函數(shù)讀取音頻文件并保存為向量形式;使用spectrogram函數(shù)將音頻文件轉(zhuǎn)化為聲譜圖,其中的參數(shù)分別為:x——輸入信號(hào)的向量,本研究中即為音頻文件轉(zhuǎn)化為的向量;window——窗函數(shù),本研究中默認(rèn)為nfft長(zhǎng)度的海明窗Hamming;noverlap——每一段的重疊樣本數(shù),本研究中采用500;nfft——做FFT變換的長(zhǎng)度,本研究中取512;fs——采樣頻率,本研究取384;最終使用saves函數(shù)保存獲得的聲譜圖至目標(biāo)路徑。
最終得到的聲譜圖實(shí)質(zhì)上為音頻文件所轉(zhuǎn)化的向量的頻譜圖,其中縱軸為時(shí)間,橫軸為頻率,顏色表示音頻強(qiáng)度。
3.2 聲譜圖的處理
用MATLAB轉(zhuǎn)化的聲譜圖會(huì)帶有圖例與空白邊緣,這無疑對(duì)卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練是不利的;另一方面,本實(shí)施例中所述聲譜圖的大小為1 200×900,不可以直接放進(jìn)經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。本研究中使用Photoshop批量處理聲譜圖,去掉白邊并轉(zhuǎn)換為固定大小。具體步驟為:使用Photoshop中的“創(chuàng)建新組”功能實(shí)現(xiàn)批量處理,即在點(diǎn)擊創(chuàng)建新組后進(jìn)行裁剪、調(diào)整大小、保存至目標(biāo)路徑等操作,之后即可對(duì)一批聲譜圖反復(fù)執(zhí)行所述操作,最終得到無空白邊緣,圖像大小為227×227、224×224等經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)可訓(xùn)練的圖片大小,處理后的聲譜圖如圖2所示。再為處理后的聲譜圖打上標(biāo)簽,即其所屬的市與單字或詞語(yǔ)等類型,按照4:1的比例分為訓(xùn)練集與測(cè)試集,至此完成聲譜圖的轉(zhuǎn)換與處理,獲得可用于卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集。
4 卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練
4.1 MatConvNet簡(jiǎn)介
MatConvNet是MATLAB軟件中可用于實(shí)現(xiàn)計(jì)算機(jī)圖像識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)(CNN)的工具箱,其特點(diǎn)是非常易于開發(fā)與使用。除了MatConvNet之外,已經(jīng)有許多機(jī)器學(xué)習(xí)以及卷積神經(jīng)網(wǎng)絡(luò)的開源庫(kù),例如Caffle、Tensorflow、CudaConvNet等,而開發(fā)者仍要開發(fā)MatConvNet的主要?jiǎng)訖C(jī)就是為研究者以及使用者提供一個(gè)更加友好,高效便捷的環(huán)境。相比于其他框架,MatConvNet的優(yōu)勢(shì)在于可以運(yùn)用相對(duì)簡(jiǎn)單的MATLAB語(yǔ)言來構(gòu)筑網(wǎng)絡(luò)(卷積,歸一化,池化等)。除此以外,MATLAB可以支持GPU運(yùn)算,這可以保證工作的效率。而且,MATLAB軟件的開放性也意味著卷積神經(jīng)網(wǎng)絡(luò)能夠在其他領(lǐng)域發(fā)揮作用。MatConvNet可以對(duì)一些大型神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí),比如我們將要使用的Alexnet網(wǎng)絡(luò)。
4.2 卷積神經(jīng)網(wǎng)絡(luò)的建立
本研究在MatConvNet中搭建的Alexnet網(wǎng)絡(luò)共分為五層,結(jié)構(gòu)如圖3所示。
輸入圖像為227×227×3的彩色圖像,輸出為70個(gè)結(jié)點(diǎn),對(duì)應(yīng)70個(gè)縣市。初始化網(wǎng)絡(luò)模型之后,可以開始訓(xùn)練樣本和測(cè)試樣本,分批次對(duì)所有樣本進(jìn)行訓(xùn)練,不斷更新權(quán)值,直到目標(biāo)函數(shù)的值收斂于一個(gè)穩(wěn)定區(qū)域內(nèi)的值。
5 卷積神經(jīng)網(wǎng)絡(luò)的測(cè)試
5.1 實(shí)驗(yàn)準(zhǔn)備
Alexnet網(wǎng)絡(luò)的第一層為輸入層,接受227×227的彩色圖片輸入,最后一層為輸出層可以設(shè)置有N個(gè)節(jié)點(diǎn),可以代表結(jié)果的N個(gè)分類。本研究的數(shù)據(jù)集為江蘇省70個(gè)縣市的方言單字音頻轉(zhuǎn)換的聲譜圖,所以將N的值設(shè)為70,每個(gè)類約有300個(gè)樣本,將其中的80%用于訓(xùn)練,剩余的20%用于測(cè)試。
5.2 實(shí)驗(yàn)結(jié)果
使用測(cè)試集測(cè)試經(jīng)過訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò),得到AlexNet網(wǎng)絡(luò)用于江蘇省方言分類的目標(biāo)函數(shù)及錯(cuò)誤率的變化趨勢(shì)圖如圖4所示。其中,橫坐標(biāo)代表訓(xùn)練的次數(shù),藍(lán)色曲線表示訓(xùn)練過程,黃色曲線表示測(cè)試過程;objective 表示目標(biāo)函數(shù)即誤差的變化趨勢(shì),縱坐標(biāo)表示目標(biāo)函數(shù)的值;top1err表示將方言準(zhǔn)確分類到其所屬縣市的錯(cuò)誤率的變化趨勢(shì),縱坐標(biāo)表示錯(cuò)誤率;top5err為表示將方言分類到與所屬縣市方言最接近的5個(gè)縣市方言的錯(cuò)誤率的變化趨勢(shì),縱坐標(biāo)表示錯(cuò)誤率。從圖4中通過對(duì)卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與測(cè)試,目標(biāo)函數(shù)和錯(cuò)誤率都逐漸趨于穩(wěn)定值,其中top1err 的值也穩(wěn)定在10%左右,證明卷積神經(jīng)網(wǎng)絡(luò)性能良好。
參考文獻(xiàn)
[1] Hubel D H, Wiesel T N. Receptive fields,binocular interaction,and functional architecture in the cats visual cortex [J].Journal of Physiology, 1962,160(1):106-154.
[2] Fukushima K. Neocognitron: a self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position [J]. Biological Cybernetics, 1980, 36(4):193-202.
[3] Lecun Y, Bengio Y, Hinton G E. Deep learning. Nature,2015,521:436-444.
[4] Krizhevsky A, Sutskever I, and Hinton G E. Imagenet classification with deep convolutional neural networks[C]. Advances in Neural Information Processing Systems, Lake Tahoe,NV,USA,2012:1097-1105.
[5]張晴晴,劉勇,王智超,等.卷積神經(jīng)網(wǎng)絡(luò)在語(yǔ)音識(shí)別中的應(yīng)用[C]//中國(guó)科學(xué)院聲學(xué)研究所紀(jì)念建所50周年暨學(xué)術(shù)交流會(huì),2014.
[6]趙志宏,楊紹普,馬增強(qiáng).基于卷積神經(jīng)網(wǎng)絡(luò) LeNet-5 的車牌字符識(shí)別研究[J].系統(tǒng)仿真學(xué)報(bào),2010,22(3):638-641.