iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0
AI & Data

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

Day05 - 端到端(end-to-end)語音辨識-CTC part 1

傳統在做語音辨識需要事先標註每個音框的標籤,這麼做會耗費龐大的時間,因
此研究人員 Alex Graves 提出 Connectionist Temporal Classification (CTC),能夠在訓練神經網路
前,不需要對音框和標註之間做對齊(alignment),也不需要結合隱藏式馬可夫模
型(hidden Markov model)即可進行辨識。CTC提出一個新的概念:空白(blank),用在
無法確定是哪種發音時,將預測結果映射到空白,這個作法可以讓模型著重在各種發
音之間的差異性。當給定一個輸入 x,長度為 T,輸出的標註(label)集合 L,L 包含空
白,https://chart.googleapis.com/chart?cht=tx&chl=y%5E%7Bt%7D_%7Bk%7D 表示在時間點(timestep) t 輸出 k 的機率。接著假設每一個時間點之間的
輸出機率是獨立的,我們可以將網路輸出 https://chart.googleapis.com/chart?cht=tx&chl=%5Cpi 的機率用以下公式表示

https://chart.googleapis.com/chart?cht=tx&chl=P(%5Cpi%7Cx)%3D%5Cprod_%7Bt%3D1%7D%5E%7BT%7Dy%5E%7Bt%7D_%7B%5Cpi_%7Bt%7D%7D

我們將 https://chart.googleapis.com/chart?cht=tx&chl=%5Cpi 稱作路徑(paths),https://chart.googleapis.com/chart?cht=tx&chl=%5Cpi_%7Bt%7D 是在路徑 https://chart.googleapis.com/chart?cht=tx&chl=%5Cpi 時間點 t 時輸出的標註。接著定義一個多
對一的函數 F,將所有可能的路徑映射到 x 可能輸出的序列,CTC 會先將在路徑
連續重複的標註合併成一個,再刪掉空白,得到這個輸入 x 的輸出序列 l,例如
https://chart.googleapis.com/chart?cht=tx&chl=F(a-bb-c)%3DF(aa-b-c)%3Dabc
其中 - 表示空白

我們把所有映射後結果是 l 的路徑 label(https://chart.googleapis.com/chart?cht=tx&chl=%5Cpi),將其機率加總起來,作為輸入 x 的輸出序列是 l 的事後機率,以下面公式表示
https://chart.googleapis.com/chart?cht=tx&chl=P(l%7Cx)%3D%5Csum_%7Blabel(%5Cpi)%3Dl%7DP(%5Cpi%7Cx)%3D%5Csum_%7Blabel(%5Cpi)%3Dl%7D%5Cprod_%7Bt%3D1%7D%5E%7BT%7Dy%5E%7Bt%7D_%7B%5Cpi_%7Bt%7D%7D

CTC 介紹的部份因內容較多所以會拆成兩部分,以上就是第一部分的內容,隔天會再將剩下的部分補充說明完成~


上一篇
Day04 - 端到端(end-to-end)語音辨識-attention 機制
下一篇
Day06 - 端到端(end-to-end)語音辨識-CTC part 2
系列文
機器學習應用於語音相關服務30

尚未有邦友留言

立即登入留言