EP4662592A1 - Processing sequences of data points - Google Patents
Processing sequences of data pointsInfo
- Publication number
- EP4662592A1 EP4662592A1 EP23920979.4A EP23920979A EP4662592A1 EP 4662592 A1 EP4662592 A1 EP 4662592A1 EP 23920979 A EP23920979 A EP 23920979A EP 4662592 A1 EP4662592 A1 EP 4662592A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- cell
- lstm
- data
- stream
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Definitions
- This disclosure relates to methods, nodes and systems in a communications network. More particularly but non-exclusively, the disclosure relates to processing a sequence of data points using a Long Short-Term Memory, LSTM.
- 5G Fifth Generation
- Service providers are gearing up to address varied enterprise models, such as ultra-reliable low-latency communication (URLLC), enhanced mobile broadband (eMBB), and massive machine type communication (mMTC).
- URLLC ultra-reliable low-latency communication
- eMBB enhanced mobile broadband
- mMTC massive machine type communication
- Telecoms anomalies can be related to factors such as network performance, security breaches or fraud and can occur anywhere in a multitude of Telecoms processes.
- One such area is telecoms invoice anomalies.
- a periodic bill is a regular billing process, but all other bills or bill requests result in a deviation from the standard process – and may result in anomalies.
- Telecoms invoices represent one of the most complex types of invoices generated in any industry.
- Convergent Billing makes it possible to have a single bill for multi-play contract(s) with cross-promotions and volume discounts, which can make billing an even more challenging task.
- customer organizations have a setup where different departments have different invoice and payment responsibilities which also complicates the billing process.
- the volumes of multi-variate data relevant to the billing process in telecoms is often very high, and as a result it can take many hours to process.
- billing errors lead to billing disputes, and this is one of the leading causes of customer churn. Fixing billing errors has a significant cost and time impact on service provider financials. Most service providers have a mix of manual and/or automated processes to detect invoice anomalies.
- invoice anomalies were categorized into three types: point, contextual, and collective.
- point, contextual, and collective By analyzing the different types of invoices and their content (e.g., amounts and service usage patterns), it is possible to detect potential issues before the invoice is sent to customers. Suspicious invoices can be detected, prompting billing teams to run checks and determine if there’s an issue. This should be done before the customer receives an anomalous invoice.
- ML can also identify non-compliant behaviours more easily with hidden patterns that are difficult for humans to identify.
- ML there are generally two categories of problems based on the number of variables used to make predictions: univariate (one variable) or multivariate (two or more variables).
- Most common analyses are multivariate due to the complexity of the billing process.
- this process is used to address the anomaly detection problem, specifically when the characteristics of the anomalies are well known.
- ELINAC Electronic Invoices Autoencoder Clustering
- LSTM Long-Short-term Memory
- LSTM cells are used to find anomalies in telecoms data such as invoices.
- LSTM networks excel at finding complex relationships in multivariate time series data.
- the drawback here is it may take more time to process the large data volumes associated with invoices and/or other telecoms data.
- LSTM networks It is an object of embodiments herein to reduce processing time associated with using LSTM networks. It is further an object of embodiments herein to reduce the processing time associated with the use of LSTM networks to process large time series of data points such as those associated with detecting anomalies in large volumes of sequential data, such as the data involved in invoicing in the telecoms industry.
- LSTM Long Short-Term Memory
- the method comprises retrieving a first portion of a cell state of the LSTM cell from a resilient data store, RDS, and holding the first portion of the cell state in a stream-based memory, for use as input to the LSTM cell in a first iteration of a first data point through the LSTM cell.
- a computer program comprising instructions which, when executed on at least one processor, cause the at least one processor to: initiate a Long Short-Term Memory, LSTM, cell; and initiate a stream-based memory for use by the LSTM in transferring a cell state of the LSTM cell between the stream-based memory and a Resilient Data Store, RDS.
- an apparatus for processing a sequence of data points using a Long Short-Term Memory, LSTM, cell in an iterative manner on each data point in the sequence.
- the apparatus comprises a memory comprising instruction data representing a set of instructions and a processor configured to communicate with the memory and to execute the set of instructions.
- the set of instructions when executed by the processor, cause the processor to retrieve a first portion of a cell state of the LSTM cell from a resilient data store, RDS, and hold the first portion of the cell state in a stream-based memory, for use as input to the LSTM cell in a first iteration of a first data point through the LSTM cell.
- a computer program comprising instructions which, when executed on at least one processor, cause the at least one processor to carry out the method of the first aspect.
- a carrier containing a computer program according to the fourth aspect wherein the carrier comprises one of an electronic signal, optical signal, radio signal or computer readable storage medium.
- a computer program product comprising non transitory computer readable media having stored thereon a computer program according to the fourth aspect.
- the aspects above utilise customized LSTM cells having a stream-based flexible data store that is internal to the cell.
- This data store sends the cell state from an RDS as a stream that is needed on demand rather than loading the whole context.
- This significantly reduces memory consumption of the LSTM cell enabling the LSTM cell to process large datasets at high speed.
- the proposed memory and LSTM cell architectures herein therefore provide improved processing speeds for processing time-sequence data.
- the aspects described above, when applied to billing information may provide enhanced AI assisted methods for billing anomaly detection/prediction.
- the anomaly detection processes herein are adaptable through the use of learning in order to identify new errors and/or error types which is advantageous in an ever-changing communications network.
- Fig.1 shows a prior art configuration of an LSTM network
- Fig.2 shows an apparatus according to some embodiments herein
- Fig. 3 shows a stream-based memory architecture according to some embodiments herein
- Fig.4 shows a method according to some embodiments herein
- Fig.5 shows a LSTM network according to some embodiments herein
- Fig.6 shows a LSTM network according to some embodiments herein
- Fig.7 shows a signal diagram according to some embodiments herein
- Fig.1 shows a prior art configuration of an LSTM network
- Fig.2 shows an apparatus according to some embodiments herein
- Fig. 3 shows a stream-based memory architecture according to some embodiments herein
- Fig.4 shows a method according to some embodiments herein
- Fig.5 shows a LSTM network according to some embodiments herein
- Fig.6 shows a LSTM network according to some embodiments herein
- Fig.7 shows a signal diagram according to some
- LSTM networks which are a type of ML model adapted for processing time sequences of data.
- LSTMs are a complex area of deep learning.
- LSTM networks are a type of recurrent neural network capable of learning order dependence in sequence prediction problems.
- LSTMs can solve numerous tasks not solvable by previous learning algorithms for recurrent neural networks (RNNs).
- RNNs recurrent neural networks
- a LSTM network may be trained to take successive data points in a sequence and predict the next data point in the sequence.
- the general purpose of LSTM is to address the vanishing gradient problem associated with RNNs.
- LSTM introduces two memory cells to avoid the above-mentioned deadlock in RNNs, and they are the Cell State (Long Term Memory) and the Hidden State (Cell State from previous iteration). LSTM also introduced the concept of gates to update and remove information from the cell state.
- the three gates in the LSTM architecture are the Input Gate, the Output Gate and the Forget gate.
- An LSTM network takes three inputs: i) the input data 102, e.g.
- the cell state 104 may be referred to as the long-term memory of the LSTM and contains information or “learnings” from previous data points in the series that have been deemed useful for making predictions about future data points in the series.
- the hidden state 106 or short term memory contains information or “learnings” from the previous timestamp.
- the LSTM architecture contains three “gates” each containing a sigmoid function. Forget Gate 108 has a first sigmoid function 110 that takes as input the previous hidden state 106 and current data point 102 (e.g.
- a second gate known as the Input Gate 112 has a second sigmoid function 114 that uses the hidden state 106 and cell state 104 to forget, if the information is not relevant to the context.
- the third gate, Output Gate 118 uses a third sigmoid function 120 that uses the hidden state 106 and the cell state to determine the next hidden state 126 that is used as input to the LSTM to process the next datapoint in the sequence.
- the other outputs are the updated cell state 124 and the output prediction of the next datapoint in the sequence 122.
- Forget Gate The forget gate is used to decide whether the information from the previous timestamp should be transferred to the cell state, or forgotten.
- LSTM networks may be used to pick out anomalies in a sequence of data points.
- the basic idea of anomaly detection with LSTM networks involves using the LSTM to predict a new data point (e.g. the next data point) from the previous values in a sequence of data points.
- LSTMs are able to learn trends on a granular level, e.g. in the example of telecoms data, an LSTM may be able to learn trends over time on per customer and per region basis. For reliable anomaly detection, LSTMs may advantageously learn variability on a range of different timescales e.g. hourly, daily, weekly, monthly etc. As described above in the background, one area where LSTMs may be used for anomaly detection is in telecoms data, where they may be used for tasks such as anomaly detection in invoices.
- Invoice generation uses large amounts of sequential data, and each data point in the sequential data carries context information. Hence the cell state is regularly updated with the new context information. This consumes huge amount of memory to process and execute the cell state. As such, LSTMs lack memory optimization and the in-memory usage can become extremely turbulent.
- LSTMs lack memory optimization and the in-memory usage can become extremely turbulent.
- RDS Resilient Data Store
- the stream-based memory transfers data (cell state information) from the cell to the RDS and retrieves the data (e.g. the portion of the cell state) needed for each iteration through the LSTM before the iteration is performed.
- LSTMs This allows only the data needed at any point to be held in memory (rather than the full cell state), and this reduces memory usage and increases processing speeds.
- LSTMs to be used to processes larger datasets that would otherwise have high memory overheads.
- the large datasets used to create invoices in telecoms may be processed using the improved architecture herein in order to detect anomalous bills, thus improving the speed at which billing data may be processed and verified.
- the architecture herein may be used to efficiently process other large datasets using LSTMs.
- Other examples include but are not limited to, other anomaly detection processes in telecoms, such as security, where an LSTM may be used to predict anomalies such as vulnerabilities or systems failures in the communications network.
- the methods described herein may be performed by an apparatus such as the apparatus 200 shown in Fig. 2.
- the apparatus 200 is configured (e.g. adapted, operative, or programmed) to perform any of the embodiments of the method 300 as described below.
- the apparatus 200 may comprise one or more virtual machines running different software and/or processes.
- the apparatus 200 may therefore comprise one or more servers, switches and/or storage devices and/or may comprise cloud computing infrastructure or infrastructure configured to perform in a distributed manner, that runs the software and/or processes.
- the apparatus 200 may comprise a processor (e.g. processing circuitry or logic) 202.
- the processor 202 may control the operation of the apparatus 200 in the manner described herein.
- the processor 202 can comprise one or more processors, processing units, multi-core processors or modules that are configured or programmed to control the apparatus 200 in the manner described herein.
- the processor 202 can comprise a plurality of software and/or hardware modules that are each configured to perform, or are for performing, individual or multiple steps of the functionality of the apparatus 200 as described herein.
- the apparatus 200 may comprise a memory 204.
- the memory 204 of the apparatus 200 can be configured to store program code or instructions 206 that can be executed by the processor 202 of the apparatus 200 to perform the functionality described herein.
- the memory 204 of the apparatus 200 can be configured to store any requests, resources, information, data, signals, or similar that are described herein.
- the processor 202 of the apparatus 200 may be configured to control the memory 204 of the apparatus 200 to store any requests, resources, information, data, signals, or similar that are described herein.
- at least a portion of the memory 104 may be configured as stream-based memory.
- stream-based memory (which may otherwise be referred to herein as a stream or memory stream) is a manner of using RAM memory which provides data to the RAM as a chunk when needed, rather than the traditional Cache where all the data is dumped into the RAM.
- Streaming can be defined as passing the required data rather than loading the whole data, so as to save the memory. In the context of the disclosure herein, this may mean using the stream-based memory to hold at least part of the cell state.
- the Memory state data is stored in a Resilient Data Store, whereas in a cache-based memory, the memory state data is stored in RAM.
- the memory state retrieves the data in advance of the layer being executed and loaded via the stream layer.
- the memory state is retrieved from the RAM.
- Stream-based memory usage has effective memory consumption as it stores only the data for the current layer.
- a cache-based memory has a very high memory utilisation as it appends the collection of states retrieved from each layer.
- Stream-based memory is described in the paper by Zhengrong Wang & Tony Nowatzki (2019), entitled: “Stream-based Memory Access Specialization for general purpose processors” (DOI:10.1145/3352460.3358276). See also the paper by Vaibhav Khadilkar, Murat Kantarcioglu, Latifur Khan, & Bhavani Thuraisingham (2010) entitled “Efficient Processing of large RDF stream using memory management algorithms” (Conference: Proceedings of the ISWC 2010 Posters & Demonstrations Track: Collected Abstracts, Shanghai, China, November 9, 2010). The paper by Zhengrong Wang & Tony Nowatzki (2019) explores the concept of leveraging the inherent structure of streams to specialize the core pipeline, cache interface and cache policies.
- memory 104 of the apparatus 200 may comprise a stream-based memory 304 having Delta memory states 308 and 312 which may be used to provide “store” 306 and “retrieve” 310 commands for insertion and retrieval of information into the stream-based memory 304 respectively.
- Stream based memory 304 may interface with a resilient data store 314.
- a resilient data store is persistent storage.
- the stream-based memory 304 may be used to hold (e.g. store, or temporarily store) at least part of a cell state of an LSTM cell.
- the apparatus 200 may comprise other components in addition or alternatively to those indicated in Fig.2.
- the apparatus 200 may comprise a communications interface.
- the communications interface may be for use in communicating with other apparatuses or nodes in a communications network, (e.g. such as other physical or virtual nodes).
- the communications interface may be configured to transmit to and/or receive from other nodes or network functions requests, resources, information, data, signals, or similar.
- the processor 202 of node 200 may be configured to control such a communications interface to transmit to and/or receive from other nodes or network functions requests, resources, information, data, signals, or similar.
- the apparatus 200 may be for processing a sequence of data points using a Long Short-Term Memory, LSTM, cell in an iterative manner on each data point in the sequence.
- the apparatus 200 may be configured to retrieve a first portion of a cell state of the LSTM cell from a resilient data store, RDS, and hold the first portion of the cell state in a stream-based memory, for use as input to the LSTM cell in a first iteration of a first data point through the LSTM cell. .
- the apparatus 200 may be implemented in a communications network which may otherwise be referred to herein as a telecommunications network.
- a communications network may comprise any one, or any combination of: a wired link (e.g. ASDL) or a wireless link such as Global System for Mobile Communications (GSM), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), New Radio (NR), WiFi, Bluetooth or future wireless technologies.
- GSM Global System for Mobile Communications
- WCDMA Wideband Code Division Multiple Access
- LTE Long Term Evolution
- NR New Radio
- WiFi Bluetooth
- a wireless network may be configured to operate according to specific standards or other types of predefined rules or procedures.
- a wireless network may implement communication standards, such as Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), Long Term Evolution (LTE), and/or other suitable 2G, 3G, 4G, or 5G standards; wireless local area network (WLAN) standards, such as the IEEE 802.11 standards; and/or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave and/or ZigBee standards.
- the apparatus 200 may be comprised in a node (otherwise referred to as a network node) in a communications network.
- a node may comprise any component or network function (e.g.
- a node may comprise equipment capable, configured, arranged and/or operable to communicate directly or indirectly with a User Equipment UE (such as a wireless device) and/or with other network nodes or equipment in the communications network to enable and/or provide wireless or wired access to the UE and/or to perform other functions (e.g., administration) in the communications network.
- nodes include, but are not limited to, access points (APs) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NR NodeBs (gNBs)).
- APs access points
- BSs base stations
- eNBs evolved Node Bs
- gNBs NR NodeBs
- nodes include but are not limited to core network functions such as, for example, core network functions in a Fifth Generation Core network (5GC).
- the methods and apparatus described herein may be used to detect anomalies in billing data in a communications network.
- the apparatus 200 may be comprised in (e.g. form part of) a node in a communications network responsible for charging and billing.
- the apparatus 200 may form part of a Policy Control and Charging function (PCF), a Network Exposure Function (NEF) or a Unified Data Management (UDM) in the 5GC.
- PCF Policy Control and Charging function
- NEF Network Exposure Function
- UDM Unified Data Management
- the method 400 comprises retrieving a first portion of a cell state of the LSTM cell from a resilient data store, RDS.
- the method comprises holding the first portion of the cell state in a stream-based memory, for use as input to the LSTM cell in a first iteration of a first data point through the LSTM cell.
- the stream-based memory is internal to the LSTM cell.
- the method 400 utilises customized LSTM cells having a stream-based flexible data store that is internal to the cell. This data store sends the cell state as a stream that is needed on demand rather than loading the whole context. This significantly reduces memory consumption of the LSTM cell, enabling the LSTM cell to process large datasets at high speed.
- the proposed memory and LSTM cell architectures herein therefore provide improved processing speeds for processing time-sequence data.
- the sequence of data points may be a time-sequence, e.g. a sequence of time-stamped data points.
- the first data point may be any data point in the sequence.
- the time sequence may comprise a first data point and a second data point.
- the second data point may be subsequent to (e.g. after) the first data point in the sequence of data points.
- an iteration refers to the processing of one data point in the sequence of data points. In other words, the steps of providing inputs to, and receiving inputs from the LSTM network. This process is performed in an iterative, e.g. looped manner on each data point (or time stamp) in the sequence (or selected data points in the sequence).
- each LSTM instance or LSTM cell used to process each data point may be referred to as an “LSTM layer”.
- each layer of the LSTM takes one input time step of data.
- the sequence of data points may be billing data, for example, a sequence of time-stamped invoices for services in a communications network.
- the sequence of data points may be time-stamped lists of vulnerabilities in a communications network.
- a LSTM may be used to process the list of vulnerabilities and predict future vulnerabilities.
- the sequence of data points may be time-stamped lists of hardware status reports.
- a LSTM may be used to process the lists of hardware status reports and predict future hardware failures in the communications network.
- the method comprises retrieving a first portion of a cell state of the LSTM cell from a resilient data store, RDS.
- the first portion of the cell state may be used as an input to the first iteration of the first data point through the LSTM.
- the first portion of the cell state may be a hidden state of the LSTM as output in a preceding iteration.
- the first portion of the cell state is held (e.g. stored, or stored in a temporary manner) in the stream-based layer. The first portion of the cell state is then provided to the LSTM cell as an input.
- the method 400 may further comprise processing the first data point through the LSTM cell. In other words, running the first data point through the LSTM cell.
- the processing of an output gate of the LSTM may comprise transferring (or storing), as part of the first iteration of the first data point through the LSTM cell, an updated cell state and/or a hidden state of the LSTM cell to the stream-based memory.
- the updated cell state may then be transferred from the stream-based memory to the RDS.
- the method may then comprise retrieving a second portion of the cell state from the resilient data store and storing the second portion of the cell state in the stream-based memory, for use as input to the LSTM in a second iteration of a second data point through the LSTM cell.
- the second portion of the cell state may be retrieved using the hidden state of the previous layer as a query parameter to obtain the appropriate portion of the cell data with which to initiate the next LSTM layer.
- the second portion of the cell state is a hidden state that was output from the first iteration of the first data point through the LSTM cell.
- LSTM cell 500 has a stream-based memory 304; 504.
- the LSTM cell uses a stream-based cell state rather than the existing memory sequential model.
- the stream-based memory layer may work as follows: - Input gate 112 and forget gate 108 are used to add or remove the sequential context retrieved from the time step data and the hidden state from the cell state respectively.
- - The above process updates the state intermediately in a stream-based layer 304;504 and then permanently updates the sequential context retrieved from time step data and hidden state in the Resilient Data Store (RDS) 314; 514.
- RDS Resilient Data Store
- the previous state hidden layer is going to be the input for the next layer, hence this previous hidden state is used as a key to retrieve the state from the stream before the next layer initializes.
- the new LSTM structure includes a stream-based architecture to retrieve the required cell state information on demand rather than loading the entire cell state in memory.
- the new architecture reduces the memory usage of the overall LSTM model. Adding a new stream-based memory architecture helps in processing long- running sequential data (e.g. such as that used in anomaly detection) in a much more memory- optimized way by reducing the in-memory cache usage.
- the LSTM model is run in a looped manner (e.g. an iterative manner) on successive data points in the sequence of data points.
- Each loops returns (e.g. provides as output) a hidden state, and this hidden state is used as input for the next LSTM layer (e.g. the next loop in the sequence).
- the current hidden state used as an input to the next LSTM layer.
- the hidden state is thus used as input to retrieve a portion of the cell state data from the stream-based memory and it is available before the next LSTM layer gets started. Hence the data required for each layer is made available before the demand is raised from the LSTM cell.
- the cell state data is stored in the Resilient Data Store (RDS) and the cell state data from the stream-based memory is loaded from the data set (RDS) via a callback listener protocol.
- RDS Resilient Data Store
- the step of transferring, as part of the first iteration of the first data point through the LSTM cell, an updated cell state and a hidden state of the LSTM cell to the stream-based memory comprises updating the cell state of the LSTM cell held in RDS via the stream-based memory with the output of a forget gate of the LSTM (as illustrated by the vertical grey arrow 510 in Fig. 5), and/or updating the cell state (e.g.
- the method 400 may further comprise transferring the cell state (e.g. all or part of the cell state) from the stream-based memory to a RDS 314; 514, as illustrated by arrow 514 in Fig.5.
- the LSTM may output a hidden state after each iteration.
- the method 400 may further comprise receiving as output from the first iteration the LSTM cell, a first hidden state.
- the method 400 may further comprise using the first hidden state to retrieve the second portion of the cell state from the RDS via the stream-based memory.
- the second portion of the cell state may be used as input to the LSTM cell in the second iteration of the second data point though the LSTM cell.
- a hidden state output from the first iteration as a result of a first layer processing the first data point may be used to retrieve cell state information from the RDS via the stream-based memory in order to initiate the next iteration (e.g. the next layer) for the processing of the second data point.
- the hidden state from the first iteration may be used to retrieve the information for the second (e.g. next) iteration as sequential modelling is an AI logic basically used for time series prediction.
- the time series prediction with LSTM takes the input in each time stamp and applies it to LSTM layer.
- Each LSTM layer takes input from time stamp along with the hidden state from the previous layer. (This layer saves context information from the whole input dataset or file or text). The purpose of passing the hidden state from the first iteration into the next is to carry the context pattern to understand the inference of the input passed.
- This Stream based memory cell stores the cell state in the hard disk with the help of resilient Data store or flexible data drive. LSTM can in this manner get the data on demand for a particular gate. In more detail, in some embodiments, the cell state is taken from the stream-based memory (as opposed to the cache).
- St is obtained from the stream-based memory (as opposed to the cache as in traditional implementations).
- St is obtained from the stream-based memory (as opposed to the cache as in traditional implementations).
- Fig.6 shows an example in which both the input gate and forget gate contribute to the data modification and removal of cell memory respectively.
- Fig.6 shows a Forget Gate 602, a Cell State 604, an Input Gate 606, an Output Gate 608, a Hidden State 610, a data point 612 (e.g. the current input data) and a data context 614.
- the Forget gate 602 uses the cell state 606 and hidden state to retrieve the next hidden state - Cell state 614 introduced in the new LSTM model acts as a stream-based layer which sends the required information on demand for that particular gate rather than sending the entire cell state.
- - Adding a new DB e.g.
- the method 400 is for use in detecting anomalies in a sequence of data points. As described above this is performed by inputting the first data point to the LSTM cell, receiving as output from the LSTM cell a prediction of a second data point, and comparing the prediction of the second data point to said second data point (e.g.
- the method 400 is performed by a node in a communications network.
- the sequence of data points may be a sequence of telecoms data points.
- the method 400 may be used to determine anomalies in billing information in a telecoms network.
- the sequence of data points may comprise a sequence of billing information data points for a user in the communications network.
- the first data in the first iteration, the first data may comprise a first billing information data point, and in the second iteration, the second data point may comprise a second billing information data point.
- Billing information in this sense may be invoice details and a time stamp.
- the billing information may comprise detailed data such as for example, a list of services used by the user, and corresponding usage of each service.
- the billing information may then comprise a monetary amount associated with each service.
- the billing information may be provided as a sequence of e.g. daily, weekly or monthly data points.
- An LSTM may be used to predict the next point in the sequence and to predict anomalies, in the manner described above.
- Fig.7 is a diagram showing how data flows between different components of the LSTM illustrated in Fig. 6 for an embodiment in which the sequence of data points is a sequence of invoices and the LSTM is used to find anomalies in the invoices.
- Fig. 7 shows the following signals (or transferals of information between different components in the LSTM cell): 702: Updates the forget gate and removes unnecessary invoice context from the memory cell, internally updates cell state. 704: The input gate is used to add input Billing information if this information adds value to the context, otherwise the memory cell state will not be updated with this new information context, internally updates cell state. 706: Output gate responsible for sending hidden state retrieved from LSTM layer via cell state which contains the Billing Invoice Context retrieved in the previous step.
- Hidden State acts as an intermediate output state provide the context information of Billing Invoice Details during the intermediate time step.
- the current data point (e.g. the first data point) 612 from the sequence of data points is sent to the Forget Gate 602.
- 712 Hidden State and Current Input used as the input to the input gate for each LSTM layer.
- 716 The Hidden state 610 is sent to the Output Gate 608.
- 718 The current data point (e.g. the first data point) 612 from the sequence of data points is sent to the Output Gate 608.
- the current data point and the hidden state update the Output Gate state.
- the cell state 604 is stored in the Data Context 614 (the data context is otherwise referred to herein as the RDS).
- the data Context layer is a new layer introduced newly to handle Stream based memory.
- the input to cell state comes from Data Context.
- the LSTM described herein introduces a new layer which may be referred to as the “Data Context” which is used to store the cell state and retrieve the cell state on demand.
- the Input Gate and Output Gate inside the LSTM cell updates and removes the information on the cell state respectively.
- This cell state contains the invoice context which in turn updates the stream data context in synchronized manner.
- DOD data on demand
- the recurrent hidden state retrieved as an output from each cell states undergoes back prorogation and reduces the loss which in turn calculates nearest target value to prompt the respective anomalies.
- Appendix I provides a summary of tests performed that compare memory usage and accuracy of two different methods of anomaly prediction for a sample of 8824 invoices with one independent feature (Date) and one Sequential target feature (Volume).
- the first test uses a legacy (e.g. prior art) LSTM Sequential Model for the anomaly prediction and the second uses the LSTM described herein, according to the method 400 described above.
- the accuracy and loss associated with the two models is comparable, but there is a significant memory saving when using the method 400.
- Fig 8 shows a graph 800 of memory usage of a gate (memory in Bytes along the y-axis) and Number of Epochs along the x-axis, for a prior art LSTM configuration, using a traditional prior art memory configuration.
- Figure 9 shows a graph 900 having the same axes as the graph in Fig.9, but this time, the memory usage is plotted for an LSTM configured to use stream-based memory according to the method 400 described above.
- the memory utilized is low compared to the prior art execution of a gate.
- the method 400 can be shown to significantly reduce processing time and speed up the process of detecting anomalies in telecom invoices using an LSTM. Further tests were performed on a smaller data set having a sample batch size of 20 with 1000 epoch.
- the amount of data contributed to the smaller invoice set during forget gate was 24 bytes.
- the memory saving per 100 epochs is 800 bytes, and the percentage of overall saved memory is of the order of 25 percent.
- the amount of data contributed to the smaller invoice set during the Input gate was 36 bytes.
- a computer program product comprising a computer readable medium, the computer readable medium having computer readable code embodied therein, the computer readable code being configured such that, on execution by a suitable computer or processor, the computer or processor is caused to perform the method or methods described herein.
- the computer program may perform, for example, the method 400.
- there is a computer program comprising instructions which, when executed on at least one processor, cause the at least one processor to initiate a Long Short-Term Memory, LSTM, cell, and initiate a stream-based memory for use by the LSTM in storing a cell state of the LSTM cell in the stream-based memory.
- the disclosure also applies to computer programs, particularly computer programs on or in a carrier, adapted to put embodiments into practice.
- the program may be in the form of a source code, an object code, a code intermediate source and an object code such as in a partially compiled form, or in any other form suitable for use in the implementation of the method according to the embodiments described herein.
- a program may have many different architectural designs.
- a program code implementing the functionality of the method or system may be sub-divided into one or more sub-routines. Many different ways of distributing the functionality among these sub-routines will be apparent to the skilled person.
- the sub-routines may be stored together in one executable file to form a self-contained program.
- Such an executable file may comprise computer-executable instructions, for example, processor instructions and/or interpreter instructions (e.g. Java interpreter instructions).
- one or more or all of the sub-routines may be stored in at least one external library file and linked with a main program either statically or dynamically, e.g. at run- time.
- the main program contains at least one call to at least one of the sub-routines.
- the sub- routines may also comprise function calls to each other.
- the carrier of a computer program may be any entity or device capable of carrying the program.
- the carrier may include a data storage, such as a ROM, for example, a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example, a hard disk.
- the carrier may be a transmissible carrier such as an electric or optical signal, which may be conveyed via electric or optical cable or by radio or other means.
- the carrier may be constituted by such a cable or other device or means.
- the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted to perform, or used in the performance of, the relevant method.
- a single processor or other unit may fulfil the functions of several items recited in the claims.
- the mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
- a computer program may be stored/distributed on a suitable medium, such as an optical storage medium or a solid-statef medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication systems. Any reference signs in the claims should not be construed as limiting the scope.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/IN2023/050116 WO2024166119A1 (en) | 2023-02-06 | 2023-02-06 | Processing sequences of data points |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP4662592A1 true EP4662592A1 (en) | 2025-12-17 |
| EP4662592A4 EP4662592A4 (en) | 2026-04-15 |
Family
ID=92262645
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23920979.4A Pending EP4662592A4 (en) | 2023-02-06 | 2023-02-06 | PROCESSING OF DATA POINT SEQUALITIES |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP4662592A4 (en) |
| WO (1) | WO2024166119A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120357459B (en) * | 2025-06-23 | 2025-09-16 | 浙江上美输配电有限公司 | A method and system for ensuring safety incidents in power grid operation |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12067485B2 (en) * | 2018-09-28 | 2024-08-20 | Applied Materials, Inc | Long short-term memory anomaly detection for multi-sensor equipment monitoring |
-
2023
- 2023-02-06 EP EP23920979.4A patent/EP4662592A4/en active Pending
- 2023-02-06 WO PCT/IN2023/050116 patent/WO2024166119A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024166119A1 (en) | 2024-08-15 |
| EP4662592A4 (en) | 2026-04-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Karn et al. | Cryptomining detection in container clouds using system calls and explainable machine learning | |
| US12572854B2 (en) | Root cause discovery engine | |
| US11805005B2 (en) | Systems and methods for predictive assurance | |
| US12541716B2 (en) | Classification of erroneous cell data | |
| Hu et al. | Overcoming the coherence time barrier in quantum machine learning on temporal data | |
| US10452523B1 (en) | System and method for state based intelligent test generation | |
| Wang et al. | BugPre: an intelligent software version-to-version bug prediction system using graph convolutional neural networks | |
| US11715037B2 (en) | Validation of AI models using holdout sets | |
| US20230342463A1 (en) | System and Method for Antimalware Application Adversarial Machine Learning | |
| EP4662592A1 (en) | Processing sequences of data points | |
| Kumar et al. | Maintainability prediction of web service using support vector machine with various kernel methods | |
| Zaidi et al. | Deep learning-based detection of android malware using graph convolutional networks (gcn) | |
| Wang et al. | Network and Parallel Computing: 21st IFIP WG 10.3 International Conference, NPC 2025, Nha Trang, Vietnam, November 14–16, 2025, Proceedings, Part I | |
| Wang et al. | Rescape: A resource estimation system for microservices with graph neural network and profile engine | |
| US12093684B2 (en) | Application transition and transformation | |
| CN114546783B (en) | Business component troubleshooting methods, devices, equipment, media, and products | |
| Taneja et al. | Fake feedback detection to enhance trust in cloud using supervised machine learning techniques | |
| Liu et al. | Dta-qc: an AI-driven framework for adaptive quality control and intelligent test optimization in 5 G manufacturing | |
| Perla | An AI-Augmented Framework for Continuous Quality in CI/CD Pipelines | |
| James Okeda | AI-Driven Network Management and Optimization: An Exploratory Literature Review | |
| Zhang et al. | Applying Software Metrics to RNN for Early Reliability Evaluation | |
| Lacriola | Analytics Ingestion Service: a data ingestion pipeline for MLOps | |
| Dua et al. | The Fundamentals of Efficient AI Workload Management | |
| Lu et al. | Application of Heuristic Algorithms and Process Automation in Information System Server Inspection | |
| Hughes | Cloud-Native AI Architecture for Data-Scarce Regions: Dynamic Bayesian Hierarchical Modeling with Threat Intelligence, Lakehouse Analytics, and SAP Integration |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250728 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| A4 | Supplementary search report drawn up and despatched |
Effective date: 20260316 |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06N 3/0442 20230101AFI20260310BHEP Ipc: G06N 3/044 20230101ALI20260310BHEP Ipc: G06N 3/08 20230101ALI20260310BHEP |