Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
NOVELTY DETECTION IN RAILWAY BOGIES
Document Type and Number:
WIPO Patent Application WO/2022/225506
Kind Code:
A1
Abstract:
Existing approaches to diagnostics and predictive maintenance using bogie sensors lack capabilities related to properly detecting and classifying anomalies, among other technical shortcomings. As described herein, anomalies can be detected on a bogie by an autoencoder that is trained on normal acceleration data from another bogie or train.

Inventors:
GIRSTMAIR BERNHARD LUKAS (AT)
ROSCA JUSTINIAN (US)
EROL BARIS (US)
ROSENBERGER MARTIN (AT)
Application Number:
PCT/US2021/028053
Publication Date:
October 27, 2022
Filing Date:
April 20, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS MOBILITY AUSTRIA GMBH (AT)
SIEMENS CORP (US)
International Classes:
B61L15/00; B61L27/57; G06N3/08; B61L23/04
Foreign References:
US20200290659A12020-09-17
US20190130279A12019-05-02
Other References:
TRILLA ALEXANDRE ET AL: "Developing a Hybrid Expert/Data-Driven Health Index for Railway Axleboxes Using Auto-Encoder Neural Networks", 2019 PROGNOSTICS AND SYSTEM HEALTH MANAGEMENT CONFERENCE (PHM-PARIS), IEEE, 2 May 2019 (2019-05-02), pages 179 - 184, XP033575572, DOI: 10.1109/PHM-PARIS.2019.00037
OLIVEIRA DAVID F N ET AL: "Evaluating Unsupervised Anomaly Detection Models to Detect Faults in Heavy Haul Railway Operations", 2019 18TH IEEE INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND APPLICATIONS (ICMLA), IEEE, 16 December 2019 (2019-12-16), pages 1016 - 1022, XP033719880, DOI: 10.1109/ICMLA.2019.00172
Attorney, Agent or Firm:
BRAUN, Mark E. (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A method comprising: collecting first acceleration data during a normal operation of a first train, the first acceleration data associated with at least one bogie of the first train; training an autoencoder with the first acceleration data; collecting second acceleration data during an operation of a second train, the second acceleration data associated with a second bogie of the second train; receiving, by the autoencoder, the second acceleration data; and based on the second acceleration data, the autoencoder detecting an abnormality associated with the second bogie.

2. The method as recited in claim 1, wherein detecting the abnormality further comprises: encoding the second acceleration data so as to define a latent representation of the second acceleration data; and decoding the latent representation so as to generate a reconstructed data output associated with the second acceleration data.

3. The method as recited in claim 2, wherein detecting the abnormality further comprises: making a comparison of the reconstructed data output to the second acceleration data; based on the comparison, determining a reconstruction loss; and determining that the reconstruction loss is greater than a predetermined threshold.

4. The method as recited in claim 1, the method further comprising: collecting third acceleration data during an operation of a third train, the third acceleration data associated with a third bogie of the third train; receiving, by the autoencoder, the third acceleration data; and based on the third acceleration data, the autoencoder determining that the operation of the third train is normal.

5. The method as recited in claim 4, wherein determining that the operation of the third train is normal comprises: encoding the third acceleration data so as to define a latent representation of the third acceleration data; and decoding the latent representation of the third acceleration data so as to generate a reconstructed data output associated with the third acceleration data.

6. The method as recited in claim 5, wherein determining that the operation of the third train is normal further comprises: making a comparison of the reconstructed data output to the third acceleration data; based on the comparison, determining a reconstruction loss; and determining that the reconstruction loss is less than a predetermined threshold.

7. The method as recited in claim 1, wherein the autoencoder is one of a plurality of autoencoders, and the at least one bogie is a plurality of bogies, the method further comprising: training each autoencoder of the plurality of autoencoders on a respective bogie of the plurality of bogies, such that one autoencoder is trained per bogie.

8. The method as recited in claim 1, wherein the autoencoder is one of a plurality of autoencoders, and the at least one bogie is one bogie that defines a plurality of physical regions, the method further comprising: training each autoencoder of the plurality of autoencoders on a respective physical region of the plurality of physical regions.

9. The method as recited in claim 1, wherein the acceleration data defines vibrational properties of one or more components within the at least on bogie of the first train.

10. A train system comprising: a plurality of first sensors configured to collect first acceleration data during a normal operation of a first train, the acceleration data associated with at least one bogie of the first train; a plurality of second sensors configured to collect second acceleration data during an operation of a second train, the second acceleration data associated with a second bogie of the second train; and an autoencoder communicatively coupled to the plurality of first sensors and the plurality of second sensors, the autoencoder configured to: receive the first acceleration data so as to be trained on the first acceleration data; receive the second acceleration data; and based on the second acceleration data, detect an abnormality associated with the second bogie.

11. The train system as recited in claim 10, wherein the autoencoder is further configured to: encode the second acceleration data so as to define a latent representation of the second acceleration data; and decode the latent representation so as to generate a reconstructed data output associated with the second acceleration data.

12. The train system as recited in claim 11, wherein the autoencoder is further configured to: make a comparison of the reconstructed data output to the second acceleration data; based on the comparison, determine a reconstruction loss; and determine that the reconstruction loss is greater than a predetermined threshold.

13. The train system as recited in claim 10, the train system further comprising: a plurality of autoencoders trained on a respective bogie of a plurality of bogies, such that one autoencoder is trained per bogie.

14. The train system as recited in claim 10, the train system further comprising: a plurality of autoencoders trained on a respective physical region of a plurality of physical regions of a respective bogie.

15. The train system as recited in claim 10, wherein the acceleration data defines vibrational properties of one or more components within the at least on bogie of the first train.

Description:
NOVELTY DETECTION IN RAILWAY BOGIES

BACKGROUND

[0001] A bogie is the wheel chassis of a train on which the train wagon rides. A typical train wagon or car has two bogies, although cars can have alternative numbers of bogies in some cases. Some bogie systems contain sensors to monitor the health of the bogie. For example, a bogie may have sensors to monitor the roundness of the wheels, the temperature of the axle box bearing and gearbox, shaft bending, resonances, oil temperature, oil level, and various vibration levels. The data collected by the sensor systems can be used to detect damage to the bogie system in its early stages before mechanical failures occur. Thus, modern trains can be equipped with sensors on the bogie to perform diagnostics and prognostics of components. Although some modern bogies include sensor systems that can collect data, there is often little data analysis collaboration among different sensor systems, such that conventional railway vehicles typically rely on preventative maintenance that is performed within certain time periods. Furthermore, it is recognized herein that existing approaches to diagnostics and predictive maintenance using bogie sensors lack capabilities related to properly detecting and classifying anomalies, among other technical shortcomings.

BRIEF SUMMARY

[0002] Embodiments of the invention address and overcome one or more of the described- herein shortcomings or technical problems by providing methods, systems, and apparatuses for modeling acceleration data associated with bogies, so as to detect anomalies during operation of trains. In an example aspect, first acceleration data is collected during a normal operation of a first train. The acceleration data is associated with at least one bogie of the first train. An autoencoder is trained with the acceleration data. In an example, second acceleration data is collected during an operation of a second train. The second acceleration data is associated with a second bogie of the second train. The autoencoder receives the second acceleration data. Based on the second acceleration data, the autoencoder can detect an abnormality associated with the second bogie. Thus, anomalies can be detected on a bogie by an autoencoder that is trained on normal acceleration data from another bogie or train. BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

[0003] The foregoing and other aspects of the present invention are best understood from the following detailed description when read in connection with the accompanying drawings. For the purpose of illustrating the invention, there is shown in the drawings embodiments that are presently preferred, it being understood, however, that the invention is not limited to the specific instrumentalities disclosed. Included in the drawings are the following Figures:

[0004] FIG. 1 shows an example system that includes a train having multiple bogies and bogie sensors in communication with a central computer system, in accordance with an example embodiment.

[0005] FIG. 2 illustrates an example computer system that can be defined by the central computer system or a bogie computer system, or a combination thereof, in accordance with an example embodiment.

[0006] FIG. 3 shows an example neural network that can be defined by the central computer system, wherein the autoencoder is configured to detect anomalies associated with bogies on trains.

[0007] FIG. 4 illustrates a computing environment within which embodiments of the disclosure may be implemented.

DETAILED DESCRIPTION

[0008] It is recognized herein that statistical classification models associated with bogie systems can enhance railway vehicle diagnostics and predictive maintenance. It is further recognized herein, however, that training such statistical classification models can be cost prohibitive or technically infeasible. For example, to train a given classification model, both normal (healthy) and abnormal (faulty) data may be required. Obtaining faulty data, however, can be cumbersome or, in some cases, not feasible. By way of example, obtaining or recording certain faulty data may require that expensive test rides of various railway vehicles are performed. In various embodiments described herein, bogie systems include models that are trained on healthy or normal data, such that those models can then classify faulty data as abnormal. Without being bound by theory, embodiments described herein can perform operations that enable condition-based predictive maintenance that offer significant cost savings, for example, because components can be used for a greater period of time than would otherwise be used, such as when healthy components are exchanged based on existing maintenance time periods. Furthermore, embodiments described herein can perform diagnostic operations, for instance diagnostic operations that include identifying an abnormality, that might not otherwise be performed using existing approaches.

[0009] Referring now to FIG. 1, an example system 100 can identify and diagnose anomalies related to operations of a railway vehicle or train 102. As used herein, railway vehicle or train can be used interchangeably without limitation. The system 100 can include the train 102 that includes one or more train cars 105, for instance a first train car 105a, a second train car 105b, and a third train car 105c, configured to run on a track 115. By way of example, the first train car 105a can define the front of the train 102, and the third train car 105c can define the rear of the train 102. It will be understood that the illustrated system 100 including the train 102 are simplified for purposes of example. Thus, the system 100 and the train 102 may vary as desired, and all such systems and trains are contemplated as being within the scope of this disclosure.

[0010] Still referring to FIG. 1, each train car 105 can include bogies 104, for instance a first or front bogie 104a and a second or rear bogie 104b opposite the first bogie 104a. Each bogie 104 can one or more sensors 106 configured to detect movement properties associated with the train 102. In particular, the sensors 106 can detect and collect data related to movement properties, among other properties, associated with the respective bogie 104 on which the sensor 106 resides. By way of example, the sensors 106 may include accelerometers configured to collect acceleration data, for instance vibrational properties, of various components within the respective bogie 104. In some cases, each bogie 104 can include multiple sensors that are communicatively connected to each other so as to define a bogie sensor network that is internal to a specific bogie 104. Each sensor network may include various sensors, such as, for example and without limitation, capacitive sensors, piezoelectric sensors, piezoresistive sensors, or Microelectromechanical systems (MEMS) sensors. It will be understood that that the number of sensors 106 on a given bogie 104 may vary as desired. In some cases, a given bogie 104 may include two or more sensors 106, for instance 20 or 30 sensors or more than 30 sensors 106. It will further be understood that the sensors 106 can be configured to collect various types of information associated with the bogie 104, such as, for example, speed, acceleration, temperature, humidity, vibration, or the like. The sensors 106 can define various accelerometers configured to collect raw data associated with vibrations or oscillations of the bogies 104, in particular various components within the bogies 104. Example components include, without limitation, springs of the bogies 104, wheels of the bogies 104, dampers, busing elements of the bogies 14, and bodies of the bogies 104. Thus, in various examples, data can be obtained from any component that influences vehicle or vibrational dynamics of the bogies 104. Such accelerometers that can obtain data can be configured to measure vibrations of various components in various directions, for instance a first or longitudinal direction D1 along which the train 102 travels, a second or lateral direction D2 that is substantially perpendicular to the first direction Dl, and a third or transverse direction D3 that is substantially perpendicular to both the first and second directions Dl and D2, respectively.

[0011] One or more of the train cars 105, for instance each train car, can define a bogie computer system 108 configured to collect sensor data from the sensor networks. In some cases, each bogie computer system 108 can be communicatively coupled to a central computing system 110 that be located on the train 102 or separate from the train 102, such as within a local area network (LAN) that is communicatively coupled to the train 102. A train control system 112 can also be located on the train 102, for instance within the first train car 105a. In some examples, the central computing system 110 defines the train control system 112.

Alternatively, the central computing system 110 can be separately located from, and communicatively computed to, the train control system (TCS) 112. The train control system 112 can perform various functions related to controlling the train operation. With respect to anomaly detection, the train control system 112 can receive anomaly detection messages from the bogie computer systems 108 and/or the central computing system 110.

[0012] In some examples, the central computing system 110 can be configured to receive data from multiple bogie computer systems from multiple trains. Thus, a railway computing system can include a plurality of bogie computer systems 108, the central computing system 110, and one or more traffic control systems 112. Based on the collected sensor data, the central computing system 110 and/or a given bogie computer system 108 can detect anomalies on the track or train. In some cases, each train defines a computer that receives raw data and extracts features from the raw data. The features and raw data can be from a short time period, so as to define snapshots of data. In some cases, the snapshots can be sent to the central computing system 110, which can be located on land, for further processing. [0013] With continuing reference to FIG. 1, the bogie computer systems 108 and the train control system 112 can be connected via communications network 114. The communication network 114 may utilize conventional transmission technologies including, for example, Ethernet and Wi-Fi to facilitate communications between the train cars 105. Each bogie computer system 108 may implement one or more transport layer protocols such as TCP and/or UDP. In some embodiments, the bogie computer system 108 includes functionality that allows the transport protocol to be selected based on real-time requirements or a guaranteed quality of service. For example, for near-real time communications UDP may be used by default, while TCP might be used for communications that have more lax timing requirements but require additional reliability.

[0014] Referring now to FIG. 2, the central computing system 110, the bogie computer system 108, or any combination thereof can define an example diagnosis computer system 200, in accordance with various embodiments. The example diagnosis computer system 200 can include various interfaces for receiving data from external systems. In particular, the diagnosis computer system 200 can include a bogie interface 210 configured to communicate with bogie sensor networks. For example, the bogie interface 210 can be configured to encode and decode sensor data, as necessary, and perform pre-processing that might be required for processing the bogie sensor data. In some examples, one or more networks can be connected to the diagnosis computer system 200 and the bogie sensor network. The diagnosis computer system 200 can include a network interface 220 configured to connect to other networks and other computing systems, for instance the train control system 112. The network interface 220 can implements the protocol(s) and performs any other tasks necessary to send and receive data via various network.

[0015] Continuing with reference to FIG. 2, the diagnostics computer system 200 can further include one or more processors 205 and a memory 215 storing a plurality of software programs executable by the processors 205. The memory 215 may be implemented using any non- transitory computer readable medium known in the art. The memory may include anomaly detection programs 215a, diagnostics programs 215b, and one or more other programs 215c. [0016] As further described herein, the anomaly detection programs 215a may include one or more neural networks or statistical machines (see FIG. 3) configured to detect track or train anomalies based on the sensor data collected by the bogie interface 210. The anomaly detection programs 215a may execute one or more algorithms that analyze data from the bogie sensor network and try to detect any irregularities, unexpected variances, or other anomalies in the data. If any anomalies are detected, the anomaly detection programs 215a may use the network interface 220 to send an anomaly detection message or alarm to the other systems of the train (e.g., using a broadcast or multicast message).

[0017] Based on available computational resources, the anomaly detection programs 215a can be executed with a sampling rate parameter that allows the sampling of bogie sensor data to be increased or decreased, as desired. For example, if the diagnostics computer system 200 receives a notification that a potential anomaly is located at a particular bogie, the sampling rate of the anomaly detection program 215a may be increased at that bogie. The diagnostics program 215b can perform general operations of the diagnosis computer system 200 and can manages execution of the programs in the memory 215.

[0018] Referring now to FIG. 3, the central computing system 110, for instance the diagnostics computer system 200, can define one or more neural networks or statistical classification models, for instance a deep learning model or autoencoder 300, that can be configured to predict maintenance of various components within the train 102, in particular within the bogies 104. In an example, the deep learning model 300 defines one or more recurrent neural networks, such as a long short-term memory (LSTM) network. It is recognized herein that, in some cases, training statistical classification models requires that different types of data, in particular health and faulty data, are input into the given model. It is further recognized herein that obtaining faulty data, in some cases, requires performing expensive test rides or is otherwise cost or time prohibitive. Thus, in accordance with various embodiments, the autoencoder 300 is trained with healthy data. For example, a given autoencoder can be trained on a new train or new bogie having new components, or a train that is otherwise known to operate properly. In some examples, only healthy data is input into the autoencoder 300 during training, such that it is not necessary to obtain faulty data to train the autoencoder 300. After the autoencoder 300 is trained, for example, data (e.g., acceleration data) can be sent to the autoencoder 300 from the bogie computer systems 108 for classification. Example classifications for the data that can be output from the autoencoder include normal (healthy) and anomalous or novel (faulty).

[0019] The autoencoder 300 can include a plurality of layers, for instance an input layer 302a configured to receive data, an output layer 303b configured to generate a reconstruction of the data or class scores associated with the data, and a plurality of intermediate layers connected between the input layer 302a and the output layer 303b. In an example, the intermediate layers and the input layer 302a can define an encoder 302. In some cases, the encoder 302 can include a plurality of convolutional layers. The intermediate layers and output layer 303b can define a decoder 303. In some cases, the decoder 303 can include one or more fully connected layers. The encoder 302 can include the input layer 302a configured to receive training and test data, such as acceleration data associated with the bogies 104. The encoder 302 can further include a final convolutional or last feature layer 302c, and one or more intermediate or second convolutional layers 302b disposed between the input layer 302a and the final convolutional layer 302c. It will be understood that the illustrated model 300 is simplified for purposes of example. In particular, for example, models may include any number of layers as desired, in particular any number of intermediate layers, and all such models are contemplated as being within the scope of this disclosure.

[0020] The decoder 303, which can include a first layer 303a and a second or output layer 303b, can include connections between layers that are fully connected. For example, a neuron in the first layer 303a may communicate its output to every neuron in the second layer 303b, such that each neuron in the second layer 303b will receive input from every neuron in the first layer 303a. It will again be understood that the model is simplified for purposes of explanation, and that the model 300 is not limited to the number or configuration of layers illustrated in the decoder 303. For example, the encoder 302 and the decoder 303 may include layers that are convolutional or fully connected. In contrast to fully connected layers, convolutional layers may be locally connected, such that, for example, the neurons in the intermediate layer 302b might be connected to a limited number of neurons in the final convolutional layer 302c. The convolutional layers 302 can also be configured to share connections strengths associated with the strength of each neuron.

[0021] Still referring to FIG. 3, the encoder 302, in particular the input layer 302a of the encoder 302, can be configured to receive input data 304, for instance acceleration data 304.

The decoder 303, in particular the output layer 303b of the decoder 303, can be configured to return a reconstructed output 306. The output 306 can indicate a classification associated with the input data 304, or a reconstruction of the input data 304. The encoder 302 can process the input data 304 to generate encoder outputs. In particular, a given encoder output can represent its corresponding input data in the latent space. Thus, the encoder 302 can include a neural network that receives an input and outputs its hidden (latent) representation. In particular, given input data 304 can define a first number of dimensions, and the encoder 302 can encode the data of the input data 304 into the encoder output (or latent representation) that defines a second number of dimensions that is less than the first number of dimensions. Thus, the encoder 302 can learn an efficient compression of the data of the input data 304 into the lower dimensional space of the data of the encoder output. The encoder output can define a data distribution that can be characterized by parameters, for instance a mean and standard deviation. Using the parameters, the latent activations can be sampled so as to define a decoder input. Using the decoder input that is based on the latent space or encoder output, the decoder 303 can reconstruct the input 104 so as to generate corresponding reconstructed data 306. In some examples, one or more of the sensors 106 may detect data associated with abnormal vibrations, which may be caused by a mechanical issue related to one or more physical components of a given bogie, or by conditions of the road or track 115. Such vibrations may result in a shift of the statistical distribution parameters, or the internal representation of the autoencoder 300, which are output from the encoder 302 of the autoencoder 300. Such change in parameters of the statistical distribution can also result in an increased reconstruction loss associated with the reconstructed data 306.

[0022] In some examples, the central computing system 110, in particular the autoencoder 300, can include a discriminator module 305 configured to receive the input data 304 and reconstructed data 306, and compare the reconstructed data 306 to the input data 304. By making such a comparison, the discriminator module 305 can compute a reconstruction error or loss. Additionally, or alternatively, based on the comparison the discriminator module 305 can determine whether the input data 304 defines a novelty or an anomaly. As used herein, unless otherwise specified, detecting a novelty or detecting an anomaly can be used interchangeably, without limitation. In particular, in some examples, the discriminator module 305 is configured to compare the reconstruction error to a threshold. For example, when the reconstruction error is greater than the threshold, the autoencoder 300 can generate a label 308 for the associated input data 304 that indicates that the data is anomalous (faulty). Continuing with the example, if the reconstruction error is less than the threshold, the autoencoder 300 can generate a label 308 for the associated input data 304 that indicates that the data is normal (healthy).

[0023] With respect to training the autoencoder 300, in accordance with some embodiments, the autoencoder 300 is trained only on non-anomalous (normal) historical data, for instance non-anomalous acceleration data collected from the sensors 106. As the autoencoder 300 is trained, the autoencoder 300 can learn the encoder 302 and the decoder 303, such that the encoder 302 and decoder 303 can efficiently encode and decode, respectively, normal data. Alternatively, in some cases, after training, the encoder 302 and decoder 303 can generate poor encodings and decodings, respectively, for abnormal (faulty) data. In an example, the quality of encodings and decodings, or outputs generated by the encoder 302 and decoder 303, can be measured based on the reconstruction error by using a mean square error criterion. For example, when the input data 304 is normal or healthy, the autoencoder 300 can generate a low reconstruction error, and when the input data 304 is abnormal or faulty, the autoencoder can generate high reconstruction loss. Thus, the autoencoder 300 can detect a fault or component failure based on the reconstruction loss associated with given input data 304. By way of example, the fault that the autoencoder 300 detects might relate to a worn out component, such as a dampener, spring, or bearing. Alternatively, or additionally, the fault that the autoencoder 300 detects might relate to a respective bogie itself. For example, the design or implementation of the bogie might be limited in some way, and the autoencoder 300 can identify such a limitation based on generating the hidden features and reconstructing the data.

[0024] In one example, a hyper parameter of an autoencoder 300 based on vertical features may define a reconstruction error having a median of 0.3, though the median may vary based on hyperparameters. In various examples, the autoencoder 300 is trained so as to maximize the margin between the reconstruction error of healthy data and the reconstruction error of faulty data. The threshold for a reconstruction error may vary, for instance based on the median or based on a particular fleet of trains, or the like. As described herein, the training of the model 300 can take place land side at the central computing system 110, and input for the training can include data from various trains and tracks, such that the reconstruction median can vary based on various trains and tracks.

[0025] In some examples, the central computing system 100, for instance the autoencoder 300, can define multiple autoencoders. In an example, multiple autoencoders are trained on different features associated with the bogies 104. Features can be randomly selected. In another example, each train car 105 or bogie 104 defines its own autoencoder, such that the system includes at least one statistical machine per train car 105 or bogie 104. Results from the different autoencoders can be combined and compared with each other, so as to increase assurance of the different autoencoders. For example, in some cases, results from the different autoencoders can be compared with each other to determine an abnormality that is associated with specific sensors 106. By way of example, if a sensor gets disconnected or otherwise malfunctions, the autoencoder or statistical machine coupled to that sensor can identify an abnormality associated with the sensor immediately because the autoencoder, in some cases, operates on the assumption that the input data is complete. Thus, in some cases, an autoencoder is not evaluated when a sensor is faulty or data is otherwise incomplete. In various examples, multiple autoencoders can be connected to each other by logic or a majority principle. By way of example, with respect to the majority principle, if three autoencoders are trained if the reconstruction error is above a threshold for two of the three autoencoders, an alarm or other indication of an abnormality can be provided.

[0026] In another example, the central computing system 100 includes multiple autoencoders 300 that are trained on and operate on different regions associated with the bogies 104. By way of example, bogies can define multiple physical regions of the train car 105, such as a right side, a left side, a leading wheelset, a trailing wheelset, or the like. In some cases, one or more autoencoders 300 obtain data from specific sensors 106 from specific regions, such that the one or more autoencoders learn parameters associated with specific regions. Thus, the autoencoders 300 can determine failures or abnormalities at specific regions, so as to localize various faults or abnormalities. As used herein, unless otherwise specified, autoencoders and statistical machines can be used interchangeably, without limitation. Further, it will be understood that autoencoders and statistical machines can be alternatively arranged so as to define various ensembles, and all such ensembles are contemplated as being within the scope of this disclosure. In some cases, the arrangement of autoencoders is based on the input regions. For example, if just features from sensors on the right side of a given bogie are used by a particular autoencoder, the autoencoder might be sensitive to particular faults.

[0027] As described herein, the autoencoders 300 can be configured to detect various abnormalities or novelties associated with respective trains or bogies. In some cases, when an abnormality is detected, the central computing system 110 and/or the bogie computer system 108 can generate output messages or alarms indicating the abnormality. The output messages or alarms can be sent to the train control system 112. The output messages or alarms may indicate a need for maintenance or a need for an inspection, for instance within a specific period of time. In some cases, for instance when the abnormality is associated with a critical fault, the output message or alarm may indicate that the train needs to be stopped or other immediate action needs to occur. [0028] It will be understood that the autoencoder 300 is presented as an example, and that various neural networks can be used as desired, and all such neural networks are contemplated as being within the scope of this disclosure.

[0029] Thus, as described herein, a train system can include a plurality of first sensors configured to collect first acceleration data during a normal operation of a first train. The acceleration data can be associated with at least one bogie of the first train. The train system can further include a plurality of second sensors configured to collect second acceleration data during an operation of a second train. The second acceleration data can be associated with a second bogie of the second train. Furthermore, the train system can include a neural network, for instance an autoencoder, communicatively coupled to the plurality of first sensors and the plurality of second sensors. The autoencoder can be configured to receive the first acceleration data so as to be trained on the first acceleration data. The autoencoder can also be configured to receive the second acceleration data, and based on the second acceleration data, detect an abnormality associated with the second bogie. Detecting the abnormality by the autoencoder can include encoding the second acceleration data so as to define a latent representation of the second acceleration data, and decoding the latent representation so as to generate a reconstructed data output associated with the second acceleration data. The autoencoder can further be configured to make a comparison of the reconstructed data output to the second acceleration data. Based on the comparison, a reconstruction loss can be determined, and the system can further determine that the reconstruction loss is greater than a predetermined threshold.

[0030] In some cases, the train system can collect more acceleration data, for instance third acceleration data during an operation of a third train. For example, the third acceleration data can be associated with a third bogie of the third train. The autoencoder can receive the third acceleration data, and based on the third acceleration data, the autoencoder can determining that the operation of the third train is normal (or abnormal). Determining that the operation of the third train is normal can include encoding the third acceleration data so as to define a latent representation of the third acceleration data, and decoding the latent representation of the third acceleration data so as to generate a reconstructed data output associated with the third acceleration data. Furthermore, determining that the operation of the third train is normal can also include making a comparison of the reconstructed data output to the third acceleration data. Based on the comparison, a reconstruction loss can be determined, and the system can further determine that the reconstruction loss is less than a predetermined threshold.

[0031] In some cases, the autoencoder is one of a plurality of autoencoders, and train system includes a plurality of bogies. In such cases, each autoencoder can be trained on a respective bogie of the plurality of bogies, such that one autoencoder is trained per bogie. Alternatively, or additionally, each bogie can define a plurality of physical regions, and each autoencoder can be trained on a respective physical region of the plurality of physical regions. In various examples, the acceleration data can define vibrational properties of one or more components within the at least on bogie of the first train.

[0032] FIG. 4 illustrates an example of a computing environment within which embodiments of the present disclosure may be implemented. A computing environment 500 includes a computer system 510 that may include a communication mechanism such as a system bus 521 or other communication mechanism for communicating information within the computer system 510 The computer system 510 further includes one or more processors 520 coupled with the system bus 521 for processing the information. The bogie computer system 108 and/or the central computer system 110 may include, or be coupled to, the one or more processors 520 [0033] The processors 520 may include one or more central processing units (CPUs), graphical processing units (GPUs), or any other processor known in the art. More generally, a processor as described herein is a device for executing machine-readable instructions stored on a computer readable medium, for performing tasks and may comprise any one or combination of, hardware and firmware. A processor may also comprise memory storing machine-readable instructions executable for performing tasks. A processor acts upon information by manipulating, analyzing, modifying, converting or transmitting information for use by an executable procedure or an information device, and/or by routing the information to an output device. A processor may use or comprise the capabilities of a computer, controller or microprocessor, for example, and be conditioned using executable instructions to perform special purpose functions not performed by a general purpose computer. A processor may include any type of suitable processing unit including, but not limited to, a central processing unit, a microprocessor, a Reduced Instruction Set Computer (RISC) microprocessor, a Complex Instruction Set Computer (CISC) microprocessor, a microcontroller, an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), a System-on-a-Chip (SoC), a digital signal processor (DSP), and so forth. Further, the processor(s) 520 may have any suitable microarchitecture design that includes any number of constituent components such as, for example, registers, multiplexers, arithmetic logic units, cache controllers for controlling read/write operations to cache memory, branch predictors, or the like. The microarchitecture design of the processor may be capable of supporting any of a variety of instruction sets. A processor may be coupled (electrically and/or as comprising executable components) with any other processor enabling interaction and/or communication there-between. A user interface processor or generator is a known element comprising electronic circuitry or software or a combination of both for generating display images or portions thereof. A user interface comprises one or more display images enabling user interaction with a processor or other device.

[0034] The system bus 521 may include at least one of a system bus, a memory bus, an address bus, or a message bus, and may permit exchange of information (e.g., data (including computer-executable code), signaling, etc.) between various components of the computer system 510. The system bus 521 may include, without limitation, a memory bus or a memory controller, a peripheral bus, an accelerated graphics port, and so forth. The system bus 821 may be associated with any suitable bus architecture including, without limitation, an Industry Standard Architecture (ISA), a Micro Channel Architecture (MCA), an Enhanced ISA (EISA), a Video Electronics Standards Association (VESA) architecture, an Accelerated Graphics Port (AGP) architecture, a Peripheral Component Interconnects (PCI) architecture, a PCI -Express architecture, a Personal Computer Memory Card International Association (PCMCIA) architecture, a Universal Serial Bus (USB) architecture, and so forth.

[0035] Continuing with reference to FIG. 4, the computer system 510 may also include a system memory 530 coupled to the system bus 521 for storing information and instructions to be executed by processors 520. The system memory 530 may include computer readable storage media in the form of volatile and/or nonvolatile memory, such as read only memory (ROM) 531 and/or random access memory (RAM) 532. The RAM 532 may include other dynamic storage device(s) (e.g., dynamic RAM, static RAM, and synchronous DRAM). The ROM 531 may include other static storage device(s) (e.g., programmable ROM, erasable PROM, and electrically erasable PROM). In addition, the system memory 530 may be used for storing temporary variables or other intermediate information during the execution of instructions by the processors 520. A basic input/output system 533 (BIOS) containing the basic routines that help to transfer information between elements within computer system 510, such as during start-up, may be stored in the ROM 531. RAM 532 may contain data and/or program modules that are immediately accessible to and/or presently being operated on by the processors 520. System memory 530 may additionally include, for example, operating system 534, application programs 535, and other program modules 536. Application programs 535 may also include a user portal for development of the application program, allowing input parameters to be entered and modified as necessary.

[0036] The operating system 534 may be loaded into the memory 530 and may provide an interface between other application software executing on the computer system 510 and hardware resources of the computer system 510. More specifically, the operating system 534 may include a set of computer-executable instructions for managing hardware resources of the computer system 510 and for providing common services to other application programs (e.g., managing memory allocation among various application programs). In certain example embodiments, the operating system 534 may control execution of one or more of the program modules depicted as being stored in the data storage 540. The operating system 534 may include any operating system now known or which may be developed in the future including, but not limited to, any server operating system, any mainframe operating system, or any other proprietary or non-proprietary operating system.

[0037] The computer system 510 may also include a disk/media controller 543 coupled to the system bus 521 to control one or more storage devices for storing information and instructions, such as a magnetic hard disk 541 and/or a removable media drive 542 (e.g., floppy disk drive, compact disc drive, tape drive, flash drive, and/or solid state drive). Storage devices 540 may be added to the computer system 510 using an appropriate device interface (e.g., a small computer system interface (SCSI), integrated device electronics (IDE), Universal Serial Bus (USB), or FireWire). Storage devices 541, 542 may be external to the computer system 510.

[0038] The computer system 510 may also include a field device interface 565 coupled to the system bus 521 to control a field device 566, such as a device used in a production line. The computer system 510 may include a user input interface or GUI 561, which may comprise one or more input devices, such as a keyboard, touchscreen, tablet and/or a pointing device, for interacting with a computer user and providing information to the processors 520.

[0039] The computer system 510 may perform a portion or all of the processing steps of embodiments of the invention in response to the processors 520 executing one or more sequences of one or more instructions contained in a memory, such as the system memory 530. Such instructions may be read into the system memory 530 from another computer readable medium of storage 540, such as the magnetic hard disk 541 or the removable media drive 542. The magnetic hard disk 541 (or solid state drive) and/or removable media drive 542 may contain one or more data stores and data files used by embodiments of the present disclosure. The data store 540 may include, but are not limited to, databases (e.g., relational, object-oriented, etc.), file systems, flat files, distributed data stores in which data is stored on more than one node of a computer network, peer-to-peer network data stores, or the like. The data stores may store various types of data such as, for example, skill data, sensor data, or any other data generated in accordance with the embodiments of the disclosure. Data store contents and data files may be encrypted to improve security. The processors 520 may also be employed in a multi-processing arrangement to execute the one or more sequences of instructions contained in system memory 530. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.

[0040] As stated above, the computer system 510 may include at least one computer readable medium or memory for holding instructions programmed according to embodiments of the invention and for containing data structures, tables, records, or other data described herein. The term “computer readable medium” as used herein refers to any medium that participates in providing instructions to the processors 520 for execution. A computer readable medium may take many forms including, but not limited to, non-transitory, non-volatile media, volatile media, and transmission media. Non-limiting examples of non-volatile media include optical disks, solid state drives, magnetic disks, and magneto-optical disks, such as magnetic hard disk 541 or removable media drive 542. Non-limiting examples of volatile media include dynamic memory, such as system memory 530. Non-limiting examples of transmission media include coaxial cables, copper wire, and fiber optics, including the wires that make up the system bus 521. Transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.

[0041] Computer readable medium instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.

[0042] Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may be implemented by computer readable medium instructions.

[0043] The computing environment 500 may further include the computer system 510 operating in a networked environment using logical connections to one or more remote computers, such as remote computing device 580. The network interface 570 may enable communication, for example, with other remote devices 580 or systems and/or the storage devices 541, 542 via the network 571. Remote computing device 580 may be a personal computer (laptop or desktop), a mobile device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer system 510. When used in a networking environment, computer system 510 may include modem 572 for establishing communications over a network 571, such as the Internet. Modem 572 may be connected to system bus 521 via user network interface 570, or via another appropriate mechanism.

[0044] Network 571 may be any network or system generally known in the art, including the Internet, an intranet, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a direct connection or series of connections, a cellular telephone network, or any other network or medium capable of facilitating communication between computer system 510 and other computers (e.g., remote computing device 580). The network 571 may be wired, wireless or a combination thereof. Wired connections may be implemented using Ethernet, Universal Serial Bus (USB), RJ-6, or any other wired connection generally known in the art. Wireless connections may be implemented using Wi-Fi, WiMAX, and Bluetooth, infrared, cellular networks, satellite or any other wireless connection methodology generally known in the art. Additionally, several networks may work alone or in communication with each other to facilitate communication in the network 571.

[0045] It should be appreciated that the program modules, applications, computer-executable instructions, code, or the like depicted in FIG. 4 as being stored in the system memory 530 are merely illustrative and not exhaustive and that processing described as being supported by any particular module may alternatively be distributed across multiple modules or performed by a different module. In addition, various program module(s), script(s), plug-in(s), Application Programming Interface(s) (API(s)), or any other suitable computer-executable code hosted locally on the computer system 510, the remote device 580, and/or hosted on other computing device(s) accessible via one or more of the network(s) 571, may be provided to support functionality provided by the program modules, applications, or computer-executable code depicted in FIG. 4 and/or additional or alternate functionality. Further, functionality may be modularized differently such that processing described as being supported collectively by the collection of program modules depicted in FIG. 4 may be performed by a fewer or greater number of modules, or functionality described as being supported by any particular module may be supported, at least in part, by another module. In addition, program modules that support the functionality described herein may form part of one or more applications executable across any number of systems or devices in accordance with any suitable computing model such as, for example, a client-server model, a peer-to-peer model, and so forth. In addition, any of the functionality described as being supported by any of the program modules depicted in FIG. 4 may be implemented, at least partially, in hardware and/or firmware across any number of devices.

[0046] It should further be appreciated that the computer system 510 may include alternate and/or additional hardware, software, or firmware components beyond those described or depicted without departing from the scope of the disclosure. More particularly, it should be appreciated that software, firmware, or hardware components depicted as forming part of the computer system 510 are merely illustrative and that some components may not be present or additional components may be provided in various embodiments. While various illustrative program modules have been depicted and described as software modules stored in system memory 530, it should be appreciated that functionality described as being supported by the program modules may be enabled by any combination of hardware, software, and/or firmware. It should further be appreciated that each of the above-mentioned modules may, in various embodiments, represent a logical partitioning of supported functionality. This logical partitioning is depicted for ease of explanation of the functionality and may not be representative of the structure of software, hardware, and/or firmware for implementing the functionality. Accordingly, it should be appreciated that functionality described as being provided by a particular module may, in various embodiments, be provided at least in part by one or more other modules. Further, one or more depicted modules may not be present in certain embodiments, while in other embodiments, additional modules not depicted may be present and may support at least a portion of the described functionality and/or additional functionality. Moreover, while certain modules may be depicted and described as sub-modules of another module, in certain embodiments, such modules may be provided as independent modules or as sub-modules of other modules.

[0047] Although specific embodiments of the disclosure have been described, one of ordinary skill in the art will recognize that numerous other modifications and alternative embodiments are within the scope of the disclosure. For example, any of the functionality and/or processing capabilities described with respect to a particular device or component may be performed by any other device or component. Further, while various illustrative implementations and architectures have been described in accordance with embodiments of the disclosure, one of ordinary skill in the art will appreciate that numerous other modifications to the illustrative implementations and architectures described herein are also within the scope of this disclosure. In addition, it should be appreciated that any operation, element, component, data, or the like described herein as being based on another operation, element, component, data, or the like can be additionally based on one or more other operations, elements, components, data, or the like. Accordingly, the phrase “based on,” or variants thereof, should be interpreted as “based at least in part on.” [0048] Although embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that the disclosure is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing the embodiments. Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments could include, while other embodiments do not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements, and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements, and/or steps are included or are to be performed in any particular embodiment.

[0049] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.