A hierarchical temporal memory-based atmospheric data anomaly detector

The HTM model addresses the challenge of detecting valid but erroneous atmospheric data by processing encoded sensor data to generate anomaly scores, enhancing aviation safety through real-time anomaly detection and corrective actions.

JP2026502526APending Publication Date: 2026-01-23BAE SYSTEMS PLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025540498
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-01-11
Filing Date
2024-01-04
Publication Date
2026-01-23

AI Technical Summary

Technical Problem

Existing systems fail to accurately detect valid but erroneous atmospheric data, which can lead to aviation accidents, as humans struggle to maintain attention for long durations and machines lack cognitive recognition capabilities, while standard validity checks are inadequate.

Method used

A computer method using a hierarchical temporal memory (HTM) model processes encoded sensor data from aircraft to generate anomaly scores, identifying anomalies in real-time through a spatial pooler and temporal memory, and triggers alerts or corrective actions.

Benefits of technology

The HTM model effectively detects collective and contextual anomalies in atmospheric data, improving aviation safety by providing real-time alerts and enabling corrective actions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026502526000001_ABST
    Figure 2026502526000001_ABST
Patent Text Reader

Abstract

The present invention relates to detecting anomalies in air data, and more particularly, to using a hierarchical temporal memory model to detect anomalies. According to a first aspect of the present specification, a computer method for detecting anomalies in air data is described. The method includes receiving (402) a plurality of sets of sensor data from a plurality of aircraft sensors, each set of sensor data comprising sensor data associated with a respective time in a time series of the sensor data, encoding (404) the plurality of sets of sensor data to generate encoded representations of the plurality of sets of sensor data, each encoded representation corresponding to a respective time in the time series, sequentially inputting (406) the encoded representations of the plurality of sets of sensor data into a hierarchical temporal memory model, and processing (408) the encoded representations of the plurality of sensor sets through the hierarchical temporal memory model to generate one or more anomaly scores indicative of an anomaly in the air data.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to detecting anomalies in atmospheric data, and in particular to using hierarchical temporal memory models to detect anomalies. [Background technology]

[0002] The failure to recognize valid but erroneous data is a significant cause of multiple aviation accidents. Humans can cognitively recognize problems but cannot maintain the necessary attention for long durations, while machines, which can maintain attention, struggle to cognitively recognize valid but erroneous data. Standard validity checks compare data to allowed ranges or cross-compare multiple data sources to see if they match. However, valid but erroneous data passes through the former and can only be detected in the latter if multiple sources are available. Summary of the Invention

[0003] According to one aspect of the invention, a computer method for anomaly detection in air data is provided, the method comprising: receiving a plurality of sets of sensor data from a plurality of aircraft sensors; each set of sensor data comprising sensor data associated with a respective time in a time series of the sensor data; encoding the plurality of sets of sensor data to generate encoded representations of the plurality of sets of sensor data, each encoded representation corresponding to a respective time in the time series; sequentially inputting the encoded representations of the plurality of sets of sensor data into a hierarchical temporal memory model; and processing the encoded representations of the plurality of sensor sets through the hierarchical temporal memory model to generate one or more anomaly scores indicative of an anomaly in the air data.

[0004] This and other aspects of the invention can include one or more of the following features, either alone or in combination.

[0005] Encoding the plurality of sets of sensor data to generate coded representations of the plurality of sets of sensor data may comprise encoding respective sensor data from each sensor with a respective encoding scheme to generate, for each set of sensor data, multiple subsets of coded sensor data, and combining the multiple subsets of coded sensor data to generate the coded representation of the set of sensor data. Combining the multiple subsets of coded sensor data may comprise concatenating the multiple subsets of coded sensor data. The method may further comprise, for each set of sensor data, encoding a time variable of a time series, the time variable corresponding to a respective time in the time series associated with the set of sensor data, wherein combining the multiple subsets of coded sensor data to generate the coded representation of each set of sensor data further comprises combining the respective coded time variables.

[0006] The method may further comprise triggering an alert based on the anomaly score. Triggering an alert based on the anomaly score may comprise comparing the anomaly score to a threshold and triggering an alert if the threshold is exceeded.

[0007] The method may further comprise causing the aircraft to take corrective action based on the anomaly score.

[0008] The sets of sensor data from the aircraft sensors may be received as a stream, and the operations of encoding the sensor data, inputting the encoded representations into the hierarchical temporal memory model, and processing the encoded representations may be performed in real time as the sets of sensor data are received.

[0009] The method may further comprise updating the hierarchical temporal model based on the plurality of sets of sensor data using Hebb's law. Sets of sensor data classified as anomalous may be excluded from the updating process.

[0010] Processing the encoded representations of the plurality of sensor sets with the hierarchical temporal memory model to generate one or more anomaly scores indicative of anomalies in the atmospheric data may comprise predicting, using the hierarchical temporal memory model, a set of sensor data at a future time based on processing the encoded representations; receiving further sets of sensor data corresponding to the future time from the plurality of aircraft sensors; and comparing the received further sets of sensor data to the predicted set of sensor data to determine anomaly scores.

[0011] The set of multiple sensor data may comprise one or more of altitude rate, angle of attack, flight phase, true airspeed, and / or roll rate.

[0012] According to a further aspect of the present invention there is provided a computer program product comprising computer readable instructions which, when executed by a computer, cause the computer to perform one or more of the methods described herein.

[0013] According to a further aspect of the present invention, there is provided a system comprising a plurality of sensors, one or more processors, and a memory, the memory storing computer readable instructions that, when executed by the one or more processors, cause the system to perform any one or more of the methods disclosed herein.

[0014] According to a further aspect of the present invention, there is provided an aircraft comprising a plurality of sensors, one or more processors, and a memory, the memory storing computer readable instructions that, when executed by the one or more processors, cause the system to perform any one or more of the methods disclosed herein. [Brief explanation of the drawings]

[0015] Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which: [Figure 1]FIG. 1 shows a schematic diagram of an exemplary method for detecting anomalies in atmospheric data using a hierarchical temporal memory model. [Figure 2] FIG. 2 shows an example of an encoding scheme for a set of sensor data. [Figure 3] FIG. 3 shows a schematic diagram of an exemplary HTM model. [Figure 4] FIG. 4 shows a flow diagram of an exemplary method for anomaly detection in air data. [Figure 5] FIG. 5 shows a schematic diagram of an aircraft equipped with an anomaly detection system. [Figure 6] FIG. 6 shows a schematic diagram of a computer system. DETAILED DESCRIPTION OF THE INVENTION

[0016] This specification describes the use of a hierarchical temporal memory (HTM) model to recognize collective and contextual anomalies in atmospheric data such as airspeed, angle of attack, and lift. A stream of air data is fed into the HTM model, which processes it to generate an anomaly score for the input data. The anomaly score can be used to trigger an alert for the pilot / flight crew and / or to trigger corrective action.

[0017] Broadly speaking, there are three types of anomalies: (i) point anomalies, where an individual data instance may be considered anomalous relative to the rest of the data; (ii) contextual anomalies, where a data instance is anomalous in one or more specific contexts (but not otherwise); and (iii) aggregate anomalies, where a collection of related data instances is anomalous relative to the dataset. Valid but erroneous data is typically either a contextual anomaly or an aggregate anomaly, which can be difficult to identify using simple thresholding-based approaches. Examples in the aviation field include, but are not limited to: (i) an increase in airspeed being anomalous in the context of other information—an increase in airspeed that does not result in altitude gain despite all other factors remaining constant—and (ii) angle of attack (AoA) “freezing” at a single value. AoA typically exhibits slight noise and never freezes. Therefore, a collection of identical values ​​occurring together is anomalous.

[0018] 1 shows an overview of a method / system 100 for determining whether anomalies exist in atmospheric data using a hierarchical temporal memory (HTM) model. The method 100 may be implemented by one or more computers.

[0019] Multiple sets of sensor data are received (e.g., streamed) from multiple sensors 102 on the aircraft by an anomaly detection system 104. The anomaly detection system 104 comprises an encoder 106 configured to encode the multiple sets of sensor data into respective coded representations suitable for use with an HTM model 108. The anomaly detection system 104 further comprises an HTM model 108 configured to sequentially receive the coded representations of the sensor data as input and process them to generate one or more anomaly scores 110 indicating the presence (or absence) of an anomaly in the input sensor data. The process may be performed continuously as each set of sensor data is received, allowing anomalies to be detected in real time.

[0020] The multiple sensors 102 may each sample one or more corresponding air data parameters at a respective sampling frequency to collectively generate multiple sensor data sets, each sensor data set corresponding to sensor data captured within a particular time window (e.g., every second) or at a particular time. The sensor data captured by the sensors 102 may be streamed to an anomaly detection system.

[0021] As an example, the plurality of sensors may include one or more sensors configured to measure altitude rate. The altitude rate may be measured by a corresponding sensor at a frequency of 0.5 Hz to 10 Hz, e.g., 1 Hz or 4 Hz. Alternatively or additionally, the plurality of sensors may include one or more sensors configured to measure angle of attack (AoA). The AoA may be measured by a corresponding sensor at a frequency of 0.5 Hz to 10 Hz, e.g., 1 Hz or 4 Hz. Alternatively or additionally, the plurality of sensors may include one or more sensors configured to measure true airspeed and / or relative airspeed. The true airspeed and / or relative airspeed may be measured by a corresponding sensor at a frequency of 0.5 Hz to 10 Hz, e.g., 1 Hz or 4 Hz. Alternatively or additionally, the plurality of sensors may include one or more sensors configured to determine a flight phase of the aircraft, e.g., “pre-flight,” “taxi,” “takeoff,” “climb,” “cruise,” “approach,” “rollout,” and / or “unknown.” The flight phase may be determined by a corresponding sensor at a frequency between 0.5 Hz and 5 Hz, for example 1 Hz.

[0022] The encoder 106 is configured to encode the received sensor data into a coded representation, such as a sparse distributed representation (SDR). The encoder 106 may encode the sensor data collected in each sampling period along with a timestamp of the sampling period.

[0023] An SDR is a bit vector of 1s and 0s, where a set of active bits (e.g., 1s) encodes semantic attributes of what is being represented. Each bit in an SDR can represent a unique attribute of what is being represented by the SDR. Thus, if two SDRs have a 1 in the same position, it means that the objects or concepts being represented share that attribute.

[0024] In general, an SDR is defined by two properties: its size n, i.e., the number of bits in the SDR, and its cardinality w, i.e., the number of active bits in the SDR. Cardinality may be expressed as sparsity s, which indicates the fraction of active bits in the total number of bits in the SDR. Choosing n and w for an SDR is a balancing act between capacity and the likelihood that two different concepts will be encoded in exactly the same way.

[0025] In some implementations, the encoder 106 may encode each set of sensor data into a respective SDR and then concatenate the respective SDRs to generate a combined SDR for the received sensor data. An example of such an encoding process is described below in connection with FIG. 2.

[0026] The HTM model 108 receives each set of sensor data in sequence and processes it through a spatial pool 112 and a temporal memory 114 to generate an anomaly score for the set of sensor data conditioned on previously received sets of sensor data. Details of the HTM model are described in further detail below with respect to FIG. 3.

[0027] The spatial pooler (SP) 112 is the part of the HTM model 108 that handles the spatial aspects of the spatiotemporal capabilities provided by the HTM 108. Its role is to generate an input SDR for the temporal memory from a coded representation of sensor data, ensuring that input patterns that share many coactive neurons (i.e., are spatially similar) are grouped together into a common output representation. The SP models synaptic growth in proximal dendritic segments, essentially learning how output is generated from input for a single sample set, allowing it to generate a sparse representation that still retains the semantic knowledge contained in the input. An example of such a process is described in "The HTM Spatial Pooler—A Neocortical Algorithm for Online Sparse Distributed Coding" (Cui et al., Front Comput Neurosci. 2017 Nov 29;11:111), the contents of which are incorporated herein by reference.

[0028] The Temporal Memory (TM) 114 portion of the HTM model 108 has two primary purposes: first, to learn sequences of SDRs, allowing it to form a representation of the current SDR in the sequence that captures the temporal context given by the preceding input, and second, to use what it has learned to make predictions for the next input.

[0029] The predictions of the TM 114 may be used to calculate one or more anomaly scores 110 for each input set of sensor data, which may be used to determine whether that input contains an anomaly. The generation of the anomaly scores 110 is typically not a function of the TM 114, but in some implementations may be embedded within the TM 114.

[0030] The one or more anomaly scores 110 may be compared to one or more respective threshold score values ​​to determine whether an anomaly is present in the input sensor data. For example, if one or more anomaly scores 110 exceed a corresponding threshold, an anomaly is detected to be present in the sensor data. Detection of an anomaly may cause the system to trigger an alert to be sent to the aircraft crew indicating that an anomaly has been detected and, in some implementations, identifying the anomalous sensor data.

[0031] In some implementations, the anomaly score 116 may be used as a trigger for one or more further actions by the system. For example, based on the identified anomalous sensor data, the system may cause the aircraft to take corrective action.

[0032] 2 illustrates an example encoding scheme 200 for a set of sensor data. An encoder 202 can encode a set of sensor data comprising multiple subsets of sensor data 204a-e to generate an SDR 208 of the sensor data corresponding to a particular time. In the illustrated example, the subsets of sensor data comprise time variables 204a, t, angle of attack (AoA) 204b, true airspeed (TAS) 204c, altitude rate (ALTR) 204d, and phase of flight (PoF) 204e, corresponding to the time the set of sensor data was captured. It should be recognized that other examples are possible. Additionally or alternatively, the encoder 202 encodes each subset of the sensor data separately using a respective subset encoder 202a-e to generate a respective SDR 206a-e for each of them, which are then combined (e.g., by concatenation) to form an overall SDR 208 for the data set.

[0033] The time encoder 202a receives a time variable 204a as input and outputs a time SDR 206a representing the time. Typically, the time variable comprises the day, month, year, hour, minute, and second, for example in the format dd / mm / yyyy hh:mm:ss. However, since flights typically last less than a day, the date data can be ignored. The remaining time can be converted to a numeric representation using, for example, the following:

number

[0034] It has a minimum value of 0 and, for a 1 Hz sampling rate, a maximum value of 86,399. The time variable should also be circularly encoded to account for "wraparound" from 23:59:59. The time SDR 206a may have a resolution of 1 to 10 seconds, e.g., 5 seconds (i.e., time SDRs 206a representing times 204a separated by more than 5 seconds have no overlap, while values ​​within 5 seconds of each other have SDRs that may overlap to some extent based on their proximity). The time SDR 206a may have a sparsity between 0.01 and 0.05, e.g., 0.02.

[0035] The angle-of-attack (AoA) encoder 202b receives an AoA variable 204b as input and outputs an AoA SDR 206b. In principle, the AoA can range from minus 90 degrees to plus 90 degrees, but for commercial aircraft, it may be limited to a narrower range, for example, between minus 45 degrees and plus 45 degrees. The AoA SDR 206b may have a resolution of 0.25 to 1 degree, for example, 0.75 degrees (i.e., AoA SDRs 206b representing AoAs 204b separated by more than 0.75 degrees have no overlap, while values ​​within 0.75 degrees of each other have SDRs that may overlap to some extent based on their proximity). The AoA SDR 206b may have a sparsity of 0.01 to 0.05, for example, 0.02.

[0036] The airspeed (TAS) encoder 202c receives a TAS variable 204c as input and outputs a TAS SDR 206c. The TAS can range from zero to the aircraft's maximum speed, e.g., 500 knots. The TAS SDR 206c can have a resolution between 0.5 knots and 5 knots, e.g., 1 knot (i.e., TAS SDRs 206c representing TASs 204c separated by more than 1 knot have no overlap, and values ​​within 1 knot of each other have SDRs that may overlap to some extent based on their proximity). The TAS SDR 206c can have a sparsity of 0.01 to 0.05, e.g., 0.02.

[0037] The altitude rate (ALTR) encoder 202d receives the ALTR variable 204d as an input and outputs an ALTR SDR 206d. The ALTR during normal operation may range from approximately -2200 feet per minute to approximately 3700 feet per minute, while much larger values ​​may occur during an accident scenario. However, the presence of such large values ​​may indicate a problem in itself, and therefore the range of codable ALTR values ​​may be clipped. For example, the codable ALTR values ​​may range from -4000 to +4000 feet per minute. The ALTR SDR 206d may have a resolution of 5 to 25 feet per minute, e.g., 16 feet per minute (i.e., ALTR SDRs 206d representing ALTRs 204d separated by more than 16 feet per minute have no overlap, while values ​​within 16 feet per minute of each other have SDRs that may overlap to some extent based on their proximity). The ALTR SDR 206d may have a sparsity between 0.01 and 0.05, for example 0.02.

[0038] The Phase of Flight (POF) parameter 204e is a categorical parameter, as opposed to the continuous values ​​of the other variables mentioned above. Each phase is distinct, with no semantic similarity between them. Thus, the PoF 206e SDR may have a resolution of 1, i.e., there is no overlap in encoding the possible PoF values. In some embodiments, eight flight phases are used: 0 is unknown phase, 1 is pre-flight phase, 2 is taxi phase, 3 is takeoff phase, 4 is climb phase, 5 is cruise phase, 6 is approach phase, and 7 is rollout phase.

[0039] The SDRs 206a-e of the subsets of sensor data are combined to form an overall SDR 208 of the set of sensor data. For example, the SDRs 206a-e of the subsets of sensor data may be concatenated to form a one-dimensional SDR representation of the entire set of sensor data. This SDR 208 is used as an input to the HTM model.

[0040] 3 shows a schematic diagram of an exemplary HTM model 300. The input to the HTM model comprises an SDR 302 that encodes a set of sensor data captured by multiple sensors, which in this example is a one-dimensional array of bits where 0 bits are shown in white and 1 bits are shown in black.

[0041] The HTM model 300 includes multiple mini-columns 304, each including multiple cells 306. For illustrative purposes, there are six mini-columns 304, each with four cells 306, although other numbers of mini-columns 304 and cells may alternatively be used. For example, each mini-column may have between 4 and 15, e.g., 10, cells. The number of columns may be between 1000 and 3000 rows, e.g., 1638 columns.

[0042] Each mini-column 304 is associated with a proximal dendrite with one or more input synapses 308 connected to one or more elements of the input SDR 302. The proximal dendrite may provide feedforward input to each of the cells 306 in its corresponding mini-column 304. Each mini-column 304 is associated with a set of potential elements in the input SDR 302 (the mini-column's receptive field), with which it may potentially form input synapses 308. Each cell 306 has one or more distal dendrite segments (typically multiple distal dendrites), each with one or more synapses 310 (typically multiple synapses) connecting it to cells in other columns.

[0043] Spatial pooling is performed via proximal dendrites. An activation score for each column 304 is determined based on the number of active input synapses (i.e., synapses that connect to 1 input bits in the input SDR 302) of each column 304 and, in some implementations, a boosting factor. The column 304 with the strongest activation score is activated and inhibits the activation of nearby columns 304. Inhibition can be local or global. The set of active columns forms the SDR representation of the input SDR 302.

[0044] During learning, the persistence values ​​of input synapses 308 are adjusted based on whether they are activated. A synapse's persistence value defines whether it is connected; if it is above a threshold, the synapse is connected; if it is below the threshold, the synapse is not connected. Synapses connected to active bits (i.e., bit values ​​of 1) in the input SDR 302 are increased, and synapses connected to inactive bits (i.e., bit values ​​of 0) in the input SDR 302 are decreased. The rate at which the SP learns is defined by how quickly the persistence of the input synapses 308 increases or decreases. The increase rate may be different from the decrease rate. Typically, the decrease rate is at most half the increase rate. For example, the increase rate may be in the range [0.02, 0.06], e.g., 0.04. The decrease rate may be in the range [0.001 to 0.01], e.g., 0.006.

[0045] It is desirable for an SP to utilize as much of its available capacity as possible. To facilitate this, a feature known as "boosting" can be included within the SP algorithm. Boosting increases the persistence of "quiet" cells that would otherwise never reach a high enough persistence to contribute. A boost factor of 2 to 5, e.g., 3, can be used.

[0046] Temporal memory (TM) is implemented via distal dendrites. The number of cells 306 per mini-column 304 defines the length of sequences the TM can learn, or how far back in time it can look to establish the context of the most recent input SDR 302. Thus, choosing the number of cells per column is a matter of determining how much history to consider when trying to predict the next sequence entry.

[0047] Based on the active column determined in the SP phase, the TM determines the active state of cells 306 in the mini-column 304. For an active column, if any cells are in the predicted state from the previous input, those cells are activated. If no cells in an active mini-column are in the predicted state, all cells in that mini-column are activated. The active cells form the SDR of the current input in the context of the previous input.

[0048] The TM then determines the predicted state of cells 306 within the HTM. For each distal dendrite within the HTM, the TM determines whether the number of synapses within that dendrite linked to the active cell exceeds a threshold number. If so, the cell associated with that dendrite enters the predicted state unless it is already activated.

[0049] Like SPs, TMs learn using the "Hebbian" approach (Hebb, 1949), in which synaptic permanence is incremented or decremented based on the contribution the synapse makes to the computation. TM learning is configured by defining when and by how much permanence should be adjusted. Learning occurs when the number of active potential synapses exceeds a threshold. For example, when a distal dendrite in an HTM becomes active, synapses in the dendrite linked to the active cell increase their permanence, while synapses linked to inactive cells decrease their permanence. The threshold may be, for example, 5 to 20, e.g., 10. Persistence increments or decrements may be 0.05 to 0.5, e.g., 0.1, respectively.

[0050] The output of the TM can be a set of columns containing active or predicted cells, which can be interpreted as a prediction of the next SDR in the sequence of inputs.

[0051] Before use, an HTM can be "pre-trained" (i.e., trained) on a set of training data comprising flight data from actual flights. Artificial anomalies may be inserted into the training data to test the performance of the HTM model.

[0052] In some implementations, once trained, learning can be disabled. Disabling learning after training "locks" the model into a state where it can be evaluated and tested. This is desirable if the model is to be validated. However, doing so also stops the model from learning during operation.

[0053] In some implementations, learning can be enabled during operation: Because the set of scenarios a model may encounter is vast and nearly impossible to perfectly reproduce for training purposes, continuous "online" learning allows the model to learn and take into account such scenarios.

[0054] However, if multiple anomalies exist over an extended period of time, the HTM may learn the anomalous data as the "new normal" and stop classifying it as anomalous. To avoid this effect, in some implementations, continuous learning is disabled for anomalous sensor data, i.e., the HTM does not update its synaptic persistence if the input data is classified as anomalous.

[0055] 4 shows a flow diagram of an exemplary method for anomaly detection in air data. The method may be performed by one or more computers, for example, a computer functioning as an aircraft anomaly detection system.

[0056] At operation 402, a plurality of sensor data sets are received from a plurality of aircraft sensors. The plurality of sensor data sets may be received as sensor data streams from each of the plurality of sensors. Each sensor data set comprises sensor data from the plurality of sensors associated with a respective time at which the data was collected. The plurality of sensor data sets form a time series of sensor data captured by the sensors.

[0057] In operation 404, each set of sensor data is encoded to generate an encoded representation of the plurality of sets of sensor data.

[0058] The encoded representation of each sensor data set may be a sparse distributed representation (SDR) of the sensor data set.

[0059] Each sensor data set may comprise multiple subsets of sensor data, each corresponding to a particular parameter within the air data. Each subset of sensor data may be encoded into a respective SDR using its own encoding scheme. The SDR for a sensor data set may be generated by combining the SDRs for the subsets of sensor data, for example, by concatenation. A time variable corresponding to the capture time of the sensor data set may also be encoded and combined with the sensor data to form the overall SDR.

[0060] In operation 406, the coded representations of the multiple sensor data sets are sequentially input into a hierarchical temporal memory model.

[0061] In operation 408, the encoded representation is processed by a hierarchical temporal memory model to generate anomaly scores. Each set of sensor data is processed by the HTM model, conditioned on previous sets of sensor data input to the HTM. The HTM may predict the SDR of future sets of sensor data based on the SDR of the current set of sensor data and previously processed sensor data.

[0062] The anomaly score indicates the presence or absence of an anomaly in one or more sets of sensor data of the plurality of sets of sensor data. The anomaly score may be based on a comparison of the predicted SDR of the HTM model to a ground truth SDR of the corresponding set of sensor data.

[0063] The anomaly score may be compared to a threshold score. If the threshold score is exceeded, it is determined that an anomaly exists in the set of sensor data. A determination that an anomaly exists may trigger an alarm that is sent to the aircraft crew and / or transmitted to a remote monitoring system. In some implementations, a determination that an anomaly exists may alternatively or additionally trigger a corrective action (e.g., speed or flap adjustment) to be taken by the aircraft.

[0064] During use, the HTM model may be updated based on Hebb's law, i.e., the synaptic permanence of proximal and distal synapses may be incremented and decremented based on the input SDR. To prevent the HTM from learning anomalous data as the "new normal," the update process may exclude sets of sensor data that are classified as anomalous.

[0065] FIG. 5 shows a schematic diagram of an aircraft 500 equipped with an anomaly detection system. The anomaly detection system includes multiple sensors 502 that stream sensor data to one or more computing systems 504. The computing systems 504 process the streamed data to determine whether an anomaly exists, as described above in connection with FIGS. 1-4. If an anomaly is determined to exist, the anomaly detection system triggers an alarm / warning / anomaly indicator 506 for the aircraft crew. In some implementations, corrective action may be automatically triggered when an anomaly is detected.

[0066] 6 shows a schematic diagram of a computer system / apparatus 600 for performing any of the methods described herein. The system / apparatus 800 may be a distributed system.

[0067] The device (or system) 600 includes one or more processors 602. The one or more processors control the operation of the other components of the system / device 600. The one or more processors 602 may include, for example, a general-purpose processor. The one or more processors 602 may be single-core or multi-core devices. The one or more processors 602 may include a central processing unit (CPU) or a graphics processing unit (GPU). Alternatively, the one or more processors 602 may include dedicated processing hardware, such as a RISC processor or programmable hardware with embedded firmware. Multiple processors may be included.

[0068] The system / device includes a memory 604. The memory 604 may include working memory or volatile memory. One or more processors may access the volatile memory to process data and may control the storage of data in the memory. The volatile memory may include any type of RAM, for example, static RAM (SRAM), dynamic RAM (DRAM), or flash memory, such as an SD card.

[0069] The memory 604 may further comprise a non-volatile memory that stores a set of operating instructions in the form of computer-readable instructions for controlling the operation of the processor 602. The non-volatile memory may be any type of memory, such as a read-only memory (ROM), a flash memory, or a magnetic drive memory.

[0070] The one or more processors 802 are configured to execute operational instructions to cause the system / device to perform any of the methods described herein. The operational instructions may comprise code (i.e., drivers) associated with hardware components of the system / device 800 as well as code associated with basic operations of the system / device 800. Generally speaking, the one or more processors 802 execute one or more of the operational instructions stored permanently or semi-permanently in non-volatile memory and use volatile memory to temporarily store data generated during execution of the operational instructions.

[0071] Implementations of the methods described herein may be realized in digital electronic circuitry, integrated circuits, specially designed ASICs (application-specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These may include a computer program product (e.g., software stored on a magnetic or optical disk, a memory, a programmable logic device, etc.) comprising computer-readable instructions that, when executed by a computer such as that described in connection with FIG. 6, cause the computer to perform one or more of the methods described herein.

[0072] Any system features described herein may also be provided as method features, and vice versa. As used herein, means-plus-function features may alternatively be expressed in terms of their corresponding structure. In particular, method aspects may also apply to system aspects, and vice versa.

[0073] Furthermore, any, some, and / or all features of one aspect may be applied to any, some, and / or all features of any other aspect, in any appropriate combination. It is also understood that specific combinations of various features described and defined in any aspect of the invention may be implemented and / or provided and / or used independently.

[0074] While several embodiments have been shown and described, those skilled in the art will recognize that changes can be made to these embodiments without departing from the principles of the present disclosure, the scope of which is defined by the claims.

Claims

1. 1. A computer method for anomaly detection in atmospheric data, comprising: receiving a plurality of sets of sensor data from a plurality of aircraft sensors, each set of sensor data comprising sensor data associated with a respective time in a time series of the sensor data; encoding the plurality of sets of sensor data to generate coded representations of the plurality of sets of sensor data, each coded representation corresponding to a respective time in the time series; sequentially inputting the encoded representations of the plurality of sets of sensor data into a hierarchical temporal memory model; processing the encoded representation of the set of multiple sensors with a hierarchical temporal memory model to generate one or more anomaly scores indicative of anomalies in the atmospheric data.

2. Encoding the plurality of sets of sensor data to generate the encoded representation of the plurality of sets of sensor data includes, for each set of sensor data: encoding respective sensor data from each sensor with a respective encoding scheme to generate a plurality of subsets of encoded sensor data; and combining a plurality of subsets of the encoded sensor data to generate the encoded representation of the set of sensor data.

3. The method of claim 2 , wherein combining the multiple subsets of the encoded sensor data comprises concatenating the multiple subsets of the encoded sensor data.

4. For each set of sensor data, encoding a time variable of the time series, the time variable corresponding to the respective time in the time series associated with the set of sensor data; 4. The method of claim 2 or 3, wherein combining the multiple subsets of encoded sensor data to generate the encoded representation of each set of sensor data further comprises combining respective encoded time variables.

5. The method of claim 1 , further comprising triggering an alert based on the anomaly score.

6. Triggering an alert based on the anomaly score includes: comparing the anomaly score to a threshold; and triggering the alert if the threshold is exceeded.

7. The method of claim 1 , further comprising causing an aircraft to take corrective action based on the anomaly score.

8. 8. The method of claim 1, wherein the plurality of sets of sensor data from a plurality of aircraft sensors are received as a stream, and wherein the operations of encoding the sensor data, inputting the encoded representations into the hierarchical temporal memory model, and processing the encoded representations are performed in real time as the plurality of sets of sensor data are received.

9. The method of claim 1 , further comprising updating a hierarchical temporal model based on the plurality of sets of sensor data using Hebb's law.

10. The method of claim 9 , wherein a set of sensor data classified as anomalous is excluded from the update process.

11. processing the encoded representation of the set of multiple sensors with the hierarchical temporal memory model to generate one or more anomaly scores indicative of anomalies in the atmospheric data, predicting a set of sensor data at a future time based on the processing of the encoded representation using the hierarchical temporal memory model; and receiving a further set of sensor data from the plurality of aircraft sensors corresponding to the future time; and comparing the received set of further sensor data with the predicted set of sensor data to determine the anomaly score.

12. The method of claim 1 , wherein the plurality of sets of sensor data comprises one or more of altitude rate, angle of attack, flight phase, true airspeed, and / or roll rate.

13. A computer program product comprising computer readable instructions which, when executed by a computer, causes the computer to perform the method of any one of claims 1 to 12.

14. 1. A system comprising: A plurality of sensors; one or more processors; and a memory, the memory storing computer readable instructions that, when executed by the one or more processors, cause the system to perform the method of any one of claims 1 to 12.

15. An aircraft, A plurality of sensors; one or more processors; and a memory, the memory storing computer readable instructions that, when executed by the one or more processors, cause the system to perform the method of any one of claims 1 to 12.