the gradient computation involves element-wise addition of two matrices, and, generated during
the forward and backward passes respectively. Finally, we sum the gradients using the character in
the utterance label as the key, to generate one gradient per character. These gradients are then backpropagated through the network. The input to the CTC loss function are probabilities calculated by
the softmax function which can be very small, so we compute in logprobability space for better
numerical stability.
The forward pass of the CTC algorithm calculates the matrix, which has Srows and Tcolumns,
where S= 2(L+ 1) . The variable Lis the number of characters in the label and Tis the number
of time-steps in the utterance. Our CPU-based implementation of the CTC algorithm assigns one
thread to each utterance label in a minibatch, performing the CTC calculation for the utterances in
parallel. Each thread calculates the relevant entries of the matrix sequentially. This is inefﬁcient for
two reasons.
Firstly, since the remainder of our network is computed on the GPU, the output of the softmax
function has to be copied to the CPU for CTC calculation. The gradient matrices from the CTC
function then has to be copied back to the GPU for backpropagation. For languages like Mandarin
We show that an end-to-end deep learning approach can be used to recognize
either English or Mandarin Chinese speech--two vastly different languages.
Because it replaces entire pipelines of hand-engineered components with neural
networks, end-to-end learning allows us to handle a diverse variety of speech
including noisy environments, accents and different languages. Key to our
approach is our application of HPC techniques, resulting in a 7x speedup over
our previous system. Because of this efficiency, experiments that previously
took weeks now run in days. This enables us to iterate more quickly to identify
superior architectures and algorithms. As a result, in several cases, our
system is competitive with the transcription of human workers when benchmarked
on standard datasets. Finally, using a technique called Batch Dispatch with
GPUs in the data center, we show that our system can be inexpensively deployed
in an online setting, delivering low latency when serving users at scale.
Dario Amodei Rishita Anubhai Eric Battenberg Carl Case Jared Casper Bryan Catanzaro Jingdong Chen Mike Chrzanowski Adam Coates Greg Diamos Erich Elsen Jesse Engel Linxi Fan Christopher Fougner Tony Han Awni Hannun Billy Jun Patrick LeGresley Libby Lin Sharan Narang Andrew Ng Sherjil Ozair Ryan Prenger Jonathan Raiman Sanjeev Satheesh David Seetapun Shubho Sengupta Yi Wang Zhiqian Wang Chong Wang Bo Xiao Dani Yogatama Jun Zhan Zhenyao Zhu