# Automated Geological Features Detection in 3D Seismic Data Using Semi-Supervised Learning
## 4 Deep Learning for Detecting Geological Features  
The geological features detection can be classified as the image segmentation problem in the computer vision field. The image segmentation problem will classify each pixel of the image into one of the predefined classes [40]. Considering the seismic section as an image, we divided the section into small patches to feed into the deep learning model and assign the seismic interpretation problems as the image classification problem [17]. Convolutional Neural Network (CNN) is a very useful tool for image classification and segmentation. CNN is a specialization of neural networks for data in the form of multiple arrays, such as images or seismic data [41]. A particular of CNN architectures, U-Net, has shown tremendous success in image segmentation problems. This U-shaped network was originally proposed by [PERSON] in 2015 for medical image segmentation [18]. We adopted and modified this architecture to fit our problem as shown in Figure 7. Similar to the original U-Net, the modified architecture still has the encoder (top) and decoder (bottom) parts. In the encoder part, we feed the network with a small patch of seismic data of 64 \(\times\) 64 \(\times\) 64 size. The input will be convolved with 3 \(\times\) 3 \(\times\) 3 filters to obtain the feature maps. Each step consists of two 3 \(\times\) 3 \(\times\) 3 convolutional layers followed by a Sigmoid activation function, as formulated with:  
\[S(y_{i})=\frac{1}{1+e^{-y_{i}}} \tag{2}\]  
where \(y_{i}\) is the prediction result from each layer in the network. The main advantage of using Sigmoid as the activation function is that the output is a probability between 0 and 1, which signifies how confident the model predicted the class [42]. The 2 \(\times\) 2 \(\times\) 2 max-pooling is also applied in each step, so the size of the layers will be reduced from 64 at the first step to 32, 16, 8, 4, and 2 at the final of the encoder part. The bottleneck structure at the middle of the encoder and decoder part consists of 3 \(\times\) 3 \(\times\) 3 convolutional layers. Then, the upconvolutional process is implemented at the decoder part to resize the layer into the original one followed by a concatenation process from the encoder part to gain the localization information. Figure 7: The modified U-Net architecture: decreased number of filters on encoder path and increased number of filters on decoder part. The network will keep updating the weights for each layer using the optimization algorithm until the minimum error between the predicted result and labeled output has been achieved. We use the binary cross-entropy to measure the error with the following formula:  
\[CE=-\sum_{i=1}^{C^{\prime}=2}t_{i}\log(y_{i})-(1-t_{i})\log(1-y_{i}) \tag{3}\]  
where the \(t_{i}\) is the target and \(y_{i}\) is the prediction at \(i\)-th. We iteratively optimize the parameters during the training process with 1000 epochs using the Adam optimizer [43], with 0.0001 as the learning rate. In the encoder part, we also implemented the transfer learning methods. We use Resnet-50 as the base model, pre-trained for the object detection tasks on the ImageNet dataset [20,44]. Despite the disparity between the natural image on the ImageNet dataset and geological features on our seismic dataset, Resnet-50 comprehensively trained on the ImageNet can be transferred to make geological features detection more effective, since collecting and labeling large numbers of geological features on seismic data still poses significant challenges [12]. Table 2 shows the hyperparameter and the selected parameters used to build the CNN model. To objectively evaluate the performance of our models on this dataset, we use a set of evaluation metrics that are commonly used in segmentation and classification problems. In this paper, we are going to use confusion metrics and Intersection over Union (_IoU_) metrics as the evaluation metrics.