Systems, methods, and computer program products for generating and improving multi-task learning models

By optimizing the number of shared layers and shared weights of the multi-task learning model, the problems of low training efficiency and poor scalability in existing technologies are solved, and more efficient and accurate multi-task learning is achieved.

CN120836037APending Publication Date: 2025-10-24VISA INTERNATIONAL SERVICE ASSOCIATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480001579.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-02-20
Publication Date
2025-10-24

AI Technical Summary

Technical Problem

Existing technologies suffer from low efficiency, overfitting, and scalability issues when training multi-task machine learning models, especially when the task sharing hierarchy and weight sharing are difficult to determine.

Method used

By dynamically adjusting the accuracy measurement and number of shared layers and shared weights based on the multi-task learning model, the structure of the multi-task learning model is optimized, including the combination of shared layers and task-specific layers of the deep neural network, and the value of the shared weights is optimized using methods such as grid search.

Benefits of technology

The training efficiency and scalability of the multi-task learning model are improved, the accuracy and task adaptability of the model are optimized, and overfitting is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120836037A_ABST
    Figure CN120836037A_ABST
Patent Text Reader

Abstract

Systems, methods, and computer program products are provided for generating and improving a multi-task learning model. An example method includes determining a first accuracy metric based on performing a plurality of tasks based on at least two machine learning models; receiving a multi-task learning model comprising at least one shared layer and a plurality of task-specific layers; determining a second accuracy metric based on the multi-task learning model having a first number of shared layers; determining a third accuracy metric based on the multi-task learning model having a second number of shared layers; comparing the accuracy metrics; repeating before at least one termination condition is satisfied; and determining a target number of shared layers for the multi-task learning model based on at least one of the second accuracy metric, the third accuracy metric, the first number of shared layers, the second number of shared layers, or any combination thereof.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure generally relates to multi-task learning models, and in some non-limiting embodiments or aspects, to systems, methods, and computer program products for generating and improving multi-task learning models. BACKGROUND

[0002] Machine learning models successfully perform many real-world tasks. For example, a machine learning model can be trained to receive an input and perform a task (e.g., generate an output, such as a prediction, a classification, or the like). However, to perform multiple tasks, multiple separate machine learning models can need to be trained, such that each separate machine learning model can perform a respective task. Training multiple different machine learning models, particularly where some or all of the machine learning models share similar inputs, can be inefficient. Additionally, when using single-task machine learning models, each single-task machine learning model can suffer from overfitting. Additionally, training separate single-task machine learning models can result in scalability issues, as the number of models increases linearly with the number of tasks.

[0003] Additionally, it can be difficult to design multi-task learning models. For example, it can be difficult to determine a type of sharing to use between tasks. Hard parameter sharing can include sharing layers, but it can be difficult to determine an appropriate number of layers to share. Soft parameter sharing can include using shared weights to share between task-specific layers, but it can be difficult to determine appropriate shared weights. Additionally, soft parameter sharing can result in scalability issues, as the size of the model (e.g., the task-specific layers) increases linearly with the number of tasks. SUMMARY

[0004] Accordingly, improved systems, methods, and computer program products are provided for generating and improving multi-task learning models.

[0005] According to non-limiting embodiments or aspects, a computer-implemented method for generating and refining a multi-task learning model is provided. An example method can include determining a first accuracy metric based on at least two machine learning models performing a plurality of tasks. Each machine learning model of the at least two machine learning models can be associated with a single task of the plurality of tasks. Each machine learning model of the at least two machine learning models can have a certain number of layers. A multi-task learning model can be received that includes at least one shared layer and a plurality of task-specific layers. Each task-specific layer of the plurality of task-specific layers can be associated with a task of the plurality of tasks. A counter variable can be initialized. A second accuracy metric can be determined based on the multi-task learning model having a first number of shared layers equal to the number of layers minus the counter variable. A third accuracy metric can be determined based on the multi-task learning model having a second number of shared layers equal to the counter variable plus one. The first accuracy metric, the second accuracy metric, and the third accuracy metric can be compared. Prior to satisfying at least one termination condition, the following operations can be repeated: incrementing the counter variable; at least one of determining the second accuracy metric or determining the third accuracy metric (e.g., based on comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric and incrementing the counter variable); and comparing the first accuracy metric, the second accuracy metric, and / or the third accuracy metric. A target number of shared layers for the multi-task learning model can be determined based on at least one of the second accuracy metric, the third accuracy metric, the first number of shared layers, the second number of shared layers, or any combination thereof.

[0006] In some non-limiting embodiments or aspects, the multi-task learning model can include a deep neural network.

[0007] In some non-limiting embodiments or aspects, the deep neural network can include an input layer, the at least one shared layer, and the plurality of task-specific layers. The plurality of task-specific layers can include at least one first task-specific layer associated with a first task of the plurality of tasks and at least one second task-specific layer associated with a second task of the plurality of tasks.

[0008] In some non-limiting embodiments or aspects, the at least one first task-specific layer can include a first task-specific output layer. The at least one second task-specific layer can include a second task-specific output layer.

[0009] In some non-limiting embodiments or aspects, the first accuracy metric can include an average accuracy metric based on a respective accuracy metric of each respective machine learning model of the at least two machine learning models.

[0010] In some non-limiting embodiments or aspects, the average accuracy metric can comprise a first Fl score. Each respective accuracy metric can comprise a respective Fl score for a respective machine learning model of the at least two machine learning models. The second accuracy metric can comprise a second Fl score. The third accuracy metric can comprise a third Fl score.

[0011] In some non-limiting embodiments or aspects, comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric can comprise determining that the second accuracy metric is greater than the first accuracy metric and the third accuracy metric. Repeating at least one of determining the second accuracy metric or determining the third accuracy metric can comprise replacing the first accuracy metric with the second accuracy metric and repeating determining the second accuracy metric.

[0012] In some non-limiting embodiments or aspects, comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric can comprise determining that the third accuracy metric is greater than the first accuracy metric and the second accuracy metric. Repeating at least one of determining the second accuracy metric or determining the third accuracy metric can comprise replacing the first accuracy metric with the third accuracy metric and repeating determining the third accuracy metric.

[0013] In some non-limiting embodiments or aspects, comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric can comprise determining that the first accuracy metric is greater than the second accuracy metric and the third accuracy metric. Repeating at least one of determining the second accuracy metric or determining the third accuracy metric can comprise repeating determining the second accuracy metric and determining the third accuracy metric.

[0014] According to non-limiting embodiments or aspects, a computer-implemented method for generating and improving a multi-task learning model is provided. An example method can include receiving a multi-task learning model comprising a plurality of shared weights and a plurality of task-specific layers. Each task-specific layer of the plurality of task-specific layers can be associated with a task of a plurality of tasks. A range of values for the plurality of shared weights can be determined. A plurality of accuracy metrics can be determined, and the plurality of accuracy metrics can comprise a respective accuracy metric associated with each respective shared weight of the plurality of shared weights having a respective value within the range of values. A target value for each shared weight of the plurality of shared weights can be determined based on the plurality of accuracy metrics. A plurality of predictions can be generated based on the multi-task learning model having the target value for each shared weight of the plurality of shared weights. The plurality of predictions can comprise a respective prediction for each task of the plurality of tasks.

[0015] In some non-limiting embodiments or aspects, determining the plurality of accuracy metrics can include performing a grid search based on the plurality of shared weights and the range of values.

[0016] In some non-limiting embodiments or aspects, the range of values for the plurality of shared weights can include a range of 0 to 1 with selected intervals between values in the range.

[0017] In some non-limiting embodiments or aspects, the shared weights can include a self-task shared weight and a different-task shared weight.

[0018] In some non-limiting embodiments or aspects, the range of values for the plurality of shared weights can include a range of 0 to 1, and wherein a different-task shared weight can include 1 minus a self-task shared weight.

[0019] In some non-limiting embodiments or aspects, determining a target value for each shared weight can include determining the target value for each shared weight that improves the plurality of accuracy metrics.

[0020] According to non-limiting embodiments or aspects, a computer-implemented method for generating and improving a multi-task learning model is provided. An example method can include determining a first accuracy metric based on at least two machine learning models performing a plurality of tasks. Each machine learning model of the at least two machine learning models can be associated with a single task of the plurality of tasks. A first multi-task learning model including at least one shared layer and a plurality of task-specific layers can be received. Each task-specific layer of the plurality of task-specific layers can be associated with a task of the plurality of tasks. A number of shared layers of the first multi-task learning model in which at least one second accuracy metric based on the first multi-task learning model is improved and greater than the first accuracy metric can be determined. A second multi-task learning model including a plurality of shared weights and a second plurality of task-specific layers can be received. Each task-specific layer of the second plurality of task-specific layers can be associated with a task of the plurality of tasks. A value for each shared weight of the plurality of shared weights in which at least one third accuracy metric based on the second multi-task learning model is improved can be determined. A combined multi-task learning model including a plurality of shared layers based on the number of shared layers, a second plurality of shared weights based on the value for each shared weight of the plurality of shared weights, and a third plurality of task-specific layers can be received. Each task-specific layer of the third plurality of task-specific layers can be associated with a task of the plurality of tasks. A plurality of predictions including a respective prediction for each task of the plurality of tasks based on the combined multi-task learning model can be generated.

[0021] In some non-limiting embodiments or aspects, the first multi-task learning model can include a first deep neural network. The second multi-task learning model can include a second deep neural network. The combined multi-task learning model can include a third deep neural network.

[0022] In some non-limiting embodiments or aspects, the first accuracy metric can include an average accuracy metric based on a respective accuracy metric of each respective machine learning model of the at least two machine learning models.

[0023] In some non-limiting embodiments or aspects, each machine learning model of the at least two machine learning models can have a number of layers. The at least one second accuracy metric can include a first intermediate accuracy metric and a second intermediate accuracy metric. Determining the number of shared layers of the first multi-task model can include initializing a counter variable, determining the first intermediate accuracy metric based on the first multi-task learning model having a first number of shared layers equal to the number of layers minus the counter variable, determining the second intermediate accuracy metric based on the first multi-task learning model having a second number of shared layers equal to the counter variable plus one, and comparing the first accuracy metric, the first intermediate accuracy metric, and the second intermediate accuracy metric. Prior to satisfying at least one termination condition, the following operations can be repeated: incrementing the counter variable, based on comparing the first accuracy metric, the first intermediate accuracy metric, and the second intermediate accuracy metric and incrementing the counter variable, at least one of determining the first intermediate accuracy metric or determining the second intermediate accuracy metric, and comparing the first accuracy metric, the first intermediate accuracy metric, and the second intermediate accuracy metric. The number of shared layers of the first multi-task learning model can be determined based on at least one of the first intermediate accuracy metric, the second intermediate accuracy metric, the first number of shared layers, the second number of shared layers, or any combination thereof.

[0024] In some non-limiting embodiments or aspects, the at least one third accuracy metric can include a plurality of accuracy metrics. Determining the value of each shared weight of the plurality of shared weights can include determining a range of values for the plurality of shared weights, determining the plurality of accuracy metrics, the plurality of accuracy metrics including a respective accuracy metric associated with each respective shared weight of the plurality of shared weights having a respective value within the range of values, and determining the value of each shared weight of the plurality of shared weights based on the plurality of accuracy metrics.

[0025] According to non-limiting embodiments or aspects, a system for generating and improving a multi-task learning model is provided. An example system can include at least one processor configured to perform any of the methods described herein.

[0026] According to non-limiting embodiments or aspects, a computer program product for generating and improving a multi-task learning model is provided. An example computer program product can include at least one non-transitory computer-readable medium comprising program instructions, the program instructions, when executed by at least one processor, cause the at least one processor to perform any of the methods described herein.

[0027] Other non-limiting embodiments or aspects are set forth in the following numbered clauses:

[0028] Clause 1 : A computer-implemented method comprising: determining, with at least one processor, a first accuracy metric based on at least two machine learning models performing a plurality of tasks, each machine learning model of the at least two machine learning models being associated with a single task of the plurality of tasks, each machine learning model of the at least two machine learning models having a certain number of layers; receiving, with at least one processor, a multi-task learning model, the multi-task learning model comprising at least one shared layer and a plurality of task-specific layers, each task-specific layer of the plurality of task-specific layers being associated with a task of the plurality of tasks; initializing, with at least one processor, a counter variable; determining, with at least one processor, a second accuracy metric based on the multi-task learning model having a first number of shared layers equal to the number of layers minus the counter variable; determining, with at least one processor, a third accuracy metric based on the multi-task learning model having a second number of shared layers equal to the counter variable plus one; comparing, with at least one processor, the first accuracy metric, the second accuracy metric, and the third accuracy metric; prior to satisfying at least one termination condition, repeating, with at least one processor, the following operations: incrementing the counter variable; based on comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric and incrementing the counter variable, at least one of determining the second accuracy metric or determining the third accuracy metric; and comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric; and determining, with at least one processor, a target number of shared layers for the multi-task learning model based on at least one of the second accuracy metric, the third accuracy metric, the first number of shared layers, the second number of shared layers, or any combination thereof.

[0029] Clause 2: The method of clause 1, wherein the multi-task learning model comprises a deep neural network.

[0030] Clause 3: The method of clause 1 or clause 2, wherein the deep neural network comprises: an input layer; the at least one shared layer; and the plurality of task-specific layers, wherein the plurality of task-specific layers comprises at least one first task-specific layer associated with a first task of the plurality of tasks and at least one second task-specific layer associated with a second task of the plurality of tasks.

[0031] Clause 4: The method of any one of clauses 1-3, wherein the at least one first task-specific layer comprises a first task-specific output layer, and wherein the at least one second task-specific layer comprises a second task-specific output layer.

[0032] Clause 5: The method of any one of clauses 1-4, wherein the first accuracy metric comprises an average accuracy metric based on a respective accuracy metric of each respective machine learning model of the at least two machine learning models.

[0033] Clause 6: The method of any one of clauses 1-5, wherein the average accuracy metric comprises a first F1 score, wherein each respective accuracy metric comprises a respective F1 score of a respective machine learning model of the at least two machine learning models, wherein the second accuracy metric comprises a second F1 score, and wherein the third accuracy metric comprises a third F1 score.

[0034] Clause 7: The method of any one of clauses 1-6, wherein comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric comprises determining that the second accuracy metric is greater than the first accuracy metric and the third accuracy metric, wherein repeating at least one of determining the second accuracy metric or determining the third accuracy metric comprises replacing the first accuracy metric with the second accuracy metric and repeating determining the second accuracy metric.

[0035] Clause 8: The method of any one of clauses 1-7, wherein comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric comprises determining that the third accuracy metric is greater than the first accuracy metric and the second accuracy metric, wherein repeating at least one of determining the second accuracy metric or determining the third accuracy metric comprises replacing the first accuracy metric with the third accuracy metric and repeating determining the third accuracy metric.

[0036] Clause 9: The method of any of clauses 1-8, wherein comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric comprises determining that the first accuracy metric is greater than the second accuracy metric and the third accuracy metric, wherein repeating at least one of determining the second accuracy metric or determining the third accuracy metric comprises repeating determining the second accuracy metric and determining the third accuracy metric.

[0037] Clause 10: A computer-implemented method comprising: receiving, with at least one processor, a multi-task learning model, the multi-task learning model comprising a plurality of shared weights and a plurality of task-specific layers, each task-specific layer of the plurality of task-specific layers being associated with a task of a plurality of tasks; determining, with at least one processor, a range of values for the plurality of shared weights; determining, with at least one processor, a plurality of accuracy metrics, the plurality of accuracy metrics comprising a respective accuracy metric associated with each respective shared weight of the plurality of shared weights having a respective value within the range of values; determining, with at least one processor, a target value for each shared weight of the plurality of shared weights based on the plurality of accuracy metrics; and generating, with at least one processor, a plurality of predictions based on the multi-task learning model having the target value for each shared weight of the plurality of shared weights, the plurality of predictions comprising a respective prediction for each task of the plurality of tasks.

[0038] Clause 11: The method of clause 10, wherein determining the plurality of accuracy metrics comprises performing a grid search based on the plurality of shared weights and the range of values.

[0039] Clause 12: The method of clause 10 or clause 11, wherein the range of values for the plurality of shared weights comprises a range of 0 to 1 with a selected interval between values within the range.

[0040] Clause 13: The method of any of clauses 10-12, wherein the shared weights comprise a self-task shared weight and a different-task shared weight.

[0041] Clause 14: The method of any of clauses 10-13, wherein the range of values for the plurality of shared weights comprises a range of 0 to 1, and wherein the different-task shared weight comprises 1 minus the self-task shared weight.

[0042] Clause 15: The method of any of clauses 10-14, wherein determining a target value for each shared weight comprises determining the target value for each shared weight that improves the plurality of accuracy metrics.

[0043] Clause 16: A computer-implemented method comprising: determining, with at least one processor, a first accuracy metric based on at least two machine learning models performing a plurality of tasks, each machine learning model of the at least two machine learning models being associated with a single task of the plurality of tasks; receiving, with at least one processor, a first multi-task learning model comprising at least one shared layer and a plurality of task-specific layers, each task-specific layer of the plurality of task-specific layers being associated with a task of the plurality of tasks; determining, with at least one processor, a number of shared layers of the first multi-task learning model in which at least one second accuracy metric based on the first multi-task learning model is improved compared to the first accuracy metric and is greater; receiving, with at least one processor, a second multi-task learning model comprising a plurality of shared weights and a second plurality of task-specific layers, each task-specific layer of the second plurality of task-specific layers being associated with a task of the plurality of tasks; determining, with at least one processor, a value of each shared weight of the plurality of shared weights in which at least one third accuracy metric based on the second multi-task learning model is improved; receiving, with at least one processor, a combined multi-task learning model comprising a plurality of shared layers based on the number of shared layers, a second plurality of shared weights based on the value of each shared weight of the plurality of shared weights, and a third plurality of task-specific layers, each task-specific layer of the third plurality of task-specific layers being associated with a task of the plurality of tasks; and generating, with at least one processor, a plurality of predictions based on the combined multi-task learning model, the plurality of predictions comprising a respective prediction for each task of the plurality of tasks.

[0044] Clause 17: The method of clause 16, wherein the first multi-task learning model comprises a first deep neural network, wherein the second multi-task learning model comprises a second deep neural network, and wherein the combined multi-task learning model comprises a third deep neural network.

[0045] Clause 18: The method of clause 16 or clause 17, wherein the first accuracy metric comprises an average accuracy metric based on a respective accuracy metric of each respective machine learning model of the at least two machine learning models.

[0046] Clause 19: The method of any one of clauses 16-18, wherein each machine learning model of the at least two machine learning models has a certain number of layers, wherein the at least one second accuracy metric comprises a first intermediate accuracy metric and a second intermediate accuracy metric, and wherein determining the shared number of layers for the first multi-task model comprises: initializing a counter variable; determining the first intermediate accuracy metric based on the first multi-task learning model having a first shared number of layers equal to the number of layers minus the counter variable; determining the second intermediate accuracy metric based on the first multi-task learning model having a second shared number of layers equal to the counter variable plus one; comparing the first accuracy metric, the first intermediate accuracy metric, and the second intermediate accuracy metric; prior to satisfying at least one termination condition, repeating the following operations: incrementing the counter variable; based on comparing the first accuracy metric, the first intermediate accuracy metric, and the second intermediate accuracy metric and incrementing the counter variable, at least one of determining the first intermediate accuracy metric or determining the second intermediate accuracy metric; and comparing the first accuracy metric, the first intermediate accuracy metric, and the second intermediate accuracy metric; and determining the shared number of layers for the first multi-task learning model based on at least one of the first intermediate accuracy metric, the second intermediate accuracy metric, the first shared number of layers, the second shared number of layers, or any combination thereof.

[0047] Clause 20: The method of any one of clauses 16-19, wherein the at least one third accuracy metric comprises a plurality of accuracy metrics, and wherein determining the value for each shared weight of the plurality of shared weights comprises: determining a range of values for the plurality of shared weights; determining the plurality of accuracy metrics, the plurality of accuracy metrics comprising a respective accuracy metric associated with each respective shared weight of the plurality of shared weights having a respective value within the range of values; and determining the value for each shared weight of the plurality of shared weights based on the plurality of accuracy metrics.

[0048] Clause 21 : A system comprising: at least one processor configured to perform the method of any one of clauses 1-20.

[0049] Clause 22: A computer program product comprising at least one non-transitory computer- readable medium comprising program instructions configured to cause at least one processor to perform the method of any one of clauses 1-20 when executed by the at least one processor.

[0050] 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 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. They are not intended as a definition of the limits of the disclosed subject matter. BRIEF DESCRIPTION OF DRAWINGS

[0051] Additional advantages and details of operation will become apparent to those of ordinary skill in the art upon examination of the following detailed description and accompanying drawings in which:

[0052] Figure 1 is a schematic diagram of a system for generating and improving a multi-task learning model in accordance with some non-limiting embodiments or aspects;

[0053] Figures 2A-2C is a flowchart of a method for generating and improving a multi-task learning model in accordance with some non-limiting embodiments or aspects;

[0054] Figure 3 is a diagram of an exemplary environment in which the methods, systems and / or computer program products described herein can be implemented in accordance with some non-limiting embodiments or aspects;

[0055] Figure 4 is a schematic diagram of an example component of one or more devices of Figure 1 and / or Figure 3 in accordance with some non-limiting embodiments or aspects;

[0056] Figures 5A-5C is a schematic diagram of a multi-task learning model in accordance with some non-limiting embodiments or aspects; and

[0057] Figure 6A and Figure 6B is a diagram of an implementation of a method for generating and improving a multi-task learning model in accordance with some non-limiting embodiments or aspects. DETAILED DESCRIPTION

[0058] For the purposes of the following description, the terms "end", "upper", "lower", "right", "left", "vertical", "horizontal", "top", "bottom", "lateral", "longitudinal" and derivatives thereof shall relate to the orientation of the embodiments as shown in the drawings. However, it is to be understood that the embodiments can assume various alternative orientations 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 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.

[0059] Some non-limiting embodiments or aspects are described herein in connection with thresholds. As used herein, satisfying a threshold can refer to a value that is 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, and / or the like.

[0060] No aspect, component, element, structure, act, step, function, instruction, and / or the like as used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items, and can 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 can 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,” and / or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise. Additionally, references to acts performed in “response to” a condition or event can refer to acts performed “in response thereto” (i.e., in response to a previous or related condition or event). For example, in some non-limiting embodiments or aspects, the phrases “based on” and “in response to” can refer to a condition (e.g., a particular operation of an electronic device such as a computing device, processor, and / or the like) that automatically triggers an action.

[0061] As used herein, the term “acquirer institution” can refer to an entity licensed and / or approved by a transaction service provider to initiate transactions (e.g., payment transactions) using payment devices associated with the transaction service provider. Transactions that an acquirer institution can initiate can include payment transactions (e.g., purchases, original credit transaction (OCT), account funding transaction (AFT), and / or the like). In some non-limiting embodiments or aspects, an acquirer institution can be a financial institution, such as a bank. As used herein, the term “acquirer system” can refer to one or more computing devices operated by or on behalf of an acquirer institution, such as a server computer executing one or more software applications.

[0062] As used herein, the term“account identifier” can include one or more primary account numbers (PANs), tokens, or other identifiers associated with a customer account. The term“token” can refer to an identifier that is used as an alternative or substitute identifier for an original account identifier, such as a PAN. An account identifier can be any combination of alphanumeric or character and / or symbol. A token can be associated with a PAN or other original account identifier in one or more data structures (e.g., one or more databases and / or the like) such that the token can be used to conduct transactions without the need to directly use the original account identifier. In some examples, an original account identifier, such as a PAN, can be associated with multiple tokens for different individuals or purposes.

[0063] As used herein, the terms“e-wallet” and“e-wallet application” refer to one or more electronic devices and / or software applications configured to initiate and / or conduct payment transactions. For example, an e-wallet can include a mobile device executing an e-wallet application and can also include server-side software and / or databases for maintaining and providing transaction data to the mobile device. An“e-wallet provider” can include an entity that provides and / or maintains an e-wallet for a customer, such as Google Android Apple Samsung and / or other similar electronic payment systems. In some non-limiting examples, an issuer bank can be an e-wallet provider.

[0064] As used herein, the term“issuer institution” can refer to one or more entities, such as a bank, that provide accounts to customers for conducting transactions, such as payment transactions, for example, initiating credit and / or debit payments. For example, an issuer institution can provide a customer with an account identifier, such as a PAN, that uniquely identifies one or more accounts associated with the customer. The account identifier can be embodied on a portable financial device, such as a physical financial instrument (e.g., a payment card), and / or can be electronic and used for electronic payments. The term“issuer system” refers to one or more computer devices operated by or on behalf of an issuer institution, such as a server computer executing one or more software applications. For example, an issuer system can include one or more authorization servers for authorizing transactions.

[0065] As used herein, the term“merchant” can refer to an individual or entity that provides goods and / or services or access to goods and / or services to a customer based on a transaction, such as a payment transaction. The term“merchant” or“merchant system” can also refer to one or more computer systems operated by or on behalf of a merchant, such as a server computer executing one or more software applications.

[0066] As used herein, a “point of sale (POS) device” can refer to one or more devices that can be used by a merchant to conduct a transaction (e.g., a payment transaction) and / or process a transaction. For example, a POS device can include one or more client devices. Additionally or alternatively, a POS device can include a peripheral device, a card reader, a scanning device (e.g., a code scanner), As used herein, a “point of sale (POS) system” can refer to one or more client devices and / or peripheral devices used by a merchant to conduct a transaction. For example, a POS system can include one or more POS devices, and / or other similar devices that can be used to conduct a payment transaction. In some non-limiting embodiments or aspects, a POS system (e.g., a merchant POS system) can include one or more server computers configured to process online payment transactions through a web page, a mobile application, and / or the like.

[0067] As used herein, the terms “client” and “client device” can refer to one or more client-side devices or systems (e.g., at a remote of a transaction service provider) used to initiate or facilitate a transaction (e.g., a payment transaction). As an example, a “client device” can refer to one or more POS devices used by a merchant, one or more acquirer host computers used by an acquirer, one or more mobile devices used by a user, and / or the like. In some non-limiting embodiments or aspects, a client device can be an electronic device configured to communicate with one or more networks and initiate or facilitate a transaction. For example, a client device can include one or more computers, portable computers, laptops, tablet computers, mobile devices, cellular phones, wearable devices (e.g., watches, glasses, lenses, clothing, and / or the like), PDAs, and / or the like. Further, a “client” can also refer to an entity (e.g., a merchant, an acquirer, and / or the like) that owns, utilizes, and / or operates a client device to initiate a transaction (e.g., to initiate a transaction with a transaction service provider).

[0068] As used herein, the term "payment device" can refer to an electronic payment device, a portable financial device, a payment card (e.g., a credit or debit card), a gift card, a smart card, a smart media, a payroll card, a healthcare card, a wristband, a machine-readable medium containing account information, a keychain device or fob, an RFID transponder, a retailer discount or loyalty card, a cellular telephone, a mobile wallet application, a personal digital assistant (PDA), a pager, a security card, a computing device, an access card, a wireless terminal, a transponder, and / or the like. In some non-limiting embodiments or aspects, a payment device can include volatile or non-volatile memory to store information (e.g., an account identifier, an account holder name, and / or the like).

[0069] As used herein, the term "payment gateway" can refer to an entity and / or a payment processing system operated by or on behalf of such an entity (e.g., a merchant service provider, a payment service provider, a payment facilitator, a payment facilitator under contract with an acquirer, a payment aggregator, and / or the like) that provides payment services (e.g., transaction service provider payment services, payment processing services, and / or the like) to one or more merchants. The payment services can be associated with the use of portable financial devices managed by a transaction service provider. As used herein, the term "payment gateway system" can refer to one or more computer systems, computer devices, servers, groups of servers, and / or the like operated by or on behalf of a payment gateway.

[0070] As used herein, the term "transaction service provider" can refer to an entity that receives transaction authorization requests from merchants or other entities and, in some cases, provides payment guarantees through an agreement between the transaction service provider and an issuer institution. For example, a transaction service provider can include a payment network such as VISA®, MASTERCARD®, AMERICAN EXPRESS®, DISCOVER®, and / or any other entity that processes transactions. The term "transaction processing system" can refer to one or more computer systems operated by or on behalf of a transaction service provider, such as a transaction processing server that executes one or more software applications. A transaction processing server can include one or more processors and, in some non-limiting embodiments or aspects, can be operated by or on behalf of a transaction service provider.

[0071] As used herein, the term "communication" can refer to receipt, receipt of, transmission, transfer, provision of, and / or the like of data (e.g., information, signals, messages, instructions, commands, and / or the like). One unit (e.g., a device, a system, a component of a device or system, a combination thereof, and / or the like) being in communication with another unit means that the one unit is able to directly or indirectly receive a signal and / or transmit a signal to the other unit. This can refer to a direct or indirect connection (e.g., direct communication connection, indirect communication connection, and / or the like) that is wired and / or wireless in nature. Further, two units can be in communication with each other even though the information sent can be modified, processed, relayed, and / or routed by one or more intermediary units. For example, a first unit can 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 can 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 can refer to a network packet (e.g., a data packet, and / or the like) that includes data. It will be appreciated that there can be many other arrangements.

[0072] As used herein, the term "computing device" can refer to one or more electronic devices configured to process data. In some examples, a computing device can 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 can be a mobile device. As an example, a mobile device can include a cellular phone (e.g., a smart phone or a standard cellular phone), a portable computer (e.g., a notebook computer, a tablet computer, and / or the like), a wearable device (e.g., a watch, glasses, lenses, clothing, and / or the like), a personal digital assistant (PDA), and / or other similar devices. A computing device can also be a desktop computer or other form of non-mobile computer.

[0073] As used herein, the term "server" can refer to or include one or more computing devices operated by or facilitating communication and processing of a plurality of parties in a network environment, such as the Internet, although it will be appreciated that communication can be facilitated through one or more public or private network environments and that there can be various other arrangements. Moreover, a plurality of computing devices (e.g., servers, point-of-sale (POS) devices, mobile devices, etc.) in direct or indirect communication in a network environment can constitute a "system."

[0074] As used herein, the term“system” can refer to one or more computing devices or a combination of computing devices (e.g., processors, servers, client devices, software applications, components of these devices, and / or the like). As used herein, references to“devices,”“servers,”“processors,” and / or the like can refer to the devices, servers, or processors recited as performing a previous step or function, different devices, servers, or processors, and / or combinations of devices, servers, and / or processors. For example, as used in the specification and claims, a first device, first server, or first processor recited as performing a first step or a first function can refer to the same or different device, server, or processor recited as performing a second step or a second function.

[0075] Non-limiting embodiments or aspects of the disclosed subject matter relate to systems, methods, and computer program products for generating and improving multi-task learning models, including. For example, non-limiting embodiments or aspects of the disclosed subject matter provide for determining a baseline accuracy metric based on a plurality of single-task machine learning models; receiving a first multi-task learning model having at least one shared layer; determining a number of shared layers of the first multi-task learning model in which at least one second accuracy metric is improved compared to the baseline accuracy metric and is greater; receiving a second multi-task learning model having shared weights; determining a value of each shared weight in which at least one third accuracy metric is improved; receiving a combined multi-task learning model having the determined number of shared layers and the determined shared weights and task-specific layers; and generating a prediction (e.g., a respective prediction for each task) using the combined multi-task learning model. Such embodiments or aspects enable performing multiple tasks using a single machine learning model in a manner that improves efficiency and accuracy (e.g., compared to a plurality of single-task machine learning models). For example, the combined multi-task learning model can be trained to perform all tasks at once, thereby improving efficiency. Additionally, the shared layers and / or shared weights help avoid overfitting to any single task. Additionally, the combined multi-task learning model is scalable because the shared layers ensure that the size and / or complexity of the model does not increase linearly with the number of tasks. Moreover, such embodiments or aspects enable determining a number of shared layers that improves performance (e.g., an optimized number of shared layers). Additionally, such embodiments or aspects enable determining shared weights that improve performance (e.g., optimized shared weight values).

[0076] In addition, non-limiting embodiments or aspects of the disclosed subject matter provide: determining a baseline accuracy metric based on multiple single-task machine learning models; receiving a (first) multi-task learning model comprising at least one shared layer and multiple task-specific layers; initializing a counter variable; determining a second accuracy metric based on the multi-task learning model having a first number of shared layers equal to the number of layers minus the counter variable; determining a third accuracy metric based on the multi-task learning model having a second number of shared layers equal to the counter variable plus one; comparing the accuracy metrics; and repeatedly incrementing the counter variable, determining the second and / or third accuracy metrics, and comparing the accuracy metrics until a termination condition is satisfied, to determine a target number of shared layers for the (first) multi-task learning model (e.g., based on the second accuracy metric, the third accuracy metric, the first number of shared layers, the second number of shared layers, any combination thereof, and / or the like). Such embodiments or aspects enable performing multiple tasks with a single machine learning model in a manner that improves efficiency and accuracy (e.g., compared to multiple single-task machine learning models). For example, the multi-task learning model can be trained to perform all tasks at once, thereby improving efficiency. Additionally, the shared layers help avoid overfitting to any single task. In addition, the multi-task learning model is scalable because the shared layers ensure that the size and / or complexity of the model does not increase linearly with the number of tasks. In addition, such embodiments or aspects enable determination of the number of shared layers that improves performance (e.g., an optimized number of shared layers).

[0077] In addition, non-limiting embodiments or aspects of the disclosed subject matter provide: receiving a (second) multi-task learning model, the multi-task learning model comprising a plurality of shared weights and a plurality of task-specific layers; determining a value range for the plurality of shared weights; determining a plurality of accuracy metrics, the plurality of accuracy metrics comprising a respective accuracy metric associated with each respective shared weight having a respective value within the value range; determining a target value for each shared weight based on the (multiple) accuracy metrics; and generating a plurality of predictions (e.g., respective predictions for each of the plurality of tasks) based on the multi-task learning model having the target value for each shared weight. Such embodiments or aspects enable performing multiple tasks with a single machine learning model in a manner that improves efficiency and accuracy (e.g., compared to multiple single-task machine learning models). For example, a combined multi-task learning model can be trained to perform all tasks at once, thereby improving efficiency. Additionally, the shared weights help avoid overfitting on any single task. Additionally, such embodiments or aspects enable determining shared weights that improve performance (e.g., optimized shared weight values).

[0078] For purposes of illustration, in the following description, while the presently disclosed subject matter is described in relation to systems, methods, and computer program products for generating and improving multi-task learning models, those skilled in the art will recognize that the disclosed subject matter is not limited to the illustrative embodiments or aspects. For example, the systems, methods, and computer program products described herein can be used with a wide variety of settings, such imbalanced data classes are used for any suitable type of machine learning task, e.g., prediction, recommendation, fraud detection, anomaly detection, risk detection, credit default prediction, credit application approval, transaction approval, and / or the like.

[0079] Referring now to the drawings Figure 1 , an example system 100 for generating and improving multi-task learning models is shown in accordance with some non-limiting embodiments or aspects. As Figure 1 indicated in the description, the system 100 can include a machine learning model system 102, a database 104, a user device 106, and / or a communication network 112.

[0080] The machine learning model system 102 can include one or more devices capable of receiving information from and / or transmitting information to the database 104 and / or the user device 106, e.g., directly via a wired or wireless communication connection, indirectly via the communication network 112, and / or the like. For example, the machine learning model system 102 can include a computing device, e.g., a server, a group of servers, a desktop computer, a portable computer, a mobile device, and / or other similar devices. In some non-limiting embodiments or aspects, the machine learning model system 102 can be in communication with a data storage device, e.g., the database 104, which can be local or remote to the machine learning model system 102. In some non-limiting embodiments or aspects, the machine learning model system 102 can be capable of receiving information from, storing information in, transmitting information to, or searching information stored in the data storage device, e.g., the database 104.

[0081] Database 104 can include one or more devices capable of receiving information from and / or transmitting information to machine learning model system 102 and / or user devices 106 (e.g., directly via a wired or wireless communication connection, indirectly via communication network 112, and / or the like). For example, database 104 can include a computing device, such as a server, a group of servers, a desktop computer, a laptop computer, a mobile device, and / or other similar devices. In some non-limiting embodiments or aspects, database 104 can include a data storage device. In some non-limiting embodiments or aspects, database 104 can be capable of receiving information from, storing information in, transmitting information to, or searching for information stored in a data storage device. In some non-limiting embodiments or aspects, database 104 can be part of machine learning model system 102 and / or part of the same system as machine learning model system 102.

[0082] User devices 106 can include one or more devices capable of receiving information from and / or transmitting information to machine learning model system 102 and / or database 104 (e.g., directly via a wired or wireless communication connection, indirectly via communication network 112, and / or the like). For example, user devices 106 can include a computing device, such as a mobile device, a laptop computer, a desktop computer, and / or other similar devices. Additionally or alternatively, each user device 106 can include a device capable of receiving information from and / or transmitting information to other user devices 106 (e.g., directly via a wired or wireless communication connection, indirectly via communication network 112, and / or the like). In some non-limiting embodiments or aspects, user devices 106 can be part of machine learning model system 102 and / or part of the same system as machine learning model system 102. For example, machine learning model system 102, database 104, and user devices 106 can all be a single system and / or a single computing device (and / or part thereof).

[0083] Communication network 112 can include one or more wired and / or wireless networks. For example, communication network 112 can include a cellular network (e.g., a long-term evolution (LTE) network, a 5G network, and / or the like), a wireless local area network (WLAN) (e.g., a Wi-Fi network, a Wi-Fi mesh network, and / or the like), and / or the like. a network (e.g., a data network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wireless area network, a Wi-Fi network, and / or the like, a public land mobile network (PLMN), a telephone network (e.g., the public switched telephone network (PSTN)), a private network (e.g., a private branch exchange (PBX)), the Internet, and / or the like, and / or a combination of networks), a third generation (3G) network, a fourth generation (4G) network, a fifth generation (5G) 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., a public switched telephone network (PSTN)), a private network (e.g., a private branch exchange (PBX) 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.

[0084] Figure 1 The number and arrangement of systems and / or devices shown in FIG. 1 are provided as an example. There can be additional systems and / or devices, fewer systems and / or devices, different systems and / or devices, and / or differently arranged systems and / or devices than those shown in FIG. 1. Additionally or alternatively, a single system and / or device can Figure 1 comprise multiple distributed systems and / or devices. Furthermore, a system or a device shown in a singular form in FIG. 1 can implement multiple distributed systems or devices. Additionally or alternatively, a group of systems (e.g., one or more systems) and / or a group of devices (e.g., one or more devices) of system 100 can perform one or more functions described as being performed by another group of systems or another group of devices of system 100. Figure 1 Figure 1 two or more systems or devices shown in FIG. 1, ora single system or device shown in FIG. 1 can be implemented as multiple distributed systems or devices. Additionally or alternatively, a group of systems (e.g., one or more systems) and / or a group of devices (e.g., one or more devices) of system 100 can perform one or more functions described as being performed by another group of systems or another group of devices of system 100.

[0085] Referring now to Figure 2A FIG. 2A, an example process 200a for generating and improving a multi-task learning model is shown, in accordance with some non-limiting embodiments or aspects. Figure 2A The steps shown in FIG. 2A are provided for purposes of example only. It will be appreciated that additional, fewer, different, and / or differently ordered steps can be utilized in non-limiting embodiments or aspects. In some non-limiting embodiments or aspects, steps of process 200a can be performed automatically in response to performance and / or completion of a previous step. In some non-limiting embodiments or aspects, one or more steps of process 200a can be performed (e.g., entirely, partially, and / or the like) by machine learning model system 102 (e.g., one or more devices of machine learning model system 102). In some non-limiting embodiments or aspects, one or more steps of process 200a can be performed (e.g., entirely, partially, and / or the like) by another system, another device, another group of systems, or another group of devices independent of or including machine learning model system 102, such as database 104 and / or user device 106.

[0086] As Figure 2AAs shown in FIG, at step 202, process 200a may include determining a first (e.g., baseline) accuracy metric based on a machine learning model performing multiple (single) tasks. For example, the machine learning model system 102 may determine the first accuracy metric based on at least two machine learning models (e.g., multiple single-task machine learning models) performing multiple tasks. Each of the at least two machine learning models may be associated with a single task from the multiple tasks.

[0087] In some non-limiting embodiments or aspects, the first accuracy metric may include an average accuracy metric based on the corresponding accuracy metric of each respective machine learning model of the at least two machine learning models. For example, the corresponding accuracy metric of each respective machine learning model may include at least one of an F1 score, a classification accuracy metric, an area under the curve (AUC) metric, an error metric, a mean square error (MSE) metric, any combination thereof, and / or the like. The first accuracy metric (e.g., the average accuracy metric) may include an average (e.g., an arithmetic mean, median, mode, weighted average, any combination thereof, and / or the like) of the corresponding accuracy metrics (e.g., average F1 score, average classification accuracy, average AUC, average error, average MSE, any combination thereof, and / or the like) of each respective machine learning model.

[0088] like Figure 2A As shown in FIG, at step 204, process 200a may include receiving (and / or generating) a first multi-task learning model having at least one shared layer and a task-specific layer. For example, the machine learning model system 102 may receive (and / or generate) a first multi-task learning model including at least one shared layer and a plurality of task-specific layers. Each task-specific layer in the plurality of task-specific layers may be associated with one of the plurality of tasks.

[0089] In some non-limiting embodiments or aspects, the machine learning model system 102 may receive the first multi-task learning model from the user device 106. In some non-limiting embodiments or aspects, the machine learning model system 102 may receive (e.g., retrieve, request and receive, and / or the like) the first multi-task learning model from the database 104.

[0090] In some non-limiting embodiments or aspects, the machine learning model system 102 may generate a first multi-task learning model. For example, the machine learning model system 102 may instantiate the first multi-task learning model. Additionally or alternatively, the machine learning model system 102 may initialize (e.g., randomly initialize and / or the like) parameter values ​​of the parameters of the first multi-task learning model.

[0091] In some non-limiting embodiments or aspects, the first multi-task learning model may include a first deep neural network. For example, the first multi-task learning model may include at least one of a neural network, a fully connected neural network, a convolutional neural network, a tree-based encoder, any combination thereof, and / or the like.

[0092] In some non-limiting embodiments or aspects, the first multi-task learning model may be Figure 5A The multi-task learning model 500a is the same or similar. Figure 5A , and continue to refer to Figure 2A , Figure 5A Schematic diagram of a multi-task learning model 500a according to some non-limiting embodiments or aspects is shown. Figure 5A As shown in , the multi-task learning model 500a may include an input layer 501, at least one shared layer 502 (e.g., multiple shared layers 502) and multiple task-specific layers (e.g., a first task-specific layer 503-1 and a second task-specific layer 503-2, individually referred to as "task-specific layer 503" and collectively referred to as "task-specific layers 503"). In some non-limiting embodiments or aspects, the multi-task learning model 500a may further include and / or receive labels (e.g., a first label 504-1 associated with the first task, a second label 504-2 associated with the second task, individually referred to as "label 504" and collectively referred to as "label 504"), which may be used to determine a loss (e.g., a first loss 505-1 associated with the first task, a second loss 505-2 associated with the second task, individually referred to as "loss 505" and collectively referred to as "loss 505"). In some non-limiting embodiments or aspects, the loss 505 may be used to train the multi-task learning model 500a (eg, to update parameters of the multi-task learning model 500a based on the joint optimization 506 ).

[0093] In some non-limiting embodiments or aspects, the input layer 501 may include a plurality of nodes (e.g., neurons, perceptrons, computational units, and / or the like). For example, the input layer 501 may include a node for each feature of the data to be input to the multi-task learning model 500a (e.g., a node for each element of the vector to be input to the multi-task learning model 500a). In some non-limiting embodiments or aspects, the nodes of the input layer 501 may be connected to nodes of at least one shared layer (e.g., the first shared layer 502) in the shared layers 502.

[0094] In some non-limiting embodiments or aspects, each shared layer 502 may include a plurality of nodes (e.g., neurons, perceptrons, computational units, and / or the like). The number of nodes in each shared layer 502 may be equal to, greater than, or less than the number of nodes in the input layer 501 and / or the number of nodes in each other shared layer 502. In some non-limiting embodiments or aspects, each shared layer 502 may include a hidden layer. In some non-limiting embodiments or aspects, the nodes of the first shared layer 502 may be connected to the input layer 501. In some non-limiting embodiments or aspects, the nodes of each shared layer 502 may be connected to the nodes of the subsequent shared layer 502 and / or to at least one of the task-specific layers 503.

[0095] In some non-limiting embodiments or aspects, each task-specific layer may include multiple nodes (e.g., neurons, perceptrons, computational units, and / or the like). The number of nodes in each task-specific layer 503 may be equal to, greater than, or less than the number of nodes in the input layer 501, the number of nodes in the shared layer 502, and / or the number of nodes in each other task-specific layer 503. In some non-limiting embodiments or aspects, the task-specific layer 503 associated with each task may include at least one hidden layer and / or output layer (e.g., the output layer associated with the corresponding task). In some non-limiting embodiments or aspects, the nodes of the task-specific layer 503 may be connected to the shared layer 502 (e.g., the last shared layer 502). In some non-limiting embodiments or aspects, the nodes of each task-specific layer 503 may be connected to a subsequent task-specific layer 503 (except that the output layer may be the only and / or last task-specific layer, so that the output layer will not have a subsequent task-specific layer 503 to be connected to).

[0096] In some non-limiting embodiments or aspects, the multi-task learning model 500a can be trained (e.g., by the machine learning model system 102) by inputting data to the input layer 501, which can forward propagate the input to the shared layers 502. The shared layers 502 (e.g., nodes thereof) can generate intermediate outputs, which can be forward propagated to subsequent shared layers 502 and / or task-specific layers 503. The hidden task-specific layers 503 (if any) can generate intermediate outputs, which can be forward propagated to subsequent hidden task-specific layers 503 and / or output layers of the task-specific layers 503. The output layers of the task-specific layers 503 associated with each task can generate final outputs (e.g., predictions) for each task. The final outputs (e.g., predictions) associated with each task can be compared to known values (e.g., labels 504 associated with each task and / or the like), and / or a loss 505 can be determined based on the final outputs (e.g., predictions) and the known values (e.g., labels 504). For example, the loss 505 can be computed based on a loss function and / or the like. In some embodiments, the machine learning model system 102 can update (e.g., adjust) parameters (e.g., weights, connection values, and / or the like) of the multi-task learning model 500a based on the losses 505 for all tasks (e.g., joint optimization 506). For example, the machine learning model system 102 can update (e.g., adjust) the parameters based on backpropagation, gradient computation, and / or the like based on the losses 505 for all tasks (e.g., joint optimization 506).

[0097] As shown in FIG. 2B, at step 206, the process 200b can include determining a number of shared layers of the first multi-task learning model (e.g., a target number of shared layers). For example, the machine learning model system 102 can determine a number of shared layers of the first multi-task learning model in which there is an improvement in at least one second accuracy metric based on the first multi-task learning model compared to the first accuracy metric and is greater. Figure 2A

[0098] In some non-limiting embodiments or aspects, the second accuracy metric can include at least one of an Fl score, a classification accuracy metric, an AUC metric, an error metric, an MSE metric, any combination thereof, and / or the like.

[0099] In some non-limiting embodiments or aspects, determining a number of shared layers of the first multi-task learning model (e.g., a target number of shared layers) can include Figure 2B at least some steps of the process 200b as described herein.

[0100] ​In some non-limiting embodiments or aspects, each of the at least two machine learning models may have a certain number of layers, and the at least one second accuracy metric may include a first intermediate accuracy metric and a second intermediate accuracy metric, as described herein. The machine learning model system 102 may determine the number of shared layers of the first multi-task model, which may include initializing a counter variable, as described herein. The machine learning model system 102 may determine the first intermediate accuracy metric based on the first multi-task learning model having a first number of shared layers equal to the number of layers minus the counter variable, as described herein. The machine learning model system 102 may determine the second intermediate accuracy metric based on the first multi-task learning model having a second number of shared layers equal to the counter variable plus one, as described herein. The machine learning model system 102 may compare the first accuracy metric, the first intermediate accuracy metric, and the second intermediate accuracy metric, as described herein. Until at least one termination condition is satisfied, the machine learning model system 102 may repeat the following operations: incrementing the counter variable; performing at least one of determining the first intermediate accuracy metric or determining the second intermediate accuracy metric; and comparing the first accuracy metric, the first intermediate accuracy metric, and / or the second intermediate accuracy metric, as described herein. The machine learning model system 102 may determine the number of shared layers (e.g., the target number, the optimized number, and / or the like) for the first multi-task learning model based on at least one of the first intermediate accuracy metric, the second intermediate accuracy metric, the first number of shared layers, the second number of shared layers, or any combination thereof, as described herein.

[0101] like Figure 2A As shown in FIG, at step 208, process 200a may include receiving (and / or generating) a second multi-task learning model having shared weights and task-specific layers. For example, the machine learning model system 102 may receive a second multi-task learning model including a plurality of shared weights and a second plurality of task-specific layers. Each task-specific layer in the second plurality of task-specific layers is associated with one of the plurality of tasks.

[0102] In some non-limiting embodiments or aspects, the second multi-task learning model may include a second deep neural network. For example, the second multi-task learning model may include at least one of a neural network, a fully connected neural network, a convolutional neural network, a cross-stitch network, any combination thereof, and / or the like.

[0103] In some non-limiting embodiments or aspects, the second multi-task learning model may be Figure 5B The multi-task learning model 500b is the same or similar. Figure 5B , and continue to refer to Figure 2A , Figure 5BA schematic diagram illustrating a multi-task learning model 500b is shown, in accordance with some non-limiting embodiments or aspects. As shown in FIG. 5B, the multi-task learning model 500b can include at least one input layer (e.g., a first input layer 511-1 and a second input layer 511-2, individually referred to as “input layer 511” and collectively referred to as “input layers 511”), a plurality of task-specific layers (e.g., a first task-specific layer 512-1 and a second task-specific layer 512-2, individually referred to as “task-specific layer 512” and collectively referred to as “task-specific layers 512”), and a plurality of shared weights (e.g., shared weights 513-1 through 513-5, individually referred to as “shared weight 513” and collectively referred to as “shared weights 513”). Figure 5B As shown in FIG. 5B, the multi-task learning model 500b can include at least one input layer (e.g., a first input layer 511-1 and a second input layer 511-2, individually referred to as “input layer 511” and collectively referred to as “input layers 511”), a plurality of task-specific layers (e.g., a first task-specific layer 512-1 and a second task-specific layer 512-2, individually referred to as “task-specific layer 512” and collectively referred to as “task-specific layers 512”), and a plurality of shared weights (e.g., shared weights 513-1 through 513-5, individually referred to as “shared weight 513” and collectively referred to as “shared weights 513”).

[0104] In some non-limiting embodiments or aspects, the input layer 511 can include a plurality of nodes (e.g., neurons, perceptrons, computational units, and / or the like). For example, the input layer 501 can include a node for each feature of data to be input to the multi-task learning model 500b (e.g., a node for each element of a vector to be input to the multi-task learning model 500b). In some non-limiting embodiments or aspects, the nodes of the input layer 511 can be connected to nodes of at least one task-specific layer 512. In some non-limiting embodiments or aspects, the nodes of the input layer 511 can be connected to the task-specific layers 512 via shared weights 513 (e.g., the value of a node of the input layer 512 can be multiplied by a shared weight 513-1 before being input to a task-specific layer 512).

[0105] In some non-limiting embodiments or aspects, each task-specific layer 512 can include a plurality of nodes (e.g., neurons, perceptrons, computational units, and / or the like). The number of nodes of each task-specific layer 512 can be equal to, greater than, or less than the number of nodes of the input layer 501. In some non-limiting embodiments or aspects, the task-specific layer 512 associated with each task can include at least one hidden layer and / or an output layer (e.g., an output layer associated with the respective task). In some non-limiting embodiments or aspects, the nodes of the task-specific layers 512 can be connected to shared weights 513, which can be connected to nodes of another task-specific layer 512. For example, a node of one of the first task-specific layer 512-1 can be connected to a node of one of the second task-specific layer 512-2 via a shared weight 513-2 (e.g., the activation value of a node of a fully connected layer fcl of the first task-specific layer 512-1 can be multiplied by a shared weight 513-2 before being input to a node of a fully connected layer fc2 of the second task-specific layer 512-2, and the activation value of a node of the fully connected layer fcl of the second task-specific layer 512-2 can be multiplied by the shared weight 513-2 before being input to a node of the fully connected layer fc2 of the first task-specific layer 512-1).

[0106] In some non-limiting embodiments or aspects, the multi-task learning model 500b can be trained (e.g., by the machine learning model system 102) by inputting data to the input layer 511, which can forward propagate the input to the task-specific layers 512 via the shared weights 513. The hidden task-specific layers 512, if any, can generate intermediate outputs, which can be forward propagated to subsequent hidden task-specific layers 512 and / or the output layer of the task-specific layers 512 via the shared weights 513. The output layer of the task-specific layers 512 associated with each task can generate a final output (e.g., a prediction) for each task (e.g., task A and task B). The final output (e.g., a prediction) associated with each task can be compared to a known value (e.g., a label associated with each task and / or the like), and / or a loss can be determined based on the final output (e.g., a prediction) and the known value (e.g., a label). For example, the loss can be computed based on a loss function and / or the like. In some embodiments, the machine learning model system 102 can update (e.g., adjust) the parameters (e.g., weights, connection values, and / or the like) of the multi-task learning model 500b based on the loss for all tasks (e.g., joint optimization). For example, the machine learning model system 102 can update (e.g., adjust) the parameters based on backpropagation, gradient computation, and / or the like based on the loss for all tasks.

[0107] As shown in FIG. 2B, at step 210, the process 200b can include determining a value (e.g., a target value) for each shared weight. For example, the machine learning model system 102 can determine a value for each of the plurality of shared weights in which there is an improvement based on at least one third accuracy metric of the second multi-task learning model. Figure 2A As shown in FIG. 2B, at step 210, the process 200b can include determining a value (e.g., a target value) for each shared weight. For example, the machine learning model system 102 can determine a value for each of the plurality of shared weights in which there is an improvement based on at least one third accuracy metric of the second multi-task learning model.

[0108] In some non-limiting embodiments or aspects, the third accuracy metric can include at least one of an Fl score, a classification accuracy metric, an AUC metric, an error metric, an MSE metric, any combination thereof, and / or the like.

[0109] In some non-limiting embodiments or aspects, including determining a value (e.g., a target value) for each shared weight can include Figure 2C at least some steps of the process 200c as described herein.

[0110] In some non-limiting embodiments or aspects, the at least one third accuracy metric can include a plurality of accuracy metrics, as described herein. The machine learning model system 102 can determine a range of values for the plurality of shared weights, as described herein. The machine learning model system 102 can determine a plurality of accuracy metrics including a respective accuracy metric associated with each respective shared weight of the plurality of shared weights having a respective value within the range of values, as described herein. The machine learning model system 102 can determine a value for each shared weight of the plurality of shared weights based on the plurality of accuracy metrics.

[0111] As Figure 2A shown in FIG. 21 2, at step 200a can include receiving (and / or generating) a combined multi-task learning model having shared layers, shared weights, and task-specific layers. For example, the machine learning model system 102 can receive a combined multi-task learning model including a plurality of shared layers based on the determined (e.g., target) number of shared layers, a second plurality of shared weights based on the determined (e.g., target) values for each shared weight of the plurality of shared weights, and a third plurality of task-specific layers. Each task-specific layer of the third plurality of task-specific layers is associated with a task of the plurality of tasks.

[0112] In some non-limiting embodiments or aspects, the combined multi-task learning model can include a third deep neural network. For example, the third multi-task learning model can include at least one of a neural network, a fully connected neural network, a convolutional neural network, a tree-based encoder, a cross-stitch network, any combination thereof, and / or the like.

[0113] In some non-limiting embodiments or aspects, the combined multi-task learning model can be the same as or similar to the combined multi-task learning model 500c of Figure 5C Referring now to Figure 5C , and with continued reference to Figure 2A , Figure 5C illustrates a schematic diagram of a combined multi-task learning model 500c, in accordance with some non-limiting embodiments or aspects. As Figure 5CAs shown in FIG. 5C, multi-task learning model 500c can include an input layer 531, at least one shared layer 532 (e.g., a plurality of shared layers 532), a plurality of task-specific layers (e.g., a first task-specific layer 533-1 and a second task-specific layer 533-2, individually referred to as “task-specific layer 533” and collectively referred to as “task-specific layers 533”), and a plurality of shared weights (e.g., shared weights 543-1 and 543-2, individually referred to as “shared weight 543” and collectively referred to as “shared weights 543”). In some non-limiting embodiments or aspects, multi-task learning model 500c can additionally include and / or receive labels (e.g., a first label 534-1 associated with the first task, a second label 534-2 associated with the second task, individually referred to as “label 534” and collectively referred to as “labels 534”) that can be used to determine a loss (e.g., a first loss 535-1 associated with the first task, a second loss 535-2 associated with the second task, individually referred to as “loss 535” and collectively referred to as “losses 535”). In some non-limiting embodiments or aspects, losses 535 can be used to train multi-task learning model 500c (e.g., update parameters of multi-task learning model 500c based on a joint optimization 536).

[0114] In some non-limiting embodiments or aspects, input layer 531 can include a plurality of nodes (e.g., neurons, perceptrons, computational units, and / or the like). For example, input layer 531 can include a node for each feature of data to be input to multi-task learning model 500c (e.g., a node for each element of a vector to be input to multi-task learning model 500c). In some non-limiting embodiments or aspects, nodes of input layer 531 can be connected to nodes of at least one of shared layers 532 (e.g., a first shared layer 532).

[0115] In some non-limiting embodiments or aspects, each shared layer 532 can include a plurality of nodes (e.g., neurons, perceptrons, computational units, and / or the like). The number of nodes of each shared layer 532 can be equal to, greater than, or less than the number of nodes of input layer 531 and / or the number of nodes of each other shared layer 532. In some non-limiting embodiments or aspects, each shared layer 532 can include a hidden layer. In some non-limiting embodiments or aspects, nodes of a first shared layer 532 can be connected to input layer 531. In some non-limiting embodiments or aspects, nodes of each shared layer 532 can be connected to nodes of a subsequent shared layer 532 and / or to at least one of task-specific layers 533.

[0116] In some non-limiting embodiments or aspects, each task-specific layer 533 can include a number of nodes (e.g., neurons, perceptrons, computational units, and / or the like). The number of nodes of each task-specific layer 533 can be equal to, greater than, or less than the number of nodes of the input layer 531, the number of nodes of each shared layer 532, and / or the number of nodes of each other task-specific layer 533. In some non-limiting embodiments or aspects, the task-specific layer 533 associated with each task can include at least one hidden layer and / or an output layer (e.g., an output layer associated with the respective task). In some non-limiting embodiments or aspects, a node of a task-specific layer 533 can be connected to a shared weight 543, which can be connected to a node of another task-specific layer 533. For example, a node of one of the first task-specific layer 533-1 can be connected to a node of one of the second task-specific layer 533-2 via a shared weight 543-1 (e.g., the activation value of the node of the first of the first task-specific layer 533-1 can be multiplied by the shared weight 543-1 before being input to the node of the second of the second task-specific layer 533-2, and the activation value of the node of the first of the second task-specific layer 533-2 can be multiplied by the shared weight 543-1 before being input to the node of the second of the first task-specific layer 533-1).

[0117] In some non-limiting embodiments or aspects, the multi-task learning model 500c can be trained (e.g., by the machine learning model system 102) by inputting data to the input layer 531, which can forward propagate the input to the shared layers 532, which can forward propagate the input to the task-specific layers 533, as described herein. The output layer of the task-specific layer 533 associated with each task can generate a final output (e.g., a prediction) for each task (e.g., task 1 and task 2). The final output (e.g., the prediction) associated with each task can be compared to a known value (e.g., a label 534 associated with each task and / or the like), and / or a loss 535 can be determined based on the final output (e.g., the prediction) and the known value (e.g., the label 534). For example, the loss 535 can be calculated based on a loss function and / or the like. In some embodiments, the machine learning model system 102 can update (e.g., adjust) the parameters (e.g., weights, connection values, and / or the like) of the multi-task learning model 500c based on the loss 535 for all tasks (e.g., joint optimization). For example, the machine learning model system 102 can update (e.g., adjust) the parameters based on backpropagation, gradient calculation, and / or the like based on the loss 535 for all tasks.

[0118] As Figure 2AAs shown in , at step 214, process 200a may include generating a prediction based on the combined multi-task learning model. For example, the machine learning model system 102 may generate a plurality of predictions based on the combined multi-task learning model. The plurality of predictions may include a corresponding prediction for each of the plurality of tasks.

[0119] In some non-limiting embodiments or aspects, the machine learning model system 102 may receive input data (e.g., from a database 104, a user device 106, and / or the like). Additionally or alternatively, the machine learning model system 102 may generate a plurality of predictions based on the input data and the combined multi-task learning model. For example, the machine learning model system 102 may input the input data into the combined multi-task learning model to generate predictions.

[0120] In some non-limiting embodiments or aspects, the input data may include transaction data associated with at least one payment transaction. Additionally or alternatively, the prediction may include multiple predictions based on the transaction data. For example, the prediction may include at least one of: a prediction that the authorization amount will be the same as the clearing amount, a prediction when a clearing message is expected, a prediction of whether there will be a single or multiple clearing messages, a fraud prediction (e.g., a likelihood of fraud), a prediction of whether an authorization message can be matched with a clearing message within a selected time period, an authorization prediction (e.g., a prediction of whether the payment transaction should be authorized), any combination thereof, and / or the like.

[0121] Now refer to Figure 2B , illustrating an example process 200b for generating and improving a multi-task learning model according to some non-limiting embodiments or aspects. Figure 2B The steps shown in are for example purposes only. It will be understood that in non-limiting embodiments or aspects, additional, fewer, different, and / or different orders of steps may be used. In some non-limiting embodiments or aspects, steps may be automatically performed in response to the execution and / or completion of previous steps. In some non-limiting embodiments or aspects, one or more steps of process 200b may be performed (e.g., in full, in part, and / or the like) by the machine learning model system 102 (e.g., one or more devices of the machine learning model system 102). In some non-limiting embodiments or aspects, one or more steps of process 200b may be performed (e.g., in full, in part, and / or the like) by another system, another device, another group of systems, or another group of devices that is independent of or includes the machine learning model system 102, such as the database 104 and / or the user device 106.

[0122] like Figure 2BAs shown in block 222, process 200b can include determining a first (e.g., baseline) accuracy metric based on the machine learning model performing the plurality of (single) tasks. For example, machine learning model system 102 can determine a first accuracy metric based on the at least two machine learning models performing the plurality of tasks (e.g., each machine learning model of the at least two machine learning models is associated with a single task of the plurality of tasks), as described herein. In some non-limiting embodiments or aspects, each machine learning model of the at least two machine learning models can have a certain number of layers.

[0123] In some non-limiting embodiments or aspects, the first accuracy metric can include an average accuracy metric based on a respective accuracy metric (e.g., an Fl score, a classification accuracy metric, an AUC metric, an error metric, an MSE metric, any combination thereof, and / or the like) of each respective machine learning model of the at least two machine learning models, as described herein. For example, each respective accuracy metric can include a respective Fl score of a respective machine learning model of the at least two machine learning models. The average accuracy metric can include a first Fl score (e.g., based on the respective Fl score of each respective machine learning model).

[0124] As Figure 2B As shown in block 224, process 200b can include receiving (and / or generating) a multi-task learning model having shared layers and task-specific layers. For example, machine learning model system 102 can receive a multi-task learning model including at least one shared layer and a plurality of task-specific layers, as described herein. Each task-specific layer of the plurality of task-specific layers can be associated with a task of the plurality of tasks, as described herein.

[0125] In some non-limiting embodiments or aspects, the multi-task learning model can include a deep neural network, as described herein. In some non-limiting embodiments or aspects, the multi-task learning model can be the same as or similar to multi-task learning model 500a, as described herein. Figure 5A As shown in block 224, process 200b can include receiving (and / or generating) a multi-task learning model having shared layers and task-specific layers. For example, machine learning model system 102 can receive a multi-task learning model including at least one shared layer and a plurality of task-specific layers, as described herein. Each task-specific layer of the plurality of task-specific layers can be associated with a task of the plurality of tasks, as described herein.

[0126] In some non-limiting embodiments or aspects, the multi-task learning model can include an input layer, at least one shared layer, and a plurality of task-specific layers, as described herein. For example, the plurality of task-specific layers can include at least one first task-specific layer associated with a first task of the plurality of tasks and at least one second task-specific layer associated with a second task of the plurality of tasks.

[0127] In some non-limiting embodiments or aspects, the at least one first task-specific layer can include a first task-specific output layer. Additionally or alternatively, the at least one second task-specific layer can include a second task-specific output layer.

[0128] As shown in Figure 2B at step 226, process 200b can include initializing and / or incrementing a counter variable. For example, machine learning model system 102 can initialize and / or increment a counter variable.

[0129] In some non-limiting embodiments or aspects, initializing the counter variable can include setting the counter variable equal to 0.

[0130] In some non-limiting embodiments or aspects, incrementing the counter variable can include increasing a value of the counter variable by 1.

[0131] As shown in Figure 2B at step 228, process 200b can include determining a second accuracy metric based on the multi-task learning model having a first number of shared layers. For example, machine learning model system 102 can determine the second accuracy metric based on the multi-task learning model having a first number of shared layers equal to a number of layers (of the single-task machine learning model) minus the counter variable.

[0132] In some non-limiting embodiments or aspects, the second accuracy metric can include at least one of an Fl score, a classification accuracy metric, an AUC metric, an error metric, an MSE metric, any combination thereof, and / or the like. For example, the second accuracy metric can include a second Fl score.

[0133] In some non-limiting embodiments or aspects, determining the second accuracy metric can include training the multi-task learning model having the first number of shared layers. For example, machine learning system 102 can receive a training dataset that can be used to train the multi-task learning model having the first number of shared layers, as described herein (e.g., forward propagation of inputs from the training dataset and backward propagation for updating parameters of the multi-task learning model having the first number of shared layers). Additionally, machine learning model system 102 can receive a test dataset. The second accuracy metric can be determined based on the test dataset (e.g., machine learning system 102 can input inputs from the test dataset to generate predictions, and the predictions can be used to determine the second accuracy metric).

[0134] As shown in Figure 2B at step 230, process 200b can include determining a third accuracy metric based on the multi-task learning model having a second number of shared layers. For example, machine learning model system 102 can determine the third accuracy metric based on the multi-task learning model having a second number of shared layers equal to the counter variable plus one.

[0135] In some non-limiting embodiments or aspects, the third accuracy metric may include at least one of an F1 score, a classification accuracy metric, an AUC metric, an error metric, an MSE metric, any combination thereof, and / or the like. For example, the third accuracy metric may include a third F1 score.

[0136] In some non-limiting embodiments or aspects, determining the third accuracy metric may include training a multi-task learning model with a second number of shared layers. For example, the machine learning system 102 may receive a training dataset that can be used to train a multi-task learning model with a second number of shared layers, as described herein (e.g., forward propagation of inputs from the training dataset and backpropagation for updating parameters of the multi-task learning model with the second number of shared layers). Additionally, the machine learning model system 102 may receive a test dataset. The third accuracy metric may be determined based on the test dataset (e.g., the machine learning system 102 may input inputs from the test dataset to generate predictions, and the predictions may be used to determine the third accuracy metric).

[0137] like Figure 2B As shown in , at step 232, process 200b may include comparing the accuracy metrics. For example, the machine learning model system 102 may compare the first accuracy metric, the second accuracy metric, and the third accuracy metric.

[0138] In some non-limiting embodiments or aspects, at least some of steps 226, 228, 230, and / or 232 may be repeated until a termination condition is met. The machine learning model system 102 may repeatedly increment the counter variable, determine at least one of the second accuracy metric or determine the third accuracy metric (e.g., based on a previous comparison of the first, second, and third accuracy metrics), and compare the first, second, and third accuracy metrics until at least one termination condition is met.

[0139] In some non-limiting embodiments or aspects, comparing the first, second, and third accuracy metrics may include determining that the second accuracy metric is greater than the first accuracy metric and the third accuracy metric. Thus, repeating at least one of determining the second accuracy metric or determining the third accuracy metric may include replacing the first accuracy metric with the second accuracy metric and repeating determining the second accuracy metric.

[0140] In some non-limiting embodiments or aspects, comparing the first, second, and third accuracy metrics may include determining that the third accuracy metric is greater than the first accuracy metric and the second accuracy metric. Thus, repeating at least one of determining the second accuracy metric or determining the third accuracy metric may include replacing the first accuracy metric with the third accuracy metric and repeating determining the third accuracy metric.

[0141] In some non-limiting embodiments or aspects, comparing the first, second, and third accuracy metrics can include determining that the first accuracy metric is greater than the second accuracy metric and the third accuracy metric. As such, repeating at least one of determining the second accuracy metric or determining the third accuracy metric can include both repeating determining the second accuracy metric and determining the third accuracy metric.

[0142] In some non-limiting embodiments or aspects, the termination condition can include the first accuracy metric being different from an average accuracy metric of the single-task machine learning model (e.g., the first accuracy metric has been replaced at least once, as described herein) and the first accuracy metric (e.g., after such a replacement and another repetition of incrementing the counter variable and determining at least one of the second and / or third accuracy metrics, as described herein) being greater than the second and third accuracy metrics.

[0143] As shown in block 234, process 200b can include determining a target number of shared layers. For example, machine learning model system 102 can determine a target number of shared layers for the multi-task learning model based on at least one of the first accuracy metric, the second accuracy metric, the third accuracy metric, the first number of shared layers, the second number of shared layers, or any combination thereof. Figure 2B

[0144] In some non-limiting embodiments or aspects, after stopping the repetitions due to the termination condition being satisfied, the number of shared layers that results in the greatest accuracy metric can be selected as the target number of shared layers.

[0145] In some non-limiting embodiments or aspects, machine learning model system 102 can generate predictions based on the multi-task learning model, as described herein. For example, machine learning model system 102 can receive input data (e.g., from database 104, user device 106, and / or the like). Additionally or alternatively, machine learning model system 102 can generate a plurality of predictions based on the input data and the multi-task learning model. For example, machine learning model system 102 can input the input data to the multi-task learning model to generate the predictions.

[0146] ​In some non-limiting embodiments or aspects, the input data can include transaction data associated with at least one payment transaction. Additionally or alternatively, the prediction can include a plurality of predictions based on the transaction data. For example, the prediction can include at least one of a prediction that an authorized amount will be the same as a cleared amount, a prediction of when a clearing message is expected, a prediction of whether there will be a single or multiple clearing messages, a prediction of whether an authorization message can be matched with a clearing message within a selected time period, a fraud prediction (e.g., a likelihood of fraud), an authorization prediction (e.g., a prediction of whether a payment transaction should be authorized), any combination thereof, and / or the like.

[0147] Referring now to Figure 2C , an example process 200c for generating and refining a multi-task learning model is shown, in accordance with some non-limiting embodiments or aspects. Figure 2C The steps shown in FIG. 2C are for example purposes only. It will be appreciated that, in non-limiting embodiments or aspects, additional, fewer, different, and / or different order steps can be used. In some non-limiting embodiments or aspects, a step can be performed automatically in response to performance and / or completion of a previous step. In some non-limiting embodiments or aspects, one or more steps of process 200c can be performed (e.g., entirely, partially, and / or the like) by machine learning model system 102 (e.g., one or more devices of machine learning model system 102). In some non-limiting embodiments or aspects, one or more steps of process 200c can be performed (e.g., entirely, partially, and / or the like) by another system, another device, another group of systems, or another group of devices independent of or including machine learning model system 102, such as database 104 and / or user device 106.

[0148] As shown in Figure 2C , at step 242, process 200c can include receiving (and / or generating) a multi-task learning model having shared weights and task-specific layers. For example, machine learning model system 102 can receive a multi-task learning model including a plurality of shared weights and a plurality of task-specific layers, as described herein. For example, each of the plurality of task-specific layers can be associated with one of a plurality of tasks, as described herein.

[0149] In some non-limiting embodiments or aspects, the multi-task learning model can be the same as or similar to multi-task learning model 500b of Figure 5B , as described herein.

[0150] As shown in Figure 2CAs shown in FIG. 2C, at step 244, process 200c can include determining a value range for the shared weights. For example, machine learning model system 102 can determine a value range for the plurality of shared weights, as described herein.

[0151] In some non-limiting embodiments or aspects, the value range for the plurality of shared weights can include a range of 0 to 1 with a selected interval between values in the range. For example, if the selected interval is 0.1, then the possible values for each shared weight in the value range can include 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, and 1.0.

[0152] In some non-limiting embodiments or aspects, the shared weights can include self-task shared weights and different-task shared weights, as described herein. For example, an activation value of a task-specific layer (e.g., of a node of the task-specific layer) can be multiplied by a self-task shared weight to generate an intermediate output to be input to a next task-specific layer associated with the same task. Additionally or alternatively, an activation value of a task-specific layer (e.g., of a node thereof) can be multiplied by a different-task shared weight to generate an intermediate output to be input to a next task-specific layer associated with a different task.

[0153] In some non-limiting embodiments or aspects, the different-task shared weights can be determined based on the self-task shared weights (e.g., vice versa). For example, if the value range for the shared weights includes a range of 0 to 1, then the different-task shared weights can include 1 minus the self-task shared weights.

[0154] As Figure 2C As shown in FIG. 2C, at step 246, process 200c can include determining an accuracy metric. For example, machine learning model system 102 can determine a plurality of accuracy metrics, including a respective accuracy metric associated with each respective shared weight of the plurality of shared weights having a respective value in the value range.

[0155] In some non-limiting embodiments or aspects, determining the plurality of accuracy metrics may include performing a grid search based on the plurality of shared weights and the value range. For example, the machine learning system 102 may receive a training dataset that can be used to train a multi-task learning model having a first set of values, the first set of values ​​including respective values ​​within a range of values ​​for each respective shared weight in the plurality of shared weights, as described herein (e.g., forward propagation of inputs from the training dataset and backpropagation for updating parameters of the multi-task learning model). Additionally, the machine learning model system 102 may receive a test dataset. Based on the test dataset, respective accuracy metrics (e.g., of the first set of values) may be determined (e.g., the machine learning system 102 may input inputs from the test dataset to generate predictions, and the predictions may be used to determine the accuracy metrics). The value of at least one shared weight from the first set of values ​​may be changed (e.g., to provide a second set of values), and the process may be repeated for each possible set of values ​​(e.g., all permutations of each shared weight with each possible value in the value range) (e.g., the machine learning model may be trained and the respective accuracy metrics may be determined).

[0156] like Figure 2C As shown in , at step 248, process 200c may include determining a target value for each shared weight. For example, the machine learning model system 102 may determine a target value for each of the plurality of shared weights based on the plurality of accuracy metrics.

[0157] In some non-limiting embodiments or aspects, determining the target value for each shared weight may include determining the target value for each shared weight that improves the plurality of accuracy metrics.

[0158] In some non-limiting embodiments or aspects, after the grid search is completed, the value of each shared weight that produces the maximum accuracy metric can be selected as the target value for each shared weight.

[0159] like Figure 2C As shown in , at step 250, process 200c may include generating predictions based on the multi-task learning model. For example, the machine learning model system 102 may generate a plurality of predictions based on the multi-task learning model having a target value for each of the plurality of shared weights. For example, the plurality of predictions includes a corresponding prediction for each of the plurality of tasks.

[0160] In some non-limiting embodiments or aspects, the machine learning model system 102 can generate predictions based on a multi-task learning model, as described herein. For example, the machine learning model system 102 can receive input data (e.g., from the database 104, the user device 106, and / or the like). Additionally or alternatively, the machine learning model system 102 can generate a plurality of predictions based on the input data and the multi-task learning model. For example, the machine learning model system 102 can input the input data to the multi-task learning model to generate the predictions.

[0161] In some non-limiting embodiments or aspects, the input data can include transaction data associated with at least one payment transaction. Additionally or alternatively, the predictions can include a plurality of predictions based on the transaction data. For example, the predictions can include at least one of a prediction that an authorized amount will be the same as a cleared amount, a prediction of when a clearing message is expected, a prediction of whether there will be a single or multiple clearing messages, a prediction of whether an authorization message can be matched with a clearing message within a selected time period, a fraud prediction (e.g., a likelihood of fraud), an authorization prediction (e.g., a prediction of whether a payment transaction should be authorized), any combination thereof, and / or the like.

[0162] Referring now to Figure 3 , a diagram depicting a non-limiting embodiment or aspect of an example environment 300 in which the systems, products, and / or methods described herein can be implemented is depicted. As shown in Figure 3 , the environment 300 includes a transaction service provider system 302, an issuer system 304, a customer device 306, a merchant system 308, an acquirer system 310, and a communication network 312. In some non-limiting embodiments or aspects, each of the machine learning model system 102, the database 104, and / or the user device 106 described herein can be implemented by the transaction service provider system 302 (e.g., as part thereof). In some non-limiting embodiments or aspects, at least one of the machine learning model system 102, the database 104, and / or the user device 106 described herein can be implemented by another system, another device, another group of systems, or another group of devices (e.g., as part thereof) that is independent of or includes the transaction service provider system 302, such as the issuer system 304, the customer device 306, the merchant system 308, the acquirer system 310, and / or the like. For example, the user device 106 can be implemented by (e.g., as part of) at least one of the issuer system 304, the customer device 306, the merchant system 308, and / or the acquirer system 310. Figure 1 Figure 1

[0163] ​​The transaction service provider system 302 can include one or more devices capable of receiving information from, and / or transmitting information to, the issuer system 304, the customer device 306, the merchant system 308, and / or the acquirer system 310 via the communication network 312. For example, the transaction service provider system 302 can comprise a computing device, such as a server (e.g., a transaction processing server, etc.), a group of servers, and / or other similar devices. In some non-limiting embodiments or aspects, the transaction service provider system 302 can be associated with a transaction service provider described herein. In some non-limiting embodiments or aspects, the transaction service provider system 302 can be in communication with a data storage device, which can be local or remote to the transaction service provider system 302. In some non-limiting embodiments or aspects, the transaction service provider system 302 can be capable of receiving information from the data storage device, storing information in the data storage device, transmitting information to the data storage device, or searching for information stored in the data storage device.

[0164] The issuer system 304 can include one or more devices capable of receiving information from, and / or transmitting information to, the transaction service provider system 302, the customer device 306, the merchant system 308, and / or the acquirer system 310 via the communication network 312. For example, the issuer system 304 can comprise a computing device, such as a server, a group of servers, and / or other similar devices. In some non-limiting embodiments or aspects, the issuer system 304 can be associated with an issuer institution described herein. For example, the issuer system 304 can be associated with an issuer institution that issues a credit account, a debit account, a credit card, a debit card, and / or the like to a user associated with the customer device 306.

[0165] The customer device 306 can include one or more devices capable of receiving information from, and / or transmitting information to, the transaction service provider system 302, the issuer system 304, the merchant system 308, and / or the acquirer system 310 via the communication network 312. Additionally or alternatively, each customer device 306 can include a device capable of receiving information from, and / or transmitting information to, other customer devices 306 via the communication network 312, 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, the customer device 306 can comprise a client device and / or the like. In some non-limiting embodiments or aspects, the customer device 306 can or can not be capable of connecting via a short-range wireless communication connection (e.g., an NFC communication connection, an RFID communication connection, communication connection, communication connection and / or the like) from the merchant system 308 or from another customer device 306, and / or transmit information via a short-range wireless communication connection (e.g., to the merchant system 308).

[0166] The merchant system 308 can include one or more devices capable of receiving information from and / or transmitting information to the transaction service provider system 302, the issuer system 304, the customer device 306, and / or the acquirer system 310 via the communication network 312. The merchant system 308 can also include devices capable of receiving information from and / or transmitting information to the customer device 306 via a communication connection (e.g., an NFC communication connection, an RFID communication connection, communication connection, communication connection and / or the like) from the customer device 306, and / or transmit information to the customer device 306 via the communication network 312, the communication connection, and / or the like. In some non-limiting embodiments or aspects, the merchant system 308 can include a computing device, such as a server, a group of servers, a client device, a group of client devices, and / or other similar devices. In some non-limiting embodiments or aspects, the merchant system 308 can be associated with a merchant described herein. In some non-limiting embodiments or aspects, the merchant system 308 can include one or more client devices. For example, the merchant system 308 can include a client device that allows a merchant to transmit information to the transaction service provider system 302. In some non-limiting embodiments or aspects, the merchant system 308 can include one or more devices, such as a computer, a computer system, and / or a peripheral device, that can be used by a merchant to conduct transactions with users. For example, the merchant system 308 can include a POS device and / or a POS system.

[0167] The acquirer system 310 can include one or more devices capable of receiving information from and / or transmitting information to the transaction service provider system 302, the issuer system 304, the customer device 306, and / or the merchant system 308 via the communication network 312. For example, the acquirer system 310 can include a computing device, a server, a group of servers, and / or the like. In some non-limiting embodiments or aspects, the acquirer system 310 can be associated with an acquirer described herein.

[0168] The communication network 312 can include one or more wired and / or wireless networks. For example, the communication network 312 can include a cellular network (e.g., a long-term evolution (LTE) network, a 5G network, etc.), a wireless local area network (WLAN) (e.g., a Wi-Fi network, etc.), and / or the like. a network, a third generation (3G) network, a fourth generation (4G) network, a fifth generation (3G) 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.

[0169] For illustrative purposes, processing a transaction can include generating a transaction message (e.g., an authorization request and / or the like) based on an account identifier of a customer (e.g., associated with a customer device 306 and / or the like) and / or transaction data associated with a transaction. For example, a merchant system 308 (e.g., a client device of the merchant system 308, a POS device of the merchant system 308, and / or the like) can initiate a transaction, for example, by generating an authorization request (e.g., in response to receiving an account identifier from a portable financial device of a customer and / or the like). Additionally or alternatively, the merchant system 308 can communicate the authorization request to an acquirer system 310. Additionally or alternatively, the acquirer system 310 can communicate the authorization request to a transaction service provider system 302. Additionally or alternatively, the transaction service provider system 302 can communicate the authorization request to an issuer system 304. The issuer system 304 can determine an authorization decision (e.g., an authorization, a decline, and / or the like) based on the authorization request, and / or the issuer system 304 can generate an authorization response based on the authorization decision and / or the authorization request. Additionally or alternatively, the issuer system 304 can communicate the authorization response to the transaction service provider system 302. Additionally or alternatively, the transaction service provider system 302 can communicate the authorization response to the acquirer system 310, which can communicate the authorization response to the merchant system 308.

[0170] For illustrative purposes, clearing and / or settling a transaction may include generating a message (e.g., a clearing message and / or the like) based on an account identifier of a customer (e.g., associated with customer device 306 and / or the like) and / or transaction data associated with the transaction. For example, merchant system 308 may generate at least one clearing message (e.g., a plurality of clearing messages, a batch of clearing messages, and / or the like). Additionally or alternatively, merchant system 308 may transmit the clearing message to acquirer system 310. Additionally or alternatively, acquirer system 310 may transmit the clearing message to transaction service provider system 302. Additionally or alternatively, transaction service provider system 302 may transmit the clearing message to issuer system 304. Additionally or alternatively, issuer system 304 may generate at least one settlement message based on the clearing message. Additionally or alternatively, issuer system 304 may transmit the settlement message and / or funds to transaction service provider system 302 (and / or a settlement bank system associated with transaction service provider system 302). Additionally or alternatively, the transaction service provider system 302 (and / or the settlement bank system) may transmit the settlement message and / or funds to the acquirer system 310, which may transmit the settlement message and / or funds to the merchant system 308 (and / or an account associated with the merchant system 308).

[0171] Provided as an example Figure 3 The number and arrangement of systems, devices, and / or networks shown are not exhaustive. Additional systems, devices, and / or networks may exist; fewer systems, devices, and / or networks; different systems, devices, and / or networks; and / or networks in a manner similar to that shown. Figure 3 The systems, devices and / or networks shown in the figures may be arranged in different ways. In addition, the systems, devices and / or networks may be implemented in a single system or device. Figure 3 Two or more systems or devices shown, or Figure 3 The single system or device shown may be implemented as multiple distributed systems or devices. Additionally or alternatively, one or more systems (e.g., one or more systems) and / or one or more devices (e.g., one or more devices) of environment 300 may perform one or more functions described as being performed by another system or device of environment 300.

[0172] Reference Figure 4 , a diagram showing example components of an apparatus 400 according to a non-limiting embodiment. The apparatus 400 may correspond, for example, to Figure 1 Machine learning model system 102, database 104 and / or user device 106 and / or Figure 3Transaction service provider system 302, issuer system 304, client device 306, merchant system 308, acquirer system 310, and communication network 312. In some non-limiting embodiments, such a system or device may include at least one device 400 and / or at least one component of device 400. The number and arrangement of components shown are provided as examples. In some non-limiting embodiments, device 400 may include additional components, fewer components, different components, or components arranged in a different manner than those shown. Additionally or alternatively, one or more components of device 400 (e.g., one or more components) may perform one or more functions described as being performed by another group of components of device 400.

[0173] like Figure 4 As shown, the device 400 may include a bus 402, a processor 404, a memory 406, a storage component 408, an input component 410, an output component 412, and a communication interface 414. The bus 402 may include components that permit communication between the components of the device 400. In some non-limiting embodiments, the processor 404 may be implemented in hardware, firmware, or a combination of hardware and software. For example, the processor 404 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 that can be programmed to perform a function (e.g., a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), etc.). The memory 406 may include a random access memory (RAM), a 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 the processor 404.

[0174] Continue to refer Figure 4The storage component 408 can store information and / or software related to the operation and use of the device 400. For example, the storage component 408 can 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 media. The input component 410 can include a component that permits the device 400 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, the input component 410 can include a sensor (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, an actuator, etc.) for sensing information. The output component 412 can include a component that provides output information from the device 400 (e.g., a display, a speaker, one or more light-emitting diodes (LEDs), etc.). The communication interface 414 can include a transceiver-like component (e.g., a transceiver, a separate receiver and transmitter, etc.) that enables the device 400 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. The communication interface 414 can permit the device 400 to receive information from another device and / or provide information to another device. For example, the communication interface 414 can 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 Bluetooth® interface, a ZigBee® interface, a Wi-Fi® interface, a WiMAX® interface, a near-field communication (NFC) interface, a cellular network interface, and / or the like.

[0175] The device 400 can perform one or more processes described herein. The device 400 can perform these processes based on the processor 404 executing software instructions stored by a computer-readable medium, such as the memory 406 and / or the storage component 408. A computer-readable medium can include any non-transitory memory. A memory includes a memory space located within a single physical storage component or a memory space spread across multiple physical storage components. The software instructions can be read into the memory 406 and / or the storage component 408 from another computer-readable medium or from another device via the communication interface 414. When executed, the software instructions stored in the memory 406 and / or the storage component 408 can cause the processor 404 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry can 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 can refer to an arrangement of software, a device, and / or hardware used to perform and / or implement one or more functions (e.g., acts, processes, steps of a process, and / or the like). For example, a “processor configured to” can refer to a processor that executes software instructions (e.g., program code) that cause the processor to perform one or more functions.

[0176] Reference is now made to Figure 6A ​, a flowchart illustrating an example implementation 600a of a method for generating and improving a multi-task learning model according to some non-limiting embodiments or aspects. Figure 6A The steps shown in are for example purposes only. It will be understood that in non-limiting embodiments or aspects, additional, fewer, different, and / or different orders of steps may be used. In some non-limiting embodiments or aspects, steps may be automatically performed in response to the execution and / or completion of previous steps. In some non-limiting embodiments or aspects, one or more steps of embodiment 600a may be performed (e.g., in full, in part, and / or the like) by the machine learning model system 102 (e.g., one or more devices of the machine learning model system 102). In some non-limiting embodiments or aspects, one or more steps of embodiment 600a may be performed (e.g., in full, in part, and / or the like) by another system, another device, another group of systems, or another group of devices that is independent of or includes the machine learning model system 102, such as the database 104 and / or the user device 106.

[0177] like Figure 6A As shown in , at 602, embodiment 600a may include initialization. For example, machine learning model system 102 may determine a first (e.g., baseline) accuracy metric F1_sing based on the machine learning model performing multiple (single) tasks, as described herein. The current maximum accuracy metric F1_max may be initially set equal to F1_sing. The (single-task) machine learning model may have a certain number of layers N_sing, and the maximum number of layers N may be set equal to N_sing. In addition, as described herein, a counter variable k may be initially set to 0. After initialization, embodiment 600a may begin by proceeding to steps 604 and / or 606.

[0178] like Figure 6A As shown in , at 604, embodiment 600a may include determining a second accuracy metric F1(Nk) based on the multi-task learning model having a first number of shared layers equal to the number of layers N minus a counter variable k, as described herein.

[0179] like Figure 6A As shown in , at 606 , embodiment 600a may include determining a third accuracy metric F 1 (1+k) based on the multi-task learning model having a second number of shared layers equal to a counter variable k plus one, as described herein.

[0180] like Figure 6AAs shown in , at 606, embodiment 600a may include comparing accuracy metrics. For example, machine learning model system 102 may compare the current maximum accuracy metric F1_max, the second accuracy metric F1(Nk), and the third accuracy metric F1(1+k), as described herein. If, based on the comparison, the second accuracy metric F1(Nk) is the largest, embodiment 600a may proceed to step 610. If, based on the comparison, the third accuracy metric F1(1+k) is the largest, embodiment 600a may proceed to step 612. If, based on the comparison, the current maximum accuracy metric F1_max is the largest, embodiment 600a may proceed to step 614.

[0181] like Figure 6A As shown in , at 610, embodiment 600a may include incrementing a counter variable and replacing the current maximum accuracy metric F1_max with the second accuracy metric F1(Nk), as described herein. After step 610, steps 604 and 608 may be repeated.

[0182] like Figure 6A As shown in , at 612, embodiment 600a may include incrementing a counter variable and replacing the current maximum accuracy metric F1_max with a third accuracy metric F1(1+k), as described herein. After step 612, steps 606 and 608 may be repeated.

[0183] like Figure 6A , embodiment 600a may include determining whether a termination condition is met at 614. For example, if the current maximum accuracy metric F1_max is still equal to the baseline accuracy metric F1_sing (e.g., F1_max has not been replaced), a counter variable may be incremented and steps 604, 606, and 608 may be repeated. If the current maximum accuracy metric F1_max is not equal to the baseline accuracy metric F1_sing (e.g., F1_max has been replaced at least once), then the termination condition is determined to be met and embodiment 600a may stop.

[0184] Now refer to Figure 6B , a schematic diagram illustrating an example implementation 600b of a method for generating and improving a multi-task learning model according to some non-limiting embodiments or aspects. Figure 6B The number and arrangement of components shown in Figure 6BCompared to the components shown, there may be additional components, fewer components, different components, and / or components arranged in a different manner. In some non-limiting embodiments or aspects, implementation 600b may be implemented by machine learning model system 102 (e.g., one or more devices of machine learning model system 102) (e.g., in full, in part, and / or the like). In some non-limiting embodiments or aspects, implementation 600b may be implemented by another system, another device, another group of systems, or another group of devices (e.g., in full, in part, and / or the like) that is independent of or includes machine learning model system 102, such as database 104 and / or user device 106.

[0185] like Figure 6B As shown in , embodiment 600b may include activation values ​​of task-specific layers (e.g., activation value 622-1 of the first task-specific layer, activation value 622-2 of the second task-specific layer, individually referred to as “activation value 622” and collectively referred to as “activation value 622”), intermediate outputs (e.g., intermediate output 624-1 of the first task-specific layer, intermediate output 624-2 of the second task-specific layer, individually referred to as “intermediate output 624” and collectively referred to as “intermediate output 624”), task-specific outputs (e.g., task-specific output 626-1 of the first task-specific layer, task-specific output 626-2 of the second task-specific layer, individually referred to as “task-specific output 626” and collectively referred to as “task-specific output 626”), and shared weights (e.g., self-task shared weights Different tasks share weights ), as described herein.

[0186] In some non-limiting embodiments or aspects, the activation values ​​622 of a task-specific layer may share weights with the task itself. Multiplied together to generate an intermediate output 624 to be input to the next task-specific layer associated with the same task. For example, the activation value 622-1 of task A may share the weight Multiply to generate intermediate output 624-1 (e.g., ), and the activation value 622-2 of task B can share the weight with its own task Multiply to generate intermediate output 624-2 (e.g., ). Additionally or alternatively, the activation values ​​622 of a task-specific layer (e.g., of its nodes) may share weights with different tasks Multiply them together to generate an intermediate output to be input to the next task-specific layer associated with a different task. For example, the activation value 622-1 of task A may share weights with different tasks Multiply to generate intermediate output 624-2 (e.g., ), and the activation value 622-2 for task B can share weights with different tasks are multiplied to generate an intermediate output 624-1 (e.g., ).

[0187] In some non-limiting embodiments or aspects, the task-specific outputs 626 can be based on the respective intermediate outputs 624. For example, the task-specific output 626-1 can be based on the intermediate output 624-1, and the task-specific output 626-2 can be based on the intermediate output 624-2.

[0188] While embodiments have been described in detail, it should be understood that the description is for illustrative purposes only and that modifications and equivalents can come within the spirit and scope of the disclosure. For example, it should be understood that the 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

1. A computer-implemented method comprising: determining, with at least one processor, a first accuracy metric based on at least two machine learning models performing a plurality of tasks, each machine learning model of the at least two machine learning models being associated with a single task of the plurality of tasks, each machine learning model of the at least two machine learning models having a certain number of layers; receiving, with at least one processor, a multi-task learning model, the multi-task learning model comprising at least one shared layer and a plurality of task-specific layers, each task-specific layer of the plurality of task-specific layers being associated with a task of the plurality of tasks; initializing, with at least one processor, a counter variable; determining, with at least one processor, a second accuracy metric based on the multi-task learning model having a first number of shared layers equal to the number of layers minus the counter variable; determining, with at least one processor, a third accuracy metric based on the multi-task learning model having a second number of shared layers equal to the counter variable plus one; comparing, with at least one processor, the first accuracy metric, the second accuracy metric, and the third accuracy metric; prior to satisfying at least one termination condition, repeating, with at least one processor: incrementing the counter variable; based on comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric and incrementing the counter variable, at least one of determining the second accuracy metric or determining the third accuracy metric; and comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric; and determining, with at least one processor, a target number of shared layers for the multi-task learning model based on at least one of the second accuracy metric, the third accuracy metric, the first number of shared layers, the second number of shared layers, or any combination thereof.

2. The method of claim 1, wherein the multi-task learning model comprises a deep neural network.

3. The method of claim 2, wherein the deep neural network comprises: an input layer; the at least one shared layer; and the plurality of task-specific layers, wherein the plurality of task-specific layers comprises at least one first task-specific layer associated with a first task of the plurality of tasks and at least one second task-specific layer associated with a second task of the plurality of tasks.

4. The method of claim 3, wherein the at least one first task-specific layer comprises a first task-specific output layer, and wherein the at least one second task-specific layer comprises a second task-specific output layer.

5. The method of claim 1, wherein the first accuracy metric comprises an average accuracy metric based on a respective accuracy metric of each respective machine learning model of the at least two machine learning models.

6. The method of claim 5, wherein the average accuracy metric comprises a first F1 score, wherein each respective accuracy metric comprises a respective F1 score of the respective machine learning model of the at least two machine learning models, wherein the second accuracy metric comprises a second F1 score, and wherein the third accuracy metric comprises a third F1 score.

7. The method of claim 1, wherein comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric comprises determining that the second accuracy metric is greater than the first accuracy metric and the third accuracy metric, wherein repeating at least one of determining the second accuracy metric or determining the third accuracy metric comprises: replacing the first accuracy metric with the second accuracy metric; and repeating determining the second accuracy metric.

8. The method of claim 1, wherein comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric comprises determining that the third accuracy metric is greater than the first accuracy metric and the second accuracy metric, wherein repeating at least one of determining the second accuracy metric or determining the third accuracy metric comprises: replacing the first accuracy metric with the third accuracy metric; and repeating determining the third accuracy metric.

9. The method of claim 1, wherein comparing the first accuracy metric, the second accuracy metric, and the third accuracy metric comprises determining that the first accuracy metric is greater than the second accuracy metric and the third accuracy metric, wherein repeating at least one of determining the second accuracy metric or determining the third accuracy metric comprises: repeating determining the second accuracy metric and determining the third accuracy metric.

10. A computer-implemented method comprising: receiving, with at least one processor, a multi-task learning model, the multi-task learning model comprising a plurality of shared weights and a plurality of task-specific layers, each task-specific layer of the plurality of task-specific layers being associated with a task of a plurality of tasks; determining, with at least one processor, a range of values for the plurality of shared weights; determining, with at least one processor, a plurality of accuracy metrics, the plurality of accuracy metrics comprising a respective accuracy metric associated with each respective shared weight of the plurality of shared weights having a respective value within the range of values; determining, with at least one processor, a target value for each shared weight of the plurality of shared weights based on the plurality of accuracy metrics; and generating, with at least one processor, a plurality of predictions based on the multi-task learning model having the target value for each shared weight of the plurality of shared weights, the plurality of predictions comprising a respective prediction for each task of the plurality of tasks.

11. The method of claim 10, wherein determining the plurality of accuracy metrics comprises performing a grid search based on the plurality of shared weights and the range of values.

12. The method of claim 10, wherein the range of values for the plurality of shared weights comprises a range of 0 to 1, the range having a selected interval between values within the range.

13. The method of claim 10, wherein the shared weights comprise a self-task shared weight and a different-task shared weight. ​ ​ 14. The method of claim 10, wherein the range of values for the plurality of shared weights comprises a range of 0 to 1, and wherein the different task-shared weight comprises 1 minus the self-task-shared weight.

15. The method of claim 10, wherein determining a target value for each shared weight comprises determining the target value for each shared weight that improves the plurality of accuracy metrics.

16. A computer-implemented method comprising: determining, with at least one processor, a first accuracy metric based on at least two machine learning models performing a plurality of tasks, each machine learning model of the at least two machine learning models being associated with a single task of the plurality of tasks; receiving, with at least one processor, a first multi-task learning model comprising at least one shared layer and a plurality of task-specific layers, each task-specific layer of the plurality of task-specific layers being associated with a task of the plurality of tasks; determining, with at least one processor, a number of shared layers of the first multi-task learning model in which at least one second accuracy metric based on the first multi-task learning model is improved and greater than the first accuracy metric; receiving, with at least one processor, a second multi-task learning model comprising a plurality of shared weights and a second plurality of task-specific layers, each task-specific layer of the second plurality of task-specific layers being associated with a task of the plurality of tasks; determining, with at least one processor, a value for each shared weight of the plurality of shared weights in which at least one third accuracy metric based on the second multi-task learning model is improved; receiving, with at least one processor, a combined multi-task learning model comprising a plurality of shared layers based on the number of shared layers, a second plurality of shared weights based on the value for each shared weight of the plurality of shared weights, and a third plurality of task-specific layers, each task-specific layer of the third plurality of task-specific layers being associated with a task of the plurality of tasks; and generating, with at least one processor, a plurality of predictions based on the combined multi-task learning model, the plurality of predictions comprising a respective prediction for each task of the plurality of tasks.

17. The method of claim 16, wherein the first multi-task learning model comprises a first deep neural network, wherein the second multi-task learning model comprises a second deep neural network, and wherein the combined multi-task learning model comprises a third deep neural network.

18. The method of claim 16, wherein the first accuracy metric comprises an average accuracy metric based on a respective accuracy metric for each respective machine learning model of the at least two machine learning models.

19. The method of claim 16, wherein each machine learning model of the at least two machine learning models has a number of layers, wherein the at least one second accuracy metric comprises a first intermediate accuracy metric and a second intermediate accuracy metric, and wherein determining the number of shared layers of the first multi-task model comprises: initializing a counter variable; determining the first intermediate accuracy measure based on the first multi-task learning model having a first number of shared layers equal to the number of layers minus the counter variable; determining the second intermediate accuracy measure based on the first multi-task learning model having a second number of shared layers equal to the counter variable plus one; comparing the first accuracy measure, the first intermediate accuracy measure, and the second intermediate accuracy measure; repeating the following operations until at least one termination condition is met: incrementing the counter variable; determining at least one of the first intermediate accuracy measure or the second intermediate accuracy measure based on comparing the first accuracy measure, the first intermediate accuracy measure, and the second intermediate accuracy measure and incrementing the counter variable; and and comparing the first accuracy measure, the first intermediate accuracy measure, and the second intermediate accuracy measure; and determining the number of shared layers of the first multi-task learning model based on at least one of the first intermediate accuracy measure, the second intermediate accuracy measure, the first number of shared layers, the second number of shared layers, or any combination thereof.

20. The method of claim 16, wherein the at least one third accuracy measure comprises a plurality of accuracy measures, and wherein determining the value of each shared weight of the plurality of shared weights comprises: determining a range of values for the plurality of shared weights; determining the plurality of accuracy measures, the plurality of accuracy measures comprising a respective accuracy measure associated with each respective shared weight of the plurality of shared weights having a respective value within the range of values; and determining the value of each shared weight of the plurality of shared weights based on the plurality of accuracy measures.

21. A system comprising: at least one processor configured to perform the method of any one of claims 1-20.

22. A computer program product comprising at least one non-transitory computer- readable medium including program instructions, the program instructions, when executed by at least one processor, cause the at least one processor to perform the method of any one of claims 1-20.