Sampling from Stochastic Finite Automata with Applications to CTC Decoding
This addresses a specific bottleneck in language and speech processing, such as CTC decoding, by providing an incremental improvement in sampling efficiency.
The paper tackles the problem of efficient sampling from stochastic finite automata, showing that path-sampling is effective and efficient when the epsilon-graph is acyclic, achieved by conflating epsilon-cycles. It applies this to CTC decoding, enabling efficient sampling from transformed labeling distributions to find the most probable labeling.
Stochastic finite automata arise naturally in many language and speech processing tasks. They include stochastic acceptors, which represent certain probability distributions over random strings. We consider the problem of efficient sampling: drawing random string variates from the probability distribution represented by stochastic automata and transformations of those. We show that path-sampling is effective and can be efficient if the epsilon-graph of a finite automaton is acyclic. We provide an algorithm that ensures this by conflating epsilon-cycles within strongly connected components. Sampling is also effective in the presence of non-injective transformations of strings. We illustrate this in the context of decoding for Connectionist Temporal Classification (CTC), where the predictive probabilities yield auxiliary sequences which are transformed into shorter labeling strings. We can sample efficiently from the transformed labeling distribution and use this in two different strategies for finding the most probable CTC labeling.