iT邦幫忙

2021 iThome 鐵人賽

DAY 9
2
AI & Data

機器學習應用於語音相關服務系列 第 9

Day09 - 語音特徵正規化

  • 分享至 

  • xImage
  •  

當一個模型的訓練資料和測試資料,彼此之間的資料分佈有不匹配(mismatch)時,模 型的性能會出現大幅的下降。為了減少問題的影響,我們對語音特徵做平均值以及變異數正規化(Cepstral Mean and Variance Normalization, CMVN),讓資料之間的分佈更為 相似。正規化計算方式如下
https://chart.googleapis.com/chart?cht=tx&chl=%5Chat%7Bx%7D(i)%3D%5Cfrac%7Bx_%7Bt%7D(i)-%5Cmu(i)%7D%7B%5Csigma(i)%7D%2C%5C%201%5Cleq%20t%5Cleq%20T%2C1%20%5Cleq%20i%20%5Cleq%2039
where
https://chart.googleapis.com/chart?cht=tx&chl=%5Cmu(i)%3D%5Cfrac%7B1%7D%7BT%7D%5Csum_%7Bt%3D1%7D%5E%7BT%7Dx_%7Bt%7D(i)%2C%5C%201%5Cleq%20i%5Cleq%2039
https://chart.googleapis.com/chart?cht=tx&chl=%5Csigma%5E%7B2%7D(i)%3D%5Cfrac%7B1%7D%7BT-1%7D%5Csum_%7Bt%3D1%7D%5E%7BT%7D(x_%7Bt%7D(i)-%5Cmu(i))%5E%7B2%7D%2C%5C%201%5Cleq%20i%5Cleq%2039%20

其中,https://chart.googleapis.com/chart?cht=tx&chl=X%3D%5Bx_%7B1%7D%2Cx_%7B2%7D%2C...%2Cx_%7Bt%7D%2C...%2Cx_%7BT%7D%5D 表示一筆音檔總共有 T 個音框,https://chart.googleapis.com/chart?cht=tx&chl=x_%7Bt%7D(i) 表示一個音框中第 i 維度的特徵,https://chart.googleapis.com/chart?cht=tx&chl=%5Cmu(i)https://chart.googleapis.com/chart?cht=tx&chl=%5Csigma%5E%7B2%7D(i) 表示第 i 維度特徵的平均值和變異數

使用 python 來實作 CMVN 正規化可以參考以下程式,epsilon 是為了避免分母為 0 的情況
data.shape[0]為資料筆數,data.shape[1] 即為特徵的維度(39)

import numpy as np
def CMVN(data):
    epsilon = 1e-10
	for i in range(data.shape[1]) :
	    mean = np.mean(data[:,i])
		stddev = np.std(data[:,i])
		for k in range(data.shape[0]) :
            data[k,i] = (data[k,i] - mean) / max(stddev, epsilon)
    return data

介紹完語音特徵與正規化前處理之後接著會說明我們的神經網路架構。


上一篇
Day08 - 語音特徵擷取 - AFE
下一篇
Day10 - 除噪模型
系列文
機器學習應用於語音相關服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言