原創: [email protected]
時間: 2020/04/15
文章目錄
0x00 Paper
作者提出的
memory consumption
, 之前的優化方向memory footprint
, 兩者沒能理解什麼是group depthwise separable convolution,更低參數數量的時候用了GDSC
什麼是SincNet,本文的第一層用了SincNet的第一層
- 作者第一次將SincNet使用到了KWS任務中,之前都是用在ASR上
- 可以直接把原始音頻作爲輸入,跳過提取mfcc特徵這個步驟
- 使用了group DSCconv,有效降低了參數的數量
- 測試的平臺是用電池的嵌入式設備
- 沒有開源,不過用SincNet直接讀取原始音頻進行訓練是一個很nice的idea
0x01 爲了解決什麼問題
- 問題:
- KWS 存在硬件設備和功耗受限的問題
- 目的
- 爲了解決功耗和內存消耗
- 解決
- 使用參數化的Sinc卷積來提取光譜特徵
- 直接對原始音頻數據進行分類,消除了比較耗電的音頻預處理和數據傳輸步驟(沒理解,爲啥耗電,什麼是數據傳輸步驟)
- Power-consuming audio preprocessing and data transfer steps are eliminated by directly classifying from raw audio.
- 結果
- 在Google’s Speech Commands 測試集上準確率高達96.4%
- only 62k parameters
0x02 提出了哪些創新點
之前的工作優化方向在於優化每秒計算的內存和操作數
2.1 提出了一個更加節能的神經網絡
- 通過觀察內存功耗來調整神經網絡,實現微控制器的節能
2.2 使用了SincConvs
-
第一次把這個網絡結構使用到KWS上,之前都是用作語音識別
-
使用了DSConvs減少計算量
2.3 參數少,性能好
- 對比於TC-ResNet 305k參數,96.6% acc,本文的只有 122k,96.6%acc
- 最少只有62k parameters
0x03 網絡
3.1 需求
- 低電量消耗
- 假設內存消耗和電池消耗相關
- 內存消耗觀察電池消耗
- 方法
- 參數減少
- 量化
- 模型壓縮
- 優化數據流
- 實時性
- 低內存佔用
- 高準確率
3.2 網絡結構
- 第一層使用了SincNet的第一層,叫做SincConv
- 可以直接把原始音頻作爲網絡的輸入,而不是MFCC作爲網絡的輸入
- 一個sinc可以作爲一個矩形,兩個可以做爲帶通濾波器使用,沒有能理解透徹
- One sinc function in the time domain represents a rectangular function in the spectral domain, therefore two sinc functions can be combined to an ideal band-pass filter
- 使用Groping 之前,參數量是122k,使用之後是62k