System, method, and computer program product for state correction of artificial intelligence models
The system corrects stateful ML models' inaccuracies using a hash function and state map, improving accuracy and reducing resource demands and vulnerabilities.
Patent Information
- Application Number
- PCT/US2024/017403
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-27
- Publication Date
- 2025-09-04
AI Technical Summary
Machine learning models, particularly stateful models like RNNs, face issues with low accuracy due to biased training data and targeted attacks, requiring significant resources for retraining and validation, and are vulnerable in production environments.
A system and method for state correction of stateful ML models using a hash function to calculate a hashed key, a state map, and ground truth values to determine and correct the model's state, reducing the need for retraining by identifying and updating the model's state based on historical outputs and ground truth values.
Enhances model accuracy with reduced resource consumption by identifying and correcting inaccuracies in stateful ML models, minimizing the need for retraining and reducing vulnerabilities in production environments.
Smart Images

Figure US2024017403_04092025_PF_FP_ABST
Abstract
Description
SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR STATE CORRECTION OF ARTIFICIAL INTELLIGENCE MODELSBACKGROUND1 . Technical Field
[0001] This disclosure relates generally to artificial intelligence models and, in some non-limiting embodiments or aspects, to systems, methods, and computer program products for state correction of stateful machine learning (ML) models.2. Technical Considerations
[0002] Artificial intelligence may refer to the general ability of computers to emulate human thought and perform tasks in real-world environments. Machine learning may refer to a field of computer science, as a subset of artificial intelligence, that uses statistical techniques to provide a computer system with the ability to learn (e.g., to progressively improve performance of) a task with data without the computer system being explicitly programmed to perform the task. In some instances, a machine learning model may be developed for a set of data so that the machine learning model may perform a task (e.g., a task associated with a prediction) with regard to the set of data.
[0003] In some instances, a machine learning model, such as a predictive machine learning model, may be used to make a prediction regarding a risk or an opportunity based on a large amount of data (e.g., a large-scale dataset). A predictive machine learning model may be used to analyze a relationship between the performance of a unit based on a large-scale dataset associated with the unit and one or more known features of the unit. The objective of the predictive machine learning model may be to assess the likelihood that a similar unit will exhibit the same or similar performance as the unit. In order to generate the predictive machine learning model, the large-scale dataset may be segmented so that the predictive machine learning model may be trained on data that is appropriate.
[0004] However, a machine learning model deployed in a system may be in danger of low performance regarding accuracy due to situations where the machine learning model was trained on biased data, where live data distribution differs from training data distribution, and / or where targeted attacks on the machine learning model are made in a production environment. Attempts to address such situations may require interruptions to the availability of the machine learning model and / or trainingenvironment. With this, attempts may include large amounts of time and resources (e.g., network and computational resources for training and / or validation processes) dedicated to determining whether the machine learning model is functioning as intended.SUMMARY
[0005] Accordingly, provided are improved systems, methods, and computer program products for state correction of stateful machine learning (ML) models.
[0006] According to non-limiting embodiments or aspects, provided is a system that includes at least one processor configured to receive an input for a stateful machine learning (ML) model, generate an output of the stateful ML model based on the input, determine whether the output of the stateful ML model corresponds to a ground truth value associated with the input, assign an initial state of the stateful ML model as an active state of the stateful ML model based on determining that the output of the stateful ML model corresponds to the ground truth value associated with the input, and assign a correction state of the stateful ML model as the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input.
[0007] In some non-limiting embodiments or aspects, when assigning the correction state of the stateful ML model as the active state of the stateful ML model, the at least one processor is configured to calculate a hashed key using a hash function and the initial state of the stateful ML model with regard to the input, determine the correction state of the stateful ML model using a state map, the hashed key, and the ground truth value associated with the input based on calculating the hashed key using the hash function and the state of the stateful ML model with regard to the input, and assign the correction state of the stateful ML model as the active state of the stateful ML model based on determining the correction state of the stateful ML model using the state map, the hashed key, and the ground truth value associated with the input.
[0008] In some non-limiting embodiments or aspects, the at least one processor is further configured to generate the state map based on a plurality of historical outputs of the stateful ML model. In some non-limiting embodiments or aspects, when generating the state map, the at least one processor is configured to determine a plurality of values of states of the stateful ML model that are associated with a correctprediction of the stateful ML model, generate a cluster based on the plurality of values of states of the stateful ML model, and determine a centroid of the cluster, wherein the centroid of the cluster comprises a value of state associated with a ground truth value for a classification task of the stateful ML model. In some non-limiting embodiments or aspects, the stateful ML model is a recurrent neural network (RNN). In some nonlimiting embodiments or aspects, the at least one processor is further configured to receive the ground truth value associated with the input after generating the output of the stateful ML model based on the input. In some non-limiting embodiments or aspects, the at least one processor is further configured to update the initial state of the stateful ML model with regard to the input based on receiving the input.
[0009] According to non-limiting embodiments or aspects, provided is a computer- implemented method that includes receiving an input for a stateful machine learning (ML) model, generating an output of the stateful ML model based on the input, determining whether the output of the stateful ML model corresponds to a ground truth value associated with the input, foregoing assigning an initial state of the stateful ML model with regard to the input as the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input, and performing an action associated with assigning the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input.
[0010] In some non-limiting embodiments or aspects, performing the action associated with assigning the active state of the stateful ML model includes calculating a hashed key using a hash function and the state of the stateful ML model with regard to the input based on foregoing assigning the initial state of the stateful ML model as the active state of the stateful ML model, determining a correction state of the stateful ML model using a state map, the hashed key, and the ground truth value associated with the input based on calculating the hashed key using the hash function and the state of the stateful ML model with regard to the input, and assigning the correction state of the stateful ML model as the active state of the stateful ML model based on determining the correction state of the stateful ML model using the state map, the hashed key, and the ground truth value associated with the input.
[0011] In some non-limiting embodiments or aspects, the computer implemented method further includes generating the state map based on a plurality of historicaloutputs of the stateful ML model. In some non-limiting embodiments or aspects, generating the state map includes determining a plurality of values of states of the stateful ML model that are associated with a correct prediction of the stateful ML model, generating a cluster based on the plurality of values of states of the stateful ML model, and determining a centroid of the cluster, wherein the centroid of the cluster comprise a value of state associated with a ground truth value for a classification task of the stateful ML model.
[0012] In some non-limiting embodiments or aspects, the stateful ML model is a recurrent neural network (RNN). In some non-limiting embodiments or aspects, the computer-implemented method further includes receiving the ground truth value associated with the input after generating the output of the stateful ML model based on the input. In some non-limiting embodiments or aspects, the computer- implemented method further includes updating the initial state of the stateful ML model with regard to the input based on receiving the input.
[0013] According to non-limiting embodiments or aspects, provided is computer program product that includes at least one non-transitory computer-readable medium including program instructions that, when executed by at least one processor, cause the at least one processor to receive an input for a stateful machine learning (ML) model, generate an output of the stateful ML model based on the input, determine whether the output of the stateful ML model corresponds to a ground truth value associated with the input, assign an initial state of the stateful ML model as an active state of the stateful ML model based on determining that the output of the stateful ML model corresponds to the ground truth value associated with the input, and assign a correction state of the stateful ML model as the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input.
[0014] In some non-limiting embodiments or aspects, the program instructions that cause the at least one processor to assign the correction state of the stateful ML model as the active state of the stateful ML model, cause the at least one processor to calculate a hashed key using a hash function and the initial state of the stateful ML model with regard to the input, determine the correction state of the stateful ML model using a state map, the hashed key, and the ground truth value associated with the input based on calculating the hashed key using the hash function and the state of the stateful ML model with regard to the input, and assign the correction state of thestateful ML model as the active state of the stateful ML model based on determining the correction state of the stateful ML model using the state map, the hashed key, and the ground truth value associated with the input.
[0015] In some non-limiting embodiments or aspects, the program instructions further cause the at least one processor to generate the state map based on a plurality of historical outputs of the stateful ML model. In some non-limiting embodiments or aspects, the program instructions that cause the at least one processor to generate the state map, further cause the at least one processor to determine a plurality of values of states of the stateful ML model that are associated with a correct prediction of the stateful ML model, generate a cluster based on the plurality of values of states of the stateful ML model, and determine a centroid of the cluster, wherein the centroid of the cluster comprises a value of state associated with a ground truth value for a classification task of the stateful ML model.
[0016] In some non-limiting embodiments or aspects, the stateful ML model is a recurrent neural network (RNN). In some non-limiting embodiments or aspects, the program instructions further cause the at least one processor to receive the ground truth value associated with the input after generating the output of the stateful ML model based on the input. In some non-limiting embodiments or aspects, the program instructions further cause the at least one processor to update the initial state of the stateful ML model with regard to the input based on receiving the input.
[0017] Further non-limiting embodiments or aspects are set forth in the following numbered clauses:
[0018] Clause 1 : A system, comprising at least one processor configured to receive an input for a stateful machine learning (ML) model, generate an output of the stateful ML model based on the input, determine whether the output of the stateful ML model corresponds to a ground truth value associated with the input, assign an initial state of the stateful ML model as an active state of the stateful ML model based on determining that the output of the stateful ML model corresponds to the ground truth value associated with the input, and assign a correction state of the stateful ML model as the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input.
[0019] Clause 2: The system of clause 1 , wherein, when assigning the correction state of the stateful ML model as the active state of the stateful ML model, the at leastone processor is configured to calculate a hashed key using a hash function and the initial state of the stateful ML model with regard to the input, determine the correction state of the stateful ML model using a state map, the hashed key, and the ground truth value associated with the input based on calculating the hashed key using the hash function and the state of the stateful ML model with regard to the input, and assign the correction state of the stateful ML model as the active state of the stateful ML model based on determining the correction state of the stateful ML model using the state map, the hashed key, and the ground truth value associated with the input.
[0020] Clause 3: The system of clause 1 or 2, wherein the at least one processor is further configured to: generate the state map based on a plurality of historical outputs of the stateful ML model.
[0021] Clause 4: The system of any of clauses 1 -3, wherein, when generating the state map, the at least one processor is configured to: determine a plurality of values of states of the stateful ML model that are associated with a correct prediction of the stateful ML model; generate a cluster based on the plurality of values of states of the stateful ML model; and determine a centroid of the cluster, wherein the centroid of the cluster comprises a value of state associated with a ground truth value for a classification task of the stateful ML model.
[0022] Clause 5: The system of any of clauses 1 -4, wherein the stateful ML model is a recurrent neural network (RNN).
[0023] Clause 6: The system of any of clauses 1 -5, wherein the at least one processor is further configured to: receive the ground truth value associated with the input after generating the output of the stateful ML model based on the input.
[0024] Clause 7: The system of any of clauses 1 -6, wherein the at least one processor is further configured to: update the initial state of the stateful ML model with regard to the input based on receiving the input.
[0025] Clause 8: A computer-implemented method, comprising: receiving an input for a stateful machine learning (ML) model; generating an output of the stateful ML model based on the input; determining whether the output of the stateful ML model corresponds to a ground truth value associated with the input; foregoing assigning an initial state of the stateful ML model with regard to the input as the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input; and performing an action associated with assigning the active state of the stateful ML model based ondetermining that the output of the stateful ML model does not correspond to the ground truth value associated with the input.
[0026] Clause 9: The computer-implemented method of clause 8, wherein performing the action associated with assigning the active state of the stateful ML model comprises: calculating a hashed key using a hash function and the state of the stateful ML model with regard to the input based on foregoing assigning the initial state of the stateful ML model as the active state of the stateful ML model; determining a correction state of the stateful ML model using a state map, the hashed key, and the ground truth value associated with the input based on calculating the hashed key using the hash function and the state of the stateful ML model with regard to the input; and assigning the correction state of the stateful ML model as the active state of the stateful ML model based on determining the correction state of the stateful ML model using the state map, the hashed key, and the ground truth value associated with the input.
[0027] Clause 10: The computer-implemented method of clause 8 or 9, further comprising: generating the state map based on a plurality of historical outputs of the stateful ML model.
[0028] Clause 1 1 : The computer-implemented method of any of clauses 8-10, wherein generating the state map comprises: determining a plurality of values of states of the stateful ML model that are associated with a correct prediction of the stateful ML model; generating a cluster based on the plurality of values of states of the stateful ML model; and determining a centroid of the cluster, wherein the centroid of the cluster comprise a value of state associated with a ground truth value for a classification task of the stateful ML model.
[0029] Clause 12: The computer-implemented method of any of clauses 8-1 1 , wherein the stateful ML model is a recurrent neural network (RNN).
[0030] Clause 13: The computer-implemented method of any of clauses 8-12, further comprising: receiving the ground truth value associated with the input after generating the output of the stateful ML model based on the input.
[0031] Clause 14: The computer-implemented method of any of clauses 8-13, further comprising: updating the initial state of the stateful ML model with regard to the input based on receiving the input.
[0032] Clause 15: A computer program product comprising at least one non- transitory computer-readable medium including program instructions that, when executed by at least one processor, cause the at least one processor to: receive aninput for a stateful machine learning (ML) model; generate an output of the stateful ML model based on the input; determine whether the output of the stateful ML model corresponds to a ground truth value associated with the input; assign an initial state of the stateful ML model as an active state of the stateful ML model based on determining that the output of the stateful ML model corresponds to the ground truth value associated with the input; and assign a correction state of the stateful ML model as the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input.
[0033] Clause 16: The computer program product of clause 15, wherein, the program instructions that cause the at least one processor to assign the correction state of the stateful ML model as the active state of the stateful ML model, cause the at least one processor to: calculate a hashed key using a hash function and the initial state of the stateful ML model with regard to the input; determine the correction state of the stateful ML model using a state map, the hashed key, and the ground truth value associated with the input based on calculating the hashed key using the hash function and the state of the stateful ML model with regard to the input; and assign the correction state of the stateful ML model as the active state of the stateful ML model based on determining the correction state of the stateful ML model using the state map, the hashed key, and the ground truth value associated with the input.
[0034] Clause 17: The computer program product of clause 15 or 16, wherein the program instructions further cause the at least one processor to: generate the state map based on a plurality of historical outputs of the stateful ML model.
[0035] Clause 18: The computer program product of any of clauses 15-17, wherein the program instructions that cause the at least one processor to generate the state map, further cause the at least one processor to: determine a plurality of values of states of the stateful ML model that are associated with a correct prediction of the stateful ML model; generate a cluster based on the plurality of values of states of the stateful ML model; and determine a centroid of the cluster, wherein the centroid of the cluster comprises a value of state associated with a ground truth value for a classification task of the stateful ML model.
[0036] Clause 19: The computer program product of any of clauses 15-18, wherein the stateful ML model is a recurrent neural network (RNN).
[0037] Clause 20: The computer program product of any of clauses 15-19, wherein the program instructions further cause the at least one processor to: receive the ground truth value associated with the input after generating the output of the stateful ML model based on the input.
[0038] Clause 21 : The computer program product of any of clauses 15-20, wherein the program instructions further cause the at least one processor to: update the initial state of the stateful ML model with regard to the input based on receiving the input.
[0039] These and other features and characteristics of the present disclosure, as well as the methods of operation and functions of the related elements of structures and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the present disclosure.BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Additional advantages and details are explained in greater detail below with reference to the non-limiting, exemplary embodiments that are illustrated in the accompanying schematic figures, in which:
[0041] FIG. 1 is a schematic diagram of a system for state correction of stateful machine learning (ML) models, according to non-limiting embodiments or aspects;
[0042] FIG. 2 is a flow diagram of a method for state correction of stateful ML models, according to some non-limiting embodiments or aspects;
[0043] FIGS. 3A-3G are schematic diagrams of an exemplary implementation of the present disclosure for state correction of stateful ML models, according to some non-limiting embodiments or aspects;
[0044] FIG. 4 is a diagram of an exemplary environment in which systems, methods, and / or computer program products, described herein, may be implemented, according to some non-limiting embodiments or aspects; and
[0045] FIG. 5 is a schematic diagram of example components of one or more devices of FIG. 1 and / or FIG. 4, according to some non-limiting embodiments or aspects.DETAILED DESCRIPTION
[0046] For purposes of the description hereinafter, the terms “end,” “upper,” “lower,” “right,” “left,” “vertical,” “horizontal,” “top,” “bottom,” “lateral,” “longitudinal,” and derivatives thereof shall relate to the embodiments as they are oriented in the drawing figures. However, it is to be understood that the present disclosure may assume various alternative variations and step sequences, except where expressly specified to the contrary. It is also to be understood that the specific devices and processes illustrated in the attached drawings, and described in the following specification, are simply exemplary and non-limiting embodiments or aspects of the disclosed subject matter. Hence, specific dimensions and other physical characteristics related to the embodiments or aspects disclosed herein are not to be considered as limiting.
[0047] Some non-limiting embodiments or aspects are described herein in connection with thresholds. As used herein, satisfying a threshold may refer to a value being greater than the threshold, more than the threshold, higher than the threshold, greater than or equal to the threshold, less than the threshold, fewer than the threshold, lower than the threshold, less than or equal to the threshold, equal to the threshold, etc.
[0048] No aspect, component, element, structure, act, step, function, instruction, and / or the like used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items and may be used interchangeably with “one or more” and “at least one.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, and / or the like) and may be used interchangeably with “one or more” or “at least one.” Where only one item is intended, the term “one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based at least partially on” unless explicitly stated otherwise. In addition, reference to an action being “based on” a condition may refer to the action being “in response to” the condition. For example, the phrases “based on” and “in response to” may, in some non-limiting embodiments or aspects, refer to a condition for automatically triggering an action (e.g., a specific operation of an electronic device, such as a computing device, a processor, and / or the like).
[0049] As used herein, the term “communication” may refer to the reception, receipt, transmission, transfer, provision, and / or the like of data (e.g., information, signals, messages, instructions, commands, and / or the like). For one unit (e.g., a device, a system, a component of a device or system, combinations thereof, and / or the like) to be in communication with another unit means that the one unit is able to directly or indirectly receive information from and / or transmit information to the other unit. This may refer to a direct or indirect connection (e.g., a direct communication connection, an indirect communication connection, and / or the like) that is wired and / or wireless in nature. Additionally, two units may be in communication with each other even though the information transmitted may be modified, processed, relayed, and / or routed between the first and second unit. For example, a first unit may be in communication with a second unit even though the first unit passively receives information and does not actively transmit information to the second unit. As another example, a first unit may be in communication with a second unit if at least one intermediary unit processes information received from the first unit and communicates the processed information to the second unit. In some non-limiting embodiments or aspects, a message may refer to a network packet (e.g., a data packet and / or the like) that includes data. It will be appreciated that numerous other arrangements are possible.
[0050] As used herein, the term “computing device” may refer to one or more electronic devices configured to process data. A computing device may, in some examples, include the necessary components to receive, process, and output data, such as a processor, a display, a memory, an input device, a network interface, and / or the like. A computing device may be a mobile device. As an example, a mobile device may include a cellular phone (e.g., a smartphone or standard cellular phone), a portable computer, a wearable device (e.g., watches, glasses, lenses, clothing, and / or the like), a personal digital assistant (PDA), and / or other like devices. A computing device may also be a desktop computer or other form of non-mobile computer.
[0051] As used herein, the term “server” may refer to or include one or more computing devices that are operated by or facilitate communication and processing for multiple parties in a network environment, such as the Internet, although it will be appreciated that communication may be facilitated over one or more public or private network environments and that various other arrangements are possible. Further, multiple computing devices (e.g., servers, point-of-sale (POS) devices, mobiledevices, etc.) directly or indirectly communicating in the network environment may constitute a “system.”
[0052] As used herein, the term “system” may refer to one or more computing devices or combinations of computing devices (e.g., processors, servers, client devices, software applications, components of such, and / or the like). Reference to “a device,” “a server,” “a processor,” and / or the like, as used herein, may refer to a previously-recited device, server, or processor that is recited as performing a previous step or function, a different device, server, or processor, and / or a combination of devices, servers, and / or processors. For example, as used in the specification and the claims, a first device, a first server, or a first processor that is recited as performing a first step or a first function may refer to the same or different device, server, or processor recited as performing a second step or a second function.
[0053] As used herein, the term “acquirer” may refer to an entity licensed by the transaction service provider and approved by the transaction service provider to originate transactions (e.g., payment transactions) involving a payment device associated with the transaction service provider. As used herein, the term “acquirer system” may also refer to one or more computer systems, computer devices, and / or the like operated by or on behalf of an acquirer. The transactions the acquirer may originate may include payment transactions (e.g., purchases, original credit transactions (OCTs), account funding transactions (AFTs), and / or the like). In some non-limiting embodiments or aspects, the acquirer may be authorized by the transaction service provider to assign merchant or service providers to originate transactions involving a payment device associated with the transaction service provider. The acquirer may contract with payment facilitators to enable the payment facilitators to sponsor merchants. The acquirer may monitor the compliance of the payment facilitators in accordance with regulations of the transaction service provider. The acquirer may conduct due diligence of the payment facilitators and ensure proper due diligence occurs before signing a sponsored merchant. The acquirer may be liable for all transaction service provider programs that the acquirer operates or sponsors. The acquirer may be responsible for the acts of the acquirer’s payment facilitators, merchants that are sponsored by the acquirer’s payment facilitators, and / or the like. In some non-limiting embodiments or aspects, an acquirer may be a financial institution, such as a bank.
[0054] As used herein, the terms “issuer,” “issuer institution,” “issuer bank,” or “payment device issuer,” may refer to one or more entities that provide accounts to individuals (e.g., users, customers, and / or the like) for conducting payment transactions, such as credit payment transactions and / or debit payment transactions. For example, an issuer institution may provide an account identifier, such as a primary account number (PAN), to a customer that uniquely identifies one or more accounts associated with that customer. In some non-limiting embodiments or aspects, an issuer may be associated with a bank identification number (BIN) that uniquely identifies the issuer institution. As used herein, the term “issuer system” may refer to one or more computer systems operated by or on behalf of an issuer, such as a server executing one or more software applications. For example, an issuer system may include one or more authorization servers for authorizing a transaction.
[0055] As used herein, the term “merchant” may refer to one or more entities (e.g., operators of retail businesses) that provide goods and / or services, and / or access to goods and / or services, to a user (e.g., a customer, a consumer, and / or the like) based on a transaction, such as a payment transaction. As used herein, the term “merchant system” may refer to one or more computer systems operated by or on behalf of a merchant, such as a server executing one or more software applications. As used herein, the term “product” may refer to one or more goods and / or services offered by a merchant.
[0056] As used herein, the term “transaction service provider” may refer to an entity that receives transaction authorization requests from merchants or other entities and provides guarantees of payment, in some cases through an agreement between the transaction service provider and an issuer institution. For example, a transaction service provider may include a payment network such as Visa®, MasterCard®, American Express®, or any other entity that processes transactions. As used herein, the term “transaction service provider system” may refer to one or more computer systems operated by or on behalf of a transaction service provider, such as a transaction service provider system executing one or more software applications. A transaction service provider system may include one or more processors and, in some non-limiting embodiments or aspects, may be operated by or on behalf of a transaction service provider.
[0057] Non-limiting embodiments or aspects of the present disclosure are directed to methods, systems, and computer program products for state correction of statefulmachine learning (ML) models. In some non-limiting embodiments or aspects, a state management system may be configured to receive an input for stateful ML model, generate an output of the stateful ML model based on the input, determine whether the output of the stateful ML model corresponds to a ground truth value associated with the input, assign an initial state of the stateful ML model as an active state of the stateful ML model based on determining that the output of the stateful ML model corresponds to the ground truth value associated with the input, and assign a correction state of the stateful ML model as the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input.
[0058] In some non-limiting embodiments or aspects, when assigning the correction state of the stateful ML model as the active state of the stateful ML model, the state management system may calculate a hashed key using a hash function and the initial state of the stateful ML model with regard to the input, determine the correction state of the stateful ML model using a state map, the hashed key, and the ground truth value associated with the input based on calculating the hashed key using the hash function and the state of the stateful ML model with regard to the input, and assign the correction state of the stateful ML model as the active state of the stateful ML model based on determining the correction state of the stateful ML model using the state map, the hashed key, and the ground truth value associated with the input. In some non-limiting embodiments or aspects, state management system may be further configured to generate the state map based on a plurality of historical outputs of the stateful ML model.
[0059] In some non-limiting embodiments or aspects, when generating the state map, the state management system may determine a plurality of values of states of the stateful ML model that are associated with a correct prediction of the stateful ML model, generate a cluster based on the plurality of values of states of the stateful ML model, and determine a centroid of the cluster, wherein the centroid of the cluster comprises a value of state associated with a ground truth value for a classification task of the stateful ML model. In some non-limiting embodiments or aspects, the stateful ML model is a recurrent neural network (RNN).
[0060] In some non-limiting embodiments or aspects, the state management system may be further configured to receive the ground truth value associated with the input after generating the output of the stateful ML model based on the input. Insome non-limiting embodiments or aspects, the state management system may be further configured to update the initial state of the stateful ML model with regard to the input based on receiving the input.
[0061] In this way, the state management system may allow for accurately determining whether a stateful ML model is providing an accurate result with a reduced amount of resources (e.g., network and / or computational resources). Additionally, the state management system may determine when the stateful ML model provides an inaccurate result and provide a remedy for the inaccurate result based on the use of a correction state of the stateful ML model. In some examples, the state management system may reduce and / or prevent the need for training and / or validating (e.g., retraining and / or revalidating) the stateful ML model. Furthermore, the state management system may reduce the need for obtaining access to the stateful ML in an environment in which the stateful ML model is in use and may, therefore, reduce the number of vulnerabilities that lead to low performance of the stateful ML model that is deployed in a system that performs operations using the stateful ML model.
[0062] For the purpose of illustration, in the following description, while the presently disclosed subject matter is described with respect to systems, methods, and computer program products for state correction of stateful ML models, one skilled in the art will recognize that the disclosed subject matter is not limited to the non-limiting embodiments or aspects disclosed herein. For example, the systems, methods, and computer program products described herein may be used with a wide variety of settings, such as determining a stateful ML model performance and / or determining whether to correct a state of a stateful ML model based on performance in any suitable setting, such as an online setting (e.g., a production setting) and for any suitable purpose, such as predictions, regressions, classifications, fraud prevention, transaction authorization, user authentication, user identification, feature selection, recommendations, and / or the like.
[0063] Referring now to FIG. 1 , FIG. 1 is a schematic diagram of system 100 for state correction of stateful ML models, according to some non-limiting embodiments or aspects. As shown in FIG. 1 , system 100 may include state management system 102, machine learning (ML) model repository 104, user device 106, and communication network 108. State management system 102, ML model repository 104, and / or user device 106 may interconnect (e.g., establish a connection tocommunicate) via wired connections, wireless connections, or a combination of wired and wireless connections.
[0064] State management system 102 may include one or more devices configured to communicate with ML model repository 104 and / or user device 106 via communication network 108. For example, state management system 102 may include a computing device, such as a server (e.g., a single server), a group of servers, and / or other like devices. In some non-limiting embodiments or aspects, state management system 102 may include a processor and / or memory, as described herein. In some non-limiting embodiments or aspects, state management system 102 may include one or more software instructions (e.g., one or more software applications) executing on a server (e.g., a single server), a group of servers, a computing device (e.g., a single computing device), a group of computing devices, and / or other like devices. In some non-limiting embodiments or aspects, state management system 102 may be configured to perform one or more steps of methods described herein. In some non-limiting embodiments or aspects, state management system 102 may be configured to communicate with a data storage device (e.g., ML model repository 104). In some non-limiting embodiments or aspects, state management system 102 may be in communication with ML model repository 104 and / or user device 106, such that state management system 102 is separate from ML model repository 104 and / or user device 106. In some non-limiting embodiments or aspects, user device 106 and / or ML model repository 104 may be implemented by (e.g., may be part of) state management system 102.
[0065] In some non-limiting embodiments or aspects, state management system 102 may generate (e.g., train, validate, re-train, and / or the like), store, and / or implement (e.g., operate, provide inputs to and / or outputs from, and / or the like) one or more machine learning models. For example, state management system 102 may generate one or more machine learning models by fitting (e.g., validating, testing, etc.) one or more machine learning models against data used for training (e.g., training data). In some non-limiting embodiments or aspects, state management system 102 may generate, store, and / or implement one or more machine learning models that are provided for a production environment (e.g., a runtime environment, a real-time environment, etc.) used for providing inferences (e.g., secure inferences) based on data inputs in a live situation (e.g., real-time situation). Additionally or alternatively, state management system 102 may generate, store, and / or implement one or moremachine learning models that are provided for a non-production environment (e.g., an offline environment, a training environment, etc.) used for providing inferences based on data inputs in a situation that is not live. In some non-limiting embodiments or aspects, state management system 102 may be in communication with a data storage device (ML model repository 104), which may be local or remote to state management system 102.
[0066] ML model repository 104 may include one or more devices that are capable of being in communication with state management system 102 and / or user device 106 via communication network 108. For example, ML model repository 104 may include a computing device, such as a server (e.g., a single server), a group of servers, and / or other like devices. In some non-limiting embodiments or aspects, ML model repository 104 may receive, store, and / or provide (e.g., transmit) one or more machine learning models. In some non-limiting embodiments or aspects, ML model repository 104 may be associated with one or more computing devices providing interfaces, such that a user (e.g., an administrative user, a user using a service account, and / or the like) may interact with ML model repository 104 via the one or more computing devices. ML model repository 104 may be in communication with state management system 102 and / or user device 106, such that ML model repository 104 is separate from state management system 102 and / or user device 106. Alternatively, in some non-limiting embodiments or aspects, ML model repository 104 may be implemented by (e.g., may be part of) state management system 102 and / or user device 106.
[0067] User device 106 may include a computing device configured to communicate with state management system 102 and / or ML model repository 104 via communication network 108. For example, user device 106 may include a computing device, such as a desktop computer, a portable computer (e.g., tablet computer, a laptop computer, and / or the like), a mobile device (e.g., a cellular phone, a smartphone, a personal digital assistant, a wearable device, and / or the like), and / or other like devices. In some non-limiting embodiments or aspects, user device 106 may be associated with a user (e.g., an individual operating user device 106).
[0068] Communication network 108 may include one or more wired and / or wireless networks. For example, communication network 108 may include a cellular network (e.g., a long-term evolution (LTE) network, a third-generation (3G) network, a fourthgeneration (4G) network, a fifth-generation (5G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local areanetwork (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the public switched telephone network (PSTN) and / or the like), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, and / or the like, and / or a combination of some or all of these or other types of networks.
[0069] The number and arrangement of devices and networks shown in FIG. 1 are provided as an example. There may be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks than those shown in FIG. 1. Furthermore, two or more devices shown in FIG. 1 may be implemented within a single device, or a single device shown in FIG. 1 may be implemented as multiple, distributed devices. Additionally or alternatively, a set of devices (e.g., one or more devices) of system 100 may perform one or more functions described as being performed by another set of devices of system 100.
[0070] Referring now to FIG. 2, FIG. 2 is a flow diagram of a non-limiting embodiment or aspect of process 200 for state correction of stateful ML models. In some non-limiting embodiments or aspects, one or more of the steps of process 200 may be performed (e.g., completely, partially, etc.) by state management system 102 (e.g., one or more devices of state management system 102). In some non-limiting embodiments or aspects, one or more of the steps of process 200 may be performed (e.g., completely, partially, etc.) by another device or a group of devices separate from or including state management system 102 (e.g., one or more devices of state management system 102), ML model repository 104 (e.g., one or more devices of ML model repository 104), and / or user device 106.
[0071] As shown in FIG. 2, at step 202, process 200 includes receiving an input for a stateful ML model. For example, state management system 102 may receive the input for the stateful ML model from ML model repository 104, user device 106, and / or another system or device. In some non-limiting embodiments or aspects, state management system 102 may receive the input for the stateful ML model from a system or device as part of a request for an inference. For example, the stateful ML model may be provided in an online setting (e.g., a production environment), and state management system 102 may receive the input for the stateful ML model as part of a request for a real-time inference in the online setting. In some non-limiting embodiments or aspects, the request for a real-time inference may be based on arequest to determine a characteristic of a transaction (e.g.., an electronic payment transaction). For example, the request for a real-time inference may be based on a request to determine whether a transaction is a fraudulent transaction.
[0072] In some non-limiting embodiments or aspects, a stateful ML model may include an ML model that recognizes dependencies between inferences. For example, a stateful ML model may maintain a state (e.g., a hidden state) between consecutive inferences so that a following inference depends on a result, which may be provided as a state, of a previous inference. In some non-limiting embodiments or aspects, the state of the stateful ML model may be referred to as an active state, and the active state may include a value of state that is to be passed (e.g., passed, as feedback, to the stateful ML model) between consecutive inferences. In some non-limiting embodiments or aspects, with regard to an initial inference, the state of the stateful model may include an initial state that is associated with (e.g., equal to, based on, based on a value that is within an amount of, etc.) an initial output (e.g., the result of the initial inference). In some non-limiting embodiments or aspects, a stateful ML model may include a neural network ML model. In some examples, the stateful ML model may include a recurrent neural network (RNN) ML model, such as a long shortterm memory (LSTM) network ML model, a gated recurrent unit (GRU) ML model, a hidden Markov model (HMM) ML model, or any combination thereof. In some nonlimiting embodiments or aspects, the stateful ML model may include a neural network ML model having a large number of nodes. In such an example, the one or more transformer machine learning models may include a neural network ML model (e.g., a neural network ML model having one or more layers, such as one or more input layers, one or more hidden layers, and / or one or more output layers) having at least 5 nodes, at least 10 nodes, at least 20 nodes, at least 50 nodes, at least 100 nodes, at least 1 ,000 nodes, and / or the like. In some non-limiting embodiments or aspects, a configuration of one or more layers of the neural network ML model may be based on an input which the neural network ML model is designed to receive and / or an output which the neural network ML model is designed to provide.
[0073] In some non-limiting embodiments or aspects, the stateful ML model may include a classification ML model that is configured to receive an input and to provide an output based on the input, wherein the output includes a prediction (e.g., a prediction score) of a classification (e.g., a label for a classification).
[0074] In some non-limiting embodiments or aspects, state management system 102 may receive an input for the stateful ML model that includes a dataset, and the dataset may include a plurality of data points (e.g., data instances, data examples, etc.). In some non-limiting embodiments or aspects, the dataset may be associated with one or more entities (e.g., one or more users, one or more accountholders, one or more merchants, one or more issuers, etc.). For example, the plurality of data points may represent a plurality of transactions (e.g., electronic payment transactions) involving (e.g., conducted by) an entity. In some examples, the plurality of data points may include a large amount of data points, such as at least 50 data points, at least 100 data points, at least 500 data points, at least 1 ,000 data points, at least 5,000 data points, at least 10,000 data points, at least 25,000 data points, at least 50,000 data points, at least 100,000 data points, at least 1 ,000,000 data points, and / or the like. In some examples, the plurality of data points may be associated with a plurality of features in the form of a plurality of transaction parameters (e.g., transaction variables). In some non-limiting embodiments or aspects, the stateful ML model may have been trained and / or validated on the plurality of data points.
[0075] In some non-limiting embodiments or aspects, each data point may include transaction data associated with a transaction. In some non-limiting embodiments or aspects, the transaction data may include a plurality of transaction parameters associated with an electronic payment transaction. In some non-limiting embodiments or aspects, the plurality of features may represent the plurality of transaction parameters. In some non-limiting embodiments or aspects, the plurality of transaction parameters may include electronic wallet card data associated with an electronic card (e.g., an electronic credit card, an electronic debit card, an electronic loyalty card, and / or the like), decision data associated with a decision (e.g., a decision to approve or deny a transaction authorization request), authorization data associated with an authorization response (e.g., an approved spending limit, an approved transaction value, and / or the like), a primary account number (PAN), an authorization code (e.g., a personal identification number (PIN), etc.), data associated with a transaction amount (e.g., an approved limit, a transaction value, etc.), data associated with a transaction date and time, data associated with a conversion rate of a currency, data associated with a merchant type (e.g., a merchant category code that indicates a type of goods, such as grocery, fuel, and / or the like), data associated with an acquiring institution country, data associated with an identifier of a country associated with thePAN, data associated with a response code, data associated with a merchant identifier (e.g., a merchant name, a merchant location, and / or the like), data associated with a type of currency corresponding to funds stored in association with the PAN, and / or the like.
[0076] As shown in FIG. 2, at step 204, process 200 includes generating an output of the stateful ML model based on the input. For example, state management system 102 may generate an output of the stateful ML model based on the input. In some nonlimiting embodiments or aspects, state management system 102 may provide the input to the stateful ML model and the stateful ML model may provide the output based on the input. The output of the stateful ML model may correspond to a ground truth value associated with the input. For example, a value of the output of the stateful ML model may be the same as a ground truth value of an output that was generated based on the input.
[0077] In some non-limiting embodiments or aspects, state management system 102 may provide a plurality of data points as inputs to the stateful ML model to provide a plurality of outputs. For example, state management system 102 may provide one or more data points (e.g., all data points, some data points, a subset of all data points, etc.) of a plurality of data points as inputs to the machine learning model to provide one or more outputs based on the inputs. Each output of the plurality of outputs may have a classification. For example, each output of the plurality of initial outputs may have a label (e.g., a score for a label) associated with a prediction of a classification (e.g., a predicted classification) of the output.
[0078] As shown in FIG. 2, at step 206, process 200 includes determining whether the output of the stateful ML model corresponds to a ground truth value associated with the input. For example, state management system 102 may determine whether the output of the stateful ML model corresponds to the ground truth value associated with the input based on generating the output of the stateful ML model. In some nonlimiting embodiments or aspects, state management system 102 may determine whether the output of the stateful ML model corresponds to the ground truth value associated with the input based on a number of inferences generated using the stateful ML model. For example, state management system 102 may determine whether the output of the stateful ML model corresponds to the ground truth value associated with the input after the stateful ML model has been used to generate at least 5 inferences,at least 10 inferences, at least 15 inferences, at least 20 inferences, at least 50 inferences, at least 100 inferences, and / or the like.
[0079] In some non-limiting embodiments or aspects, state management system 102 may receive the ground truth value associated with the input after generating the output of the stateful ML model based on the input. For example, state management system 102 may receive the ground truth value associated with the input in real-time after generating the output. In some non-limiting embodiments or aspects, state management system 102 may receive the ground truth value within a predetermined time interval of generating the output. For example, state management system 102 may receive the ground truth value within 1 second, 5 seconds, 10 seconds, and / or the like, of generating the output.
[0080] In some non-limiting embodiments or aspects, state management system 102 may determine whether the output of the stateful ML model corresponds to the ground truth value associated with the input by comparing the output of the stateful ML model to the ground truth value. If state management system 102 determines that the output of the stateful ML model corresponds to the ground truth value, state management system 102 may perform an action associated with an initial state of the stateful ML model. For example, if state management system 102 determines that the output of the stateful ML model corresponds to the ground truth value, state management system 102 may assign an initial state of the stateful ML model as an active state of the stateful ML model. If state management system 102 determines that the output of the stateful ML model does not correspond to the ground truth value, state management system 102 may forego performing an action associated with the initial state of the stateful ML model. For example, if state management system 102 determines that the output of the stateful ML model does not correspond to the ground truth value, state management system 102 may forego assigning the initial state of the stateful ML model as an active state of the stateful ML model. In some non-limiting embodiments or aspects, if state management system 102 determines that the output of the stateful ML model does not correspond to the ground truth value, state management system 102 may assign a correction state of the stateful ML model as an active state of the stateful ML model.
[0081] As shown in FIG. 2, at step 208 (“NO”), process 200 includes assigning a correction state as an active state of the stateful ML model. For example, state management system 102 may assign the correction state as an active state of thestateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value. In some non-limiting embodiments or aspects, state management system 102 may forego assigning the initial state of the stateful ML model as the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input. In some non-limiting embodiments or aspects, state management system 102 may perform an action associated with assigning the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input.
[0082] In some non-limiting embodiments or aspects, state management system 102 may determine the correction state of the stateful ML model. For example, state management system 102 may calculate a hashed key (e.g., a hashed key value) using a hash function and a state, such as the initial state, of the stateful ML model with regard to an input, such as the initial input. State management system 102 may calculate the hashed key as an output of the hash function based on the state (e.g., the initial state) provided as an input to the hash function. The hash function may include a locality sensitive hashing algorithm. In some non-limiting embodiments or aspects, state management system 102 may calculate the hashed key based on foregoing (e.g., determining to forego) assigning the initial state of the stateful ML model as the active state of the stateful ML model.
[0083] In some non-limiting embodiments or aspects, state management system 102 may determine the correction state of the stateful ML model based on a state map. For example, state management system 102 may generate a map key, which may be a combination of a hashed key (e.g., a hashed key generated using the initial state of the stateful ML model) and a ground truth value for an input to the stateful ML model (e.g., a ground truth value for an input that was used to provide the initial state). Further, state management system 102 may determine the correction state of the stateful ML model using the state map and the map key that is used to locate (e.g., look up) the correction state within the state map. State management system 102 may match the map key to a location (e.g., a cluster, a centroid of a cluster, a distance from a value within a cluster, etc.) of the state map that corresponds to the map key and designates the correction state.
[0084] In some non-limiting embodiments or aspects, the map key may include a hashed key (e.g., as a first part of the map key) and the ground truth value associatedwith an input (e.g., as a second part of the map key). In some non-limiting embodiments or aspects, the state map may include a plurality of correction states stored in association with (e.g., within a predetermined distance, a predetermined vicinity of, etc.) a plurality of hashed keys and a plurality of ground truth values (e.g., a plurality of ground truth values that are known from a training dataset). In some nonlimiting embodiments or aspects, state management system 102 may determine the correction state of the stateful ML model based on calculating the hashed key using the hash function and the initial state of the stateful ML model with regard to the input.
[0085] In some non-limiting embodiments or aspects, state management system 102 may assign the correction state of the stateful ML model as the active state of the stateful ML model based on determining the correction state of the stateful ML model (e.g., using the state map, the hashed key, and the ground truth value associated with the input).
[0086] In some non-limiting embodiments or aspects, state management system 102 may generate the state map. For example, state management system 102 may generate the state map based on a plurality of historical outputs of the machine learning model.
[0087] In some non-limiting embodiments or aspects, state management system 102 may determine a plurality of values of states of the machine learning model that are associated with a correct prediction (e.g., a correct prediction for a classification task of the machine learning model) of the machine learning model from the plurality of historical outputs of the machine learning model. The correct prediction may correspond to a ground truth value for an output of the stateful ML model. In some non-limiting embodiments or aspects, state management system 102 may generate a cluster based on the plurality of values of states of the machine learning model and determine a centroid of the cluster. In some non-limiting embodiments or aspects, the centroid of the cluster may include a value of state associated with a ground truth value for a classification task of the machine learning model.
[0088] As shown in FIG. 2, at step 210 (“YES”), process 200 includes assigning an initial state of the stateful ML model as an active state of the stateful ML model. For example, state management system 102 may assign the initial state of the stateful ML model as an active state of the stateful ML model based on determining that the output of the stateful ML model corresponds to the ground truth value associated with the input.
[0089] In some non-limiting embodiments or aspects, state management system 102 may repeat steps 204-208 or 204-210 based on receiving inputs that are additional to an initial input.
[0090] In some non-limiting embodiments or aspects, state management system 102 may perform an action, such as a fraud prevention procedure, a creditworthiness procedure, and / or a recommendation procedure, using the stateful ML model (e.g., a trained machine learning model in an online environment). For example, state management system 102 may perform the action based on determining to perform the action. In some non-limiting embodiments or aspects, state management system 102 may perform a fraud prevention procedure associated with protection of an account of a user (e.g., a user associated with user device 106) based on an output of the machine learning model (e.g., an output that includes a prediction associated with the account of the user). For example, if the output of the stateful ML model indicates that the fraud prevention procedure is necessary, state management system 102 may perform the fraud prevention procedure associated with protection of the account of the user. In such an example, if the output of the stateful ML model indicates that the fraud prevention procedure is not necessary, state management system 102 may forego performing the fraud prevention procedure associated with protection of the account of the user. In some non-limiting embodiments or aspects, state management system 102 may execute a fraud prevention procedure based on a classification of an input as provided by the stateful ML model.
[0091] Referring now to FIGS. 3A-3G, shown are schematic diagrams of implementation 300 of a process (e.g., process 200) for state correction of stateful ML models. In some non-limiting embodiments or aspects, one or more of the steps of the process may be performed (e.g., completely, partially, etc.) by state management system 102 (e.g., one or more devices of state management system 102). In some non-limiting embodiments or aspects, one or more of the steps of the process may be performed (e.g., completely, partially, etc.) by another device or a group of devices separate from or including state management system 102 (e.g., one or more devices of state management system 102), ML model repository 104, and / or user device 106.
[0092] As shown by reference number 305 in FIG. 3A, state management system 102 may receive a first input for a stateful ML model from remote system 302. In some examples, remote system 302 may be the same as or similar to ML model repository 104, user device 106, and / or other systems (e.g., transaction service provider system402, issuer system 404, etc.). In some non-limiting embodiments or aspects, state management system 102 may receive the input for a stateful ML model from remote system 302 as part of a request for an inference. For example, the stateful ML model may be provided in an online setting, and state management system 102 may receive the input for the stateful ML model as part of a request for a real-time inference in the online setting.
[0093] As shown by reference number 310 in FIG. 3B, state management system 102 may generate a first output of the stateful ML model based on the first input. As shown in FIG. 3B, the stateful ML model may include a recurrent neural network (RNN) ML model. In some non-limiting embodiments or aspects, the stateful ML model may include a classification ML model that is configured to receive an input and to provide an output based on the input, wherein the output includes a prediction (e.g., a prediction score) of a classification (e.g., a label for a classification). The classification may be a binary classification, where a first classification is represented as a “1 ” and a second classification is represented as a “0.” In some non-limiting embodiments or aspects, state management system 102 may generate the first output of a stateful ML model as an initial inference based on the first input. In some non-limiting embodiments or aspects, with regard to the initial inference, the state of the stateful ML model may include an initial state that is associated with (e.g., equal to, based on, based on a value that is within an amount of, etc.) the first output (e.g., the result of the initial inference). In some non-limiting embodiments or aspects, an active state of the stateful ML model may be a null state (e.g., have no value, have a value of zero, etc.) prior to or during the initial inference. In some non-limiting embodiments or aspects, state management system 102 may update the initial state of the stateful ML model with regard to an input (e.g., the first input) based on receiving the input.
[0094] As shown by reference number 315 in FIG. 3C, state management system 102 may determine whether the first output of the stateful ML model corresponds to a ground truth (GT) value associated with the first input, such as a GT value for the first output. For example, state management system 102 may compare the output of the stateful ML model to the GT value for the first output to determine if the output of the stateful ML model corresponds to the GT value.
[0095] As shown by reference number 320 in FIG. 3D, state management system 102 may assign an initial state as an active state of the stateful ML model based on the first output corresponding to the GT value for the first output. In this way, statemanagement system 102 may provide the initial state (e.g., as the active state) to the next inference as feedback for the next inference.
[0096] As shown by reference number 325 in FIG. 3E, state management system 102 may determine a correction state based on determining that the first output does not correspond to the GT value for the first output. In some non-limiting embodiments or aspects, state management system 102 may determine the correction state of the stateful ML model based on a state map. In some non-limiting embodiments or aspects, the state map may include a plurality of correction states stored in association with (e.g., within a predetermined distance, a predetermined vicinity of, etc.) a plurality of hashed keys and a plurality of ground truth values (e.g., a plurality of ground truth values that are known from a training dataset). For example, state management system 102 may calculate a hashed key (e.g., a hashed key value) using a hash function and a state, such as the initial state, of the stateful ML model with regard to an input, such as the initial input. State management system 102 may calculate the hashed key as an output of the hash function based on the state (e.g., the initial state) provided as an input to the hash function.
[0097] In some non-limiting embodiments or aspects, state management system 102 may generate a map key, which may be a combination of a hashed key (e.g., a hashed key generated using the initial state of the stateful ML model) and a ground truth value for an input to the stateful ML model (e.g., a ground truth value for an input that was used to provide the initial state). State management system 102 may determine the correction state of the stateful ML model using the state map and the map key that is used to locate the correction state within the state map. State management system 102 may match the map key to a centroid of a cluster of the state map that corresponds to the map key and designates the correction state (e.g., shown as hcior hco, depending on the GT value for the first output).
[0098] As shown by reference number 330 in FIG. 3F, state management system 102 may assign a correction state as the active state of the machine learning model based on determining the correction state. In this way, state management system 102 may provide the correction state (e.g., as the active state) to the next inference as feedback for the next inference.
[0099] As shown by reference number 335 in FIG. 3G, state management system 102 may repeat prior steps for additional inputs and outputs to determine whether to assign a correction state. For example, as the stateful ML model receives the previousactive state and a second input for the next inference, state management system 102 may determine whether a second output of the stateful ML model corresponds to a ground truth (GT) value associated with the second input. In such an example, state management system 102 may be assigned either the second state or a correction state as previously described.
[0100] Referring now to FIG. 4, FIG. 4 is a diagram of a non-limiting embodiment or aspect of environment 400 in which systems, products, and / or methods, as described herein, may be implemented. As shown in FIG. 4, environment 400 may include transaction service provider system 402, issuer system 404, user device 406, merchant system 408, acquirer system 410, and communication network 412. In some non-limiting embodiments or aspects, each of state management system 102, ML model repository 104, and / or user device 106 of FIG. 1 may be implemented by (e.g., part of) transaction service provider system 402. In some non-limiting embodiments or aspects, at least one of state management system 102, ML model repository 104, and / or user device 106 of FIG. 1 may be implemented by (e.g., part of) another system, another device, another group of systems, or another group of devices, separate from or including transaction service provider system 402, such as issuer system 404, user device 406, merchant system 408, acquirer system 410, and / or the like.
[0101] Transaction service provider system 402 may include one or more devices capable of receiving information from and / or communicating information to issuer system 404, user device 406, merchant system 408, and / or acquirer system 410 via communication network 412. For example, transaction service provider system 402 may include a computing device, such as a server (e.g., a transaction processing server), a group of servers, and / or other like devices. In some non-limiting embodiments or aspects, transaction service provider system 402 may be associated with a transaction service provider as described herein. In some non-limiting embodiments or aspects, transaction service provider system 402 may be in communication with a data storage device, which may be local or remote to transaction service provider system 402. In some non-limiting embodiments or aspects, transaction service provider system 402 may be capable of receiving information from, storing information in, communicating information to, or searching information stored in the data storage device.
[0102] Issuer system 404 may include one or more devices capable of receiving information and / or communicating information to transaction service provider system402, user device 406, merchant system 408, and / or acquirer system 410 via communication network 412. For example, issuer system 404 may include a computing device, such as a server, a group of servers, and / or other like devices. In some non-limiting embodiments or aspects, issuer system 404 may be associated with an issuer institution as described herein. For example, issuer system 404 may be associated with an issuer institution that issued a credit account, debit account, credit card, debit card, and / or the like to a user associated with user device 406.
[0103] User device 406 may include one or more devices capable of receiving information from and / or communicating information to transaction service provider system 402, issuer system 404, merchant system 408, and / or acquirer system 410 via communication network 412. Additionally or alternatively, each user device 406 may include a device capable of receiving information from and / or communicating information to other user devices 406 via communication network 412, another network (e.g., an ad hoc network, a local network, a private network, a virtual private network, and / or the like), and / or any other suitable communication technique. For example, user device 406 may include a client device and / or the like. In some nonlimiting embodiments or aspects, user device 406 may or may not be capable of receiving information (e.g., from merchant system 408 or from another user device 406) via a short-range wireless communication connection (e.g., a near field communication (NFC) connection, a radio frequency identification (RFID) communication connection, a Bluetooth® communication connection, a Zigbee® communication connection, and / or the like), and / or communicating information (e.g., to merchant system 408) via a short-range wireless communication connection.
[0104] Merchant system 408 may include one or more devices capable of receiving information from and / or communicating information to transaction service provider system 402, issuer system 404, user device 406, and / or acquirer system 410 via communication network 412. Merchant system 408 may also include a device capable of receiving information from user device 406 via communication network 412, a communication connection (e.g., an NFC connection, an RFID communication connection, a Bluetooth® communication connection, a Zigbee® communication connection, and / or the like) with user device 406, and / or the like, and / or communicating information to user device 406 via communication network 412, the communication connection, and / or the like. In some non-limiting embodiments or aspects, merchant system 408 may include a computing device, such as a server, agroup of servers, a client device, a group of client devices, and / or other like devices. In some non-limiting embodiments or aspects, merchant system 408 may be associated with a merchant as described herein. In some non-limiting embodiments or aspects, merchant system 408 may include one or more client devices. For example, merchant system 408 may include a client device that allows a merchant to communicate information to transaction service provider system 402. In some nonlimiting embodiments or aspects, merchant system 408 may include one or more devices, such as computers, computer systems, and / or peripheral devices capable of being used by a merchant to conduct a transaction with a user. For example, merchant system 408 may include a POS device and / or a POS system.
[0105] Acquirer system 410 may include one or more devices capable of receiving information from and / or communicating information to transaction service provider system 402, issuer system 404, user device 406, and / or merchant system 408 via communication network 412. For example, acquirer system 410 may include a computing device, a server, a group of servers, and / or the like. In some non-limiting embodiments or aspects, acquirer system 410 may be associated with an acquirer as described herein.
[0106] Communication network 412 may include one or more wired and / or wireless networks. For example, communication network 412 may include a cellular network (e.g., a long-term evolution (LTE) network, a third generation (3G) network, a fourth generation (4G) network, a fifth generation (4G) network, a code division multiple access (CDMA) network, and / or the like), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the public switched telephone network (PSTN)), a private network (e.g., a private network associated with a transaction service provider), an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, and / or the like, and / or a combination of these or other types of networks.
[0107] The number and arrangement of systems, devices, and / or networks shown in FIG. 4 are provided as an example. There may be additional systems, devices, and / or networks; fewer systems, devices, and / or networks; different systems, devices, and / or networks; and / or differently arranged systems, devices, and / or networks than those shown in FIG. 4. Furthermore, two or more systems or devices shown in FIG. 4 may be implemented within a single system or device, or a single system or device shown in FIG. 4 may be implemented as multiple, distributed systems or devices.Additionally or alternatively, a set of systems (e.g., one or more systems) or a set of devices (e.g., one or more devices) of environment 400 may perform one or more functions described as being performed by another set of systems or another set of devices of environment 400.
[0108] Referring now to FIG. 5, shown is a diagram of example components of device 500, according to some non-limiting embodiments or aspects. Device 500 may correspond to at least one of state management system 102, ML model repository 104, and / or user device 106 in FIG. 1 and / or at least one of transaction service provider system 402, issuer system 404, user device 406, merchant system 408, and / or acquirer system 410 in FIG. 4, as an example. In some non-limiting embodiments or aspects, such systems or devices in FIG. 1 or FIG. 4 may include at least one device 500 and / or at least one component of device 500. The number and arrangement of components shown in FIG. 5 are provided as an example. In some non-limiting embodiments or aspects, device 500 may include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 5. Additionally or alternatively, a set of components (e.g., one or more components) of device 500 may perform one or more functions described as being performed by another set of components of device 500.
[0109] As shown in FIG. 5, device 500 may include bus 502, processor 504, memory 506, storage component 508, input component 510, output component 512, and communication interface 514. Bus 502 may include a component that permits communication among the components of device 500. In some non-limiting embodiments or aspects, processor 504 may be implemented in hardware, firmware, or a combination of hardware and software. For example, processor 504 may include a processor (e.g., a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), etc.), a microprocessor, a digital signal processor (DSP), and / or any processing component (e.g., a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), etc.) that can be programmed to perform a function. Memory 506 may include random access memory (RAM), read only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, optical memory, etc.) that stores information and / or instructions for use by processor 504.
[0110] With continued reference to FIG. 5, storage component 508 may store information and / or software related to the operation and use of device 500. Forexample, storage component 508 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, a solid-state disk, etc.) and / or another type of computer-readable medium. Input component 510 may include a component that permits device 500 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, a microphone, etc.). Additionally or alternatively, input component 510 may include a sensor for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, an actuator, etc.). Output component 512 may include a component that provides output information from device 500 (e.g., a display, a speaker, one or more light-emitting diodes (LEDs), etc.). Communication interface 514 may include a transceiver-like component (e.g., a transceiver, a separate receiver and transmitter, etc.) that enables device 500 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 514 may permit device 500 to receive information from another device and / or provide information to another device. For example, communication interface 514 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi® interface, a cellular network interface, and / or the like.
[0111] Device 500 may perform one or more processes described herein. Device 500 may perform these processes based on processor 504 executing software instructions stored by a computer-readable medium, such as memory 506 and / or storage component 508. A computer-readable medium may include any non-transitory memory device. A memory device includes memory space located inside of a single physical storage device or memory space spread across multiple physical storage devices. Software instructions may be read into memory 506 and / or storage component 508 from another computer-readable medium or from another device via communication interface 514. When executed, software instructions stored in memory 506 and / or storage component 508 may cause processor 504 to perform one or more processes described herein. Additionally or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, embodiments described herein are not limited to any specific combination of hardware circuitry and software. The term “configured to,” as used herein, may refer to an arrangement of software, device(s), and / or hardwarefor performing and / or enabling one or more functions (e.g., actions, processes, steps of a process, and / or the like). For example, “a processor configured to” may refer to a processor that executes software instructions (e.g., program code) that cause the processor to perform one or more functions.
[0112] Although embodiments have been described in detail for the purpose of illustration, it is to be understood that such detail is solely for that purpose and that the disclosure is not limited to the disclosed embodiments or aspects, but, on the contrary, is intended to cover modifications and equivalent arrangements that are within the spirit and scope of the appended claims. For example, it is to be understood that the present disclosure contemplates that, to the extent possible, one or more features of any embodiment or aspect can be combined with one or more features of any other embodiment or aspect.
Claims
WHAT IS CLAIMED IS:1 . A system, comprising: at least one processor configured to: receive an input for a stateful machine learning (ML) model; generate an output of the stateful ML model based on the input; determine whether the output of the stateful ML model corresponds to a ground truth value associated with the input; assign an initial state of the stateful ML model as an active state of the stateful ML model based on determining that the output of the stateful ML model corresponds to the ground truth value associated with the input; and assign a correction state of the stateful ML model as the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input.
2. The system of claim 1 , wherein, when assigning the correction state of the stateful ML model as the active state of the stateful ML model, the at least one processor is configured to: calculate a hashed key using a hash function and the initial state of the stateful ML model with regard to the input; determine the correction state of the stateful ML model using a state map, the hashed key, and the ground truth value associated with the input based on calculating the hashed key using the hash function and the state of the stateful ML model with regard to the input; and assign the correction state of the stateful ML model as the active state of the stateful ML model based on determining the correction state of the stateful ML model using the state map, the hashed key, and the ground truth value associated with the input.
3. The system of claim 2, wherein the at least one processor is further configured to: generate the state map based on a plurality of historical outputs of the stateful ML model.
4. The system of claim 3, wherein, when generating the state map, the at least one processor is configured to: determine a plurality of values of states of the stateful ML model that are associated with a correct prediction of the stateful ML model; generate a cluster based on the plurality of values of states of the stateful ML model; and determine a centroid of the cluster, wherein the centroid of the cluster comprises a value of state associated with a ground truth value for a classification task of the stateful ML model.
5. The system of claim 1 , wherein the stateful ML model is a recurrent neural network (RNN).
6. The system of claim 1 , wherein the at least one processor is further configured to: receive the ground truth value associated with the input after generating the output of the stateful ML model based on the input.
7. The system of claim 1 , wherein the at least one processor is further configured to: update the initial state of the stateful ML model with regard to the input based on receiving the input.
8. A computer-implemented method, comprising: receiving an input for a stateful machine learning (ML) model; generating an output of the stateful ML model based on the input; determining whether the output of the stateful ML model corresponds to a ground truth value associated with the input; foregoing assigning an initial state of the stateful ML model with regard to the input as the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input; andperforming an action associated with assigning the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input.
9. The computer-implemented method of claim 8, wherein performing the action associated with assigning the active state of the stateful ML model comprises: calculating a hashed key using a hash function and the state of the stateful ML model with regard to the input based on foregoing assigning the initial state of the stateful ML model as the active state of the stateful ML model; determining a correction state of the stateful ML model using a state map, the hashed key, and the ground truth value associated with the input based on calculating the hashed key using the hash function and the state of the stateful ML model with regard to the input; and assigning the correction state of the stateful ML model as the active state of the stateful ML model based on determining the correction state of the stateful ML model using the state map, the hashed key, and the ground truth value associated with the input.
10. The computer-implemented method of claim 9, further comprising: generating the state map based on a plurality of historical outputs of the stateful ML model.1 1. The computer-implemented method of claim 10, wherein generating the state map comprises: determining a plurality of values of states of the stateful ML model that are associated with a correct prediction of the stateful ML model; generating a cluster based on the plurality of values of states of the stateful ML model; and determining a centroid of the cluster, wherein the centroid of the cluster comprise a value of state associated with a ground truth value for a classification task of the stateful ML model.
12. The computer-implemented method of claim 8, wherein the stateful ML model is a recurrent neural network (RNN).
13. The computer-implemented method of claim 8, further comprising: receiving the ground truth value associated with the input after generating the output of the stateful ML model based on the input.
14. The computer-implemented method of claim 8, further comprising: updating the initial state of the stateful ML model with regard to the input based on receiving the input.
15. A computer program product comprising at least one non- transitory computer-readable medium including program instructions that, when executed by at least one processor, cause the at least one processor to: receive an input for a stateful machine learning (ML) model; generate an output of the stateful ML model based on the input; determine whether the output of the stateful ML model corresponds to a ground truth value associated with the input; assign an initial state of the stateful ML model as an active state of the stateful ML model based on determining that the output of the stateful ML model corresponds to the ground truth value associated with the input; and assign a correction state of the stateful ML model as the active state of the stateful ML model based on determining that the output of the stateful ML model does not correspond to the ground truth value associated with the input.
16. The computer program product of claim 15, wherein, the program instructions that cause the at least one processor to assign the correction state of the stateful ML model as the active state of the stateful ML model, cause the at least one processor to: calculate a hashed key using a hash function and the initial state of the stateful ML model with regard to the input;determine the correction state of the stateful ML model using a state map, the hashed key, and the ground truth value associated with the input based on calculating the hashed key using the hash function and the state of the stateful ML model with regard to the input; and assign the correction state of the stateful ML model as the active state of the stateful ML model based on determining the correction state of the stateful ML model using the state map, the hashed key, and the ground truth value associated with the input.
17. The computer program product of claim 16, wherein the program instructions further cause the at least one processor to: generate the state map based on a plurality of historical outputs of the stateful ML model.
18. The computer program product of claim 17, wherein the program instructions that cause the at least one processor to generate the state map, further cause the at least one processor to: determine a plurality of values of states of the stateful ML model that are associated with a correct prediction of the stateful ML model; generate a cluster based on the plurality of values of states of the stateful ML model; and determine a centroid of the cluster, wherein the centroid of the cluster comprises a value of state associated with a ground truth value for a classification task of the stateful ML model.
19. The computer program product of claim 15, wherein the stateful ML model is a recurrent neural network (RNN).
20. The computer program product of claim 15, wherein the program instructions further cause the at least one processor to: receive the ground truth value associated with the input after generating the output of the stateful ML model based on the input.21 . The computer program product of claim 15, wherein the program instructions further cause the at least one processor to: update the initial state of the stateful ML model with regard to the input based on receiving the input.
Citation Information
Patent Citations
Systems And Methods For Machine-Learned Models With Message Passing Protocols
US20210383221A1
Dynamic model server for multi-model machine learning inference services
US20220215008A1
Data anonymization of blockchain-based processing pipeline
US20220360450A1
Methods and apparatus for validation of rules of a smart contract on a centralized or distributed digital ledger
US20220383305A1
Forecasting industrial aging processes with machine learning methods
US20230028276A1