## 2 Theoretical Background
### Neural Networks  
Artificial neural networks (ANNs) are a set of computational systems inspired by the structure and functioning of biological neural networks. As ANNs are an analogy of the human brain, each of these simple processing units is called a neuron. Furthermore, each neuron receives a linear combination (\(W\cdot X\)) of multiple input signals (\(X\)), which serves as the input to the activation function (\(f(\cdot)\)), producing a single output signal (\(f(W\cdot X+b)\)) that mimics the behavior of a biological neuron (Figure 3). An ANN is, therefore, a network composed of numerous simple processing units operating in parallel, whose functionality is determined by the network's architecture, the strength of the connections (synaptic weights), and the processing rules applied by individual neurons in each node (Figure 4). In essence, artificial neural networks are able to learn from empirical data, retain this learned knowledge, and apply it to perform specific tasks. They are characterized by a high degree of interconnection among simple processing elements and the capacity for adaptive interactions, enabling the network to adjust its synaptic weights. This adaptability allows ANNs to effectively handle uncertainty, noise, and probabilistic information, as well as to generalize insights from diverse input examples (Figure 4). There are different types of neural networks. The simplest one is the Feedforward Neural Network (FNN) where the information flows unidirectionally from the input layer through hidden layers to the output layer. These networks are predominantly used for classification and regression tasks. Convolutional Neural Networks (CNNs) are optimized for processing grid-structure data such as images. They utilize convolutional layers to learn spatial hierarchies of features, making them ideal for image recognition and object detection. Recurrent Neural Networks (RNNs) can deal with sequential data by introducing feedback connections to process sequential data. They are widely used in tasks like time-series  
Figure 4: Feedforward neural network with three layers: input layer (l neurons), hidden layer (m neurons), and \(k\) neurons. In our application, the input was the sinograms formed by the projections of the tomography measurements and the desired output was the tomographic reconstruction. Figure 3: Classical representation of an artificial neuron. predictions and speech recognition. Autoencoders are specialized architectures comprising an encoder that compresses input data and a decoder that reconstructs them. They are primarily applied in data compression and noise reduction [24]. Generative Adversarial Networks (GANs) consist of a generator network and a discriminator network that are trained simultaneously. This kind of network is used for generating realistic images, data synthesis, etc. Despite their structural and functional differences, all neural network architectures share a common characteristic: the necessity of a training process in order to learn from data. Training involves optimizing the network's parameters (weights and biases) to minimize the error between predicted outputs and actual target values within a given dataset. The implemented neural network structure in this work corresponds to a Multilayer Feedforward Network (Figure 4) characterized by the inclusion of one or more hidden layers. The function of these hidden layers is to serve as intermediaries between the network's external inputs and outputs. Adding one or more hidden layers enables the network to extract higher-order statistical features due to both the extra synaptic connections and the large dimensions of the neural interactions. The capacity to capture higher-order statistics is particularly advantageous when working with high-dimensional input data. The source nodes of the input layer of the network are fed by the activation patterns (input vectors), which constitute the signals applied to the second layer (called the first hidden layer).