L
L
LexFerdinand2022-03-01 14:42:18
Neural networks
LexFerdinand, 2022-03-01 14:42:18

How to improve my Convolutional Neural Network?

Good afternoon!
I am solving the problem of determining the location of a fault on a power line. For this I want to use a reconciliation neural network, however I'm having trouble.
Before describing the problems, I would like to explain the processes that underlie my task: two impulses appear on the power line at the fault location X, they propagate in both directions with the same and constant speed V and are reflected at the ends of the power transmission line and at the fault location (Fig. . one). The propagation time of these pulses along the transmission line is shown as green lines. I measure these pulses at the beginning of the line - the measured signal is shown on the left. As can be seen from fig. 1, there is a relationship between the distance X and the moments of occurrence of impulses in the signal, for example:
X=(t2-t1)*V/2 or X=(t4-t2)*V/2, etc., where V is the pulse propagation velocity. The longer the distance traveled by the impulse, the smaller its magnitude.
I want the convolutional neural network to learn how to determine the distance X.
621e06085524c418401022.png
I create a dataset by modeling the damage location X along the entire length of the line L with small steps. I get 12720 signals, 6360 I use for training, 3180 for validation and 3180 for test.
I convert each signal into an image. For this I use continuous wavelet transform: Haar wavelet and 8 levels of decomposition. An example is shown in Figure 2.
621e06199ec93675408089.png
I tried different configuration options for a convolutional neural network, now it looks like this:
621e062cb8ff3282373126.png
My learning parameters are stochastic gradient descent, 400 epochs, 1590 mini-batch size, 0.00001 learning rate.
The training result is poor, the root mean square error is 5 times larger than the step between the training data, which indicates that the network does not generalize the data, but tries to learn them. The validation error is not reduced.
621e063ce3da5444020956.png
I tried to change the training parameters, made the adam algorithm, used L2 regularization and drop-out, removed maxpooling, but I still can’t get the regression to be accurate and the network to be able to determine the location of damage at intermediate points. What can be changed in my network and in my source data to get a better result? Maybe use another way of forming a picture for training?

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question