999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android 平臺下OpenCL 加速的說話人識別系統?

2019-07-31 09:54:54張競丹韓俊剛
計算機與數字工程 2019年7期
關鍵詞:實驗模型系統

張競丹 韓俊剛

(西安郵電大學計算機學院 西安 710100)

1 引言

近年來,移動端圖形處理單元(Graphic Processing Units,GPU)已經開始在低功耗的片上系統(system-on-a-chip,SoC)設備中使用,因其通用計算性能和軟件棧的發展使得人們開始致力于研究移動設備的加速能力。隨著人工智能狂潮的到來,大數據異構計算再次興起,由蘋果、AMD 和IBM 等公司聯合開發的一個通用開放API——OpenCL,因其普適性和易于理解的良好性能成為搭建移動異構計算的最佳選擇,它為異構計算系統上的并行編程提供了工業標準[1]。在最初,Android 官方沒有明確聲稱移動設備可以支持OpenCL,但直到2014年左右,Android 移動設備供應商開始提供OpenCL SDK,這種轉變是由于MaliT604 和高通Adreno 320移動端GPU 的產生。由于種種限制,OpenCL 在移動 GPU 上的編程存在很多挑戰[2]。OpenCL 是一個基于C 語言的軟件庫,在Android 系統中必須通過Android NDK(Native Development Kit,NDK)交叉編譯在生成動態庫并在應用程序中調用。

說話人識別是根據收集到的語音信號鑒別說話人身份的技術。根據識別對象,說話人識別可以分為文本相關(text-dependent)的和文本無關的(text-dependent)兩種類型[3]。在文本相關的說話人識別中,在訓練和識別階段說話內容都要保持一致,文本無關的說話人識別則在訓練和測試階段說話的內容不影響系統的判別。從另一方面,根據待識別的說話人是否在已知集合內,可以分為閉集識別問題和開集識別問題,前者待識別的人在集合內,判斷測試語音是否屬于集合內的某個說活人;后者待識別的人不一定在集合內,判斷待測試語音是否屬于集合內的某個說話人[4]。按照識別任務來區分,說話人識別還可以分為說話人辨認(Speaker Identification,SI)和說話人確認(Speaker Verification,SV),SI 根據說話人的語音確定其為待選的多個說話人中的某一個;SV 則是證實說話人的身份與其聲明的身份是否相同。本文的說話人識別系統,是文本無關的閉集合內的說話人辨認系統,在Matlab 上實現后,將系統重寫成C 語言移植于Andoid 端,通過OpenCL 并行加速,將加速前后的系統運行時間做對比。Android 端實驗結果表明,通過OpenCL加速后的加速比1.5左右。

2 BP神經網絡說話人辨認系統

說話人識別系統通常分為三個模塊:1)特征提取;2)說話人模型訓練;3)說話人打分[5]。文章中,輸入的語音信號經過預加重后按20ms 幀長,10ms幀移進行分幀,使用漢明窗進行幀加窗減小截斷效應,對每個短時分析窗通過FFT變換得到對應幀頻譜,再將幀頻譜通過Mel 濾波器組映射到Mel 頻譜中,最后在Mel 頻譜上進行倒譜分析(取對數,DCT逆變換)[6]獲得 13 維 MFCCs。由于 MFCCs 反映的是說話人頻譜包絡靜態特征,有實驗表明,二次特征提取的動態特征有利于更充分地表示說話人特征,所以加入MFCCs 一階、二階差分值,共24 維特征。為了反映出說話人相對較長時域的特征,本文中不單獨使用一個幀長的MFCCs,而是根據[7]中的方法,將相鄰的7 個MFCCs(左邊3 個,右邊3 個)拼接起來,通過 LDA(Linear Discrimination Analysis,LDA)將高維樣本特征投影到最佳鑒別矢量空間,投影后保證樣本在新的子空間有最大類別間距和最小類內間距。具體算法為[8]

其中B為類間方差矩陣,W 為類內方差矩陣,N為樣點總數,k 為類別數,nk為第k 類樣點數,式(4)、(5)是第k 類樣本和所有樣本的均值向量。將連接的 7 幀共 168 維 MFCCs 根據式(6)進行 LDA 投影為47維特征向量。

式(6)中p 為幀數;m 為特征維數;U 是最優線性變換矩陣。

典型的說話人模型分為兩種,即模板模型和隨機模型[9]。前者將訓練特征參數和測試特征參數進行比較,兩者間的失真作為相似度;后者用一個概率密度函數模擬說話人,訓練過程用于預測概率密度函數的參數,匹配過程通過計算相應模型的測試語句相似度來完成。本文中采用文獻[10]的方法,用含有一層隱藏層的前饋神經網絡作為說話人的模板模型。文獻[10]中指出,該模型的表現比基于碼本(codebook)的模型較好,但略遜色于較大的模型。在網絡的訓練過程中,將樣本隨機打亂后,采用batch 梯度下降學習方法進行參數更新[11],batch大小取值128。

3 實驗過程

本文系統在Matlab 上進行仿真。實驗數據使用TIMIT數據庫中隨機抽取的20個說話人,其中男人10個,女人10個,每人使用6條語音訓練,4條語音測試。每條語音時長約為3s 左右。根據2 中的方法提取說話人特征。

在準備數據過程中,訓練正樣本為目標說話人的語音,訓練負樣本為其余19 人非目標說話人,但這樣會導致正負樣本比例不平衡。本文中采用SMOTE[12]過采樣算法對正例進行插值來增加樣本,同時隨機抽取負樣本使得正負樣本比例保持在1∶1左右。

在網絡搭建過程中,最重要的是要確定網絡隱藏層節點數。本文對不同的隱藏層神經網絡的分類能力做了詳細的實驗,用ROC 曲線下的面積指標來判定哪一個隱層節點數下的網絡分類能力較好。通過實驗,發現隱層節點數取值為20 時,ROC曲線面積最大,如表1所示。

表1 Roc面積對比

在網絡訓練過程中,學習率是影響梯度下降過程中收斂到全局最小值的關鍵因素。在實驗中,學習率過大,驗證集誤差值震蕩不收斂,如對比圖1和圖2;學習率較小導致訓練時間長,所以只有選擇合適的學習率才能是模型很好的工作。在本文中,采用以10 倍的比例減小學習率,觀察loss 曲線圖找到最佳學習率。

圖1 學習率為0.5的訓練誤差

圖2 學習率為0.0005的訓練誤差

最終的網絡結構如表2所示。

表2 網絡結構

實驗采用等錯誤率(Equal Error Rate,EER)[15]對實驗結果進行評判。本文系統在該數據集上EER值為10.6%。

4 Android下OpenCL系統實現

本文代碼實現運行在高通Adreno 530 GPU下,Adreno 530 可以支持完整 OpenCL 2.0 標準[13]。本文代碼中,將上述說話人識別系統改寫成c 代碼,通過Android NDK 將c 代碼編譯成動態庫在java 中通過接口調用并一起打包生成APK。

由于BP訓練算法在正向傳播和反向傳播的過程涉及大量矩陣運算,且在迭代過程中每個batch size 內的數據相關性較小,所以本文中分別針對前向傳播和反向傳播的數據流各設計一個kernel 函數進行并行計算[14]。

在前向傳播中,每次計算輸入特征值到輸出誤差的計算過程中,各個特征值之間沒有依賴性,所以設計kernel1 來實現隱藏層輸入輸出以和輸出層輸入輸出及輸出誤差,并開啟batch size 個線程并行計算。在反向傳播中由于隱藏層和輸出層的連接權重、輸入層和隱藏層的連接權重可以分別單獨計算,所以設計kernel2 實現對單個權重進行計算,并以線程的global_id標識每個權重,達到并行加速的目的。設計中kernel2需要等待kernel1的結果計算 batch size 的累積誤差,cpu 端通過 OpenCL 接口clEnqueueNDRangeKernel()函數指定 kernel2 等待kernel1的event事件。Android端實驗結果如表3所示。表中分別對比了一層隱層和兩層隱層的網絡訓練速度。

表3 Android端試驗結果對比 (單位:s)

通過試驗發現OpenCL 加速后,系統的運行時間有了一定的提升,加速比1.5 左右。在隨著硬件廠商對移動端OpenCL 支持逐步完善,以及GPU 性能的提升,可以很好地利用OpenCL對應用加速。

5 結語

在近些年興起的移動平臺,并行計算已經在移動平臺具備硬件條件和編程標準的支持,而并行化又可以帶來提升設備硬件利用效率,同時GPU 的低主頻特性又可以在一定程度上降低功耗,因此在智能手機等移動平臺實現并行計算具有巨大的潛在價值,特別在當前手機續航時間不能滿足用戶要求的背景下,并行化的特性顯得尤為重要。將并行計算與機器學習算法相結合,將理論落實到應用才能進一步響應“AI革命”的號召。

猜你喜歡
實驗模型系統
一半模型
記一次有趣的實驗
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
做個怪怪長實驗
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 99久久精品无码专区免费| 国产第一页免费浮力影院| 国产精品色婷婷在线观看| 久久午夜影院| 成人国产免费| 欧美精品在线视频观看| 超清无码一区二区三区| 成人国产一区二区三区| 国产成人亚洲无吗淙合青草| 激情无码字幕综合| 无码AV日韩一二三区| 国产91小视频| 香蕉蕉亚亚洲aav综合| 色窝窝免费一区二区三区| 国产成人精品视频一区视频二区| av大片在线无码免费| 美女视频黄频a免费高清不卡| 一级香蕉视频在线观看| 午夜国产精品视频| 久久国产精品影院| 美女国内精品自产拍在线播放 | 色偷偷综合网| 国产一区二区三区精品欧美日韩| 久久久久九九精品影院| 人妻91无码色偷偷色噜噜噜| 美女黄网十八禁免费看| 欧美a在线| 视频二区中文无码| 精品欧美一区二区三区久久久| 午夜不卡视频| 毛片免费网址| 欧美国产综合视频| 人人妻人人澡人人爽欧美一区| 久久黄色小视频| 久久国产乱子| 精品国产香蕉伊思人在线| 在线日韩日本国产亚洲| 亚洲天堂视频在线观看免费| 久久semm亚洲国产| 97综合久久| 免费在线a视频| 国产精品真实对白精彩久久| 国产精品无码翘臀在线看纯欲| 国产欧美日韩另类| 国产剧情无码视频在线观看| 久久公开视频| 99视频精品在线观看| 91偷拍一区| 国产三级成人| 干中文字幕| 欧美精品一二三区| 囯产av无码片毛片一级| 国产精品极品美女自在线| 91久久偷偷做嫩草影院电| hezyo加勒比一区二区三区| 毛片基地美国正在播放亚洲| 国产一区二区人大臿蕉香蕉| 亚洲欧美综合在线观看| 国产又大又粗又猛又爽的视频| 国产精品香蕉| 日韩在线欧美在线| 九九热这里只有国产精品| 99久久精品无码专区免费| 色屁屁一区二区三区视频国产| 香蕉eeww99国产在线观看| 亚洲视频欧美不卡| 国内精品久久久久久久久久影视| 亚洲国内精品自在自线官| 香蕉视频在线观看www| 日本亚洲欧美在线| 国产精品久久久久鬼色| 国产一区二区三区精品久久呦| 亚洲美女AV免费一区| 亚洲人成网站色7777| 日本道中文字幕久久一区| 久久久波多野结衣av一区二区| 国产主播喷水| 成人福利在线免费观看| 超薄丝袜足j国产在线视频| 国产精品自拍露脸视频| 亚洲欧美自拍视频| 精品国产乱码久久久久久一区二区 |