學習目標
• 了解語音處理的基礎知識及應用
• 掌握語音處理的基本步驟
• 掌握語音處理的主要技術
• 了解語音處理的難點與展望
DNN
深度神經網絡
• 深度神經網絡(Deep Neural Network,縮寫DNN)是一個有多個(超過2個)隱藏層的傳統多層感知器(MLP)。
DNN網絡結構
• DNN包括了一個輸入層,多個隱藏層和一個輸出層。
• 層與層之間是全連接的,也就是說,第i層的任意一個神經元一定與第i+1層的任意一個神經元相連。
• 雖然DNN看起來很複雜,但是從小的局部模型來說,還是和感知機一樣,即一個線性關係z=∑▒〖(wx〗+b)加上一個激活函數σ(z)。
• 由於DNN隱藏層數多,則我們的線性關係係數w和偏置b的數量也就是很多了。
DNN前向傳播原理
• 利用若干權重係數矩陣W和偏置向量b和輸入值x進行一系列線性運算和激活函數運算,從輸入層開始,一層一層向後計算,一直運算到輸出層,得到輸出結果為止。
• 輸入:總層數L,所有隱藏層和輸出層對應的權重矩陣W,偏置向量b,輸入值x以及激活函數;
• 輸出:輸出層的輸出y_L:初始化y_1 ,從第2層到第L層,計算y_L;
反向傳播算法
• 反向傳播算法(即BP算法)適合於多層神經元網絡的一種學習算法,它建立在梯度下降法的基礎上。BP網絡它的信息處理能力來源於簡單非線性函數的多次複合,因此具有很強的函數復現能力。
• BP算法主要由兩個環節(激勵傳播、權重更新)反覆循環迭代,直到網絡對輸入的響應達到預定的目標範圍為止。
• 激勵傳播:
o 前向傳播將訓練輸入送入網絡以獲得激勵響應;
o 反向傳播將激勵響應同訓練輸入對應的目標輸出求差,從而獲得損失函數
• 權重更新:
o 獲取梯度
o 梯度與學習率相乘
o 權重更新
數據預處理
• 在進行特徵提取之前,都要對原始序列做一系列的預處理,目的是消除因為人類發聲器官本身和由於採集語音信號的設備所帶來的混疊、高次諧波失真、高頻等等因素對語音信號質量的影響,儘可能保證後續語音處理得到的信號更均勻、平滑,為信號參數提取提供優質的參數,提高語音處理質量。
• 常用方法有,特徵歸一化,標準化,端點檢測,預加重,降噪,分幀。
• 特徵歸一化:語音識別中的倒譜均值歸一化是在句子內減去MFCC特徵的均值,可以減弱聲學信道扭曲帶來的影響。
• 特徵標準化:使用全局轉換縮放每維數據,使得最終的特徵向量出於相似的動態範圍內。
模型初始化
• 因為DNN是一個高度非線性模型,並且相對於參數來說,訓練準則是非凸函數,所以初始化模型會極大影響最終效果。
• 初始化方法主要分兩類:
• 區間初始化:初始化的權重必須使得隱層神經元節點在sigmoid激活函數的線性範圍內活動;權重太大會讓結果趨近於0或者1,導致梯度更小,無法收斂。
• 隨機初始化:DNN中的隱層神經元都是對稱可互換的,如果所有的模型都有相同的參數,那所有的隱層會輸出相同的結果,導致在DNN底層檢測相同的特徵。
權重衰減
• 與傳統機器學習算法相比,DNN網絡有更強的擬合能力,因為其參數更多,但也導致其更更容易過擬合。防止過擬合的最簡單的方法就是添加正則項,比如L2範數,在神經網絡中,這些正則項通常被稱為權重衰減(weight decay)。
• 當訓練集的大小相對於DNN的參數量較小時,權重衰減法往往是很有效的。因為在語音識別任務重使用的DNN模型往往會有超過百萬的參數,相應係數應該較小,甚至當訓練數據量較大時設置為0。
Dropout
• 丟棄法(Dropout)是權重衰減之外另一種流行的防止過擬合。其基本思想是在訓練過程中隨機丟棄每一個隱藏層中一定比例的神經元,這意味著即使在訓練過程中丟棄了部分神經元,剩下的神經元依然需要在每一種隨機組合中有好的表現。
batch大小選擇
• 在訓練過程中都需要從訓練樣本的一個批量集合中進行梯度計算,而批塊量大小的選擇同時會影響收斂速度和模型結果。
• 批量塊選擇的兩種常見情況:
• 整個訓練集:選擇整個訓練集進行模型訓練是最常見的情形。
• 隨機訓練集:代表性方法就是隨機梯度下降(SGD),每次只需要用一個樣本進行梯度的計算和迭代。不容易收斂。
• 綜合上述兩中批量塊的選擇情況,提出這種方案「小批量」進行訓練,迭代速度比整個數據集更快,比隨機訓練集更容易收斂。在語音識別任務中,前期可以選擇較小的批量塊,比如64到256個樣本,而後期換用較大的批量塊,比如1024-8096個樣本。
隨機取樣
• 隨機取樣與全局訓練是無關的,因為在全局訓練中所有的樣本都會被用來估計梯度。而在隨機梯度下降和小批量梯度下降中,隨機取樣是十分重要的。這是為了得到梯度的無偏估計,樣本必須是獨立同分布的。如果訓練過程中的一些樣本不是隨機從訓練集中取出的,模型的參數可能會沿著一個方向偏移太多。
• 以下是兩種隨機取樣的思路:
• 在語音處理任務中,若所有樣本都可以被載入內存中,那可以通過對樣本索引進行相應的處理抽樣就可以達到樣本抽樣的效果。
• 在語音處理任務中,若無法將所有樣本載入內存進行計算,可以採用滾動窗的方法每次加載一塊數據進內存,然後再窗內隨機取樣。
學習率
• 從梯度下降算法的角度來說,通過選擇合適的學習率,可以使梯度下降法得到更好的性能。學習率,即參數到達最優值過程的速度快慢,當你學習率過大,即下降的快,很容易在某一步跨過最優值,當你學習率過小時,長時間無法收斂。因此,學習率直接決定著學習算法的性能表現。
• 可以根據數據集的大小來選擇合適的學習率,當使用平方誤差和作為成本函數時,隨著數據量的增多,學習率應該被設置為相應更小的值(從梯度下降算法的原理可以分析得出)。另一種方法就是,選擇不受數據集大小影響的成本函數-均值平方差函數。
• 一般常用的學習率有0.00001,0.0001,0.001,0.003,0.01,0.03,0.1,0.3,1,3,10。
• 在不同的迭代中選擇不同的學習率,在最初的迭代中,學習率可以大一些,快接近時,學習率小一些。在每次迭代後,使用估計的模型參數來查看誤差函數的值,如果相對於上一次迭代,錯誤率減少了,就可以增大學習率如果相對於上一次迭代,錯誤率增大了,那麼應該重新設置上一輪迭代的值,並且減少學習率到之前的50%,這是一種學習率自適應調節的方法。
網絡結構
• DNN每個隱藏層都可以被認為是前一層的特徵抽取器,每層節點的數量應該足夠大以獲取本質的模式。
• 寬且淺的模型容易過擬合,窄且深的模型容易欠擬合。如果有一層很小,模型性能將有較大下降。相對一個窄且淺的模型,通常一個寬且深的模型更容易找到一個好的配置。
• 在語音識別中,有5-7個隱藏層,每層有1000-3000個節點的DNN模型效果很好。
課程諮詢 :400-1024-400
歡迎添加,了解騰科課程體系介紹,可獲取學習資源。
官方微博:騰科教育官微
官網:www.tk-edu.com
全國統一熱線:400-1024-400