Overview of the tiny_transducer_ctc recipe
masterThe tiny_transducer_ctc recipe is designed for streaming Automatic Speech Recognition (ASR) on low-cost devices. It features models with 1-2M parameters using a small convolutional encoder. The training process combines Transducer and CTC losses and supports both phone and BPE lexicons.
Key Architectural Features:
- Encoder: Consists of 2 subsampling layers followed by a stack of
Conv1d-batchnorm-activation-causal_squeeze_exciteblocks. - Latency Optimization: To reduce latency, half of the blocks use causal convolution (at the cost of slightly higher WER).
- Squeeze-and-Excitation: Uses a moving average filter instead of global average pooling to maintain causality for streaming.
- Lexicon Usage:
- Phone lexicon: Performs better for CTC decoding (with HLG) but worse for transducer decoding.
- BPE lexicon: Generally preferred for transducer decoding.
- SpecAugment: Not recommended for very small models as they tend to underfit. For larger models, a less aggressive SpecAugment is suggested.