# HoloForkNet: Digital Hologram Reconstruction via Multibranch Neural Network
## 2 The Proposed Method  
Convolutional neural networks can be effectively used for a variety of problems [61]. The base of the proposed HoloForkNet architecture is the U-Net network [62]. U-Net is a deep convolutional neural network with skip connections that was originally designed for image segmentation and low-resolution image reconstruction but has been widely used in various image transformation tasks [63; 64; 65; 66], defect detection [67], etc. U-Net uses a decoder-encoder architecture. Meaning the network has two pathways: an encoding pathway, which compresses the image and extracts its features, and a decoding pathway, which expands the image and creates the transformed image based on the extracted features. Intermediate links [68] preserve information in deep architectures by transferring it from earlier layers to deeper layers. Usually only a single 2D scene is reconstructed from a hologram. In this case, one decoder pathway is used for the output. In this paper, we propose the reconstruction of 3D scenes consisting of a set of separate 2D object planes. In this case, the output of the neural network will have several independent decoder pathways, each responsible for a separate reconstruction plane. The architecture of the neural network is presented in Figure 2. Here A, B and C denote the skip connections for each branch. The figure shows the network used for holograms of 3D scenes, consisting of N object planes. The main elements of convolutional neural networks are convolutional layers. These layers allow for the extraction of features from the input data, which makes them a particularly useful tool for image processing. Convolutional layers consist of filters; each filter is a set of weights corresponding to a small region of the input data. The filters move over the input data and perform a convolution, that is, the calculation of a weighted sum of the pixels in that region. The result of the convolution is a feature map [69]. Each convolutional layer is followed by a batch normalization layer. It is necessary for the effective training of neural networks with a large number of layers. Batch normalization accelerates the convergence of the descent algorithm and reduces the risk of model retraining. The idea is to normalize the output data of each layer by centering and normalizing the data within the mini batch. The normalization is followed by scaling and shifting, performed using two additional parameters that are set during the learning process. This allows the model to learn faster and with better stability. An activation function usually completes the standard neural network block [70]. In this case, the ReLu function was used. ReLu allows us to avoid the vanishing gradient  
Figure 2: Neural network architecture. problem, which occurs when using the traditional sigmoid and hyperbolic tangent in neural networks with a large number of layers. The HoloForkNet encoder consists of blocks of sequentially applied convolutional layers with a \(5\times 5\) kernel size and a stride of 1, the batch normalization layer and the ReLU activation function. Every second block is followed by a MaxPool layer, which decreases the size of the input tensor by a factor of 2 by taking the maximum value over an input window of \(2\times 2\) for each channel of the input tensor. The decoder pathway is almost identical to the encoder, but instead of the MaxPool, the upsampling layer is used. In addition, the tensors from the encoder pathway are concatenated with the corresponding tensors in the decoder pathway (skip-connections). Since the images used are large (\(1024\times 1024\) pixels), each image is split into multiple channels by the adjacent pixels in order to work more efficiently with memory during training [71]. In this approach, an image with a resolution of X \(\times\) Y pixels is divided into multiple channels by selecting pixels with the step S. The image is, therefore, converted into S2 channels with X/S \(\times\) Y/S pixels of resolution each.