# Neural Network-Based Identification of Cloud Types from Ground-Based Images of Cloud Layers
## 3 Method
### Model  
Neural networks (NNs) are a classic field in the domain of machine learning. In NNs, problems such as classification discrimination are solved by computing non-linear functions in neurons, as illustrated in Figure 7. A classical NN network contains an input layer, one or more hidden layers, and an output layer. This structure represents the underlying multilayer perceptron (MLP) structure [30,31]. However, NNs face a challenge due to their fully connected network structure, which requires them to handle a large number of operations between their hidden layers. In the field of image recognition, NNs treat the data as a matrix vector and extract feature values from it. The feature vector is then passed to all the neurons in the next layer, which repeat the previous step until the data are passed to the output layer. This means that if we attempt to increase the number of image channels, the total number of pixels, or add new neurons to the hidden layer, the amount of computation required will increase significantly. As a result, the resulting increase in time and memory consumption is unacceptable. Compared to traditional NN, the CNN proposed by [PERSON] et al. addresses this problem to some extent [32, 33, 34]. In a CNN, not all neurons in the upper and lower layers are connected directly. Instead, they are partially connected through a medium known as 'convolutional kernels', which is added to the hidden layer. Simultaneously, a convolutional kernel is shared between neurons in the same layer, which retains the location information of features in the image. As the data are passed down the convolutional layer, the model extracts increasingly complex texture features. CNN is particularly effective in extracting local features from an image through convolution kernels, which can limit the number of parameters in the model. This makes CNN more suitable for the field of image recognition. In addition, CNN also includes pooling layers (also known as subsampling or downsampling), which reduce the dimensionality of the image by performing a streamlining operation (e.g., maximization, averaging, etc.) on the data within a certain region, retaining only the key information.  
There are numerous classical network structures in CNN (e.g., Inception [35] proposed by Google, etc.). The CNN employed in this paper is the classical VGG16 network structure [36], which belongs to a category of models that are built on the enhancements proposed by AlexNet [37]. Compared to AlexNet, the VGG network structure contains a greater number of convolution and pooling layers, utilizing smaller convolutional kernels such as \(3\times 3\) or \(1\times 1\). This enables the model to learn subtle differences in texture features during training, making it well-suited for extracting and distinguishing features among various cloud types. As shown in Figure 8, VGG16 consists of 16 convolutional layers and 5 pooling layers. Finally, the data are fed into a Fully Connected layer. Dropout layers [38] were added between the Fully Connected layers and Softmax layers as one of the methods to prevent overfitting of the model. The output of the final softmax layer corresponds  
Figure 6: Original image and processed images.  
to the probability distribution of the 10 classification categories. During training, Adam optimizers [39] were used, which limit the update step size to an approximate range, automatically adjust the learning rate, and have a good interpretation of the hyperparameters. In summary, the network was fed images of size 480 \(\times\) 480 as RGB trichrome channel values, and the output of the network corresponded to the probability distribution over 10 cloud genera labels.