CTC Model and Loss


CTC model 是一個 decoder 部分為簡單的 (independent) linear classifer 的 seq2seq model. 因此 input frame 有 $T$ 個, 就會有 $T$ 個 output distribution vectors.

正常來說 (ex: ASR) output token 數量 $N<T$, 所以會有 alignment 問題. 以往的 alignment (HMM) 強迫每個 frame index 都需對應到一個 phone’s state, 但 CTC 允許對應到 “空” 的 state (null or blank). 這讓 CTC 的 alignment 比 HMM 更有彈性.

RNN-T 是另一種比 CTC 更有彈性的 alignment 表達方式.

CTC 的 gradient 可以非常有效率的用 dynamic programming 求得 (forward/backward 演算法, 下圖). 因此採用 gradient-based optimization 方法就很合適.

本文會詳細介紹上面提到的幾點. Decoding 部分不介紹.

CTC Model and Loss: