3 ms·
Although this blog post focuses on learning small toy examples, I could see the approach scaling up to real problems in natural language processing. At one poi
by brandonb 4y ago
Although this blog post focuses on learning small toy examples, I could see the approach scaling up to real problems in natural language processing.
At one point, Google's own speech recognition system was built on a C++ finite state transducer library [1][2]. FSTs were used to represent the language model, reverse dictionary (map from phonemes to words), hidden markov models, and so on. Although FSTs were a common abstraction used at runtime, at training time, we still needed special-purpose ML algorithms to create models that were later "compiled" into FSTs. [3]
So I could see how a general-purpose differentiable FSM, if scaled up, could actually produce a really powerful simplification -- you would just need one end-to-end learning algorithm to subsume all these various models.
[1] https://www.openfst.org/twiki/bin/view/FST/WebHome https://www.openfst.org/twiki/bin/view/FST/WebHome
[2] Much of this has obviously changed since the popularization of deep learning -- this is the 2011-era system.
[3] A finite state transducer is a finite state machine with input and output labels, so that it translates between two regular languages
- nmfisher 4y agoSomeone else has already posted this above, but the K2 project [0] is intended to do exactly this (along with some nice integration into PyTorch). There's a big cross-over with the Kaldi team, so this seems (partly) motivated by a desire to improve/expand Kaldi to combine WFSTs with auto-grad learning (though K2 as a whole is a generic framework, and nothing is specific to voice). It's still in its early days and I haven't delved into the details yet, but I suspect this will be the go-to method for speech recognition in a few years' time. Given that a few other teams are working on similar toolkits (see elsewhere in this thread), it seems a lot of people see promise. https://github.com/k2-fsa https://github.com/k2-fsa