总览

  • CTC假设了token间独立,所以没法学到token间的关系;并且它的alignment是隐式的在求路径的时候的
  • 单独的attention不使用任何条件独立性假设,因此在不使用外部语言模型的情况下,它通常比CTC具有更高的字符错误率。同时还有对齐的问题,可能会乱跳
  • CTC和Attention同时去train一个encoder,attention单独的decoder;CTC保证对齐,attention用来捕捉token直接的关系

3ab84176ff08a321a1b5f8cf659e3891.jpg

model

  • 思想比较简单,就是希望用CTC这种来限制attention的对齐问题
  • 输入通过encoder之后分为两条线,一条走CTC,一条走attention(就是类似于LAS的形式就是多了一块location-aware的打分)
  • 最后的$loss = \lambda*loss_{CTC} + (1-\lambda)*loss_{attention}$
  • 早期epoch的时候λ取的大一点(多学对齐),之后取小一点(多捕捉token之间的关系)