Keywords

1 Introduction

The on-board ATP system generates a large amount of operational data during everyday operation. Due to the data are characterized by its large data volume, difficult in mining data relationships, unbalanced data distribution, manual analysis is complicated, and lack of intelligent analysis means [1]. Therefore, how to extract the safety constraints of operational data is of great significance for the safety analysis, fault diagnosis, fault prediction, and health management of on-board ATP systems, as well as for the work of safety assurance and operation maintenance.

The analysis methods for on-board ATP operation data are mainly based on existing fault data. By extracting the features of the fault data, matching and analyzing the operation data, the fault status of the system can be obtained [2,3,4,5]. However, there are few researches on the operational data analysis methods based on mining the system security constraints inside the normal operation data [6, 7].

This paper proposes a method based on normal on-board ATP operation data, which analyzes and extracts the changes in data states during train operation scenario processes, excavates the feature relationships between data states of various system variables, and extracts the safety constraints of on-board ATP operation data [8].

2 Convolutional Neural Network

2.1 Basic Concepts

Convolutional neural network is a kind of neural network widely used in image recognition, speech recognition and natural language processing. It is a feedforward neural network. CNN consists of input layer, convolutional layer, pooling layer, fully-connected layer and output layer. The basic structure of Convolutional neural network is shown in Fig. 1.

Fig. 1.
figure 1

Basic structure of convolutional neural network

2.2 Principle of Data Feature Extraction

Based on a series of convolution layers, CNN uses the convolution kernel as a filter to conduct convolution operations on the input data to extract features. It learns very important features in training, and adjusts them through the back-propagation algorithm to minimize the loss function, so that it can accurately capture meaningful features from the input data. These features are then fed to the full connection layer that performs classification or regression tasks [9]. The calculation formula for CNN convolution process is as follows:

$${{\text{Y}}}_{{\text{j}}}^{{\text{I}}}={\text{f}}(\sum_{{\text{j}}\in {\text{M}}}{{\text{Y}}}_{{\text{j}}}^{{\text{I}}-1}*{{\text{W}}}_{{\text{ij}}}^{{\text{I}}}+{{\text{B}}}_{{\text{j}}}^{{\text{I}}})$$
(1)

In the equation, \({{\text{Y}}}_{{\text{j}}}^{{\text{I}}}\) represents the feature graph of layer I; \({\text{f}}()\) represents the activation function; \({{\text{W}}}_{{\text{ij}}}^{{\text{I}}}\) is a convolutional kernel; \({{\text{B}}}_{{\text{j}}}^{{\text{I}}}\) is offset; I is the first layer of the network; J is the jth convolution; ‘*’ represents convolutional operation.

3 Method for Extracting Security Constraints from Running Data

From the perspective of periodic train operation on the line, under the condition of mechanical repeated operation, the operation data generated by the completion of a transit process of the line will form a data plane, and the characteristics of the data plane are always similar. The constraint condition for generating this similarity rule is the safety constraint condition of the on-board ATP operation data to be extracted in this paper. The following is a process analysis of the security constraint extraction method of on-board ATP operating data based on CNN.

3.1 Analysis of On-Board ATP System

Operation status division. According to the operation status of the on-board ATP system, it can be divided into three different operating states according to functional implementation, as shown in Table 1 below.

Table 1. Classification of operating states

Decomposition of operation process. Divide the train operation process into eight operation processes according to different scenarios, as shown in Table 2 below.

Table 2. Division of train operation process

The process of train operation during the main line cycle can be seen as a fixed combination of several operation processes, as shown in Fig. 2.

Fig. 2.
figure 2

Diagram of train operation process

3.2 Operation Data Processing and Modeling

Preliminary analysis of operational data. This article selects some relatively important on-board ATP data variables for analysis. Due to the fact that the numerical update cycle of each variable is 100 ms, some discrete data has high repeatability. If comprehensive extraction and analysis of the data is performed, it requires a large amount of computational resources and takes a long time, making it difficult to extract data features. Therefore, this paper extracts the change features of a single variable through data cross-section extraction, and preprocesses a large amount of operational data by expanding the dimensions of the data variables, simplifying the data scale, at the same time, it can ensure that the data features are fully preserved.

For the routine status function of on-board ATP, some key data variables in the on-board ATP operation log were selected for preliminary analysis of data status [10]. By analyzing the eight processes that make up the system operation, the changes in the status of system data variables under routine conditions are shown in Table 3.

Table 3. State changes of system data variables under conventional conditions

In Table 3, “–” represents a change in the data state in this scenario, for example, “0–1” represents a change in the variable state from 0 to 1 in the current scenario.

Operation data processing. The values of data variables correspond to the pre and post state data of each variable set during operation when there is a state change.

Discrete variable data extraction. For discrete variables, when a change in the discrete variable is identified at a certain time, the data section before and after the state change of the system variable at that time is extracted, and a new set of data variables is obtained by expanding the data dimension by adding speed (V), train position (Tp), and safety time scale (Ts) to the data variables.

The procedure for extracting data before and after changes in discrete variables is as follows:

%Obtain index of change time Change_ Idx=find (diff (x)~=0); %Extract the time of change and its pre and post data fprintf ('Change time:% f, data before change:% d, data after change:% d n ', change_time, before_data, after_data);

Continuous variable data extraction. For continuous variables such as MA, Op, NOW, EBIC, etc., there are also fixed frequency step changes. By extracting the data sections before and after the system variable changes when these continuous variables undergo step changes, we analyze them as an expanded dataset.

The procedure for extracting data before and after the step change of continuous variables is as follows:

%Set the size of the step change time window Window_ Size=3; %Determine whether the current variable has undergone a step change Diff_ X=diff (x); Idx=find (abs (diff_x)>=mean (abs (diff_x))+std (abs (diff_x)); %Extract data before and after changes fprintf ('Step change time:% f, data before step change:% s, data after step change:% s n ', change_time, mat2str (before_data), mat2str (after_data));

Continuous variables such as speed, train position, and safety time scale are continuously changing data and have strong correlations with other variables in the system. Therefore, when extracting other variables, this variable is also extracted for analysis.

Data normalization. Before extracting data and storing it in the database, it is necessary to normalize the data to ensure that the scale and range of data features are the same, thereby increasing the stability and training speed of the deep learning model. For ordered variables and continuous variables such as speed information, the minimum maximum normalization method is used to normalize the data. For continuous variables such as location information and safety time scales, standardized normalization methods are used to normalize the data.

Database establishment. In response to the situation where there may be no changes in the data state during the classification of the operation process and there are no extractable sections in this process, a pre selected section during the operation process is pre selected based on the train position. When there are no extractable sections in this operation process, the pre selected section data is included in the dynamic data model for analysis to ensure that there is corresponding section data for each operation process.

When the number of extracted data sections is inconsistent, it will have an effect on the training and prediction of the CNN model. By filling in the number of extracted data sections and copying the data sections during interval operation in the database, the database width is consistent. In this way, the data input by CNN has the same size of feature graphs after convolution operations, resulting in good consistency and expressiveness of the final prediction results.

Establishment of Dynamic Data Model. As a typical safety critical system, the function and structural scale of the on-board ATP system are relatively complex. Although this article only uses the data of the conventional state of the on-board ATP system as the modeling basis for the dynamic data model, due to the strong correlation between various data variables, it is difficult to accurately analyze and model the dynamic data model of the on-board ATP system using a single layer structure. Therefore, this article abstracts the dynamic data model of the on-board ATP system into a hierarchical model [11], which consists of three layers: the data layer Dat, the variable layer Var, and the judgment layer Jud. The formal description is as follows:

The data layer Dat can be represented by a 2-tuple to describe the data set containing the process of data variable changes, as shown in the following equation.

$${\text{Dat}}=\left({\text{Var}},{\text{P}}\right)$$
(2)

In the equation:

Var: The finite set that represent data variables in a regular state.

P: The finite set represent process information, p ∈ P, and the running path can correspond to the combination of a set of fixed regular processes.

The variable layer Var can be represented by a 4-tuple to describe a dataset containing variable state, speed, train position, and safety time scale state, as shown in the following equation.

$${\text{Var}}=({\text{S}},{\text{V}},{{\text{T}}}_{{\text{p}}},{{\text{T}}}_{{\text{s}}})$$
(3)

In the equation:

S: Represents a finite set of data variable state information.

V: Represents a finite set of speed information.

Tp: Represents a finite set of train location information.

Ts: Represents a finite set of security timescale information.

The judgment layer Jud refers to the condition that the state changes of data variables during operation meet the conditions for data cross-section extraction, as shown in the following equation.

$${\text{Jud}}={\text{f}}({\text{x}},{\text{s}})$$
(4)

\({\text{x}}\in {\text{Var}}\), \({\text{s}}\in {\text{S}}\), \({\text{f}}({\text{x}},{\text{s}})\) represents a judgment function for the state change of data variables, which determines whether the state change of data variables during operation meets the conditions for data section extraction.

3.3 Security Constraint Extraction Based on CNN

Convolutional neural network algorithm is used to analyze hierarchical dynamic data model. The steps to apply CNN to hierarchical dynamic data model analysis are as follows:

Step 1, Data preparation: Firstly, obtain data from the dynamic data model and convert it into a format that CNN can use. Construct a four dimensional tensor containing four channels by using the variable state, speed, train position, and safety time scale state of the data in the hierarchical dynamic data model as different feature attributes.

Step 2, Design a CNN network: The structural design of the CNN network is as follows:

Input layer: four dimensional tensor with size (batch_size, height, width, channels), where:

Batch_ Size: represents the size of the batch, which is the number of running routes included in the sample data.

Height: represents the number of data variables, that is, the number of variables contained in the variable layer Var.

Width: represents the length of the dynamic data model, which is the number of data sections extracted by the dynamic data model.

Channels: 4, which represents the number of channels during two dimensional convolution operations, that is, the variable state, speed, train position, and safety time scale state of the data are input into the CNN as four channels, with channels being 4.

Convolution layer: The convolution kernel is a four dimensional tensor of size (Convkernel_num, height, width, channels). A three dimensional tensor with multiple feature graphs is output. The size is (batch_size, feature_height, feature_width, feature_channels), where:

feature_height: represents the height of the feature graph.

feature_width: represents the width of the feature graph.

feature_channels: represents the number of feature graph channels.

Pooling layer: downsampling the feature graph using maximum pooling, preserving the most appropriate value, reducing the size of the feature graph, and outputting a new three dimensional tensor.

Fully connected layer: flatten the three dimensional tensor feature graphs output by the pooling layer into a one dimensional vector array for flattening processing, and transfer the feature vectors to the fully connected neural network for training and prediction.

Output layer: Outputs the predicted results of the model.

Step 3, Train CNN network: Use labeled training data for CNN network training. During training, CNN will learn features from the data and adjust them according to the given label to minimize the Loss function.

Step 4, Testing and validation: Test and validate the trained CNN network by predicting sample labels in the test dataset. Evaluate the performance of CNN by calculating the accuracy, recall, F1 score, and other indicators of the prediction results.

Through the above steps, apply the CNN network to the analysis of hierarchical dynamic data models, select models with better prediction performance, and extract safety constraints for on-board ATP operation data from them.

4 Conclusion

This paper introduces a method of extracting safety constraints of on-board ATP operation data based on Convolutional neural network. Aiming at the train routing operation law, the on-board ATP routing operation data generated by each train is abstracted into a data plane, which is extracted by judging the generated routing operation data according to the data variable state change conditions. Referring to the conventional methods of data processing such as image recognition, speech recognition and Natural language processing, the Convolutional neural network is used to analyze the operation data of on-board ATP equipment, and the security constraints in the operation data are extracted from it. In response to the complex, massive, and difficult to analyze characteristics of on-board ATP operation data, this method can effectively remove redundancy, streamline the scale of operation data, and retain key features of operation data. The data analysis theory based on CNN is relatively mature, which can effectively extract safety constraints of operation data.