Connectionist Temporal Classification: Labelling Unsegmented
Sequence Data with Recurrent Neural Networks

Alex Graves1
alex@idsia.ch
Santiago Fernández1
santiago@idsia.ch
Faustino Gomez1
tino@idsia.chJürgen Schmidhuber1,2
juergen@idsia.ch1
Istituto Dalle Molle di Studi sull’Intelligenza Artificiale (IDSIA), Galleria 2, 6928 Manno-Lugano, Switzerland
2
Technische Universität München (TUM), Boltzmannstr. 3, 85748 Garching, Munich, Germany

Abstract
Many real-world sequence learning tasks require the prediction of sequences of labelsfrom noisy, unsegmented input data. In
speech recognition, for example, an acoustic
signal is transcribed into words or sub-word
units. Recurrent neural networks (RNNs) are
powerful sequence learners that would seemwell suited to such tasks. However, because
they require pre-segmented training data,and post-processing to transform their outputs into label sequences, their applicability
has so far been limited. This paper presents a
novel method for training RNNs to label unsegmented sequences directly, thereby solving both problems. An experiment on the
TIMIT speech corpus demonstrates its advantages over both a baseline HMM and a
hybrid HMM-RNN.

1. Introduction
Labelling unsegmented sequence data is a ubiquitous
problem in real-world sequence learning. It is particularly common in perceptual tasks (e.g. handwriting
recognition, speech recognition, gesture recognition)
where noisy, real-valued input streams are annotatedwith strings of discrete labels, such as letters or words.
Currently, graphical models such as hidden Markov
Models (HMMs; Rabiner, 1989), conditional random
fields (CRFs; Lafferty et al., 2001) and their variants, are the predominant framework for sequence laAppearing in Proceedings of the 23 rd International Conference on Machine Learning, Pittsburgh, PA, 2006. Copyright 2006 by the author(s)/owner(s).

belling. While these approaches have proved successful for many problems, they have several drawbacks:(1) they usually require a significant amount of task
specific knowledge, e.g. to design the state models for
HMMs, or choose the input features for CRFs; (2)they require explicit (and often questionable) dependency assumptions to make inference tractable, e.g.
the assumption that observations are independent for
HMMs; (3) for standard HMMs, training is generative,
even though sequence labelling is discriminative.
Recurrent neural networks (RNNs), on the other hand,require no prior knowledge of the data, beyond the
choice of input and output representation. They canbe trained discriminatively, and their internal stateprovides a powerful, general mechanism for modelling
time series. In addition, they tend to be robust to
temporal and spatial noise.
So far, however, it has not been possible to apply
RNNs directly to sequence labelling. The problem isthat the standard neural network objective functions
are defined separately for each point in the training sequence; in other words, RNNs can only be trained tomake a series of independent label classifications. Thismeans that the training data must be pre-segmented,
and that the network outputs must be post-processed
to give the final label sequence.
At present, the most effective use of RNNs for sequence labelling is to combine them with HMMs in theso-called hybrid approach (Bourlard & Morgan, 1994;
Bengio., 1999). Hybrid systems use HMMs to model
the long-range sequential structure of the data, andneural nets to provide localised classifications. The
HMM component is able to automatically segment
the sequence during training, and to transform the
network classifications into label sequences. However,as well as inheriting the aforementioned drawbacks ofConnectionist Temporal Classification

HMMs, hybrid systems do not exploit the full potential of RNNs for sequence modelling.
This paper presents a novel method for labelling sequence data with RNNs that removes the need for presegmented training data and post-processed outputs,
and models all aspects of the sequence within a single
network architecture. The basic idea is to interpretthe network outputs as a probability distribution overall possible label sequences, conditioned on a given input sequence. Given this distribution, an objectivefunction can be derived that directly maximises theprobabilities of the correct labellings. Since the objective function is differentiable, the network can then be
trained with standard backpropagation through time
(Werbos, 1990).
In what follows, we refer to the task of labelling unsegmented data sequences as temporal classification(Kadous, 2002), and to our use of RNNs for this purpose as connectionist temporal classification (CTC).
By contrast, we refer to the independent labelling ofeach time-step, or frame, of the input sequence asframewise classification.
The next section provides the mathematical formalism
for temporal classification, and defines the error measure used in this paper. Section 3 describes the output
representation that allows RNNs to be used as temporal classifiers. Section 4 explains how CTC networks
can be trained. Section 5 compares CTC to hybrid and
HMM systems on the TIMIT speech corpus. Section 6
discusses some key differences between CTC and othertemporal classifiers, giving directions for future work,and the paper concludes with section 7.

2. Temporal Classification
Let S be a set of training examples drawn from a fixed
distribution DX ×Z . The input space X = (Rm )∗ isthe set of all sequences of m dimensional real valued vectors. The target space Z = L∗ is the setof all sequences over the (finite) alphabet L of labels. In general, we refer to elements of L∗ as label
sequences or labellings. Each example in S consistsof a pair of sequences (x, z). The target sequencez = (z1 , z2 , ..., zU ) is at most as long as the input
sequence x = (x1 , x2 , ..., xT ), i.e. U ≤ T . Since theinput and target sequences are not generally the samelength, there is no a priori way of aligning them.
The aim is to use S to train a temporal classifier
h : X 7→ Z to classify previously unseen input sequences in a way that minimises some task specificerror measure.

2.1. Label Error Rate
In this paper, we are interested in the following error
measure: given a test set S 0 ⊂ DX ×Z disjoint from S,
define the label error rate (LER) of a temporal classifier h as the normalised edit distance between its classifications and the targets on S 0 , i.e.
1 X
ED(h(x))(1)
LER(h, S 0 ) =Z
0(x,z)∈S

where Z is the total number of target labels in S 0 ,and ED(p, q) is the edit distance between the two sequences p and q — i.e. the minimum number of insertions, substitutions and deletions required to change p
into q.
This is a natural measure for tasks (such as speech or
handwriting recognition) where the aim is to minimise
the rate of transcription mistakes.

3. Connectionist Temporal Classification
This section describes the output representation thatallows a recurrent neural network to be used for CTC.
The crucial step is to transform the network outputs
into a conditional probability distribution over label
sequences. The network can then be used a classifierby selecting the most probable labelling for a given
input sequence.
3.1. From Network Outputs to Labellings
A CTC network has a softmax output layer (Bridle,
1990) with one more unit than there are labels in L.
The activations of the first |L| units are interpreted as
the probabilities of observing the corresponding labels
at particular times. The activation of the extra unit
is the probability of observing a ‘blank’, or no label.
Together, these outputs define the probabilities of all
possible ways of aligning all possible label sequenceswith the input sequence. The total probability of any
one label sequence can then be found by summing theprobabilities of its different alignments.
More formally, for an input sequence x of length T ,define a recurrent neural network with m inputs, noutputs and weight vector w as a continuous map Nw :(Rm )T 7→ (Rn )T . Let y = Nw (x) be the sequence of
network outputs, and denote by ykt the activation of
output unit k at time t. Then ykt is interpreted as theprobability of observing label k at time t, which definesTa distribution over the set L0 of length T sequences
over the alphabet L0 = L ∪ {blank}:p(π|x) =

T
Y
t=1

T

yπt t , ∀π ∈ L0 .

(2)

Connectionist Temporal Classification

label probability

Waveform

1
Framewise

0
1
CTC

0

ax

s

aw

"the"

"sound"

n

dcl

dh

d

ix

v

"of "

Figure 1. Framewise and CTC networks classifying a speech signal. The shaded lines are the output activations,corresponding to the probabilities of observing phonemes at particular times. The CTC network predicts only thesequence of phonemes (typically as a series of spikes, separated by ‘blanks’, or null predictions), while the framewise
network attempts to align them with the manual segmentation (vertical lines). The framewise network receives an error
for misaligning the segment boundaries, even if it predicts the correct phoneme (e.g. ‘dh’). When one phoneme always
occurs beside another (e.g. the closure ‘dcl’ with the stop ‘d’), CTC tends to predict them together in a double spike.
The choice of labelling can be read directly from the CTC outputs (follow the spikes), whereas the predictions of theframewise network must be post-processed before use.
T

From now on, we refer to the elements of L0 as paths,
and denote them π.
Implicit in (2) is the assumption that the network outputs at different times are conditionally independent,
given the internal state of the network. This is ensured
by requiring that no feedback connections exist fromthe output layer to itself or the network.
The next step is to define a many-to-one map B :T
L0 7→ L≤T , where L≤T is the set of possible labellings(i.e. the set of sequences of length less than or equal toT over the original label alphabet L). We do this bysimply removing all blanks and repeated labels fromthe paths (e.g. B(a − ab−) = B(−aa − −abb) = aab).
Intuitively, this corresponds to outputting a new label
when the network switches from predicting no label
to predicting a label, or from predicting one label toanother (c.f. the CTC outputs in figure 1). Finally, we
use B to define the conditional probability of a givenlabelling l ∈ L≤T as the sum of the probabilities of all
the paths corresponding to it:p(l|x) =Xp(π|x).

(3)

Using the terminology of HMMs, we refer to the task offinding this labelling as decoding. Unfortunately, we do
not know of a general, tractable decoding algorithm forour system. However the following two approximate
methods give good results in practice.
The first method (best path decoding) is based on theassumption that the most probable path will correspond to the most probable labelling:h(x) ≈ B(π ∗ )where π ∗ = arg maxt p(π|x).

(4)

π∈N

Best path decoding is trivial to compute, since π ∗ isjust the concatenation of the most active outputs atevery time-step. However it is not guaranteed to findthe most probable labelling.
The second method (prefix search decoding) relies on
the fact that, by modifying the forward-backward algorithm of section 4.1, we can efficiently calculate theprobabilities of successive extensions of labelling prefixes (figure 2).

Given the above formulation, the output of the classifier should be the most probable labelling for the input
sequence:

Given enough time, prefix search decoding always finds
the most probable labelling. However, the maximum
number of prefixes it must expand grows exponentiallywith the input sequence length. If the output distribution is sufficiently peaked around the mode, it will
nonetheless finish in reasonable time. For the experiment in this paper though, a further heuristic was
required to make its application feasible.

h(x) = arg max p(l|x).

Observing that the outputs of a trained CTC networkπ∈B−1 (l)3.2. Constructing the Classifierl∈L≤TConnectionist Temporal Classificationin use for neural networks (LeCun et al., 1998; Schraudolph, 2002).
We begin with an algorithm required for the maximum
likelihood function.
4.1. The CTC Forward-Backward Algorithm
We require an efficient way of calculating the conditional probabilities p(l|x) of individual labellings. At
first sight (3) suggests this will be problematic: thesum is over all paths corresponding to a given labelling,
and in general there are very many of these.

Figure 2. Prefix search decoding on the label alphabet X,Y. Each node either ends (‘e’) or extends the prefix
at its parent node. The number above an extending nodeis the total probability of all labellings beginning with thatprefix. The number above an end node is the probability ofthe single labelling ending at its parent. At every iteration
the extensions of the most probable remaining prefix are
explored. Search ends when a single labelling (here ‘XY’)is more probable than any remaining prefix.

tend to form a series of spikes separated by strongly
predicted blanks (figure 1), we divide the output sequence into sections that are very likely to begin andend with a blank. We do this by choosing boundary
points where the probability of observing a blank label
is above a certain threshold. We then calculate themost probable labelling for each section individuallyand concatenate these to get the final classification.
In practice, prefix search works well with this heuristic,
and generally outperforms best path decoding. However it does fail in some cases, e.g. if the same label ispredicted weakly on both sides of a section boundary.

4. Training the Network
So far we have described an output representation thatallows RNNs to be used for CTC. We now derive an
objective function for training CTC networks with gradient descent.
The objective function is derived from the principle ofmaximum likelihood. That is, minimising it maximises
the log likelihoods of the target labellings. Note that
this is the same principle underlying the standard neural network objective functions (Bishop, 1995). Given
the objective function, and its derivatives with respect to the network outputs, the weight gradients canbe calculated with standard backpropagation throughtime. The network can then be trained with any of
the gradient-based optimisation algorithms currently

Fortunately the problem can be solved with a dynamic programming algorithm, similar to the forwardbackward algorithm for HMMs (Rabiner, 1989). The
key idea is that the sum over paths corresponding toa labelling can be broken down into an iterative sum
over paths corresponding to prefixes of that labelling.
The iterations can then be efficiently computed withrecursive forward and backward variables.
For some sequence q of length r, denote by q1:p and
qr−p:r its first and last p symbols respectively. Thenfor a labelling l, define the forward variable αt (s) tobe the total probability of l1:s at time t. i.e.
def

αt (s) =

X

t
Y

0

yπt t0 .

(5)

0

t =1
π∈N T :
B(π1:t )=l1:s

As we will see, αt (s) can be calculated recursively fromαt−1 (s) and αt−1 (s − 1).
To allow for blanks in the output paths, we consider
a modified label sequence l0 , with blanks added to thebeginning and the end and inserted between every pairof labels. The length of l0 is therefore 2|l| + 1. In calculating the probabilities of prefixes of l0 we allow alltransitions between blank and non-blank labels, andalso those between any pair of distinct non-blank labels. We allow all prefixes to start with either a blank(b) or the first symbol in l (l1 ).
This gives us the following rules for initialisation
α1 (1) = yb1
α1 (2) = yl11
α1 (s) = 0, ∀s > 2
and recursion(ᾱt (s)ylt0s
if l0s = b or l0s−2 = l0s
αt (s) =ᾱt (s) + αt−1 (s − 2) ylt0s otherwise
(6)
where
def

ᾱt (s) = αt−1 (s) + αt−1 (s − 1).

(7)

Connectionist Temporal Classification

ing this is to rescale the forward and backward variables (Rabiner, 1989). If we define
def

Ct =

X

def

αt (s),α̂t (s) =s

αt (s)
Ct

and substitute α for α̂ on the RHS of (6) and (7), theforward variables will remain in computational range.
Similarly, for the backward variables we defineXdef
def βt (s)Dt =βt (s),β̂t (s) =DtsFigure 3. illustration of the forward backward algorithm applied to the labelling ‘CAT’. Black circles
represent labels, and white circles represent blanks. Arrows
signify allowed transitions. Forward variables are updated
in the direction of the arrows, and backward variables are
updated against them.

and substitute β for β̂ on the RHS of (10) and (11).
To evaluate the maximum likelihood error, we need
the natural logs of the target labelling probabilities.
With the rescaled variables these have a particularly
simple form:ln(p(l|x)) =Note that αt (s) = 0 ∀s < |l0 | − 2(T − t) − 1, because
these variables correspond to states for which there are
not enough time-steps left to complete the sequence(the unconnected circles in the top right of figure 3).
Also αt (s) = 0 ∀s < 1.
The probability of l is then the sum of the total probabilities of l0 with and without the final blank at timeT.
p(l|x) = αT (|l0 |) + αT (|l0 | − 1).
(8)
Similarly, the backward variables βt (s) are defined as
the total probability of ls:|l| at time t.
defβt (s) =

X

T
Y

0

yπt t0(9)ln(Ct )

t=1

4.2. Maximum Likelihood Training
The aim of maximum likelihood training is to simultaneously maximise the log probabilities of all the correct classifications in the training set. In our case, thismeans minimising the following objective function:
XOM L (S, Nw ) = −ln p(z|x)(12)(x,z)∈S

To train the network with gradient descent, we need todifferentiate (12) with respect to the network outputs.
Since the training examples are independent we canconsider them separately:∂OM L ({(x, z)}, Nw )∂ln(p(z|x))
=−
∂ykt
∂ykt

0

t =t
π∈N T :
B(πt:T )=ls:|l|(13)

We now show how the algorithm of section 4.1 can beused to calculate (13).

βT (|l0 |) = ybT
βT (|l0 | − 1) = ylT|l|

The key point is that, for a labelling l, the product of
the forward and backward variables at a given s andt is the probability of all the paths corresponding to lthat go through the symbol s at time t. More precisely,from (5) and (9) we have:0βT (s) = 0, ∀s < |l | − 1(β̄t (s)ylt0s
if l0s = b or l0s+2 = l0sβt (s) =β̄t (s) + βt+1 (s + 2) ylt0s otherwise
(10)
where
def

T
X

β̄t (s) = βt+1 (s) + βt+1 (s + 1).

In practice, the above recursions will soon lead to underflows on any digital computer. One way of avoid-ylt0s

π∈B−1 (l):πt =l0s(11)Note that βt (s) = 0 ∀s > 2t (the unconnected circles
in the bottom left of figure 3) and ∀s > |l0 |.

Xαt (s)βt (s) =TYyπt t .

t=1

Rearranging and substituting in from (2) gives
αt (s)βt (s)
=
ylt0
s

X
−1

π∈B (l):πt =l0sp(π|x).

Connectionist Temporal Classification

From (3) we can see that this is the portion of the total
probability p(l|x) due to those paths going through l0s
at time t. For any t, we can therefore sum over all s
to get:|l0 |Xαt (s)βt (s).
(14)
p(l|x) =
ylt0
s=1

(a)

(b)

s

To differentiate this with respect to ykt , we need only
consider those paths going through label k at timet. Noting that the same label (or blank) may berepeated several times for a single labelling l, we
define the set of positions where label k occurs aslab(l, k) = {s : l0s = k}, which may be empty.
We then differentiate (14) to get:1∂p(l|x)
= 2
t
∂yk
ykt

X

αt (s)βt (s).

(15)

s∈lab(l,k)

Observing that1 ∂p(l|x)∂ln(p(l|x))=∂yktp(l|x) ∂ykt
we can set l = z and substitute (8) and (15) into (13)to differentiate the objective function.
Finally, to backpropagate the gradient through thesoftmax layer, we need the objective function derivatives with respect to the unnormalised outputs utk .
If the rescaling of section 4.1 is used, we have:∂OM L ({(x, z)}, Nw )1
= ykt − t
t
∂uk
yk Zt

X

α̂t (s)β̂t (s)s∈lab(z,k)

(16)
where

0

def

Zt =

|l |
X
α̂t (s)β̂t (s)
s=1

ylt0

(c)
outputerror

Figure 4. Evolution of the CTC Error Signal During
Training. The left column shows the output activations
for the same sequence at various stages of training (thedashed line is the ‘blank’ unit); the right column shows
the corresponding error signals. Errors above the horizontal axis act to increase the corresponding output activationand those below act to decrease it. (a) Initially the network
has small random weights, and the error is determined by
the target sequence only. (b) The network begins to makepredictions and the error localises around them. (c) The
network strongly predicts the correct labelling and the error virtually disappears.

of Long Short-Term Memory (LSTM; Hochreiter &Schmidhuber, 1997) to bridge long time lags withthe access of bidirectional RNNs (BRNNs; Schuster& Paliwal, 1997) to past and future context. We
stress that any other architecture could have beenused instead. We chose BLSTM because our experiments with standard BRNNs and unidirectional networks gave worse results on the same task.

.

s

Eqn (16) is the ‘error signal’ received by the network
during training (figure 4).

5. Experiments
We compared the performance of CTC with that ofboth an HMM and an HMM-RNN hybrid on a realworld temporal classification problem: phonetic labelling on the TIMIT speech corpus. More precisely,
the task was to annotate the utterances in the TIMIT
test set with the phoneme sequences that gave the lowest possible label error rate (as defined in section 2.1).
To make the comparison fair, the CTC and hybrid
networks used the same RNN architecture: bidirectional Long Short-Term Memory (BLSTM; Graves &Schmidhuber, 2005). BLSTM combines the ability

5.1. Data
TIMIT contain recordings of prompted English speech,
accompanied by manually segmented phonetic transcripts. It has a lexicon of 61 distinct phonemes, andcomes divided into training and test sets containing
4620 and 1680 utterances respectively. 5 % (184) of
the training utterances were chosen at random andused as a validation set for early stopping in the hybrid and CTC experiments. The audio data was preprocessed into 10 ms frames, overlapped by 5 ms, using 12 Mel-Frequency Cepstrum Coefficients (MFCCs)
from 26 filter-bank channels. The log-energy was also
included, along with the first derivatives of all coefficients, giving a vector of 26 coefficients per frame intotal. The coefficients were individually normalised tohave mean 0 and standard deviation 1 over the training set.

Connectionist Temporal Classification

5.2. Experimental Setup
The CTC network used an extended BLSTM architecture with peepholes and forget gates (Gers et al.,2002), 100 blocks in each of the forward and backward
hidden layers, hyperbolic tangent for the input andoutput cell activation functions and a logistic sigmoid
in the range [0, 1] for the gates.
The hidden layers were fully connected to themselves
and the output layer, and fully connected from the
input layer. The input layer was size 26, the softmax output layer size 62 (61 phoneme categories plus
the blank label), and the total number of weights was
114, 662.
Training was carried out with back propagation
through time and online gradient descent (weight updates after every training example), using a learning
rate of 10−4 and a momentum of 0.9. Network activations were reset to 0 at the start of each example. For
prefix search decoding (section 3.2) the blank probability threshold was set at 99.99%. The weights were
initialised with a flat random distribution in the range[−0.1, 0.1]. During training, Gaussian noise was added
to the inputs with a standard deviation of 0.6 to improve generalisation.
The baseline HMM and hybrid systems were implemented as in (Graves et al., 2005). Briefly, baseline
HMMs with context independent and context dependent three-states left-to-right models were trained andtested using the HTK Toolkit1 . Observation probabilities were modelled by a mixture of Gaussians. Boththe number of Gaussians and the insertion penalty
were chosen to obtain the best performance on thetask. Neither linguistic information nor probabilitiesof partial phone sequences were included in the system.
There were more than 900, 000 parameters in total.
The hybrid system comprised an HMM and a BLSTM
network, and was trained using Viterbi-based forcedalignment (Robinson, 1994). Initial estimation of transition and prior probabilities of the one-state 61 models was carried out using the correct transcription for
the training set. Network output probabilities weredivided by prior probabilities to obtain likelihoods for
the HMM. The insertion penalty was chosen to obtain
the best performance on the task.
The BLSTM architecture and parameters were identical to those used for CTC, with the following exceptions: (1) the learning rate for the hybrid network was
10−5 ; (2) the injected noise had standard deviation
0.5; (3) the output layer had 61 units instead of 621

http://htk.eng.cam.ac.uk/

Table 1. Label Error Rate (LER) on TIMIT. CTC
and hybrid results are means over 5 runs, ± standard error.
All differences were significant (p < 0.01), except between
weighted error BLSTM/HMM and CTC (best path).
SystemContext-independent HMM
Context-dependent HMM
BLSTM/HMM
Weighted error BLSTM/HMM
CTC (best path)
CTC (prefix search)

LER
38.85 %
35.21 %
33.84 ± 0.06 %31.57 ± 0.06 %31.47 ± 0.21 %30.51 ± 0.19 %(no blank label). The noise and learning rate were set
for the two systems independently, following a roughsearch in parameter space. The hybrid network had
a total of 114, 461 weights, to which the HMM added
183 further parameters. For the weighted error experiment, the error signal was scaled to give equal weight
to long and short phonemes (Robinson, 1991).
5.3. Experimental Results
The results in table 1 show that, with prefix search
decoding, CTC outperformed both a baseline HMM
recogniser and an HMM-RNN hybrid with the same
RNN architecture. They also show that prefix searchgave a small improvement over best path decoding.
Note that the best hybrid results were achieved with aweighted error signal. Such heuristics are unnecessary
for CTC, as its objective function depends only on
the sequence of labels, and not on their duration orsegmentation.
Input noise had a greater impact on generalisation for
CTC than the hybrid system, and a higher level ofnoise was found to be optimal for CTC.

6. Discussion and Future WorkA key difference between CTC and other temporalclassifiers is that CTC does not explicitly segment its
input sequences. This has several benefits, such as removing the need to locate inherently ambiguous labelboundaries (e.g. in speech or handwriting), and allowing label predictions to be grouped together if it proves
useful (e.g. if several labels commonly occur together).
In any case, determining the segmentation is a waste ofmodelling effort if only the label sequence is required.
For tasks where segmentation is required (e.g. protein
secondary structure prediction), it would seem problematic to use CTC. However, as can be seen from figure 1, CTC naturally tends to align each label predic-

Connectionist Temporal Classification

tion with the corresponding part of the sequence. Thisshould make it suitable for tasks like keyword spotting,where approximate segmentation is sufficient.
Another distinctive feature of CTC is that it does
not explicitly model inter-label dependencies. This is
in contrast to graphical models, where the labels are
typically assumed to form a kth order Markov chain.
Nonetheless, CTC implicitly models inter-label dependencies, e.g. by predicting labels that commonly occur
together as a double spike (see figure 1).
One very general way of dealing with structured data
would be a hierarchy of temporal classifiers, where thelabellings at one level (e.g. letters) become inputs forthe labellings at the next (e.g. words). Preliminary
experiments with hierarchical CTC have been encouraging, and we intend to pursue this direction further.
Good generalisation is always difficult with maximum
likelihood training, but appears to be particularly sofor CTC. In the future, we will continue to explore
methods to reduce overfitting, such as weight decay,
boosting and margin maximisation.

7. Conclusions
We have introduced a novel, general method for temporal classification with RNNs. Our method fits naturally into the existing framework of neural networkclassifiers, and is derived from the same probabilistic principles. It obviates the need for pre-segmented
data, and allows the network to be trained directly forsequence labelling. Moreover, without requiring any
task-specific knowledge, it has outperformed both an
HMM and an HMM-RNN hybrid on a real-world temporal classification problem.

Acknowledgements
We thank Marcus Hutter for useful mathematical discussions. This research was funded by SNF grants
200021-111968/1 and 200020-107534/1.

References
Bengio., Y. (1999). Markovian models for sequential
data. Neural Computing Surveys, 2, 129–162.
Bishop, C. (1995). Neural Networks for Pattern Recognition, chapter 6. Oxford University Press, Inc.
Bourlard, H., & Morgan, N. (1994). Connnectionist
speech recognition: A hybrid approach. Kluwer Academic Publishers.
Bridle, J. (1990). Probabilistic interpretation of feedforward classification network outputs, with re-lationships to statistical pattern recognition. In
F. Soulie and J.Herault (Eds.), Neurocomputing: Algorithms, architectures and applications, 227–236.
Springer-Verlag.
Gers, F., Schraudolph, N., & Schmidhuber, J. (2002).
Learning precise timing with LSTM recurrent networks. Journal of Machine Learning Research, 3,
115–143.
Graves, A., Fernández, S., & Schmidhuber, J.
(2005). Bidirectional LSTM networks for improved
phoneme classification and recognition. Proceedingsof the 2005 International Conference on Artificial
Neural Networks. Warsaw, Poland.
Graves, A., & Schmidhuber, J. (2005). Framewisephoneme classification with bidirectional LSTM andother neural network architectures. Neural Networks, 18, 602–610.
Hochreiter, S., & Schmidhuber, J. (1997). Long ShortTerm Memory. Neural Computation, 9, 1735–1780.
Kadous, M. W. (2002). Temporal classification: Extending the classification paradigm to multivariate
time series. Doctoral dissertation, School of Computer Science & Engineering, University of New
South Wales.
Lafferty, J., McCallum, A., & Pereira, F. (2001). Conditional random fields: Probabilistic models for segmenting and labeling sequence data. Proc. 18th International Conf. on Machine Learning (pp. 282–
289). Morgan Kaufmann, San Francisco, CA.
LeCun, Y., Bottou, L., Orr, G., & Muller, K. (1998).
Efficient backprop. Neural Networks: Tricks of the
trade. Springer.
Rabiner, L. R. (1989). A tutorial on hidden markov
models and selected applications in speech recognition. Proc. IEEE (pp. 257–286). IEEE.
Robinson, A. J. (1991).
Several improvements
to a recurrent error propagation network phonerecognition system (Technical Report CUED/FINFENG/TR82). University of Cambridge.
Robinson, A. J. (1994). An application of recurrent
nets to phone probability estimation. IEEE Transactions on Neural Networks, 5, 298–305.
Schraudolph, N. N. (2002). Fast Curvature MatrixVector Products for Second-Order Gradient Descent. Neural Comp., 14, 1723–1738.
Schuster, M., & Paliwal, K. K. (1997). Bidirectional
recurrent neural networks. IEEE Transactions on
Signal Processing, 45, 2673–2681.
Werbos, P. (1990). Backpropagation through time:
What it does and how to do it. Proceedings of theIEEE, 78, 1550 – 1560.