摘 要:針對(duì)現(xiàn)有語(yǔ)音關(guān)鍵詞檢測(cè)方法定位精度低的問(wèn)題,提出了一種基于多尺度距離矩陣的語(yǔ)音關(guān)鍵詞檢測(cè)與細(xì)粒度定位方法(spoken term detection and fine-grained localization method based on multi-scale distance matrices,MF-STD)。該方法首先利用殘差卷積網(wǎng)絡(luò)提取特征并構(gòu)建距離矩陣以建模輸入之間的相關(guān)性;其次通過(guò)多尺度分割和解耦頭學(xué)習(xí)不同尺度下的定位信息;最后根據(jù)多尺度加權(quán)定位損失、置信度損失和分類損失優(yōu)化模型,實(shí)現(xiàn)對(duì)關(guān)鍵詞存在性和時(shí)域邊界的細(xì)粒度預(yù)測(cè)。在LibriSpeech數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,MF-STD在集內(nèi)詞的檢測(cè)中,精準(zhǔn)率和交并比分別達(dá)到97.1%和88.6%;在集外詞的檢測(cè)中,精準(zhǔn)率和交并比分別達(dá)到96.7%和88.2%。與現(xiàn)有的語(yǔ)音關(guān)鍵詞檢測(cè)與定位方法相比,MF-STD的檢測(cè)準(zhǔn)確率和定位精度顯著提升,充分證明該方法的先進(jìn)性,也證明了多尺度特征建模與細(xì)粒度定位約束在語(yǔ)音關(guān)鍵詞檢測(cè)任務(wù)中的有效性。
關(guān)鍵詞:語(yǔ)音關(guān)鍵詞檢測(cè);語(yǔ)音細(xì)粒度定位;多尺度檢測(cè);殘差卷積網(wǎng)絡(luò)
中圖分類號(hào):TN912.34 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1001-3695(2024)11-024-3370-06
doi:10.19734/j.issn.1001-3695.2024.03.0097
Spoken term detection and fine-grained localization method based on multi-scale distance matrices
Li Xiangrui1, Mao Qirong1,2?
(1.School of Computer Science and Communication Engineering, Jiangsu University, Zhenjiang Jiangsu 212013, China; 2.Jiangsu Province Big Data Ubiquitous Perception amp; Intelligent Agriculture Application Engineering Research Center, Zhenjiang Jiangsu 212013, China)
Abstract:Aiming to address the low localization accuracy of existing spoken term detection methods, this paper proposed a spoken term detection and fine-grained localization method based on multi-scale distance matrices (MF-STD). This method firstly employed a residual convolutional network to extract features and construct a distance matrix to model the correlation between inputs. Then, it learnt the localization information at different scales through multi-scale segmentation and decoupling heads. Finally, the model was optimized according to the multi-scale weighted localization loss, confidence loss, and classification loss. This enabled the model to achieve fine-grained prediction of keyword existence and time domain boundaries. Experimental results on the LibriSpeech dataset demonstrate that for in-vocabulary detection, the precision and intersection over union (IoU) reach 97.1% and 88.6%, respectively. In the case of out-of-vocabulary detection, the precision and IoU reach 96.7% and 88.2%, respectively. In comparison to existing methods for spoken term detection and localization, MF-STD significantly improves detection accuracy and localization precision. This fully demonstrates the superiority of the proposed method and the effectiveness of multi-scale feature modeling and fine-grained localization constraints in spoken term detection tasks.
Key words:spoken term detection; speech fine-grained localization; multi-scale detection; convolutional residual network
0 引言
近年來(lái),隨著人工智能技術(shù)的蓬勃發(fā)展,如自動(dòng)駕駛、語(yǔ)音助手、智能客服、智能家居等技術(shù)逐漸從實(shí)驗(yàn)室走入人們的現(xiàn)實(shí)生活。語(yǔ)音是人與智能設(shè)備溝通的重要方式[1],而語(yǔ)音關(guān)鍵詞檢測(cè)能從用戶輸入語(yǔ)音中查找系統(tǒng)感興趣的部分,是實(shí)現(xiàn)語(yǔ)音人機(jī)交互的關(guān)鍵技術(shù)之一[2]。除此之外,語(yǔ)音關(guān)鍵詞檢測(cè)技術(shù)在語(yǔ)音信息檢索[3]、音頻分類[4]等領(lǐng)域中也具有廣泛的應(yīng)用。例如,在語(yǔ)音信息檢索中,通過(guò)檢測(cè)關(guān)鍵詞,可以快速定位到包含目標(biāo)信息的語(yǔ)音片段,大大提高檢索效率;在音頻分類任務(wù)中,關(guān)鍵詞的出現(xiàn)頻率和分布情況可以作為重要的分類依據(jù)[5],有助于提升分類準(zhǔn)確率。因此,語(yǔ)音關(guān)鍵詞檢測(cè)技術(shù)在這些領(lǐng)域中扮演著越來(lái)越重要的角色。
從任務(wù)目標(biāo)上,語(yǔ)音關(guān)鍵詞檢測(cè)可分為孤立詞檢測(cè)和持續(xù)關(guān)鍵詞檢測(cè)兩類[6]?,F(xiàn)有的持續(xù)語(yǔ)音關(guān)鍵詞檢測(cè)中,關(guān)鍵詞的輸入形式主要有兩種:a)以文本形式輸入[7],該類方法屏蔽了同種查詢?cè)~的差異,但難以對(duì)未見關(guān)鍵詞進(jìn)行檢測(cè);b)以語(yǔ)音形式輸入關(guān)鍵詞,也稱為基于樣例查詢的語(yǔ)音關(guān)鍵詞檢測(cè)(query-by-example spoken term detection,QbE-STD),這類方法查詢?cè)~存在類內(nèi)差異,提高了訓(xùn)練難度,但對(duì)未見關(guān)鍵詞具有一定的魯棒性,易于拓展。
語(yǔ)音關(guān)鍵詞檢測(cè)一般可以分為特征提取和相似度匹配兩個(gè)階段。在特征提取階段,語(yǔ)音被轉(zhuǎn)換為更易區(qū)分和匹配的特征表示,早期主要使用梅爾倒譜系數(shù)等手工設(shè)計(jì)的低維特征。近年來(lái),一些方法引入深度學(xué)習(xí)技術(shù)作為特征提取器,如利用自動(dòng)語(yǔ)音識(shí)別系統(tǒng)、音素分類器或語(yǔ)音特征提取器產(chǎn)生的詞格[8]、音素[9]、嵌入表示[10~12]等。實(shí)驗(yàn)結(jié)果證明,基于深度學(xué)習(xí)的特征提取方法能夠顯著提高關(guān)鍵詞檢測(cè)的準(zhǔn)確率,逐漸成為該領(lǐng)域的主流技術(shù)。相似度匹配階段旨在計(jì)算待測(cè)語(yǔ)音和查詢?cè)~之間的相似度得分,以判斷查詢?cè)~是否存在于待測(cè)語(yǔ)音中。傳統(tǒng)方法主要基于動(dòng)態(tài)時(shí)間規(guī)整(dynamic time warping, DTW)算法,通過(guò)動(dòng)態(tài)規(guī)劃尋找兩個(gè)語(yǔ)音特征序列之間的最優(yōu)對(duì)齊路徑,進(jìn)而計(jì)算相似度[13, 14]。為了克服DTW的計(jì)算復(fù)雜、難以并行的缺陷,劉暢等人[15]提出基于特征點(diǎn)界標(biāo)過(guò)濾的時(shí)間序列模式匹配方法,有效降低了計(jì)算復(fù)雜度。Ram等人[16]提出根據(jù)特征向量構(gòu)造距離矩陣,并以卷積神經(jīng)網(wǎng)絡(luò)替代DTW,大幅提高了相似度匹配的計(jì)算效率。Yuan等人[17]受自然語(yǔ)言處理中詞嵌入的啟發(fā),將語(yǔ)音編碼為固定長(zhǎng)度的詞嵌入向量,然后直接計(jì)算嵌入向量之間的余弦相似度,簡(jiǎn)化了匹配過(guò)程。
上述研究專注于提升檢測(cè)準(zhǔn)確率、降低時(shí)延和減少模型訓(xùn)練資源要求,而為了給出關(guān)鍵詞的定位信息,需要借助滑動(dòng)窗口對(duì)待測(cè)語(yǔ)音的不同位置多次與查詢?cè)~進(jìn)行匹配,這不僅計(jì)算重復(fù),還無(wú)法確定關(guān)鍵詞在滑動(dòng)窗口內(nèi)部的具體位置,導(dǎo)致定位效率和精度均有不足。為了細(xì)粒度定位目標(biāo)關(guān)鍵詞在待測(cè)語(yǔ)音中出現(xiàn)的位置,一些方法設(shè)計(jì)了基于規(guī)則的搜索算法,但是實(shí)驗(yàn)結(jié)果顯示其定位準(zhǔn)確性較差[18]。Li等人[19]利用CTC(connectionist temporal classification)損失學(xué)習(xí)音節(jié)與音頻幀之間的對(duì)齊關(guān)系,但該方法需要大量精確標(biāo)注的音節(jié)信息。Segal等人[20]由圖像領(lǐng)域的目標(biāo)檢測(cè)算法受到啟發(fā),提出一種簡(jiǎn)單高效的端到端模型SpeechYOLO,并首次在語(yǔ)音關(guān)鍵詞檢測(cè)任務(wù)中使用定位損失學(xué)習(xí)關(guān)鍵詞出現(xiàn)的位置。隨后,F(xiàn)uchs等人[21]將SpeechYOLO進(jìn)一步改進(jìn)為Embedding Speech YOLO(ESY),增加詞嵌入向量作為查詢?cè)~,從而支持對(duì)集外詞的查詢。Samragh等人[22]設(shè)計(jì)了一種基于BCResNet的網(wǎng)絡(luò),BCResNet通過(guò)在殘差塊中引入組卷積和通道混洗操作,在保持準(zhǔn)確率的同時(shí)大幅減少了參數(shù)量和計(jì)算量[23],替換SpeechYOLO中的特征提取網(wǎng)絡(luò)后,模型體積顯著降低。
現(xiàn)有語(yǔ)音關(guān)鍵詞檢測(cè)方法雖然取得了一定進(jìn)展,但仍然存在以下缺陷:a)特征提取網(wǎng)絡(luò)采用固定大小的感受野,由于關(guān)鍵詞的長(zhǎng)度受說(shuō)話人的語(yǔ)速、停頓等因素影響,固定感受野難以有效處理變長(zhǎng)的關(guān)鍵詞;b)采用同一網(wǎng)絡(luò)結(jié)構(gòu)處理關(guān)鍵詞的檢測(cè)和定位任務(wù),檢測(cè)任務(wù)關(guān)注關(guān)鍵詞的存在性,定位任務(wù)關(guān)注關(guān)鍵詞的具體邊界,兩個(gè)任務(wù)的目標(biāo)和側(cè)重點(diǎn)不同,統(tǒng)一的網(wǎng)絡(luò)結(jié)構(gòu)難以兼顧兩個(gè)任務(wù)的特點(diǎn);c)關(guān)鍵詞檢測(cè)數(shù)據(jù)集中存在大量的負(fù)樣本,但現(xiàn)有方法的損失函數(shù)設(shè)計(jì)并未考慮正負(fù)樣本的不平衡問(wèn)題,這導(dǎo)致模型訓(xùn)練過(guò)程中更側(cè)重于學(xué)習(xí)負(fù)樣本的特征,而忽略了正樣本的邊界信息。
這些缺陷限制了現(xiàn)有方法在檢測(cè)和定位性能上的進(jìn)一步提升。為了解決上述問(wèn)題,本文提出了一種細(xì)粒度的語(yǔ)音關(guān)鍵詞定位方法,稱為MF-STD:a)通過(guò)構(gòu)建多尺度距離矩陣,建模不同長(zhǎng)度的查詢語(yǔ)音和待測(cè)語(yǔ)音之間的相關(guān)性,從而自適應(yīng)地處理變長(zhǎng)的關(guān)鍵詞,提高了模型魯棒性;b)引入基于距離矩陣和解耦頭的特征融合與目標(biāo)優(yōu)化機(jī)制,將檢測(cè)頭和定位頭解耦,使其分別關(guān)注關(guān)鍵詞的存在性判斷和邊界回歸,更好地應(yīng)對(duì)了兩個(gè)任務(wù)的不同特點(diǎn);c)在損失函數(shù)中引入加權(quán)平衡因子,設(shè)計(jì)出多尺度加權(quán)定位損失和置信度損失,在平衡正負(fù)樣本對(duì)模型訓(xùn)練的影響的同時(shí),多目標(biāo)優(yōu)化模型,促進(jìn)細(xì)粒度定位能力的提升。
本文提出一種新的端到端語(yǔ)音關(guān)鍵詞檢測(cè)與定位網(wǎng)絡(luò),首次通過(guò)多尺度距離矩陣建模待測(cè)語(yǔ)音和查詢語(yǔ)音的相關(guān)性,提高了模型對(duì)不同長(zhǎng)度輸入的魯棒性;
首次提出基于距離矩陣和解耦頭的特征融合與目標(biāo)優(yōu)化機(jī)制,在提高參數(shù)復(fù)用的同時(shí),更好地應(yīng)對(duì)檢測(cè)與定位任務(wù)的不同特性;
首次提出多尺度加權(quán)定位損失,與置信度損失和分類損失形成多任務(wù)優(yōu)化目標(biāo),有效緩解了樣本不均衡問(wèn)題,提升了關(guān)鍵詞的定位精度。該思想亦可用于指導(dǎo)其他不平衡學(xué)習(xí)問(wèn)題的損失函數(shù)設(shè)計(jì)。
1 細(xì)粒度定位方法
MF-STD方法包含以下四個(gè)步驟:a)構(gòu)建待測(cè)音頻和語(yǔ)音關(guān)鍵詞的特征向量;b)構(gòu)造兩特征向量之間的距離矩陣;c)通過(guò)定位和分類檢測(cè)頭輸出對(duì)應(yīng)結(jié)果;d)計(jì)算損失函數(shù)值并反向傳播更新模型參數(shù)。
圖1展示了MF-STD的模型架構(gòu),所有模塊的參數(shù)在訓(xùn)練過(guò)程中同步更新,是一個(gè)端到端模型。
1.1 構(gòu)建語(yǔ)音特征
語(yǔ)音信號(hào)本身具有高維度、高冗余等特點(diǎn),直接處理原始語(yǔ)音波形將導(dǎo)致大量的計(jì)算和存儲(chǔ)開銷。因此,在建模待測(cè)語(yǔ)音和查詢語(yǔ)音的相關(guān)性之前,通常需要先對(duì)原始語(yǔ)音進(jìn)行特征提取,將語(yǔ)音波形數(shù)據(jù)映射到一個(gè)維度更低、信息更加緊湊的特征空間中,以減小后續(xù)處理的復(fù)雜度。
首先提取原始語(yǔ)音波形的梅爾頻譜特征,然后將其輸入到一個(gè)殘差卷積神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)如圖2所示,由若干一維卷積層、批歸一化層、激活層、殘差鏈接等構(gòu)成,其中一維卷積后的括號(hào)中三個(gè)值分別表示卷積通道數(shù)、卷積核大小、步長(zhǎng)。由于一維卷積神經(jīng)網(wǎng)絡(luò)相比于循環(huán)神經(jīng)網(wǎng)絡(luò)能并行計(jì)算,效率更高,大量的殘差結(jié)構(gòu)能有效避免訓(xùn)練過(guò)程中的梯度消失問(wèn)題,提高了訓(xùn)練效率。僅使用卷積而不使用全連接層使得該結(jié)構(gòu)在提取更高層次特征的同時(shí),保留了語(yǔ)音信號(hào)中的關(guān)鍵信息順序不變,有助于特征融合后對(duì)關(guān)鍵詞的細(xì)粒度定位。
1.2 構(gòu)建距離矩陣
實(shí)現(xiàn)樣例查詢的關(guān)鍵詞檢測(cè)需要構(gòu)建待測(cè)語(yǔ)音特征與查詢語(yǔ)音特征之間的關(guān)系,本文基于余弦距離矩陣來(lái)描述待測(cè)語(yǔ)音特征Fs與查詢語(yǔ)音特征Fq之間的關(guān)系。計(jì)算公式如下:
M(Fs,F(xiàn)q)=1-FTsFq|Fs||Fq|(1)
其中:|·|表示取向量模長(zhǎng)。根據(jù)式(1)的定義,mij∈M值越小,則表明待測(cè)語(yǔ)音特征向量的第i幀與查詢語(yǔ)音的第j幀越相似。因此,在理想情況下,若查詢語(yǔ)音為待測(cè)語(yǔ)音的一個(gè)子序列,則M中必然存在一個(gè)由若干連續(xù)的行列依序構(gòu)成子矩陣M′,其主對(duì)角線上各點(diǎn)的值顯著低于主對(duì)角線以外的值,且該主對(duì)角線在行方向上投影的起止位置即為查詢語(yǔ)音特征向量在待測(cè)語(yǔ)音特征向量中出現(xiàn)的起止位置。在更一般的情況下,由于查詢語(yǔ)音并不與待測(cè)語(yǔ)音完全一致,例如查詢語(yǔ)音和待測(cè)語(yǔ)音在發(fā)音、語(yǔ)速等方面存在差異,這將導(dǎo)致M′中值較小的點(diǎn)與主對(duì)角線有一定的偏移,但依然能構(gòu)成一條區(qū)別于其他點(diǎn)的斜線模式。通過(guò)構(gòu)造距離矩陣,關(guān)鍵詞的檢測(cè)與定位問(wèn)題就轉(zhuǎn)換為了從距離矩陣M中找到滿足條件的M′,并確認(rèn)其邊界的問(wèn)題。
1.3 解耦檢測(cè)頭
MF-STD中包含3組解耦頭,每組包括1個(gè)分類檢測(cè)頭和1個(gè)定位檢測(cè)頭。判斷關(guān)鍵詞的存在性與預(yù)測(cè)關(guān)鍵詞出現(xiàn)的位置是兩個(gè)不同的任務(wù),具有不同的特點(diǎn)。判斷關(guān)鍵詞存在性是一個(gè)分類任務(wù),需要關(guān)注特征圖的整體信息;而預(yù)測(cè)關(guān)鍵詞位置是一個(gè)回歸任務(wù),需要關(guān)注特征圖中的局部邊界信息。將這兩個(gè)任務(wù)解耦,設(shè)計(jì)獨(dú)立的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化,有助于針對(duì)不同的任務(wù)特點(diǎn)提取更有效的特征,提高關(guān)鍵詞檢測(cè)和定位的準(zhǔn)確性。
各檢測(cè)頭的基本結(jié)構(gòu)如圖3所示,即首先將M沿行方向劃分為若干等長(zhǎng)的單元,通過(guò)兩層二維卷積捕獲每個(gè)單元中的斜線模式。然后用一層自適應(yīng)最大池化層將隨尺寸輸入變化的特征圖匯總為固定維度的向量。
分類檢測(cè)頭輸出維度為C個(gè)二維向量p,以softmax函數(shù)激活,每個(gè)向量的兩個(gè)維度分別表示查詢語(yǔ)音不存在、存在于待測(cè)音頻的概率。定位檢測(cè)頭輸出維度為C×B×3,其中C表示距離矩陣M沿行劃分的單元數(shù),B表示每個(gè)單元的檢測(cè)框數(shù),每個(gè)檢測(cè)頭輸出各單元各檢測(cè)框內(nèi)的查詢語(yǔ)音出現(xiàn)中心位置t、查詢語(yǔ)音長(zhǎng)度與單元長(zhǎng)度的比值w、查詢語(yǔ)音在該檢測(cè)框出現(xiàn)的置信度p。三組檢測(cè)頭的劃分單元數(shù)分別為c、2c、4c,用于應(yīng)對(duì)不同尺度的檢測(cè)目標(biāo),避免單一尺度下M′跨越多個(gè)單元或在一個(gè)單元中占比過(guò)小導(dǎo)致的檢測(cè)錯(cuò)誤。
1.4 損失函數(shù)設(shè)計(jì)
為訓(xùn)練MF-STD模型,設(shè)計(jì)損失函數(shù)包含多尺度加權(quán)定位損失、分類損失和置信度損失三部分。
1.4.1 多尺度加權(quán)定位損失
定位損失用于直接優(yōu)化模型的定位精度。現(xiàn)有方法往往直接將定位損失定義為模型預(yù)測(cè)的目標(biāo)中心、目標(biāo)寬度與對(duì)應(yīng)真實(shí)值之間的交叉熵?fù)p失,該方法具有以下幾個(gè)缺陷:a)無(wú)法有效利用目標(biāo)中心與寬度值之間的相關(guān)性;b)在不同的尺度劃分下,查詢語(yǔ)音在預(yù)測(cè)單元中的出現(xiàn)位置與標(biāo)簽的交并比(intersection of union,IoU)不一致,對(duì)于模型訓(xùn)練的重要性不同;c)同一尺度下,查詢語(yǔ)音一般僅出現(xiàn)在一個(gè)預(yù)測(cè)單元中,大量的不包含查詢語(yǔ)音的預(yù)測(cè)單元將會(huì)干擾模型訓(xùn)練。因此,提出多尺度加權(quán)定位損失來(lái)解決上述問(wèn)題,其定義如下:
Lloc=∑Kk=1 ∑Ckj=1 ∑Bi=1ωijk1-IoU+(w-)2+(t-)2U(2)
其中:K為尺度數(shù);Ck為第k個(gè)尺度下的單元數(shù);B為每個(gè)單元的檢測(cè)框數(shù)量;ωijk為對(duì)應(yīng)權(quán)重;w和分別為一個(gè)檢測(cè)框內(nèi)的查詢語(yǔ)音寬度預(yù)測(cè)值和真實(shí)值;t和分別為一個(gè)檢測(cè)框內(nèi)的查詢語(yǔ)音出現(xiàn)中心位置預(yù)測(cè)值與真實(shí)值。
在式(2)中,權(quán)重ωijk用于平衡不同尺度下各個(gè)單元與檢測(cè)框在模型訓(xùn)練中的重要性。權(quán)重ωijk定義如下:
ω=IoU
IoU∈[δ0,δ1]1IoU∈(δ1,+∞)
0otherwise(3)
其中:IoU表示查詢語(yǔ)音與預(yù)測(cè)單元的交并比;δ0和δ1是IoU的有效范圍邊界,即僅當(dāng)查詢語(yǔ)音與預(yù)測(cè)單元的交并比值在該范圍內(nèi),其權(quán)重才有效,否則置權(quán)重為0。
通過(guò)式(2)所定義的多尺度加權(quán)定位損失,查詢語(yǔ)音目標(biāo)的中心位置與寬度之間的關(guān)系被考慮,而通過(guò)權(quán)重ω的設(shè)置,平衡了預(yù)測(cè)單元內(nèi)及單元之間的重要性。
1.4.2 分類損失
分類損失用于優(yōu)化模型對(duì)查詢語(yǔ)音在待測(cè)語(yǔ)音中的存在性預(yù)測(cè),計(jì)算公式如下:
L cls=∑Kk=1 ∑Ckj=1(pjk-jk)2Ck(4)
其中:pij為對(duì)應(yīng)尺度的單元下模型輸出的二維向量,兩個(gè)維度分別表示查詢語(yǔ)音存在/不存在的概率。
1.4.3 置信度損失
置信度損失是對(duì)分類損失的補(bǔ)充,一般情況下,訓(xùn)練QbE-STD時(shí)查詢語(yǔ)音僅在待測(cè)語(yǔ)音中出現(xiàn)一次,因此每個(gè)尺度下僅有一個(gè)預(yù)測(cè)單元包含查詢語(yǔ)音,置信度損失正是用于緩解訓(xùn)練數(shù)據(jù)集中這種正負(fù)樣本不均衡時(shí)的問(wèn)題,其定義如下:
Lconf=∑Kk=1 ∑Ckj=1 ∑Bi=1Ckωijk(pijk-1)2+1Ck(1-ωijk)p2ijk(5)
最終損失函數(shù)由上述三個(gè)損失的加權(quán)和表示:
Ltotal=λ1Lloc+λ2Lcls+λ3Lconf(6)
其中:λ1、λ2和λ3為模型訓(xùn)練時(shí)的超參數(shù)。
1.5 模型訓(xùn)練與推理
每次訓(xùn)練開始前,隨機(jī)初始化網(wǎng)絡(luò)中各層的參數(shù)。從訓(xùn)練數(shù)據(jù)集中按隨機(jī)順序不重復(fù)地抽取若干樣本對(duì)和對(duì)應(yīng)標(biāo)簽構(gòu)成一個(gè)訓(xùn)練批次(batch),其中每個(gè)樣本對(duì)包含一條待測(cè)語(yǔ)音和一條查詢語(yǔ)音。由于模型訓(xùn)練時(shí)的內(nèi)存限制,超過(guò)4 s的待測(cè)語(yǔ)音均被裁剪到4 s,查詢語(yǔ)音則通過(guò)0填充使其與該批次中最長(zhǎng)的查詢語(yǔ)音片段時(shí)長(zhǎng)一致。所有語(yǔ)音數(shù)據(jù)按Speech-YOLO[20]一致的方法提取160維對(duì)數(shù)梅爾頻譜特征,作為整個(gè)網(wǎng)絡(luò)的輸入。一個(gè)訓(xùn)練批次的數(shù)據(jù)經(jīng)過(guò)網(wǎng)絡(luò)模型前向計(jì)算后,得到該批次的輸出,隨后按照式(6)計(jì)算該批次的損失函數(shù)值,并通過(guò)反向傳播算法更新整個(gè)網(wǎng)絡(luò)的參數(shù)。當(dāng)訓(xùn)練數(shù)據(jù)集中的所有數(shù)據(jù)均被網(wǎng)絡(luò)計(jì)算一次,則完成一個(gè)周期epoch的訓(xùn)練。要使得模型收斂,可能需要多個(gè)epoch的訓(xùn)練,訓(xùn)練完成后保存網(wǎng)絡(luò)參數(shù),即可在推理時(shí)使用。
模型推理時(shí)的輸入處理與訓(xùn)練時(shí)一致,查詢語(yǔ)音在待測(cè)語(yǔ)音中的存在性由三個(gè)尺度下檢測(cè)頭的最大輸出值決定。在判斷查詢語(yǔ)音在該檢測(cè)單元內(nèi)的位置時(shí),根據(jù)定位頭輸出的置信度,取該單元內(nèi)置信度最大的檢測(cè)框的定位信息。
2 實(shí)驗(yàn)
2.1 實(shí)驗(yàn)數(shù)據(jù)集
為方便對(duì)比,本文使用了開源的LibriSpeech[24]語(yǔ)音數(shù)據(jù)集評(píng)估不同模型的性能。LibriSpeech包含大量高質(zhì)量的英文書本朗讀語(yǔ)音,經(jīng)過(guò)強(qiáng)制對(duì)齊能夠獲得準(zhǔn)確的單詞定位信息。
選取LibriSpeech的train-clean-360子集作為訓(xùn)練集,dev-clean作為驗(yàn)證集,查詢?cè)~為train-clean中出現(xiàn)的時(shí)長(zhǎng)在0.2~2 s,且出現(xiàn)頻率前1 000的詞,并從test-clean和test-other子集分別分出集內(nèi)詞評(píng)估子集TC-inv、TO-inv和集外詞評(píng)估子集TC-oov、TO-oov,以評(píng)估模型在不同環(huán)境下的性能。此外,為了探究MF-STD的最高性能,使用train-clean-360中出現(xiàn)過(guò)的所有詞作為查詢?cè)~,并分別從test-clean和test-other中劃分集內(nèi)詞和集外詞子集,稱為TC-inv(full)、TO-inv(full)、TC-oov(full)、TO-oov(full)。表1為實(shí)驗(yàn)中使用到的不同子集的具體介紹。
2.2 評(píng)價(jià)指標(biāo)
本文使用精準(zhǔn)率(precision, Prec.)作為檢測(cè)指標(biāo),使用交并比(IoU)作為定位指標(biāo)。精準(zhǔn)率的定義式為
Prec.=TPTP+FP(7)
其中:TP和FP分別表示模型將正樣本正確分類和錯(cuò)誤分類的數(shù)量。IoU的定義式為
IoU=IU(8)
其中:I和U分別為模型預(yù)測(cè)查詢語(yǔ)音出現(xiàn)區(qū)域和真實(shí)區(qū)域之間的交集和并集的長(zhǎng)度。設(shè)在一個(gè)預(yù)測(cè)單元內(nèi),te與ts為模型預(yù)測(cè)的查詢語(yǔ)音出現(xiàn)的結(jié)束和開始位置,e和s為真實(shí)值,則
I=min{e,te}-max{s,ts}(9)
U=max{e,te}-min{s,ts}(10)
2.3 實(shí)驗(yàn)方法與參數(shù)設(shè)置
實(shí)驗(yàn)在搭載Ubuntu 20.04.4操作系統(tǒng)的計(jì)算機(jī)中完成,其CPU為Intel? Xeon? Silver 4316,主頻為2.30 GHz,GPU為GeForce RTX 3080Ti,顯存12 GB,內(nèi)存64 GB。
本文方法及實(shí)驗(yàn)過(guò)程均使用Python 3.11.3實(shí)現(xiàn),其中模型基于PyTorch 2.0.0實(shí)現(xiàn),待測(cè)語(yǔ)音和查詢語(yǔ)音基于torchaudio 2.0.1重采樣到16 000 Hz并提取160維對(duì)數(shù)梅爾頻譜特征。模型結(jié)構(gòu)及損失函數(shù)中的超參數(shù)設(shè)置如表2所示。
模型使用Adam優(yōu)化器在訓(xùn)練集上訓(xùn)練共200個(gè)epoch,初始學(xué)習(xí)率設(shè)置為10-3,每10個(gè)epoch將學(xué)習(xí)率減半,L2正則化系數(shù)設(shè)為10-4,完成一次訓(xùn)練共計(jì)耗時(shí)約16 h。
2.4 實(shí)驗(yàn)結(jié)果與分析
首先對(duì)比了本文方法和現(xiàn)有方法在TC-inv、TC-inv、TC-oov和TO-oov上的檢測(cè)與定位性能。SpeechYOLO[20]和文獻(xiàn)[22]由于不支持集外詞的檢測(cè),所以僅對(duì)比TC-inv和TO-inv上的結(jié)果。Embedding Speech YOLO(ESY)[21]的查詢?cè)~以文本形式輸入,因此實(shí)驗(yàn)中將查詢語(yǔ)音對(duì)應(yīng)的文本編碼作為查詢?cè)~部分輸入網(wǎng)絡(luò)。QNN[25]是語(yǔ)音關(guān)鍵詞檢測(cè)在Google Speech Commands V2上的最先進(jìn)的方法,由于此方法不直接輸出關(guān)鍵詞的定位信息,所以使用窗長(zhǎng)為400 ms的滑動(dòng)窗口以50 ms的步長(zhǎng)從待測(cè)語(yǔ)音片段劃過(guò),并以模型輸出類別概率最高的窗口位置中心作為模型預(yù)測(cè)的查詢?cè)~中心。表3展示了對(duì)比實(shí)驗(yàn)的結(jié)果。
可以看出,MF-STD在四個(gè)測(cè)試集上的檢測(cè)和定位性能均優(yōu)于其他方法,證明了該方法的有效性。具體而言,相比于SpeechYOLO、QNN及文獻(xiàn)[22],MF-STD通過(guò)距離矩陣建模輸入之間的相似性,避免了對(duì)輸入進(jìn)行分類,從而支持大量的集外詞檢測(cè);相比于ESY方法,MF-STD基于殘差卷積的特征提取器具有更強(qiáng)的表征能力,且能夠充分保留輸入特征的順序信息,從而在精準(zhǔn)度上平均提升了0.174。盡管QNN在孤立詞檢測(cè)任務(wù)中表現(xiàn)出色,但其基于滑動(dòng)窗口獲得定位信息的方法定位效果較差,在兩個(gè)測(cè)試集中,MF-STD在IoU指標(biāo)上平均領(lǐng)先QNN 0.180。相比于文獻(xiàn)[22],通過(guò)引入多尺度加權(quán)損失函數(shù)和解耦檢測(cè)頭,MF-STD在IoU指標(biāo)上平均提升了0.016,精準(zhǔn)率也提高了0.100。
為比較不同方法的推理效率,對(duì)比了實(shí)驗(yàn)中各方法處理單條輸入和并行處理20條輸入時(shí)的推理耗時(shí),實(shí)驗(yàn)中待測(cè)語(yǔ)音時(shí)長(zhǎng)固定為4 s,計(jì)算1 000次推理的平均耗時(shí),結(jié)果如表4所示。由于文獻(xiàn)[22]的源碼未公開,所以該實(shí)驗(yàn)中不討論其推理耗時(shí)。雖然推理效率并非本文設(shè)計(jì)模型時(shí)考慮的首要因素,但MF-STD依然在處理單個(gè)輸入時(shí)取得了有競(jìng)爭(zhēng)力的結(jié)果,且在并行處理多個(gè)輸入時(shí),推理速度超過(guò)了現(xiàn)有的所有方法。
接下來(lái),通過(guò)擴(kuò)充訓(xùn)練數(shù)據(jù)量,使用train-clean-360中所有的樣本對(duì)訓(xùn)練MF-STD,并在四個(gè)測(cè)試集上重新進(jìn)行了性能評(píng)估,以探究該方法在LibriSpeech數(shù)據(jù)集上的極限性能,結(jié)果如表5所示。從表5可以看出,MF-STD在訓(xùn)練數(shù)據(jù)增多的情況下,結(jié)果取得了進(jìn)一步優(yōu)化,即便測(cè)試集的詞類別達(dá)到數(shù)萬(wàn)個(gè),也能取得非常優(yōu)秀的檢測(cè)和定位性能。
最后,為探究所述方法各個(gè)組件對(duì)于最終性能的貢獻(xiàn),設(shè)計(jì)了若干組消融實(shí)驗(yàn)。結(jié)果如表6所示,其中:“最優(yōu)配置”表示模型所有組件和損失函數(shù)均使用時(shí)取得的結(jié)果;“-多尺度”表示去除所有多尺度輸出和損失函數(shù)中對(duì)不同尺度的求和,即將模型變?yōu)閱我怀叨葧r(shí)的結(jié)果;“-距離矩陣”表示將待測(cè)語(yǔ)音特征和查詢語(yǔ)音特征的融合方式由距離矩陣更改為沿著特征維度拼接,且后續(xù)檢測(cè)頭更改為全連接層的結(jié)果;“-解耦頭”表示不再解耦定位頭和檢測(cè)頭,而是使用同一個(gè)卷積神經(jīng)網(wǎng)絡(luò)完成p、w、t和p的輸出;“-Lloc”、“-Lcls”、“-Lconf”分別表示將定位損失、分類損失、置信度損失的權(quán)重置為0時(shí)的結(jié)果。
從表6可以看出,MF-STD的各個(gè)組件均對(duì)語(yǔ)音關(guān)鍵詞的檢測(cè)與定位具有不同程度的貢獻(xiàn)。具體而言,去除多尺度模塊將會(huì)導(dǎo)致模型的檢測(cè)和定位能力整體降低,且定位性能降低更為嚴(yán)重。特征拼接與距離矩陣兩種不同的特征融合方式也會(huì)對(duì)結(jié)果造成影響,尤其在關(guān)鍵詞定位方面,將距離矩陣替換為特征拼接使得定位精度大幅降低。解耦預(yù)測(cè)頭比距離矩陣更為重要,去掉該模塊導(dǎo)致檢測(cè)和定位性能均下降更多。
在損失函數(shù)方面,定位損失直接影響模型的定位性能,去掉該損失將導(dǎo)致模型不具備關(guān)鍵詞定位的能力,但因目標(biāo)更簡(jiǎn)單而檢測(cè)準(zhǔn)確率略微提升。分類損失則直接影響檢測(cè)性能,去掉該損失將導(dǎo)致模型無(wú)法準(zhǔn)確判斷關(guān)鍵詞的存在性,且不使用分類損失也無(wú)法帶來(lái)較好的定位效果,證明分類損失對(duì)于模型定位起到有力的輔助作用。而置信度損失對(duì)于模型性能起到一定輔助作用,去除該損失將導(dǎo)致檢測(cè)和定位性能均小幅下降。
為進(jìn)一步驗(yàn)證本文模型的有效性,對(duì)模型在三個(gè)不同尺度下輸出的距離矩陣進(jìn)行了可視化分析,同時(shí)通過(guò)消融實(shí)驗(yàn)對(duì)比了去除三個(gè)損失函數(shù)對(duì)結(jié)果的影響,結(jié)果如圖4所示。
圖4中各個(gè)子圖表示不同尺度下每個(gè)預(yù)測(cè)單元內(nèi)的距離矩陣,顏色越深表示特征對(duì)應(yīng)幀之間的距離越?。▍⒁婋娮影妫?。p表示模型預(yù)測(cè)該單元中查詢語(yǔ)音出現(xiàn)的概率,虛線框標(biāo)定了查詢語(yǔ)音出現(xiàn)的真實(shí)位置,實(shí)線框?yàn)槟P皖A(yù)測(cè)的出現(xiàn)位置。由圖4(a)可以看出,當(dāng)查詢語(yǔ)音出現(xiàn)時(shí),距離矩陣中會(huì)存在一段連續(xù)的距離較小的區(qū)域,與1.2節(jié)中的描述一致,且模型預(yù)測(cè)結(jié)果與標(biāo)簽值接近。從圖4(b)可見,去除分類損失會(huì)直接導(dǎo)致模型學(xué)習(xí)到的特征表征能力大幅下降。盡管模型仍然嘗試在每個(gè)預(yù)測(cè)單元中給出可能的定位信息,但由于無(wú)法確定關(guān)鍵詞是否在該單元中出現(xiàn),所以這些定位信息缺乏實(shí)際意義。從圖4(c)可見,去除置信度損失后,在查詢語(yǔ)音出現(xiàn)的預(yù)測(cè)單元內(nèi),模型仍能給出較為可靠的檢測(cè)和定位結(jié)果,但在查詢語(yǔ)音未出現(xiàn)的單元中,模型產(chǎn)生了更多的誤報(bào)。當(dāng)去除定位損失時(shí),從圖4(d)可見,模型仍然可以較準(zhǔn)確地判斷關(guān)鍵詞在預(yù)測(cè)單元內(nèi)是否出現(xiàn),但其定位信息不具備參考價(jià)值。此外,在部分查詢語(yǔ)音未出現(xiàn)的預(yù)測(cè)單元中,距離矩陣也出現(xiàn)了類似的斜線模式,表明該模型存在較高的誤報(bào)風(fēng)險(xiǎn)。綜上所述,本文提出的三個(gè)損失函數(shù)均對(duì)最終的檢測(cè)與定位性能有所貢獻(xiàn)。
3 結(jié)束語(yǔ)
本文MF-STD著眼于解決語(yǔ)音關(guān)鍵詞檢測(cè)任務(wù)中,由于關(guān)鍵詞目標(biāo)尺度變化、檢測(cè)網(wǎng)絡(luò)設(shè)計(jì)缺陷、缺乏細(xì)粒度定位約束的損失函數(shù)等,導(dǎo)致定位精度低。該模型以語(yǔ)音對(duì)的形式輸入查詢?cè)~語(yǔ)音和待檢測(cè)語(yǔ)音,通過(guò)殘差卷積神經(jīng)網(wǎng)絡(luò)分別提取兩者的高層語(yǔ)義表征,并通過(guò)距離矩陣建模輸入語(yǔ)音對(duì)之間的相關(guān)性。在此基礎(chǔ)上,通過(guò)對(duì)距離矩陣多尺度分割并傳入解耦檢測(cè)頭與定位頭,完成對(duì)關(guān)鍵詞存在性的預(yù)測(cè)和時(shí)域邊界的回歸,并使用獨(dú)立的分類損失、定位損失和置信度損失聯(lián)合優(yōu)化模型。在公開數(shù)據(jù)集LibriSpeech上的實(shí)驗(yàn)結(jié)果表明,與現(xiàn)有語(yǔ)音關(guān)鍵詞檢測(cè)和定位方法相比,MF-STD在維持較高推理速度的同時(shí),精準(zhǔn)率和交并比兩個(gè)指標(biāo)上顯著提升,尤其在集外詞的檢測(cè)中體現(xiàn)出了良好的泛化能力。此外,消融實(shí)驗(yàn)證實(shí)了模型中多尺度策略、距離矩陣、解耦頭以及三個(gè)損失函數(shù)的有效性和必要性。在未來(lái)的研究中,將考慮引入注意力機(jī)制等技術(shù)來(lái)優(yōu)化特征表征和匹配過(guò)程,并在多語(yǔ)種、口音等因素上擴(kuò)展實(shí)驗(yàn)數(shù)據(jù),進(jìn)一步提高模型的魯棒性。
參考文獻(xiàn):
[1]謝旭康, 陳戈, 孫俊, 等. TCN-Transformer-CTC的端到端語(yǔ)音識(shí)別 [J]. 計(jì)算機(jī)應(yīng)用研究, 2022, 39(3): 699-703. (Xie Xukang, Chen Ge, Sun Jun, et al. TCN-Transformer-CTC for end-to-end speech recognition [J]. Application Research of Computers, 2022, 39(3): 699-703.)
[2]Deekshitha G, Mary L. Multilingual spoken term detection: a review [J]. International Journal of Speech Technology, 2020, 23: 653-667.
[3]Wazir A S B, Karim H A, Abdullah M H L, et al. Design and implementation of fast spoken foul language recognition with different end-to-end deep neural network architectures [J]. Sensors, 2021, 21(3): 710.
[4]Dinkel H, Wang Yongqing, Yan Zhiyong, et al. Unified keyword spotting and audio tagging on mobile devices with transformers [C]// Proc of IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE Press, 2023: 1-5.
[5]Bhavsar S, Khairnar S, Nagarkar P, et al. On time document retrie-val using speech conversation and diverse keyword clustering during presentations [J]. International Journal of Recent Technology and Engineering, 2020, 9(3): 529-535.
[6]Liu Dong, Mao Qirong, Wang Zhiyong. Keyword retrieving in continu-ous speech using connectionist temporal classification [J/OL]. Journal of Ambient Intelligence and Humanized Computing, (2020). https://doi.org/10.1007/s12652-020-01933-z.
[7]Zhao Zeyu, Zhang Weiqiang. End-to-end keyword search system based on attention mechanism and energy scorer for low resource languages [J]. Neural Networks, 2021, 139: 326-334.
[8]Kirandevraj R, Kurmi V K, Namboodiri V P, et al. Generalized keyword spotting using ASR embeddings [C]// Proc of the 23rd Annual Conference of the International Speech Communication Association. [S.l.]:ISCA, 2022: 126-130.
[9]Reuter P M, Rollwage C, Meyer B T. Multilingual query-by-example keyword spotting with metric learning and phoneme-to-embedding mapping [C]// Proc of IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE Press, 2023: 1-5.
[10]Huang J, Gharbieh W, Shim H S, et al. Query-by-example keyword spotting system using multi-head attention and soft-triple loss [C]// Proc of IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE Press, 2021: 6858-6862.
[11]Li Meirong. A lightweight architecture for query-by-example keyword spotting on low-power IoT devices [J]. IEEE Trans on Consumer Electronics, 2022, 69(1): 65-75.
[12]Tian Ziwei, Yang Shiqing, Xu Minqiang. Fast QBE: towards real-time spoken term detection with separable model [C]// Proc of International Conference on Machine Learning and Intelligent Systems Engineering. Piscataway, NJ: IEEE Press, 2022: 137-141.
[13]Zhan Junyao, He Qianhua, Su Jianbin, et al. A stage match for query-by-example spoken term detection based on structure information of query [C]// Proc of IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE Press, 2021: 6833-6837.
[14]Deekshitha G, Mary L. Two-stage spoken term detection system for under resourced languages [J]. IET Signal Processing, 2020, 14(9): 602-613.
[15]劉暢, 李正欣, 張曉豐, 等. 基于特征點(diǎn)界標(biāo)過(guò)濾的時(shí)間序列模式匹配方法 [J]. 計(jì)算機(jī)應(yīng)用研究, 2022, 39(4): 1008-1012. (Liu Chang, Li Zhengxin, Zhang Xiaofeng, et al. Time series pattern matching method based on feature point landmark filtering [J]. App-lication Research of Computers, 2022, 39(4): 1008-1012.)
[16]Ram D, Miculicich L, Bourlard H. Neural network based end-to-end query by example spoken term detection [J]. IEEE/ACM Trans on Audio, Speech, and Language Processing, 2020, 28: 1416-1427.
[17]Yuan Yougen, Leung C C, Xie Lei, et al. Query-by-example speech search using recurrent neural acoustic word embeddings with temporal context [J]. IEEE Access, 2019, 7: 67656-67665.
[18]Pham V T. Robust spoken term detection using partial search and re-scoring hypothesized detections techniques [D]. Singapore: Nanyang Technological University, 2019.
[19]Li Shengwei, Zhang Huajun. Keyword spotting based on CTC and similarity matching for Chinese speech [C]// Proc of the 23rd IEEE/ACIS International Conference on Computer and Information Science. Piscataway, NJ: IEEE Press, 2023: 79-84.
[20]Segal Y, Fuchs T S, Keshet J. SpeechYOLO: detection and localization of speech objects [C]// Proc of the 20th Annual Conference on International Speech Communication Association. [S.l.]: ISCA, 2019: 4210-4214.
[21]Fuchs T S, Segal Y, Keshet J. CNN-based spoken term detection and localization without dynamic programming [C]// Proc of IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE Press, 2021: 6853-6857.
[22]Samragh M, Kundu A, Hu T Y, et al. I see what you hear: a vision-inspired method to localize words [C]// Proc of IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE Press,2023: 1-5.
[23]Kim B, Chang S, Lee J, et al. Broadcasted residual learning for efficient keyword spotting [C]// Proc of the 22nd Annual Conference on International Speech Communication Association. [S.l.]:ISCA, 2021: 4538-4542.
[24]Panayotov V, Chen G, Povey D, et al. LibriSpeech: an ASR corpus based on public domain audio books [C]// Proc of IEEE Internatio-nal Conference on Acoustics, Speech and Signal Processing. Pisca-taway, NJ: IEEE Press,2015: 5206-5210.
[25]Chaudhary A, Abrol V. Towards on-device keyword spotting using low footprint quaternion neural models [C]// Proc of IEEE Workshop on Applications of Signal Processing to Audio and Acoustics. Pisca-taway, NJ: IEEE Press, 2023: 1-5.