目錄
說明
Small-Footprint Keyword Spotting with Multi-Scale Temporal Convolution
Abstract
Introduction
Method
Experiment
Conclusion
筆者發言
說明
本文是一些論文的簡要,想了解具體內容可以下載原文進行閱讀,若是讀者對下面文章進行參考,請進行規范參考,
Small-Footprint Keyword Spotting with Multi-Scale Temporal Convolution
Li, Ximin et al. “Small-Footprint Keyword Spotting with Multi-Scale Temporal Convolution.” ArXiv abs/2010.09960 (2020): n. pag.
Abstract
(1) the trade-off between small footprint and high accuracy for KWS(關鍵詞定位) task.
(2) 我們提出了一個多分支時間卷積模塊(MTConv),訓練階段替換標準的時間卷積層,性能更好,有多個size不同的時間卷積濾波器,豐富了時間特征空間,
(3) 模型在時間和深度上的利用,可以在KWS系統成為一個時間高效的神將網路(TENet),
(4) MTConv在inference階段,可以等價地轉換為基本卷積結構,這樣比起base model,我們不會增加額外的引數和訓練成本,
(5) 性能在谷歌語音命令資料集上準確率96.8%,且引數只有100K.
Introduction
(1) 關鍵字定位(KWS)是一項旨在檢測音頻流中預先訓練好的單詞的任務,其中一個應用就是喚醒詞檢測,
(2) 喚醒詞檢測:用來啟動與移動設備的語音助手的互動,設備資源有限,但是要實作持續監聽特征詞,所有高精度、低延遲以及低占用空間仍然具有挑戰性,
(3) DNNs已經被證明能夠為KWS提供有效的small-footprint solutions,尤其一些先進的架構,如CNNs,準確性不錯under limited memory footprint as well as computational resource scenarios(有限記憶體占用和有限的計算資源),
(4) 第一個問題:基于2D-CNN的方法,網路淺時很難捕獲低高頻之間的依賴性,為解決該問題,在一些作業中,[8,9]利用一維時間卷積來提取高級頻率特征,盡管它們取得了成功,但由于固定的核大小(即二維卷積為3×3,9×1為1維卷積),因此沒有考慮到聚合短期和長期時間資訊特征的能力,事實上,捕獲不同尺度的時間資訊是很重要的,因為關鍵字的特征在時間尺度上通常是不同的,
(5) 本文方法
- 時間特真豐富,
- MTConv可以等價地轉換為具有增強核的原始時間卷積層,使得輸出與標準時間卷積的輸出一樣,
- 占用記憶體與準確度之間有個比較好的平衡,我們提出的TENet,由1×1 convolution, 9×1 depthwise convolution and 1 × 1 convolution構成的倒置瓶頸塊,
(6) 貢獻
- 我們提出了一種基于深度時間卷積的時間高效神經網路
- 進一步提出多分支的時間卷積模塊MTConv,以獲得多尺度時間特征,它在inference階段可以轉化成標準的時間卷積,(訓練階段是MTConv,推理階段轉化為標準時間卷積STConv)
- 我們的base TENet inference獲得96.6%的準確性,
- 換成MTConv訓練,inference時的kernel fusion mechanism,使得性能提高到96.8%,
Method
(1)資料處理:
- 先帶通濾波器去噪,然后40維的MFCC(30ms的window size and 10ms frame shift),最后將MFCC作為輸入資料送入神經網路,維度:(T,F)幀數*40
(2) TENet【8】:
1) 首先將輸入的MFCC特征視為時間序列,維度[T,1,F],因此模型中的所有卷積都沿時間維度,
2) 模型結構受[11]啟發,TENet的主要模塊IBB(倒置瓶頸塊),帶殘差的瓶頸時間去分離卷積,(頂和底瓶頸,中間膨脹層,兩者之間的channel size比值為1:3)

- Conv1x1:通過擴大信道數,將輸入嵌入高維子空間,
- 深度Conv9x1:將tensor重新轉化為低位緊的子空間,用于信道間的資訊傳輸,它是時間卷積的重要模塊,每個信道一個卷積濾波器來執行實作輕量級濾波,伴隨著非線性變換,
- Conv1x1:當輸入和輸出的大小不匹配時,利用1×1卷積來匹配維度,
3) 通過疊加IBB層,可以很容易地構建時間高效的神經網路,
(3) Multi-Scale Temporal Convolution:
1) 在訓練階段,將深度卷積替換為MTConvs進行訓練,在推理階段,MTConv訓練的TENet可以等價地轉換為基礎TENet,這節省了模型引數和計算成本,
2) MTConvs是具有不同的核大小和批歸一化
3) 具體地說,MTConv中每個分支的內核大小彼此不同,從而幫助該分支從自己的時間粒度中學習獨特的模式,膨脹區新增兩個分支,增強了捕獲短期時間特征的能力,

4) Relu的輸入并不是concat每個分支的輸出,而是以元素的方式將每個分支的輸出相加, (多尺度核 融合 一個增強核)
5) 標準卷積訓練的核 VS. 增強核:后者包含更豐富的時間資訊,從而產生更好的性能,
(4) Kernel Fusion of MTConv(核融合)
1) 輸入M:[T,1,C], C個濾波器的concatenation F:[D,1,C],(kernel size of D × 1 and C filters)
輸出O:[T,1,C]
M F


所以第j個濾波器輸出的第t個元素,再通過batch normalization后為:
![]()
K = (D-1)/2,且D為基數,如9,5,3,則對應k=4,2,1
2) 再變成多分支,為了方便融合,所以三個F按照最大的k(即4)來補零,
根據方程(2),我們對小內核做零填充,這樣所有的內核都具有相同的大小,

成為多尺度增強核,

這也應證了上文說的MTConv等價于是帶有?F核和β?偏差的,且去掉標準化的卷積,
Experiment
(1) 谷歌的資料是:上千人關于30中不同的關鍵詞的一秒長的發音檔案,總共有65k個檔案,80%訓練,驗證集測驗集各10%,
(2) 訓練資料中隨機80%增加了一些服從非均勻分布(0,0.1)的噪聲,作為背景噪聲,還增加了隨機時移:(-100,100)ms之間的值
(3) 初始30K學習率為0.01,每10k衰減0.1.,batchsize=100,標準權重衰減設定為0.00004.
(4) 我們分別用MTConv和標準卷積來訓練TENet的所有四個實作,每個實作都經過20次的平均性能訓練, TENet6,TENet12,TENet6-narrow,TENet12-narrow,四種
(5) 默認的MTConv由四個分支組成,分別包含3×1、5×1、7×1和9×1卷積核,
(6) 性能指標:accuracy、模型的引數數量以及multiply操作
(7) 結果:
- 不加MTConv時的TENet,比起別人的方法[7]、[8],我們的性能不錯,且模型引數少,multiply數也少,
- 加入MTConv:四種配置的TENet都有性能提升了0.15% ~0.32%,
- 分支越多,性能越好,
Conclusion
(1) 輕量級、高效的、占用記憶體小的KWS,
(2) 為了同時聚合短期和長期的時間資訊特征,我們引入了一個具有不同核大小的多分支時間卷積模塊,豐富了時間特征空間,以獲得更好的性能,
(3) 我們的基本模型(TENet)性能接近目前最先進的模型,且我們只用了他們1/3的引數量,乘法操作也少,
(4) 引入了MTConv, 但由于核融合機制,沒有增加額外的引數或計算成本,
筆者發言
- 關于關鍵詞檢測任務,讀者想了解更多文章可以去 關鍵詞檢測任務調研(Keyword Spotting)(1)https://blog.csdn.net/LJJ_12/article/details/120079279 中一覽,
- 然后可以去 https://www.semanticscholar.org/ 根據關鍵詞進行文章搜索,完成自己的探索
- 我只是分享自己的一點學習成果,這只是KWS任務的冰山一角,還有很多有效的方法等待你去挖掘
- 相關代碼(谷歌的):https://github.com/hyperconnect/TC-ResNet
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/297394.html
標籤:其他
