# VBF Event Classification with Recurrent Neural Networks at ATLAS's LHC Experiment
## 3 A Recurrent Neural Network Using Jets to Solve an Event Level Problem  
A recurrent neural network is a special type of artificial neural network which uses sequences of input data; time series data represent one of the most common inputs used for RNNs, but it is just one of the possible uses of such networks. The deep learning algorithms that constitute a recurrent neural network are commonly used to solve problems  
Figure 3: Schemes representing a combinatorial problem of a pairing, given \(N=6\) objects; the collection is made by the true pair (green elements) and from other objects (blue elements). If the true pair of objects is present in collection the efficiency of tagging will depend only on the accuracy of the algorithm (**a**); otherwise, the efficiency will be even lower if one object is not present in the collection at all (**b**). Figure 2: Schemes representing a combinatorial problem of a pairing, given N objects with \(N=3\) (**a**) and \(N=6\) (**b**). in which the order of the input data matters; examples of this are the speech recognition, language translation, natural language processing, and image captioning. Very popular applications, such as Google Translate [5; 6], voice search tools [7] and Siri [8] rely on this kind of technology. As do all the neural networks, the RNN depends on a training dataset to learn the features of the problem and to adjust the weights of the model to solve it. The main difference with other traditional architectures, such as feedforward and convolutional neural networks (CNNs), is that the order of the input data in the sequence plays a crucial role in the training process, and in practise, the output of the network depends on their order. Another peculiar characteristic of a recurrent neural network is that the parameters across each layer of the architecture are shared. Indeed, feedforward networks have dedicated weights across each node, while recurrent neural networks access the same weight parameter within each layer of the architecture. These weights are then adjusted during the learning process to facilitate reinforcement learning. A very common example to explain the power of a recurrent neural network is speech recognition. Let us consider an idiom, such as _\"may we meet again\"_; these four words have a well-defined human meaning in the English language if they are presented in this order. Therefore, the neural network that is supposed to learn its meaning has to process not only the information about the four words themselves but also the order in which they are presented. As hinted so far, the recurrent neural networks have a very distinctive way of dealing with input data. Usually, with feedforward networks, machine learning is used to map many inputs into one or multiple outputs. With the recurrent neural network philosophy, it is possible to map a sequence of input data to one output (_many-to-one_) or to many outputs that can even be a sequence themselves (_many-to-many_); the outputs can refer to the same scale of input sequence (text translation) or to a different scale (future time predictions). Furthermore, the architecture can be designed even with an additional degree of complexity; indeed, many sequences can be used as inputs. This will be the setup used in the application presented in this work. Many different types of recurrent neural networks exist; the differences are about some specialised features of the architecture at the level of the \"cell\" of the RNN layer. Examples of different RNN types are bidirectional recurrent neural networks (BRNNs) [9], long short-term memory (LSTM) [10] and gated recurrent units (GRUs) [11]. BRNNs are able to push the information not only in the future direction of the input sequence but also in the past direction; in other words, if the network is dealing with some sentences as inputs, the performance in the prediction of the early words in the sequences are driven not only by the words before it in the sequence but also bythe words that follow. LSTM is a very popular type of RNN.