## 3 SOH Estimation Methods
### Deep Learning Methods  
#### 3.2.1 Convolutional Neural Network (CNN)  
The CNN was inspired by the principle of recognizing objects in the brain's visual cortex [32]. A CNN often consists of convolutional, pooling, and fully connected layers. The main function of the convolutional layer is to obtain a feature map through the convolutional operation of the filter for the input. A convolutional layer often consists of a learnable kernel and bias. The kernel size corresponds to the filter size, and the kernel's depth corresponds to the number of channels in the feature map. The convolutional layer's input can be obtained through the inner product of the weight and cognitive domains and can be expressed by Equation (12).  
\[y_{l,j}^{conv}=\sum_{i=1}^{k}w_{i,j}^{l}*y_{l-1}^{pool}+b_{j}^{l} \tag{12}\]  
In Equation (12), \(y_{l,j}^{conv}\) represents the convolutional value of the \(j\)-th channel in convolutional layer \(l\), \(y_{l-1}^{pool}\) represents the \(i\)-th output of pooling layer \(l-1\), \(w_{i,j}^{l}\) represents the kernel of convolutional layer \(l\), \(b_{j}^{l}\) represents the bias of the \(j\)-th channel in convolutional layer \(l\), and \(*\) represents the convolutional operation.  
After the convolutional operation is completed, the value of the convolutional layer is calculated based on the activation function. The rectified linear unit (ReLU), which is an activation function, is commonly used for pattern recognition and shows excellent performance in accelerating the convergence and solving vanishing gradient problems. Therefore, the ReLU activation function is commonly used as an activation function for  
Figure 5: Result of DWT of reference discharge -RW09.  
the convolutional layer, and the output of the convolutional layer \(l\) can be expressed by Equation (13).  
\[y_{l,j}^{ReLU}=f\left(y_{l,j}^{conv}\right)=\max\left[0,y_{l,j}^{conv}\right] \tag{13}\]  
Here, \(y_{l,j}^{ReLU}\) represents the output of the \(j\)-th channel in convolutional layer \(l\), and \(f\left(y_{l,j}^{conv}\right)\) represents the activation function.  
After the convolutional layer operation, the pooling layer is often used to extract additional features. The pooling layer reduces the dimensions of the output of the previous layer. Therefore, the essential function of the pooling layer is to reduce the computation of the computer by reducing the volume of data. The pooling layer types include the max, average, logarithmic, and weight pooling layers. Among these, max pooling has the general advantage of speeding up convergence and improving generalization. The max pooling function is expressed as Equation (14).  
\[y_{l,j}^{pool}=\max(w(s_{1},s_{2})\cap y_{l-1,j}^{ReLU} \tag{14}\]  
Here, \(w((s_{1},s_{2}))\) represents the filter of the pooling layer, which can move to a specific step \(s_{1},s_{2}\) corresponds to the pooling layer dimensions, \(y_{-}l\),\({}^{ReLU}\) represents the output of the \(j\)-th channel in the convolutional layer, and \(\cap\) represents the overlap between the pooling layer and the channel output.  
In general, a CNN model includes multiple convolutional and pooling layers, which sequentially extract the feature points. The extracted feature points are converted into vectors and used as inputs to the fully connected layer. The main function of the fully connected layer is to extract additional features and connect them to the SoftMax classifier in the case of classification models and regression in the case of regression models. Fully connected layers often consist of two or three hidden layers, and all neurons of a hidden layer can be expressed by Equation (15).  
\[y=\sigma(\left(w_{f}\right)^{T}s_{m}+b_{f}) \tag{15}\]  
Here, \(w_{f}\) represents the weight matrix of the fully connected layer, \(b_{f}\) represents the bias, and \(\sigma(\left(w_{f}^{T}\right)s_{m}=b_{f})\) represents the fully connected function's activation function.