?

自動語音識別模型壓縮算法綜述

2024-01-15 00:21時小虎袁宇平呂貴林常志勇鄒元君
吉林大學學報(理學版) 2024年1期
關鍵詞:剪枝語音權重

時小虎, 袁宇平, 呂貴林, 常志勇, 鄒元君

(1. 吉林大學 計算機科學與技術學院, 長春 130012; 2. 吉林大學 大數據和網絡管理中心, 長春 130012;3. 中國第一汽車集團有限公司研發總院 智能網聯開發院, 長春 130011; 4. 吉林大學 生物與農業工程學院, 長春 130022; 5. 長春中醫藥大學 醫藥信息學院, 長春 130117)

近年來, 隨著人機智能交互的快速發展, 自動語音識別(automatic speech recognition, ASR)作為智能交互應用的一種關鍵技術, 已經在各種應用場景下凸顯重要作用, 如在語音搜索、 語音助手、 會議記錄、 智能服務、 機器人等方面均應用廣泛. 隨著深度學習的發展, 基于深度學習的方法表現出了比傳統的如高斯混合模型、 隱Markov模型等方法更優越的性能. 但基于深度學習的語音識別網絡, 特別是端到端模型, 通常有具有數百萬甚至高達數十億的參數, 占用大量內存, 在運行時也需要較大的計算資源, 僅適用于部署在專業服務器上. 例如, QuartzNet模型包含1.89×107的參數[1], Conformer Transducer語音識別模型包含1.188×108的參數[2], 基于Transformer的聲學模型包含2.70×108以上的參數[3].

隨著移動、 家居、 車載等智能設備的廣泛使用, 產生了巨大的資源受限設備智能交互需求. 而語音作為人們日常交流最自然的方式, 在智能交互中扮演著重要角色. 通常語音識別模型在設備端的部署無需與服務器進行數據傳輸, 將模型部署在本地設備上具有更好的實時性、 安全性和隱私保護能力. 但由于資源受限設備的存儲空間有限, 同時計算能力較弱, 無法將龐大的深度學習語音識別模型在資源受限的環境中實際部署. 如何在盡量保持性能的同時, 減小模型的大小、 降低運行延遲成為自動語音識別的重要課題. 本文對近年來關于自動語音識別模型的壓縮算法進行總結和綜述, 將其歸納為知識蒸餾、 模型量化、 網絡剪枝、 矩陣分解、 參數共享以及組合模型幾類方法, 并進行了系統綜述, 為模型在不同條件和場景下的部署提供可選的解決方案.

1 基于知識蒸餾的方法

知識蒸餾, 主要通過模仿高延遲、 高精度的大型神經網絡行為, 訓練得到低延遲的輕量神經網絡. 其中, 高延遲、 高精度的大型網絡稱為教師模型, 低延遲的輕量網絡稱為學生模型. 在知識蒸餾過程中, 教師模型的知識遷移到學生模型, 從而提高學生模型的性能, 以獲得低延遲、 低內存、 高性能的學生模型. 一般的知識蒸餾過程如圖1所示. 首先, 訓練一個教師模型, 根據輸入特征輸出軟標簽的概率分布; 然后, 學生模型通過軟標簽模仿教師模型的行為. 軟標簽不僅包含了正確的類別分布, 也反應了類似類別之間的關系, 通常比獨熱編碼的真實標簽包含更豐富的信息. 真實標簽的使用通常對訓練有益, 因此可以將根據真實標簽訓練的語音識別損失與知識蒸餾損失相結合, 共同進行學生模型的優化.

圖1 知識蒸餾的一般過程Fig.1 General process of knowledge distillation

傳統的混合ASR系統需要首先進行幀的對齊, 然后再進行識別, 而目前的主流方法已經發展到端到端模型, 不再需要進行幀對齊, 而是直接將輸入語音轉換為對應文本. 端到端模型主要可分為連接時序分類方法(connectionist temporal classification, CTC)[4]、 循環神經網絡轉換器(recurrent neural network transducer, RNN-T)[5]、 基于注意力的編碼器-解碼器(attention-based encoder-decoder, AED)[6]3類. 因此按照被壓縮的原始ASR系統劃分, 基于知識蒸餾技術的壓縮模型主要分為傳統的混合ASR壓縮模型和端到端壓縮模型, 后者又包括CTC壓縮模型、 RNN-T壓縮模型和AED壓縮模型, 主要方法如圖2所示. 下面將依次介紹這幾類方法, 最后介紹多個教師的知識蒸餾方法.

圖2 基于知識蒸餾的方法Fig.2 Methods based on knowledge distillation

傳統的混合ASR系統包括基于高斯混合和隱Markov的混合模型(Gaussian mixed model-hidden Markov model, GMM-HMM)[7], 基于深度神經網絡和隱Markov的混合模型(deep neural networks-hidden Markov model, DNN-HMM)[8]等. 已有學者應用知識蒸餾技術對傳統的ASR系統進行了模型壓縮. 如Li等[9]首先嘗試應用教師-學生學習方法對DNN-HMM混合系統實現了語音識別蒸餾. DNN-HMM混合系統的訓練需要每個輸入聲學幀的輸出標簽, 即進行幀對齊, 所以幀級知識蒸餾是教師用來指導學生模型非常自然的方式. 因此, 文獻[9]和文獻[10]都是通過最大限度地減少教師和學生的幀級輸出分布之間的Kullback-Leibler(KL)散度進行幀級知識蒸餾. 在訓練中, 只需優化學生模型的參數, 最小化KL散度即等價于最小化交叉熵. 但幀級訓練未考慮語音數據的順序性質, 因此ASR模型的序列訓練會比幀級訓練產生更好的性能[11]. 針對DNN-HMM混合模型, Wong等[12]通過最小化最大互信息(maximum mutual information, MMI)損失與學生和教師假設級后驗概率之間的KL散度的加權平均值, 并將假設后驗分解為語言模型和聲學模型, 以調整混合ASR架構中后驗分布的動態范圍, 更好地進行序列訓練, 實現了序列級的知識蒸餾.

CTC損失函數的目標是最大化正確標簽的后驗概率, 不執行嚴格的時間對齊. CTC模型的后驗概率分布是尖銳的, 多數幀發出高概率的空白標簽, 只有少數發出非空白目標標簽概率較高的幀可以有效地訓練學生模型, 因此將幀級知識蒸餾應用于基于CTC的ASR系統會降低性能[13]. 此外, 由于CTC無幀對齊的特點, 因此即使對相同樣本, 出現尖峰的時間也不相同, 使幀級知識蒸餾在優化時難以收斂[14]. Takashima等[14]提出使用教師模型的N-best假設在CTC框架中進行序列級知識蒸餾, 將N-best假設的CTC損失進行加權求和作為訓練學生模型的蒸餾損失. 這種方法能有效提升學生模型的性能, 但需要對每個N-best假設計算CTC損失, 訓練成本較高. 文獻[15]提出了基于格的序列級知識蒸餾方法, 相比基于N-best的方法能抑制訓練時間的增加. 針對CTC峰值時間的分歧, Kurata等[16]通過在教師模型雙向長短期記憶網絡(bi-directional long short-term memory, BiLSTM)的幀窗口中, 選擇匹配學生模型單向長短期記憶網絡(uni-directional long short-term memory, UniLSTM)當前幀的分布, 放松幀對齊的嚴格假設. 但基于BiLSTM CTC模型中的峰值通常早于UniLSTM CTC的情況, 不具有普適性. 因此, Kurata等[17]進一步提出了引導CTC訓練, 能明確地引導學生模型的峰值時間與教師模型對齊, 在輸出符號集合相同的情況下, 可用于不同的架構. Tian等[18]設計了一種空白幀消除機制解決KL散度應用于CTC后驗分布的困難, 引入兩階段知識蒸餾過程, 第一階段利用余弦相似性執行特征級知識蒸餾, 第二階段利用提出的一致聲學表示學習方法和空白幀消除機制執行Softmax級知識蒸餾. Yoon等[19]深入探索了異構教師和學生之間的知識蒸餾, 首先使用表示級知識蒸餾初始化學生模型參數, 利用幀加權選擇教師模型關注的幀; 然后用Softmax級知識蒸餾傳輸Softmax預測. 文獻[19]研究表明, 在CTC框架下蒸餾幀級后驗概率分布, 使用L2損失比傳統的KL散度更合適, 原因在于兩個分布之間的L2距離總是有界的, 所以可提高蒸餾損失的數值穩定性. 進一步, Yoon等[20]又在學生網絡中添加多個中間CTC層, 采用文獻[19]提出的Softmax級蒸餾將教師的知識遷移到中間的CTC層.

在RNN-T模型中, 由于其損失由編碼器生成的特征和輸出符號的所有可能對齊求和獲得的負對數條件概率給出, 所以需要更精妙地設計蒸餾損失才能實現這類模型的知識蒸餾. Panchapagesan等[21]提出了一種基于格的蒸餾損失, 該損失由教師和學生條件概率在整個RNN-T輸出概率格上的KL散度之和給出. 為提升效率, 損失被計算為粗粒度條件概率之間的KL散度之和, 粗粒度條件概率指僅跟蹤“y”(在特定輸出步驟的正確標簽)、 “空白”標簽(用于在時間方向上改變對齊)和其余標簽的條件概率, 將維度從輸出詞典大小粗粒度到三維. Zhao等[22]提出了一種基于對數課程模塊替換的知識蒸餾方法, 應用模塊替換壓縮教師模型, 將包含較多層的教師模型替換為包含較少層的學生模型. 該方法可以使學生和教師在梯度級別進行互動, 能更有效地傳播知識. 此外, 由于它只使用RNN-T損失作為訓練損失, 沒有額外的蒸餾損失, 所以不需要調整多個損失項之間的權重. Vignesh等[23]探索教師和學生編碼器的共同學習以對RNN-T語音識別模型進行壓縮, 共享共同解碼器的同時協同訓練, 并指出其優于預先訓練的靜態教師. Transducer的編碼器輸出具有很高的熵, 并包含有關聲學上相似的詞片混淆的豐富信息, 當與低熵解碼器輸出相結合以產生聯合網絡輸出時, 這種豐富的信息被抑制. 因此引入輔助損失, 以從教師Transducer的編碼器中提取編碼器信息. Rathod等[24]提出了對Conformer Transducer的多級漸近式壓縮方法, 將前一階段獲得的學生模型作為當前階段的教師模型, 為該階段蒸餾出一個新的學生模型, 重復上述過程直到達到理想尺寸.

由于AED語音識別模型的解碼相對更簡單, 所以知識蒸餾方法較容易推廣到AED模型. Wu等[25]通過將mixup數據增強方法與Softmax級知識蒸餾相結合, 對Speech-Transformer語音識別模型進行壓縮, 從數據角度優化蒸餾, 使學生模型在更真實的數據分布上訓練. Mun’im等[26]研究了對于AED模型的序列級蒸餾, 通過beam search為每個樣本生成多個假設, 然后將教師生成的假設作為偽標簽在同一數據集上訓練學生模型. Lü等[27]認為目前流行的知識蒸餾方法只蒸餾了教師模型中有限數量的塊, 未能充分利用教師模型的信息, 因此提出了一種基于特征的多層次蒸餾方法, 以學習教師模型所有塊總結出的特征表示. 此外, 還將任務驅動的損失函數集成到解碼器的中間塊中以提高學生模型的性能.

多個不同的ASR系統通常會產生給定音頻樣本的不同轉錄, 對多個教師模型進行集成可以包含更多的補充信息, 給學生模型提供多樣的可學習分布, 常具有更好的性能. Chebotar等[28]通過平均單獨訓練的神經網絡模型的上下文相關狀態后驗概率構建高精度的教師模型, 然后使用標準交叉熵訓練學生模型. Gao 等[29]遵循交叉熵損失和CTC損失與錯誤率沒有直接關系的事實, 考慮序列級錯誤率定義了3種蒸餾策略, 將錯誤率指標集成到教師選擇中, 直接面向語音識別的相關評價指標蒸餾和優化學生模型. Yang等[30]提出將集成教師模型的精髓知識傳播到學生模型, 只保留教師模型的前k個輸出, 并且以多任務的方式使用教師模型產生的軟標簽和真實標簽訓練學生模型.

2 基于模型量化的方法

將模型權重和激活量化為低精度, 能達到壓縮神經網絡、 減少內存占用、 降低計算成本的目的. 量化方案按階段不同可劃分為后訓練量化(post-training quantization, PTQ)和量化感知訓練(quantization-aware training, QAT)兩種. 后訓練量化將已經訓練好的浮點模型轉換成低精度模型, 在不重新訓練網絡的前提下獲取網絡的量化參數, 通常會導致模型性能下降, 其量化過程如圖3(A)所示. 量化感知訓練在量化的過程中, 對網絡進行訓練, 從而使網絡參數能更好地適應量化帶來的影響, 減輕性能損失, 其量化過程如圖3(B)所示. 量化感知訓練會向全精度模型中插入偽量化節點, 偽量化節點先對權重或激活進行量化得到真實值對應的整數值, 然后反量化回浮點表示, 模擬量化產生的誤差, 使模型在訓練時適應量化操作. 在偽量化過程中產生的量化權重/激活, 無法進行梯度計算, 一般通過直通估計器(straight through estimator, STE)將梯度傳回偽量化前的權重/激活上. 無論是后訓練量化, 還是量化感知訓練, 其主要目的是為了確定縮放因子和零點兩個參數, 以用于對全精度(32-bit)模型的量化.

圖3 模型量化流程Fig.3 Flow chart of model quantization

線性量化一般可表示為

(1)

其中:r表示32-bit浮點值;q表示量化值;S為縮放因子, 表示浮點數和整數之間的比例關系;Z表示零點, 即FP32浮點數r=0對應的量化值; round為四舍五入取整操作. 反量化公式為

(2)

其中S和Z的計算方法為

(3)

(4)

rmax和rmin分別為r的最大值和最小值,qmax和qmin分別為q的最大值和最小值.

如上所述, 基于模型量化的語音識別模型壓縮方法也分為后訓練量化方法和量化感知訓練方法. 后訓練量化一般使用部分真實數據作為校準數據集對全精度模型進行前向傳播, 獲得網絡各層權重和激活的數據分布特性(如最大、 最小值), 用于后續量化參數的計算. McGraw等[31]將模型參數量化為8-bit整型表示, 采用均勻線性量化器, 假設給定范圍內的值均勻分布. 首先找到原始參數的最小值和最大值, 然后使用一個簡單的映射公式確定一個比例因子, 當乘以參數時, 該比例因子在較小的精度尺度上均勻地擴展值, 從而獲得原始參數的量化版本. He等[32]使用一種更簡單的量化方法, 不再有明確的零點偏移, 因此可假設值分布在浮點零的周圍, 避免了在執行較低精度的運算(如乘法)前必須應用零點偏移, 從而加快了執行速度. 不同于一般的后訓練量化方法, Kim等[33]提出了一種僅整數zero-shot量化方法, 先生成合成數據再進行校準, 將合成數據輸入到目標模型中以確定激活的截斷范圍, 即使無法訪問訓練和/或驗證數據, 也能達到較好的性能. 后訓練量化無需微調模型, 相對更簡便; 而量化感知訓練通過微調網絡學習得到量化參數, 通常能保證量化損失精度更小, 因此量化感知訓練成為量化研究的主流.

下面介紹采用量化感知訓練對語音識別模型進行壓縮的方法. 針對偽量化方法在量化下計算權重梯度較難, 從而忽略了反向傳播過程中梯度計算的量化損失問題, Nguyen等[34]提出了一種基于絕對余弦正則化的新的量化感知訓練方法, 在模型權重上施加一個與量化模型相似的分布, 將權重值驅動到量化水平. 針對偽量化在訓練時和推理時會產生數值差異的缺點(在訓練時執行浮點運算, 推理時執行整數運算), Ding等[35]用原生量化感知訓練得到了4-bit的Conformer ASR模型, 原生量化感知訓練使用整數運算執行量化操作(如矩陣乘法), 使訓練和推理時的準確性沒有任何區別. Fasoli等[36]研究表明, 對基于LSTM的大規模語音識別模型進行4-bit量化常會伴隨嚴重的性能下降, 為此提出了一種新的量化器邊界感知裁剪(bound aware clipping, BAC), 可根據dropout設置對稱邊界, 選擇性地將不同的量化策略應用于不同的層. Zhen等[37]針對現有的量化感知訓練方法需要預先確定和固定量化質心的缺點, 提出了一種無正則化、 模型無關的通用量化方案, 能在訓練期間確定合適的量化質心. 上述研究都將模型量化為4-bit或8-bit, Xiang等[38]提出了二進制的深度神經網絡(DNN)模型用于語音識別, 并實現了高效的二進制矩陣乘法, 使得量化結果能在真實的硬件平臺上實現加速效果.

3 基于低秩分解的方法

通過近似分解矩陣或張量也是神經網絡壓縮的一種重要方法. 主要思想是將原來大的權重矩陣或張量分解為多個小的權重矩陣或張量, 用低秩矩陣或張量近似原有的權重矩陣或張量. 如圖4所示, 將m×n大小的權重矩陣A, 分解為m×r大小的權重矩陣B和r×n大小的權重矩陣C的乘積.一般要求r遠小于m和n, 因此參數量由m×n大幅度縮減到r×(m+n).

圖4 矩陣分解Fig.4 Matrix decomposition

一些學者采用低秩分解的方法進行了ASR模型的壓縮. 如Sainath等[39]認為由于網絡經過大量輸出目標的訓練以實現良好性能, 因此網絡參數大多數位于最終的權重層, 所以對DNN網絡最后的權重層使用低秩矩陣分解, 將大小為m×n、 秩為r的矩陣A分解為A=B×C, 其中B是大小為m×r的滿秩矩陣,C是大小為r×n的滿秩矩陣.Mori等[40]在端到端ASR框架中對門控循環單元的權重矩陣進行Tensor-Train分解, 能用多個低秩張量表示循環神經網絡(RNN)層內的密集權重矩陣. 按照Tensor-Train格式, 如果對每個k∈{1,2,…,d}和k維索引jk∈{1,2,…,nk}, 存在一個矩陣Gk[jk], 則k維張量W中的每個元素可表示為

W(j1,j2,…,jd-1,jd)=G1[j1]·G2[j2]·…·Gd-1[jd-1]·Gd[jd].

(5)

4 基于網絡剪枝的方法

網絡剪枝是對深度學習模型進行修剪的一種常見技術, 其通過衡量權重的貢獻確定保留或舍棄權重. 剪枝方法可分為非結構化和結構化兩類: 非結構化剪枝去除單個權重; 結構化剪枝按結構單元(如神經元節點、 卷積核、 通道等)對權重進行修剪. 圖5為網絡剪枝的示意圖, 其中圖5(C)以神經元節點剪枝為例對結構化剪枝進行了描述, 相當于刪除權重矩陣的整行或整列. 剪枝由3個步驟組成: 第一步是從預訓練的完整神經網絡進行初始化; 第二步根據一定標準對某些權重連接進行刪除, 將網絡逐步稀疏化; 第三步微調得到的稀疏網絡, 一般將修剪過的權重及其梯度設置為零. 交替執行第二步和第三步, 直到達到預定的稀疏水平. 基于網絡剪枝的語音識別模型壓縮方法也分為非結構化和結構化兩類.

圖5 網絡剪枝示意圖Fig.5 Schematic diagram of network pruning

非結構化剪枝也稱為稀疏剪枝, 因為其會導致稀疏的矩陣. Yu等[43]利用非結構化剪枝對上下文相關的DNN-HMM語音識別模型進行壓縮, 將執行減少DNN連接數量的任務作為軟正則化和凸約束優化問題的目標, 并進一步提出了新的數據結構利用隨機稀疏模式節省存儲且加快解碼. Wu等[44]提出了動態稀疏神經網絡, 無需單獨訓練就能獲得不同稀疏度級別的模型, 以滿足不同規格的硬件和不同延遲的要求, 該方法使用基于梯度的剪枝修剪權重, 以權重×梯度的L1范數作為修剪標準. 非結構化剪枝通常會產生具有競爭力的性能, 但由于其不規則的稀疏性通常只有在特定的硬件上才能產生加速效果, 而結構化剪枝的部署相對更容易. He等[45]提出了一種節點剪枝方法對DNN語音識別模型進行壓縮, 提出了幾種節點重要性函數對DNN的隱層節點按分數排序, 刪除那些不重要節點的同時, 將其對應的輸入和輸出連接同時刪除. Ochiai等[46]利用Group Lasso正則化對DNN-HMM語音識別系統中的DNN隱層節點進行選擇, 測試了兩種類型的Group Lasso正則化, 一種用于輸入權重向量, 另一種用于輸出權重向量. Takeda等[47]集成了權重和節點活動的熵, 提出了衡量節點重要性的分數函數, 以用于不重要節點的選擇, 每個節點的權重熵考慮節點的權重數量及其模式, 每個節點活動的熵用于查找輸出完全不變的節點. Liu等[48]通過剪枝學習一個雙模式的語音識別模型, 即剪枝、 稀疏的流式模型和未剪枝、 密集的非流式模型. 在訓練過程中兩個模型共同學習, 除作用在流式模型上的剪枝掩碼, 兩種模式共享參數, 使用Group Lasso正則化進行結構化剪枝分組變量的選擇.

5 基于參數共享的方法

除上述常用的壓縮方法, 還有利用參數共享壓縮語音識別模型的研究, 其主要思路是使多個結構相同的網絡層共享參數, 從而達到降低模型參數的作用. 其方法框架如圖6所示, 編碼器由n個結構完全相同的編碼器層構成, 所有編碼器層共享參數, 因此編碼器的參數量從n×Q壓縮到Q,Q為每個編碼器層的參數量. Transformer模型的編碼器和解碼器各自堆疊了多個塊, 更深的堆疊結構可獲得更好的識別結果, 但它會顯著增加模型大小, 也會增加解碼延遲. Li等[49]在堆疊結構中共享參數, 而不是在每層引入新的參數, 以壓縮Transformer語音識別模型的參數, 先創建第一個編碼器塊和解碼器塊的參數, 其他塊重用第一個塊的參數. 共享參數方法不會減少計算量, 只減少了參數量, 但緩存交換的減少也可以加快訓練和解碼過程. 為減輕參數數量減少導致的性能下降, 該方法中還引入了語音屬性以增強訓練數據.

圖6 編碼器參數共享Fig.6 Encoder parameter sharing

6 組合模型

上述各方法從不同方面壓縮模型: 知識蒸餾通過改變模型結構壓縮模型; 模型量化通過將權重由全精度轉換為低精度表示縮小模型大小, 對激活量化能提高計算效率, 達到進一步的加速; 分解方法通過對權重分解壓縮模型; 網絡剪枝通過丟棄不必要的權重壓縮模型; 參數共享通過重用參數壓縮模型. 這些方法都起到了縮小內存占用、 降低計算成本、 減少推理延遲的作用. 一些研究人員嘗試組合以上幾種不同類型的方法, 以獲得更好的效果. 如Li等[50]通過聯合知識蒸餾和剪枝兩種技術對DNN模型進行壓縮, 通過優化交叉熵損失進行知識蒸餾, 在剪枝過程中對所有參數進行排序, 然后修剪低于全局閾值的權重. Yuan等[51]結合剪枝和量化方法壓縮語音識別模型, 與大多數逐步將權重矩陣置零的方法不同, 剪枝過程中保持修剪權重的值, 通過掩碼控制剪枝的元素, 修剪的權重元素可在稍后的訓練階段恢復; 這項工作探索了兩種量化方案: 混合量化和整數量化, 兩種方案都以后訓練量化的形式出現. Gao等[52]利用跨層權重共享、 非結構化剪枝和后訓練量化壓縮模型, 通過對稱量化將權重和激活映射到8位整數. Letaifa等[53]探索剪枝和量化方法的組合壓縮Transformer模型, 分3個步驟完成: 首先設置剪枝率, 然后剪枝模型, 最后量化模型.

綜上所述, 深度學習由于具有強大的表示能力在語音識別方面取得了顯著成果, 增加模型容量和使用大數據集被證明是提高性能的有效方式. 隨著物聯網的迅速發展, 在資源受限設備上部署基于深度學習的語音識別系統有越來越多的需求, 在許多場景都需要借助語音識別進行便捷、 智能的交互, 如智能家電、 智能客服等. 而面對設備內存、 計算能力和功耗的資源受限, 需要對模型進行壓縮才能實現部署. 本文對現有的自動語音識別模型壓縮方法進行了全面的綜述, 根據所使用的壓縮技術將其分為知識蒸餾、 模型量化、 矩陣分解、 網絡剪枝、 參數共享和組合模型幾種類型, 并對不同類型方法進行了系統綜述, 可為語音識別模型的許多實際應用場景中如何在資源受限設備上實現壓縮和部署提供有益的指導.

猜你喜歡
剪枝語音權重
人到晚年宜“剪枝”
基于YOLOv4-Tiny模型剪枝算法
權重常思“浮名輕”
魔力語音
基于MATLAB的語音信號處理
基于MQ3與MP3的價廉物美的酒駕語音提醒器
對方正在輸入……
為黨督政勤履職 代民行權重擔當
基于公約式權重的截短線性分組碼盲識別方法
剪枝
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合