## 2 Methods  
### CNN Model  
Convolutional neural network (CNN) is a well-known deep learning neural network which is characterized by weight matrix sharing and sparse connection, leading to lower model parameters and improved operational efficiency. This makes CNN ideal for recognizing microseismic waveforms induced by borehole HF in the coal seam, which has a large amount of data with low waveform signal-to-noise ratio (SNR). The convolution kernel gathers information by recognizing image pixels. Figure 1 below illustrates the convolution process. In the figure, the digit represents the pixel value of each point in the image, while the red part is the input image. The surrounding zeroes represent fill data, so the image size remains unchanged after convolution. The convolution kernel's depth is determined by the input image's depth during convolution, and both values are consistent. The number of convolution kernels determines the output image's depth after convolution, and both values remain consistent. In Figure 1, there are two convolution kernels, and the depth of each convolution kernel is three. There is only one input image with a depth of three, and one output image with a depth of two. The convolution kernel of each layer corresponds to the corresponding position of the image. The first layer's convolution kernel corresponds to the first layer's image, the second layer's convolution kernel corresponds to the lower two-layer images, and the third layer's convolution kernel corresponds to the third layer's image. The pixel value above the convolution kernel is dot-multiplied with the pixel value above the specific position of the image, and then added, resulting in the completion of a convolution operation and obtaining the pixel value at the corresponding position of the output image. After that, the convolution kernel continuously moves (usually with a step size of one) until the convolution operation of the entire image is completed. We used ResNet-10 and ResNet-50 models to train and test the data in the text and found that ResNet-10 had higher accuracy and lowest loss function in training and testing, so we chose the ResNet-10 model. The training process for this CNN model has two main parts: forward propagation of the waveform and error back propagation [44]. First, the waveforms propagate forward. Prior to training the CNN, initial parameters are set, including weight matrix \(W^{l}\) (parameters of the convolution kernel), Batch value, maximum Epoch, learning rate \(\eta\), bias value \(b\), and so on. The Batch value is a commonly used unit for updating model parameters, typically set to the NTH power of 2. After repeated debugging, the Batch value for this model is set to 128 based on its training effect. An Epoch means that all training data are trained once. When debugging the Batch value, it is found that the CNN's accuracy rate stops oscillating around the 25 th epoch and remains at an optimal level. To save computing resources, the maximum epoch for this model is set to 57. The learning rate influences the update speed of weight matrix \(W^{l}\) and offset value \(b^{l}\) (\(l\) represents the number of layers in CNN). If the learning rate is too large, the training error becomes larger and larger, and there is no trend of fitting. If the learning rate is too small, the gradient may disappear, which means the updating speed of the weight matrix is close to 0. Usually, in the early training, the learning rate is set to be large so that gradient descent can be carried out at a faster speed. In the later stages of training optimization, the value of the learning rate is gradually reduced, which helps the algorithm converge and make it easier to approach the optimal solution. Initial learning rate \(\eta\) of this model is set to 0.0005, and when the test accuracy rate does not improve for three consecutive times, learning rate \(\eta\) is reduced to half of the current value. Offset value \(b\) is set to 0.