Recurrent Neural Network
Recurrent Neural Network
History
Recurrent neural networks were based on David Rumelhart's work in 1986. Hopfield
networks – a special kind of RNN – were discovered by John Hopfield in 1982. In 1993, a
neural history compressor system solved a “Very Deep Learning” task that required more
than 1000 subsequent layers in an RNN unfolded in time.
LSTM
Long short-term memory (LSTM) networks were invented
by Hochreiter and Schmidhuber in 1997 and set accuracy records in multiple applications
domains. Around 2007, LSTM started to revolutionize speech recognition, outperforming
traditional models in certain speech applications. In 2009, a Connectionist Temporal
Classification (CTC)-trained LSTM network was the first RNN to win pattern recognition
contests when it won several competitions in connected handwriting recognition. In 2014,
the Chinese company Baidu used CTC-trained RNNs to break the 2S09 Switchboard
Hub5'00 speech recognition dataset benchmark without using any traditional speech
processing methods.
LSTM also improved large-vocabulary speech recognition and text-to-speech synthesis and
was used in Google Android. In 2015, Google's speech recognition reportedly experienced
a dramatic performance jump of 49% through CTC-trained LSTM.
LSTM broke records for improved machine translation and Multilingual Language
Processing. LSTM combined with convolutional neural networks (CNNs)
improved automatic image captioning.
Architectures
RNNs come in many variants.
Fully recurrent
Unfolded basic recurrent neural network
Fully recurrent neural networks (FRNN) connect the outputs of all neurons to the inputs of
all neurons. This is the most general neural network topology because all other topologies
can be represented by setting some connection weights to zero to simulate the lack of
connections between those neurons. The illustration to the right may be misleading to
many because practical neural network topologies are frequently organized in "layers" and
the drawing gives that appearance. However, what appears to be layers are, in fact,
different steps in time of the same fully recurrent neural network. The left-most item in the
illustration shows the recurrent connections as the arc labeled 'v'. It is "unfolded" in time to
produce the appearance of layers.
Elman networks and Jordan networks