作者:王佳杰
引言
語音喚醒(Keyword Spotting,KWS)是較為初級的語音識別任務(wù),在2014年陳果果的工作[1]后,學(xué)界興起大量研究,業(yè)界也獲普遍應(yīng)用,如智能家居(音箱、TV)、智能穿戴(TWS耳機(jī)、手表)、智能座艙等。KWS參、算量遠(yuǎn)低于ASR,可離線工作。作為智能語音系統(tǒng)的入口,KWS常要全天候(Always On)運行,若應(yīng)用場景是功耗敏感、內(nèi)存受限的可穿戴設(shè)備,則參、算量要求更為嚴(yán)苛。脈沖神經(jīng)網(wǎng)絡(luò)(Spiking Neural.NETwork, SNN)作為所謂的第三代神經(jīng)網(wǎng)絡(luò),相比于人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)有功耗及內(nèi)存優(yōu)勢,近年來逐漸拓寬應(yīng)用。在音頻領(lǐng)域,場景分類和KWS較早獲得SNN應(yīng)用。

一、歷史工作
2018年,加州大學(xué)圣迭戈分校的Bruno U. Pedroni等人[2]在TIMIT數(shù)據(jù)集中挑選出greasy, oily, water, carry, dark, wash六個詞語做KWS,余下詞、靜音及噪聲作為其他類別,共七分類。文中SNN及做對比之用的ANN均采用前向全連接結(jié)構(gòu),SNN又分為基于速率的SNN(RBSNN),和基于時間的SNN(TBSNN),前者可使用映射方程將預(yù)訓(xùn)練的ANN參數(shù)“翻譯”給RBSNN,后者則需要其他方法訓(xùn)練。
RBSNN選用輸出層脈沖數(shù)最多的類別作為勝出類別,TBSNN則是脈沖最先到達(dá)的類別。由于脈沖神經(jīng)元激活與否可用0/1二進(jìn)制代替,因此與(浮點)權(quán)重的乘法(Multiply-and-Accumulate operations,mac)可簡化為權(quán)重自身的加法(Accumulate,AC)。結(jié)果表明,RBSNN及TBSNN與ANN性能基本相當(dāng),但RBSNN的計算代價為ANN的91%,TBSNN僅為ANN的16%,這是因為TBSNN依據(jù)脈沖間隔編碼,相比于依據(jù)同等時間內(nèi)脈沖個數(shù)編碼的RBSNN更為“優(yōu)雅”高效。該工作指出未來的優(yōu)化方向是基于TBSNN做網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化,即將前饋全連接結(jié)構(gòu)優(yōu)化為卷積結(jié)構(gòu)。
2020年10月,新加坡國立大學(xué)李海洲組的Emre Yilmaz等人[3]宣稱首次將深度卷積結(jié)果應(yīng)用于SNN-KWS,該網(wǎng)絡(luò)使用串聯(lián)學(xué)習(xí)(Tandem Learning)訓(xùn)練,數(shù)據(jù)使用Hey Snips及google Speech Commands數(shù)據(jù)集,加噪使用MUSAN數(shù)據(jù)庫,加噪信噪比-5至10 dB。實驗結(jié)果表明,在各測試條件下,SpikeCNN-KWS的ROC性能與CNN-KWS基本相當(dāng)或略有優(yōu)勢,在類腦芯片上能耗僅是后者的15~30分之一。該工作代碼開源。
時隔不久,同年11月,法國圖盧茲大學(xué)的Thomas Pellegrini等人[4]將擴(kuò)張卷積引入SNN-KWS,且施加關(guān)于SNN各層脈沖數(shù)的正則項,以求神經(jīng)脈沖激發(fā)盡可能稀疏,以進(jìn)一步節(jié)省能耗。訓(xùn)練使用替代時間反傳(Back-Propagation Through Time with Surrogate Gradient, BPTT with SG)法。該工作代碼開源,且宣稱將嘗試SNN-ASR。
2021年,時識科技(SynSense)[5]瑞士中心的研發(fā)副總Sadique Sheik和Philipp Weidel受WaveNet結(jié)構(gòu)的啟發(fā),指出脈沖神經(jīng)元的膜電位積累機(jī)制,同WaveNet中擴(kuò)張時間卷積之前存在一定的相似性,因此提出具有一組固定膜時間常數(shù)和簡單前饋結(jié)構(gòu)的WaveSense來替代WaveNet做KWS。結(jié)果表明在Aloha, Hey Snips, Google Speech Commands數(shù)據(jù)集上均優(yōu)于前述SNN-KWS工作,且逼近ANN-KWS的SOTA性能,所提SNN含脈沖神經(jīng)元864個,權(quán)重參量18k。
2022年7月,國內(nèi)另一家類腦芯片公司九天睿芯[6]發(fā)布智能語音芯片ADA100,宣稱其感、存、算語音喚醒方案支持預(yù)設(shè)多大30個關(guān)鍵詞,還支持用戶提取特征做自定義語音喚醒,但不確定其方案是否基于SNN。
同年月,荷蘭Yin Bojian及華為Guo Qinghai等人[7]使用含注意力機(jī)制的循環(huán)脈沖神經(jīng)網(wǎng)絡(luò)Attention-RSNN做流式KWS,宣稱在Google Speech Commands v1&v2數(shù)據(jù)集上,性能優(yōu)于GRU基線和時識科技的WaveSense。
2023年1月,瑞典呂勒奧理工大學(xué)嵌入式智能系統(tǒng)實驗室的Mattias Nilsson等人[8]基于脈沖時差編碼器和突觸興奮/抑制單元對音頻脈沖串做更深層次的信息抽取,所抽取的信息組合后接線性分類器,對TIDIGITS數(shù)據(jù)集分類。此架構(gòu)有別于先前SNN-KWS的工作,遺憾的是,未與其他工作進(jìn)行性能對比。
2023年2月,比利時根特大學(xué)的Sun Pengfei等人[9]指出當(dāng)前SNN在音頻領(lǐng)域應(yīng)用時的局限性——訓(xùn)練時大多只關(guān)注突觸權(quán)重,而少關(guān)注脈沖傳遞過程中的軸突延遲,因此提出在訓(xùn)練中逐層調(diào)整軸突延遲上限,具體做法是先對網(wǎng)絡(luò)預(yù)訓(xùn)練幾個epoch得到初始的延遲,再使用滑動窗口大小和上限比例來校準(zhǔn)上限并微調(diào)延遲。訓(xùn)練使用SLAYER框架,在SHD和NTDIDIGITS數(shù)據(jù)集上,和其他工作相比,以最少的參數(shù)取得最佳分類準(zhǔn)確率超過。
二、討論
(1)在學(xué)界的研究論文中,KWS的性能指標(biāo)主要以分類準(zhǔn)確度為主,多詞(喚醒詞+命令詞)常以混淆度矩陣展示分類性能。但在業(yè)界,KWS性能主要表現(xiàn)方式是某時段(如每天)內(nèi)誤喚醒1次下的喚醒率,誤喚醒測試由各團(tuán)隊在自收集的語料庫上測得。工業(yè)界的表達(dá)自然更為直觀。KWS本質(zhì)還是一個分類問題,分類越精準(zhǔn),業(yè)界指標(biāo)也會更好。由于學(xué)界沒有一個各方共用的誤喚醒測試數(shù)據(jù)集,因此給出分類準(zhǔn)確率即可。
(2)目前SNN還不成熟,“入局”的科研人才和工程人員太少,訓(xùn)練框架不少卻沒有一個占主導(dǎo)地位,甚至背后的理論都還在摸索實踐中。目前,SNN-KWS論文發(fā)表者多在學(xué)術(shù)領(lǐng)域,不了解業(yè)界先進(jìn)水平(實際上,產(chǎn)業(yè)界基于ANN-KWS路線的語音喚醒方案已經(jīng)做到參、算量均極小的水平,且KWS問題的核心在訓(xùn)練策略、擊中策略的設(shè)計,而不在網(wǎng)絡(luò)的具體實現(xiàn)形式),且原本也不做KWS,只是為了驗證SNN可應(yīng)用于KWS,故而基于SNN路線的KWS也并沒有優(yōu)化到極致,未來還有很大的發(fā)展空間。
(3)雖然目前SNN的訓(xùn)練還比較困難,應(yīng)用有限。但回顧ANN的發(fā)展歷程,在誤差反傳出現(xiàn)之前,ANN不也同樣如陷泥潭、裹足不前么?因此還是應(yīng)當(dāng)對SNN的發(fā)展抱有期待,它畢竟是人類對腦工作機(jī)制的模仿(即便現(xiàn)在還很拙劣),是朝著輕量、節(jié)能的路線上的努力探索。在當(dāng)下以ChatGPT為代表的大功耗、大參量模型攪動學(xué)界、業(yè)界乃至世界的時代狂熱背景下,持續(xù)投入SNN發(fā)展的科研及工程人員,仿佛背離時代主流在坐冷板凳。但當(dāng)初DNN的先驅(qū)如Hinton等人,不也同樣坐了好久的冷板凳么?
參考文獻(xiàn):
[1] Chen, Guoguo, Carolina Parada, and Georg Heigold. “Small-footprint keyword spotting using deep neural networks.” 2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2014.
[2] Pedroni, Bruno U., et al. “Small-footprint spiking neural networks for power-efficient keyword spotting.” 2018 IEEE Biomedical Circuits and Systems Conference (BioCAS). IEEE, 2018.
[3] Yilmaz, Emre, et al. “Deep convolutional spiking neural networks for keyword spotting.” Proceedings of INTERSPEECH. 2020.
[4] Pellegrini, Thomas, Romain Zimmer, and Timothee Masquelier. “Low-activity supervised convolutional spiking neural networks Applied to speech commands recognition.” 2021 IEEE Spoken Language Technology Workshop (SLT). IEEE, 2021.
[5] Weidel, Philipp, and Sadique Sheik. “WaveSense: Efficient Temporal Convolutions with Spiking Neural Networks for Keyword Spotting.” arXiv preprint arXiv:2111.01456 (2021).
[6] https://www.52audio.com/archieves/126158.html
[7] Yin, Bojian, et al. “Attentive decision-making and dynamic resetting of continual running SRNNs for end-to-end streaming keyword spotting.” Proceedings of the International Conference on Neuromorphic Systems 2022. 2022.
[8] Nilsson, Mattias, et al. “A Comparison of Temporal Encoders for Neuromorphic Keyword Spotting with Few Neurons.” arXiv preprint arXiv:2301.09962 (2023).
[9] Sun, Pengfei, et al. “Adaptive Axonal Delays in feedforward spiking neural networks for accurate spoken word recognition.” arXiv preprint arXiv:2302.08607 (2023).