System, computer-implemented method, and computer program (meta causal learning over multiple directed acyclic graphs)

By introducing data collection and decomposition components into the system to generate shared and private DAGs, the problem of instability and non-independent homogeneous data processing between multiple DAGs in the prior art is solved, and higher generalization performance and scalability are achieved.

JP2025069105APending Publication Date: 2025-04-30INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024181256
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-17
Filing Date
2024-10-16
Publication Date
2025-04-30

AI Technical Summary

Technical Problem

The prior art has problems of instability and inability to effectively handle non-independent homogeneous data when promoting metacausal learning between multiple directed acyclic graphs (DAGs).

Method used

By introducing data collection components and decomposition components into the system, collecting data from multiple different environments or domains, and performing structured decomposition, generating a shared directed acyclic graph (DAG) and a private DAG of each environment or domain, thereby realizing metacausal learning.

Benefits of technology

This method improves the generalization performance of causal model structure discovery, ensures the theoretical convergence rate of the algorithm, and shows higher scalability in large-scale problems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025069105000001_ABST
    Figure 2025069105000001_ABST
Patent Text Reader

Abstract

To provide systems / techniques that facilitate meta causal learning over multiple directed acyclic graphs (DAG).SOLUTION: In various embodiments, a system can structurally decompose multiple DAGs of different domains into a shared DAG with private DAGs for each domain. In various aspects, the system can formulate the DAG causal structure learning as a functional constrained bilevel optimization problem. In various instances, the system can implement a bilevel primal dual method that extracts the shared DAG structure while learning the individual DAG model for personalization.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to causal model structure discovery, and more specifically, to meta-causal learning across multiple directed acyclic graphs. Summary of the Invention [Problem to be solved by the invention]

[0002] Causal structural relationships involve inferring underlying causal dependencies or causal relationships within a set of variables or data. When the problem size is large, it becomes difficult to explore the exact Bayesian network structure. Causal exploration in the form of directed acyclic graph (DAG) structure learning discovers causal relationships between features of sampled data, where variables are represented by nodes and causal relationships are represented by directed edges. DAG graph structures are acyclic, which means that the graph does not contain loops or cycles (e.g., if an edge connects one node to another node, there is no path back to the initial node from the other node). [Means for solving the problem]

[0003] The following presents a summary to provide a basic understanding of one or more embodiments described herein. This summary is not intended to identify key or critical elements or to delineate the scope of particular embodiments or the claims. Its sole purpose is to present concepts in a simplified form as a prelude to the more detailed description presented later. In one or more embodiments described herein, a system, computer-implemented method, apparatus, and / or computer program product are described that enable meta-causal learning across multiple directed acyclic graphs.

[0004] According to an embodiment, a computer-implemented system is provided. The computer-implemented system may include a memory capable of storing computer-executable components. The computer-implemented system may further include a processor capable of executing the computer-executable components stored in the memory, where the computer-executable components may include a data gathering component that collects datasets from a plurality of different environments or domains, and a decomposition component that operates on the collected datasets to perform a structured decomposition on a plurality of directed acyclic graphs (DAGs) into a shared DAG with a private DAG for each environment or domain to generalize DAG learning.

[0005] According to another embodiment, a computer-implemented method is provided that may include collecting, by a system operatively coupled to a processor, datasets from a plurality of different environments or domains, and operating, by the system, on the collected datasets to perform a structural decomposition on a plurality of DAGs into a shared DAG with private DAGs for each environment or domain to generalize DAG learning.

[0006] According to yet another embodiment, a computer program product for facilitating meta-causal learning across multiple directed acyclic graphs is provided. The computer program product may comprise a computer-readable storage medium having program instructions embodied thereon that are executable by a processor to cause the processor to engage a data gathering component that collects datasets from multiple different environments or domains, and a decomposition component that operates on the collected datasets to perform a structured decomposition on multiple DAGs into a shared DAG with private DAGs for each environment or domain to generalize DAG learning.

[0007] According to one or more embodiments, the system may be implemented as a computer-implemented method or computer program product. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 illustrates a block diagram of an example, non-limiting system that can facilitate meta-causal learning across multiple acyclic graphs in accordance with one or more embodiments described herein.

[0009] [Diagram 2] FIG. 1 illustrates a block diagram of an example, non-limiting system that can facilitate meta-causal learning across multiple acyclic graphs in accordance with one or more embodiments described herein.

[0010] [Diagram 3] FIG. 1 illustrates a block diagram of an example, non-limiting system that can facilitate meta-causal learning across multiple acyclic graphs in accordance with one or more embodiments described herein.

[0011] [Figure 4] FIG. 1 illustrates a flow diagram of an example, non-limiting, computer-implemented method that may facilitate meta-causal learning across multiple acyclic graphs in accordance with one or more embodiments described herein.

[0012] [Diagram 5] FIG. 1 illustrates a flow diagram of an example, non-limiting, computer-implemented method that may facilitate meta-causal learning across multiple acyclic graphs in accordance with one or more embodiments described herein.

[0013] [Figure 6] FIG. 1 illustrates a flow diagram of an example, non-limiting, computer-implemented method that may facilitate meta-causal learning across multiple acyclic graphs in accordance with one or more embodiments described herein.

[0014] [Figure 7]13 shows plots of convergence performance of Meta-DAG along with various other DAG learning methods in accordance with one or more embodiments described herein.

[0015] [Figure 8] 13A-13D show plots of generalization of the Meta-DAG along with various other DAG learning methods according to one or more embodiments described herein.

[0016] [Figure 9] FIG. 1 illustrates a block diagram of an exemplary non-limiting operating environment in which one or more embodiments described herein may be facilitated. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0017] The following detailed description is merely illustrative and is not intended to limit the embodiments or the application / uses of the embodiments, nor is there any intention to be bound by any express or implied information presented in the preceding Background or Summary sections or in the Detailed Description section.

[0018] One or more embodiments will now be described with reference to the drawings, in which like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a more thorough understanding of one or more embodiments. However, it will be apparent that in various instances, one or more embodiments may be practiced without these specific details.

[0019] Causal structural relationships involve inferring underlying causal dependencies or causal relationships within a set of variables or data. When the problem size is large, it becomes difficult to explore the exact Bayesian network structure. Causal exploration in the form of directed acyclic graph (DAG) structure learning discovers causal relationships between features of sampled data, where variables are represented by nodes and causal relationships are represented by directed edges. DAG graph structures are acyclic, which means that the graph does not contain loops or cycles (e.g., if an edge connects one node to another node, there is no path back to the initial node from the other node).

[0020] Unfortunately, existing techniques for facilitating meta-causal learning across multiple DAGs can be unreliable or unsatisfactory for a variety of reasons.

[0021] First, causal models generally assume that data are independent and identically distributed, which indicates that all data samples are generated by a single underlying causal model. The assumption that variables are independently generated and have the same distribution may lead to inaccurate causal conclusions as in real-world causal systems, where variables are often interdependent and may have different distributions. Such assumptions ignore the variation of different data features or variables across different domains. That is, data distribution across multiple domains may vary based on personalized attributes in multi-task learning problems. For example, in a DAG, two nodes may have a causal relationship, but the dependency probability or weight between the nodes may vary between the respective domains or environments (e.g., one node and a second node may have a causal relationship, but in one domain, the weight is .3 and in another domain, the weight is .45).

[0022] Furthermore, existing algorithms implemented to solve the bi-level optimization framework applied to the DAG causal structure relationship problem are unable to satisfy all constraints. In other words, the utilized algorithms are unable to solve the bi-level optimization problem under the non-linear and non-convex functional constraints of the DAG structure discovery problem. Such constraints enforce and guarantee that the graph structure and weight matrix of the resulting solution can represent a DAG. Other methods for solving non-linear or non-convex functional problems require regularity conditions or feasibility of the initial points to guarantee the convergence of the algorithm, however, the DAG constraints do not provide a clear indication that such conditions are satisfied.

[0023] Various embodiments of the present disclosure may be implemented to generate solutions to these problems. The embodiments described herein include systems, computer-implemented methods, and computer program products that may facilitate meta-causal learning across multiple DAGs.

[0024] Various embodiments described herein may address one or more of these technical problems. One or more embodiments described herein may include a system, computer-implemented method, apparatus, or computer program product that may facilitate meta-causal learning across multiple acyclic graphs. That is, the current inventors have realized that various shortcomings associated with existing techniques for causal model structure discovery may be ameliorated by meta-causal learning across multiple acyclic graphs.

[0025] In various embodiments, a matrix

number

[0026] Equation 1:

number

number

[0027] In various embodiments, the data gathering component may collect data sets from multiple different domains or environments. In various aspects, the decomposition component may operate on the collected data sets to perform structured decomposition on multiple DAGs into a shared DAG with private DAGs for each environment or domain to generalize DAG learning, where the data are not necessarily independently and identically distributed. In various embodiments, the analysis component may formulate the DAG causal structure relation problem as a functionally constrained bilevel optimization problem. Furthermore, the analysis component may utilize a bilevel primal dual method to solve the bilevel optimization problem with a guaranteed convergent solution. In various aspects, the bilevel optimization framework may improve the generality of the model. For example, such a DAG learning framework may be applied to a wide range of hierarchical constraint learning systems (e.g., learning models under multiple constraints, meta-learning under functional constraints, meta-actor critic schemes in safe reinforcement learning). Furthermore, the meta-DAG model may be applied to solve nonlinear DAG structures in addition to linear DAG structures. In various embodiments, the meta-DAG model offers improved interpretability by providing causal relationships between factors across multiple domains. Moreover, the meta-DAG method is theoretically grounded. More specifically, the bilevel primal-dual algorithm may find Karush-Kuhn-Tucker points with guaranteed theoretical convergence rates. The bilevel optimization framework with the bilevel primal-dual method further enables scalability of the Meta-DAG model by outperforming other DAG causal learning models when the problem size is large.

[0028] It should be understood that the drawings and descriptions herein provide non-limiting examples of various embodiments and are not necessarily drawn to scale.

[0029] The embodiments illustrated in one or more of the figures described herein are merely exemplary, and thus the architecture of the embodiments is not limited to the systems, devices, and / or components illustrated therein, nor to any particular order, connection, and / or coupling of the systems, devices, and / or components illustrated therein. For example, in one or more embodiments, the non-limiting system 100 as illustrated in FIG. 1 and / or the non-limiting systems described herein, such as such systems, may further include, be associated with, and / or be coupled to one or more computer and / or computing-based elements described herein with reference to an operating environment, such as the operating environment 900 illustrated in FIG. 9. For example, the system 100 may be associated with, e.g., accessible via, the computing environment 900 described below with reference to FIG. 9, such that aspects of processing may be distributed between the system 100 and the computing environment 900. In one or more of the described embodiments, a computer and / or computing-based elements may be used in connection with implementing one or more of the systems, devices, components, and / or computer-implemented operations shown and / or described in connection with FIG. 1 and / or other figures described herein.

[0030] 1 illustrates a block diagram of an example, non-limiting system 100 for facilitating meta-causal learning across acyclic graphs in accordance with one or more embodiments described herein. System 100 may include a processor 102, a memory 104, a system bus 106, a data gathering component 108, and a decomposition component 110.

[0031] System 100 and / or components of system 100 may be utilized using hardware and / or software to solve problems that are highly technical in nature (e.g., related to meta-learning, bi-level optimization, DAG causal structure relationships, etc.) that are not abstract and cannot be implemented as a set of human mental activities. Furthermore, some of the processes performed may be executed by dedicated computers to perform predefined tasks related to causal model structure discovery. System 100 and / or components of the system may be utilized to solve new problems that arise due to developments in the above-mentioned technologies, functionally constrained bi-level optimization, and / or the like. System 100 may provide technical improvements to causal model structure discovery, such as by improving the generalization performance of structure learning, providing guaranteed theoretical convergence rates, and / or improving the efficiency of recovery of causal model ground truth.

[0032] A brief description of the processor 102, memory 104, and bus 106 of system 100 will now be provided. For example, in one or more embodiments, system 100 may include a processor 102 (e.g., a computer processing unit, a microprocessor, a classical processor, and / or the like). In one or more embodiments, components associated with system 100 may include one or more computer- and / or machine-readable, writeable, and / or executable components and / or instructions that may be executed by processor 102 to enable execution of one or more processes defined by such components and / or instructions, as described herein with or without reference to one or more drawing figures of one or more embodiments.

[0033] In one or more embodiments, system 100 may include computer-readable memory (e.g., memory 104) that may be operatively coupled to processor 102. Memory 104 may store computer-executable instructions that, when executed by processor 102, may cause processor 102 and / or one or more other components of system 100 (e.g., data gathering component 108, parsing component 110) to perform one or more actions. In one or more embodiments, memory 104 may store computer-executable components (e.g., data gathering component 108, parsing component 110).

[0034] System 100 as described herein and / or its components may be communicatively, electrically, operatively, optically, and / or otherwise coupled to one another via bus 106. Bus 106 may include one or more of a memory bus, a memory controller, a peripheral bus, an external bus, a local bus, and / or another type of bus that may utilize one or more bus architectures. One or more of these examples of bus 106 may be utilized. In one or more embodiments, system 100 may be coupled (e.g., communicatively, electrically, operatively, optically, and / or similarly functional) to one or more external systems (e.g., electrical output generating systems, not shown, one or more output targets, an output target controller, and / or the like), sources and / or devices (e.g., classical computing devices, communication devices, and / or the like), such as via a network. In one or more embodiments, one or more of the components of system 100 may reside in the cloud and / or may reside locally in a local computing environment (e.g., a designated location).

[0035] In addition to the processor 102 and / or memory 104 described above, the system 100 may include one or more computer- and / or machine-readable, writeable, and / or executable components and / or instructions that, when executed by the processor 102, may enable performance of one or more operations defined by such components and / or instructions.

[0036] In various embodiments, the system 100 may include a data gathering component 108 that may collect datasets from multiple different environments or domains. For example, in various applications (e.g., DNA discovery, molecular structure, patient treatment effects), the model may utilize multiple domains, each representing a unique set of characteristics (e.g., demographics, chemical classes or compounds, individual patients) to enhance the generality of the discovery of the underlying causal model. That is, different nodes in the causal structure may have dependencies or causal relationships among themselves, however, the strength of such dependencies may vary among each node. For example, in an application to determine the effect of a treatment on patients, the model may treat each patient (e.g., a patient group) as a separate domain, since each patient may have a different response to the treatment. Thus, shared common causal factors of the treatment effect may be learned while identifying differences in the individual characteristics of each patient or domain. Additionally, the collected dataset may include training and testing domains for training and testing the meta-causal learning model.

[0037] In various embodiments, system 100 may include a decomposition component 110 that may operate on the collected data set assembled by data gathering component 108 to perform structured decomposition on multiple DAGs into a shared DAG with private DAGs for each environment or domain to generalize DAG learning.

[0038] In various embodiments, utilizing multiple non-independent and identically distributed structural equation models (SEMs) represented by Equation 2, the decomposition component 110 can model the shared and private DAGs of each environment or domain to discover the ground truth of the underlying causal structure.

[0039] Equation 2:

number

number

number

number

[0040] In various embodiments, the shared DAG matrix and the private DAG matrix are concatenated together using a Hadamard product (e.g., element-wise multiplication). A Hadamard product of matrices is a binary operation that multiplies corresponding elements of two matrices of the same size to produce a new matrix of the same dimensions. Each element in the resulting matrix is ​​obtained by multiplying the respective element in the original matrix. In this case, each private DAG weight matrix is ​​concatenated to the shared DAG matrix using a Hadamard product.

[0041] Utilizing a private DAG for each domain allows the model to learn the respective data distribution of each domain or environment. In various aspects, the shared DAG characterizes the causal relationships between factors or variables across the domains, and the private DAG quantifies the corresponding strength of the factors. More specifically, the shared DAG matrix represents the connectivity of nodes (e.g., data features or variables) across all domains d, and the private DAG weight matrix includes the weights or probabilities of the node causal relationships for that respective domain. In various aspects, by utilizing the model, the non-uniformity in the data distribution may be mitigated, allowing the shared DAG matrix to utilize a wider range of data. Furthermore, utilizing a wider range of data may allow the model to reinforce or remain capable of generating accurate causal structures when data may be inconsistent, incomplete, or limited (e.g., when data is missing values). In various instances, when a domain has limited data samples, the decomposition component 110 may utilize similar or related domains to the domain with limited data. Thus, the causal relationships of the domains may still be accurately discovered.

[0042] 2 illustrates a block diagram of an example, non-limiting system 200 for facilitating meta-causal learning across acyclic graphs in accordance with one or more embodiments described herein. As shown, system 200 may, in some cases, include the same components as system 100 and may further include an analysis component 202.

[0043] In various aspects, as described herein, the analysis component 202 may formulate and solve a functionally constrained bi-level optimization problem to discover the underlying causal structure of the data. A functionally constrained bi-level optimization model for meta-DAG (e.g., shared DAG structure and private DAG weights) learning may be formulated by Equation 3:

[0044] Equation 3:

number

number

number

number

number

[0045] Equation 4:

number

[0046] In various embodiments, the bi-level optimization model includes a top level and a bottom level that separates the learning of the DAG structure and weights into two parts (e.g., a shared DAG and a private DAG). At the top level, a shared DAG structure is extracted across m domains. At the bottom level, a private DAG structure may be extracted for each domain. That is, for each domain and given the shared DAG matrix, analysis component 202 may extract a private DAG weight matrix under the DAG constraints. Furthermore, analysis component 202 may perform the top-level objective and optimization at the top level and the lower-level objective and optimization at the bottom level. The extraction of the shared and private DAGs by analysis component 202 is performed subject to the DAG constraints h(W s ), ensuring that the resulting solution is a DAG graph structure and not an arbitrary matrix. In various embodiments, the bi-level optimization framework of the meta-DAG model allows the model to leverage large data samples to extract a shared DAG structure with minimum variance while adjusting to the unique data distribution of each data source to prevent interference across domains.

[0047] In addition, each higher-level loss function

number

[0048] In various embodiments, the meta-DAG structure formulation can be generalized and succinctly formulated in Equation 5 and applied to solve other bi-level optimization continuous constraint problems.

[0049] Equation 5:

number

number

number

number

number

[0050] 3 illustrates a block diagram of an example, non-limiting system 300 for facilitating meta-causal learning via acyclic graphs according to one or more embodiments described herein. As shown, system 300 may, in some cases, include the same components as system 200 and may further include a learning component 302.

[0051] In various embodiments, the analysis component 202 may engage the training component 302 to perform training of the shared and private DAGs from the SEM using a bilevel primal-dual (BPD) algorithm. In various aspects, the BPD algorithm includes four update stages that are performed in a single loop. In other words, the algorithm updates the model incrementally and does not require the execution of subroutines. Thus, the simplicity of the algorithm may allow for efficient and easy implementation of meta-DAG systems. The BPD algorithm is utilized to balance loss minimization and functional constraint enforcement in DAG training.

[0052] In various embodiments, the learning component 302 may utilize a perturbed linearized augmented Lagrangian (AL) method in the BDP algorithm, modeled by Equation 6.

[0053] Equation 6:

number

number

number

number

number

number

number

number

[0054] In various embodiments, the AL implementation uses a decay parameter (e.g.,

number

[0055] In various embodiments, the learning component 302 may be involved in executing a BPD algorithm to solve the bi-level optimization problem described in Equation 5. The BPD algorithm first performs local task adaptation at a lower level by minimizing the optimization of a lower level objective with respect to x (e.g., a shared DAG matrix). In various aspects, the learning component 302 may perform local task adaptation over the corresponding domain data by utilizing any suitable gradient descent algorithm (e.g., classical gradient descent, stochastic gradient descent). Performing such local task adaptation at a lower level may contribute to enhancing the generalization performance of the causal model. The local task adaptation may be formulated by Equation 7.

[0056] Equation 7:

number

[0057] The BPD algorithm then operates on what has been learned at the lower level to perform sparse learning on the higher level objective. The BPD algorithm uses sparse learning to take into account prior knowledge of the learning of the DAG structure. In various embodiments, the BPD algorithm performs sparse learning or proximal updates of the higher level optimization on x (e.g., the shared DAG matrix) based on the gradient of the higher level objective evaluated on the current shared DAG matrix and what has been learned from the private DAG matrix in the lower level process. The sparse learning performed in the BPD algorithm can be formulated by Equation 8.

[0058] Equation 8:

number

number

number

number

number

[0059] After sparse learning is performed, the BPD algorithm may perform a single stage of decay to stabilize the convergence of the algorithm formulated by Equation 9.

[0060] Equation 9:

number

[0061] In various embodiments, the BPD algorithm's use of gradient descent and perturbation descent can enhance the efficiency of the algorithm.

[0062] Once the previous updates have been made, the BPD algorithm can enforce the DAG constraints by dual updates. The updates of the dual variables are formulated by Equation 10.

[0063] Equation 10:

number

[0064] In various embodiments, the BPD algorithm uses the following assumptions: Assumption 1: (Lipschitz continuity) function

number

number

number

number

number

number

number

[0065] Considering Assumptions 1 and 2, the following theory can be applied. Theory 1: Assume that Assumptions 1 and 2 hold. Step size is

number

number

number

[0066] 4 illustrates a flow diagram of an exemplary, non-limiting method 400 that may facilitate meta-causal learning across multiple DAGs in accordance with one or more embodiments described herein. Repetitive descriptions of similar elements and / or processes utilized in each embodiment are omitted for the sake of brevity.

[0067] At 402, the non-limiting method 400 may include collecting, by the system (eg, by the data gathering component 108), data sets from a number of different environments or domains.

[0068] At 404, the non-limiting method 400 may include decomposing, by the system (eg, by the decomposition component 110), the collected dataset into shared and private DAG matrices for each domain.

[0069] At 406, the non-limiting method 400 may include performing, by the system (eg, by the analysis component 202), a lower-level objective optimization for each domain.

[0070] At 408, the non-limiting method 400 may include performing, by the system (eg, by the analysis component 202), a top-level objective optimization on the shared DAG matrix.

[0071] For example, the data gathering component 108 may collect datasets from m=3 domains with variable size (e.g., DAG size) d, where each domain is an individual patient. The decomposition component 110 may structurally decompose the data into a shared DAG matrix indicating the causal relationships of the variables, and a private DAG weight matrix representing each patient that quantifies the causal relationships of the variables. At the top level of the bi-level optimization problem, the BPD algorithm optimizes a loss function of a higher level than the optimization variable x (e.g., the shared DAG). At the lower level, the BPD algorithm optimizes a loss function of the optimization variable y iMinimize the individual loss functions of each domain for each higher-level loss function (e.g., a private DAG matrix represents each patient).

[0072] FIG. 5 illustrates a flow diagram of an example, non-limiting method 500 that may facilitate meta-causal learning across multiple DAGs using a BPD algorithm according to one or more embodiments described herein.

[0073] At 502, the non-limiting method 500 may include initializing, by the system (eg, by the learning component 302), shared and private DAG matrices for each domain.

[0074] At 504, the non-limiting method 500 may determine if the maximum iterations have been reached or the algorithm has converged. If yes, the non-limiting method 500 may obtain a KKT solution point at 506, if no, the non-limiting method 400 may proceed to 408.

[0075] At 508, the non-limiting method 500 may include performing, by the system (eg, by the learning component 302), local data fitting for each private DAG matrix for all domains at the lower level.

[0076] At 510, the non-limiting method 500 may include performing, by the system (eg, by the learning component 302), sparse learning at a higher level to include prior knowledge for learning the causal model.

[0077] At 512, the non-limiting method 500 may include performing decay by the system (eg, by the learning component 302) to stabilize the convergence of the BPD algorithm.

[0078] At 514, the non-limiting method 500 may include enforcing, by the system (eg, by the learning component 302), the DAG constraints using dual updates on the dual variables.

[0079] In various embodiments, the described BPD algorithms can be adapted to a linear Meta-DAG model. A BPD algorithm adapted to a linear Meta-DAG is a method for solving the problem of linear meta-DAG. i ,i∈[m], where m is the number of domains or environments, and X i is the dataset of the i-th domain. The adapted BPD algorithm first calculates W s and

number

number

number

number

number

number

[0080] FIG. 6 illustrates a flow diagram of an example, non-limiting method 600 that may facilitate meta-causal learning across multiple DAGs using a BPD algorithm according to one or more embodiments described herein.

[0081] At 602, the non-limiting method 600 includes, by the system (e.g., by the learning component 302), t The method may include linearizing a perturbation augmented Lagrangian method in as a surrogate function.

[0082] At 604, the non-limiting method 600 may include linearizing the calculated gradient estimate by the system (eg, by the analysis component 202) to obtain a one-step update.

[0083] At 606, the non-limiting method 600 may include updating, by the system (eg, by the learning component 302), the shared DAG matrix.

[0084] At 608, the non-limiting method 600 may include combining, by the system (eg, by the learning component 302), the updated shared matrix with the previous shared DAG matrix.

[0085] FIG. 7 is a plot of the convergence performance of Meta-DAG along with various other DAG learning methods in accordance with one or more embodiments described herein.

[0086] 7 and 8, other DAG learning models include four closely related optimization-based baselines to the Meta-DAG algorithm (e.g., Meta-DAG-FO (first-order)), the limited-memory Broyden-Fletcher-Goldfarb-Shanno (NOTEARS-LBFGS), the quadratic penalty method (NOTEARS-QPM), and the gradient descent (NOTEARS-GD)). In addition, a random algorithm with order 2 and size d that is variable is proposed.

number

number

[0087] Plots 702 and 704 respectively show the training loss and constraint values ​​of different algorithms for the first run when d=10. In plot 702, the training objective value of the DAG learning model versus training iterations is plotted to observe the convergence performance. In plot 704, the constraint h(W s) value versus training iterations is plotted. In various aspects observed in plot 702, the Meta-DAG algorithm may achieve a lower training objective than other DAG learning models, including Meta-DAG-FO. Both Meta-DAG models (e.g., full Meta-DAG and first-order Meta-DAG) observed in plot 704 converge to the zero-constrained value, although Meta-DAG-FO has a slightly faster convergence speed. Therefore, with additional consideration of memory and computational efficiency, FO Meta-DAG may be evaluated only for larger d.

[0088] FIG. 8 is a plot of the generalization of the Meta-DAG along with various other DAG learning methods in accordance with one or more embodiments described herein.

[0089] In plot 802, the average structural Hamming distance (SHD) versus training iterations is plotted. In plot 804, the training objective value of the DAG learning model versus training iterations is plotted. As shown in plots 802 and 804, the Meta-DAG algorithm can obtain the lowest SHD compared to other methods, especially when d is large and can achieve nearly half of the SHD of the NOTERS method. Meta-DAG-FO has a similar performance to Meta-DAG, although it lags slightly behind in training but performs better in testing. Such observed generalization performance further indicates that Meta-DAG-FO is a substantially efficient approximation of Meta-DAG.

[0090] For ease of explanation, the computer-implemented and non-computer-implemented methods provided herein are shown and / or described as a sequence of acts. It should be understood that the subject innovation is not limited by the acts shown and / or the order of acts. For example, acts may occur in one or more orders and / or simultaneously and with other acts not shown and described herein. Moreover, not all acts shown may be utilized to implement computer-implemented and non-computer-implemented methods in accordance with the described subject matter. Additionally, the computer-implemented methods described below and throughout this specification may be stored on an article of manufacture, which allows the computer-implemented methods to be transported and transferred to a computer. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device or storage medium.

[0091] Systems and / or devices have been described (and / or further described) herein with respect to interactions between one or more components. Such systems and / or components may include one or more of those components or subcomponents designated therein, the designated components and / or subcomponents, and / or additional components. Subcomponents may be implemented as components that are not included within a parent component but are communicatively coupled to other components. One or more components and / or subcomponents may be combined into a single component that provides an aggregate function. A component may interact with one or more other components not specifically described herein for brevity but known by those skilled in the art.

[0092] One or more embodiments described herein may utilize hardware and / or software to solve problems that are not highly technical, abstract, and cannot be performed as a set of human mental activities. For example, a human, or even thousands of humans, cannot efficiently, accurately, and / or effectively perform meta-causal learning across multiple acyclic graphs, as one or more embodiments described herein may enable this process. And neither the human mind nor a human with pen and paper can perform meta-causal learning across multiple acyclic graphs, as is done by one or more embodiments described herein.

[0093] Figure 9 illustrates a block diagram of an exemplary, non-limiting operating environment in which one or more embodiments described herein may be facilitated. Figure 9 and the following discussion are intended to provide a general description of a suitable operating environment 900 in which one or more embodiments described herein in Figures 1-8 may be implemented.

[0094] Various aspects of the present disclosure are described by text, flow charts, block diagrams of computer systems, and / or block diagrams of machine logic included in embodiments of computer program products (CPPs). For any flow chart, depending on the technology involved, operations may be performed in a different order than that shown in a given flow chart. For example, again depending on the technology involved, two operations shown in successive flow chart blocks may be performed in reverse order, as a single integrated step, simultaneously, or in an at least partially overlapping manner in time.

[0095] A computer program product embodiment ("CPP embodiment" or "CPP") is a term used in this disclosure to describe any set of one or more storage media (also referred to as "media") collectively contained in a set of one or more storage devices that collectively contain machine-readable code corresponding to instructions and / or data for performing computer operations specified in a given CPP claim. A "storage device" is any tangible device that can hold and store instructions for use by a computer processor. The computer-readable storage medium may be, but is not limited to, an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Some known types of storage devices that include these media include diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanically encoded devices (such as punch cards or pits / lands formed on a major surface of a disk), or any suitable combination of the foregoing. Computer-readable storage media, as the term is used in this disclosure, is not to be construed as storage in the form of a transitory signal per se, such as electric waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide, light pulses passing through fiber optic cables, electrical signals communicated through wires, and / or other transmission media. As will be appreciated by those skilled in the art, data is typically moved at some occasional time during the normal operation of a storage device, such as during access, defragmentation, or garbage collection, but the above does not make a storage device temporary, since the data is not temporary while it is stored.

[0096] The computing environment 900 includes an example of an environment for the execution of at least some of the computer code involved in performing the method of the invention, such as the bi-level primal-dual code 945. In addition to the block 945, the computing environment 900 includes, for example, a computer 901, a wide area network (WAN) 902, an end user device (EUD) 903, a remote server 904, a public cloud 905, and a private cloud 906. In this embodiment, the computer 901 includes a processor set 910 (including processing circuitry 920 and cache 921), a communication fabric 911, a volatile memory 912, a persistent storage 913 (including an operating system 922 and the block 945, as identified above), a peripheral device set 914 (including a user interface (UI), a device set 923, storage 924, and an Internet of Things (IoT) sensor set 925), and a network module 915. The remote server 904 includes a remote database 930. The public cloud 905 includes a gateway 940, a cloud orchestration module 941, a set of host physical machines 942, a set of virtual machines 943, and a set of containers 944.

[0097] Computer 901 may take the form of a desktop computer, a laptop computer, a tablet computer, a smartphone, a smartwatch or other wearable computer, a mainframe computer, a quantum computer, or any other form of computer or mobile device now known or later developed that is capable of executing programs, accessing a network, or querying a database, such as remote database 930. As is well understood in the field of computer technology, and depending on the technology, execution of a computer-implemented method may be distributed among multiple computers and / or among multiple locations. However, in this presentation of computing environment 900, in order to keep the presentation as concise as possible, the detailed discussion focuses on a single computer, specifically computer 901. Although computer 901 is not shown in the cloud in FIG. 9, it may be located in the cloud. However, computer 901 is not required to be in the cloud except to any extent that may be categorically indicated.

[0098] The processor set 910 includes one or more computer processors of any type now known or later developed. The processing circuitry 920 may be distributed across multiple packages, e.g., multiple tailored integrated circuit chips. The processing circuitry 920 may implement multiple processor threads and / or multiple processor cores. The cache 921 is memory located within the processor chip package and is typically used for data or code that should be available for quick access by threads or cores executing on the processor set 910. Cache memory is typically organized into multiple levels depending on relative proximity to the processing circuitry. Alternatively, some or all of the cache for a processor set may be located "off-chip." In some computing environments, the processor set 910 may be designed to operate with qubits and perform quantum computing.

[0099] The computer readable program instructions are typically loaded onto the computer 901 to cause the processor set 910 of the computer 901 to execute a series of operational steps, thereby effecting a computer-implemented method, such that the executed instructions instantiate the methods specified in the flowcharts and / or computer-implemented method descriptions contained herein (collectively referred to as the "methods of the invention").

[0100] These computer readable program instructions are stored in various types of computer readable storage media, such as cache 921, and other storage media described below. The program instructions and associated data are accessed by processor set 910 to control and direct the execution of the methods of the present invention. In computing environment 900, at least some of the instructions for executing the methods of the present invention may be stored in block 945 in persistent storage 913.

[0101] Communications fabric 911 is the signal-conducting pathways that allow various components of computer 901 to communicate with one another. Typically, this fabric is made of switches and conductive pathways, such as those that make up buses, bridges, physical input / output ports, etc. Other types of signal communication pathways may be used, such as fiber optic and / or wireless communication pathways.

[0102] Volatile memory 912 may be any type of volatile memory now known or later developed. Examples include dynamic random access memory (RAM) or static RAM. Typically, volatile memory is characterized by random access, although this is not required unless expressly indicated. In computer 901, volatile memory 912 is located in a single package and is internal to computer 901, although alternatively or additionally, volatile memory may be distributed across multiple packages and / or be external to computer 901.

[0103] Persistent storage 913 is any form of non-volatile storage for a computer, now known or later developed. The non-volatility of this storage means that the stored data is maintained regardless of whether power is supplied to computer 901 and / or to persistent storage 913 directly. Persistent storage 913 can be read-only memory (ROM), but typically at least a portion of persistent storage allows data to be written, data to be deleted, and data to be rewritten. Some well-known forms of persistent storage include magnetic disks and solid-state storage devices. Operating system 922 may take several forms, such as various known proprietary operating systems, or open source Portable Operating System Interface type operating systems that utilize a kernel. The code contained in block 945 typically includes at least some of the computer code involved in carrying out the method of the present invention.

[0104] The peripheral device set 914 includes a set of peripheral devices of the computer 901. Data communication connections between the peripheral devices and other components of the computer 901 may be implemented in various ways, such as Bluetooth connections, Near Field Communication (NFC) connections, connections formed by cables (such as Universal Serial Bus (USB) type cables), insertion type connections (e.g., Secure Digital (SD) cards), connections formed through local area communication networks, and even connections formed through wide area networks such as the Internet. In various embodiments, the UI device set 923 may include components such as display screens, speakers, microphones, wearable devices (such as goggles and smart watches), keyboards, mice, printers, touch pads, game controllers, and haptic devices. The storage 924 is external storage, such as an external hard drive, or insertable storage, such as an SD card. The storage 924 may be persistent and / or volatile. In some embodiments, the storage 924 may take the form of a quantum computing storage device for storing data in the form of qubits. In embodiments where computer 901 is required to have a large amount of storage (e.g., where computer 901 stores and manages a large database locally), this storage may be provided by a peripheral storage device designed to store very large amounts of data, such as a storage area network (SAN) shared by multiple, geographically distributed computers. IoT sensor set 925 is made up of sensors that may be used in Internet of Things applications. For example, one sensor may be a thermometer and another sensor may be a motion detector.

[0105] The network module 915 is a collection of computer software, hardware, and firmware that enables the computer 901 to communicate with other computers over the WAN 902. The network module 915 may include hardware such as a modem or Wi-Fi® signal transceiver, software for packetizing and / or depacketizing data for communication network transmission, and / or web browser software for communicating data over the Internet. In some embodiments, the network control and network forwarding functions of the network module 915 are performed on the same physical hardware device. In other embodiments (e.g., those that utilize Software-Defined Networking (SDN)), the control and forwarding functions of the network module 915 are performed on physically separate devices such that the control function manages several different network hardware devices. Computer readable program instructions for carrying out the methods of the present invention may be downloaded to the computer 901 from an external computer or external storage device, typically via a network adapter card or network interface included in the network module 915.

[0106] WAN 902 is any wide area network (e.g., the Internet) capable of communicating computer data over non-local distances by any technology now known or later developed for communicating computer data. In some embodiments, the WAN may be replaced and / or supplemented by a local area network (LAN) designed to communicate data between devices located in a local area, such as a Wi-Fi® network. WANs and / or LANs typically include computer hardware such as copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and edge servers.

[0107] An end user device (EUD) 903 is any computer system used and controlled by an end user (e.g., a customer of the enterprise that operates computer 901) and may take any of the forms described above in connection with computer 901. EUD 903 typically receives useful and useful data from the operation of computer 901. For example, in a hypothetical case in which computer 901 is designed to provide suggestions to the end user, the suggestions would typically be communicated from the network module 915 of computer 901 over the WAN 902 to EUD 903. In this manner, EUD 903 may display or otherwise present the suggestions to the end user. In some embodiments, EUD 903 may be a client device, such as a thin client, a heavy client, a mainframe computer, a desktop computer, and the like.

[0108] Remote server 904 is any computer system that provides at least some data and / or functionality to computer 901. Remote server 904 may be controlled and used by the same entity that operates computer 901. Remote server 904 represents a machine that collects and stores useful and useful data for use by other computers, such as computer 901. For example, in the hypothetical case where computer 901 is designed and programmed to provide suggestions based on past data, this past data may be provided to computer 901 from a remote database 930 of remote server 904.

[0109] A public cloud 905 is any computer system available for use by multiple entities that provides on-demand availability of computer system resources and / or other computer functionality, particularly data storage (cloud storage) and computing power, without direct active management by users. Cloud computing typically leverages the sharing of resources to achieve coherence and economies of scale. Direct active management of the computing resources of the public cloud 905 is performed by computer hardware and / or software of a cloud orchestration module 941. The computing resources provided by the public cloud 905 are typically implemented by virtual computing environments that run on various computers that make up the computers in the public cloud 905 and / or the host physical machine set 942, which is the universe of physical computers available to the public cloud 905. The virtual computing environments (VCEs) typically take the form of virtual machines from the virtual machine set 943 and / or containers from the container set 944. It is understood that these VCEs can be stored as images and can be transferred among and between various hosts of physical machines, either as images or after instantiation of the VCEs. Cloud orchestration module 941 manages the transfer and storage of images, deploys new instantiations of VCE, and manages active instantiations of VCE deployments. Gateway 940 is a collection of computer software, hardware, and firmware that enables public cloud 905 to communicate over WAN 902.

[0110] Some further description of Virtualized Computing Environments (VCEs) is now provided. A VCE may be stored as an "image." A new active instance of a VCE may be instantiated from an image. Two well-known types of VCEs are virtual machines and containers. A container is a VCE that uses operating system level virtualization. This refers to a feature of an operating system where the kernel allows the existence of multiple isolated user space instances called containers. These isolated user space instances typically behave as real computers from the perspective of the programs running within them. A computer program running on a normal operating system may utilize all of the resources of that computer, such as connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, a program running inside a container may only use the contents of the container and of the devices assigned to the container, a feature known as containerization.

[0111] A private cloud 906 is similar to a public cloud 905, except that the computing resources are available only for use by a single enterprise. Although the private cloud 906 is shown in communication with the WAN 902, in other embodiments, the private cloud may be entirely disconnected from the Internet and accessible only through a local / private network. A hybrid cloud is a composite of multiple clouds of different types (e.g., types of private, community, or public clouds), often each implemented by a different vendor. While each of the multiple clouds remains a separate, discrete entity, the larger hybrid cloud architecture is bound together by standardized or proprietary technologies that enable orchestration, management, and / or data / application portability between the constituent clouds. In this embodiment, both the public cloud 905 and the private cloud 906 are part of a larger hybrid cloud.

[0112] The embodiments described herein may relate to one or more of a system, a method, an apparatus, and / or a computer program product at any possible level of technical detail of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions for causing a processor to execute aspects of one or more embodiments described herein. A computer readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. A computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a superconducting storage device, and / or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer readable storage media may also include portable computer diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), static random access memories (SRAMs), portable compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or raised structures in grooves on which instructions are recorded, and / or any suitable combination of the foregoing. Computer readable storage media as used herein is not to be construed as transitory signals per se, such as electromagnetic waves propagating through wave guides and / or other transmission media (e.g., light pulses passing through fiber optic cables), and / or electrical signals transmitted through wires, such as radio waves and / or other freely propagating electromagnetic waves.

[0113] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device and / or to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions to a computer-readable storage medium in the respective computing / processing device for storage. The computer readable program instructions for carrying out the operations of one or more embodiments described herein may be source code and / or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, and / or object oriented programming languages ​​such as Smalltalk, C++, and the like, and / or procedural programming languages ​​such as the "C" programming language and / or similar programming languages. The computer readable program instructions may be executed entirely on the computer, partially on the computer, as a standalone software package, partially on the computer and / or partially on a remote computer, or entirely on a remote computer and / or server. In the latter scenario, the remote computer may be connected to the computer through any type of network, including a local area network (LAN) and / or a wide area network (WAN), and / or a connection to an external computer may be made (e.g., through the Internet using an Internet Service Provider).In one or more embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), and / or a programmable logic array (PLA) may execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry to perform aspects of one or more embodiments described herein.

[0114] Aspects of one or more embodiments described herein are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to one or more embodiments described herein. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions. These computer-readable program instructions can be provided to a processor of a general purpose computer, a special purpose computer, and / or other programmable data processing apparatus to create a machine. As a result, the instructions that execute via the processor of the computer or other programmable data processing apparatus may form means for implementing the function / acts specified in the block or blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that can instruct a computer, a programmable data processing apparatus, and / or other device to function in a particular manner. As a result, a computer-readable storage medium having instructions stored thereon can include an article of manufacture including instructions that can implement aspects of the function / acts specified in the block or blocks of the flowchart and / or block diagram. Computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, and / or other device to cause a sequence of operational acts to be executed on the computer, other programmable apparatus, and / or other device to create a computer-implemented process such that the instructions executing on the computer and / or other programmable apparatus, other device implement the function / acts specified in the block or blocks of the flowcharts and / or block diagrams.

[0115] The flowcharts and block diagrams in the drawings illustrate the architecture, functionality, and / or operation of possible implementations of a system, a computer-implementable method, and / or a computer program product according to one or more embodiments described herein. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, and / or part of an instruction, including one or more executable instructions for implementing a specified logical function. In one or more alternative implementations, the functions described in the blocks may occur in an order other than that described in the drawings. For example, two blocks shown in succession may be executed substantially simultaneously and / or the blocks may be executed in reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and / or combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a special-purpose hardware-based system that may perform the specified functions and / or actions and / or one or more combinations of special-purpose hardware and / or computer instructions.

[0116] Although the subject matter has been described above in the general context of computer-executable instructions for a computer program product executing on a computer and / or multiple computers, those skilled in the art will recognize that one or more embodiments herein may be implemented at least in part in parallel with one or more other program modules. Generally, a program module includes routines, programs, components, and / or data structures that perform particular tasks and / or implement particular abstract data types. Furthermore, the computer-implemented methods described above may be practiced with single-processor and / or multi-processor computer systems, mini-computing devices, mainframe computers, and other computer system configurations including computers, handheld computing devices (e.g., PDAs, phones), and / or microprocessor-based or programmable consumer electronics and / or industrial electronics. The illustrated aspects may also be practiced in distributed computing environments where tasks are performed by remote processing devices linked through a communications network. However, some, but not all, aspects of one or more embodiments described herein may be practiced on stand-alone computers. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

[0117] As used herein, the terms "component," "system," "platform," and / or "interface" may refer to and / or include computer-related entities or entities related to an operating machine having one or more specific functionalities. The entities described herein may be either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and / or a computer. By way of example, both an application running on a server and the server may be a component. One or more components may reside within a process and / or thread of execution, and a component may be localized on one computer and / or distributed between two or more computers. In another example, each component may execute from various computer readable media having various data structures stored thereon. A component may communicate via local and / or remote processes, such as according to a signal comprising one or more data packets (e.g., data from one component interacting with another component in a network such as the Internet with local systems, distributed systems, and / or other systems via signals). As another example, a component may be a device having inherent functionality provided by mechanical parts operated by electrical or electronic circuits operated by software and / or firmware applications executed by a processor. In such cases, the processor may be internal and / or external to the device and may execute at least a portion of the software and / or firmware applications.As yet another example, a component may be a device that provides inherent functionality without mechanical parts through electronic components, which may include a processor and / or other means for executing software and / or firmware that provides at least a portion of the functionality of the electronic component. In an aspect, a component may emulate an electronic component via a virtual machine, for example, in a cloud computing system.

[0118] In addition, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless otherwise specified or clear from the context, "X utilizes A or B" is intended to mean any of the natural inclusive permutations. That is, in any of the above examples, "X utilizes A or B" is satisfied if X utilizes A, if X utilizes B, or if X utilizes both A and B. Furthermore, the articles "a" and "an" used in this specification and the accompanying drawings should generally be construed to mean "one or more", unless otherwise specified or clear from the context to refer to the singular form. As used herein, the terms "example" and / or "exemplary" are utilized to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter described herein is not limited to such examples. Additionally, any aspect or design described herein as "example" and / or "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects or designs, and is not intended to exclude equivalent exemplary structures and techniques known to those skilled in the art.

[0119] The term "processor" as used herein may refer to substantially any computing processing unit and / or device, including, but not limited to, a single core processor, a single processor with software multithreading execution capability, a multicore processor, a multicore processor with software multithreading execution capability, a multicore processor with hardware multithreading technology, a parallel platform, and / or a parallel platform with distributed shared memory. Additionally, a processor may refer to an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), discrete gate or transistor logic, discrete hardware components, and / or any combination thereof designed to perform the functions described herein. Furthermore, a processor may utilize nanoscale architectures, such as, but not limited to, molecular and quantum dot based transistors, switches, and / or gates, to optimize space utilization and / or enhance the performance of associated equipment. A processor may be implemented as a combination of computing processing units.

[0120] As used herein, terms such as "memory," "storage," "data storage," "database," and substantially any other information storage component associated with the operation and functionality of a component are utilized to refer to a "memory" or a "memory component" entity embodied in a component that includes a memory. The memory and / or memory components described herein may be either volatile or non-volatile memory, or may include both volatile and non-volatile memory. By way of example and not limitation, non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), flash memory, and / or non-volatile random access memory (RAM) (e.g., ferroelectric RAM (FeRAM)). Volatile memory may include RAM, which may act as an external cache memory, for example. By way of example, and not limitation, RAM may be available in many forms, such as Synchronous RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), Direct Rambus RAM (DRRAM), Direct Rambus Dynamic RAM (DRDRAM), and / or Rambus Dynamic RAM (RDRAM). Additionally, the memory components described of systems and / or computer-implemented methods herein are intended to include, but are not limited to, these and / or any other suitable types of memory.

[0121] The foregoing includes only examples of systems and computer-implemented methods. Of course, for purposes of describing one or more embodiments, it is not possible to describe every conceivable combination of components and / or computer-implemented methods, but one of ordinary skill in the art may recognize that many additional combinations and / or permutations of one or more embodiments are possible. Furthermore, when terms such as "including," "having," "comprising," and the like are used in the detailed description, claims, appendices, and / or drawings, such terms are intended to be inclusive in the same manner as the term "comprising" is interpreted when used as a transitional phrase in the claims.

[0122] The description of various embodiments is presented for illustrative purposes and is not intended to be exclusive or limited to the embodiments described herein. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terms used herein have been selected to best explain the principles of the embodiments, practical applications and / or technical improvements to the art found in the marketplace, and / or to enable others skilled in the art to understand the embodiments described herein. (Other possible items) (Item 1) A processor executing computer-executable components stored in a non-transitory computer-readable memory the computer-executable components comprising: A data gathering component that collects data sets from multiple different environments or domains; and A decomposition component that operates on the collected dataset to perform a structural decomposition on multiple directed acyclic graphs (DAGs) into a shared DAG with private DAGs for each environment or domain, thereby generalizing DAG learning. The system has: (Item 2) 2. The system of claim 1, further comprising an analysis component that performs local task adaptation by using classical gradient descent over domain-specific data. (Item 3) 3. The system of claim 2, wherein the analysis component updates the shared DAG by combining private DAG weights learned from lower-level processes. (Item 4) 2. The system of claim 1, wherein the analysis component minimizes a score function and applies an augmented Lagrangian method to enforce a DAG structure on the weight matrix of the shared DAG. (Item 5) 2. The system of claim 1, wherein the shared DAG is trained using validation data samples and the private DAG is trained from domain-specific data samples. (Item 6) 2. The system of claim 1, wherein the shared DAG characterizes causal relationships between factors across a subset of the environments and domains, and the private DAG quantifies corresponding strengths of the factors. (Item 7) 4. The system of claim 3, wherein the analysis component calculates a gradient of a loss function and selects a corresponding step size to formulate discovery of a weight matrix for a shared DAG and a weight matrix for the private DAG. (Item 8) 2. The system of claim 1, wherein the analysis component uses a loss function with a validation data set and a loss function with a training data set to correct for discrepancies between the subsets of the data sets. (Item 9) 2. The system of claim 1, wherein the analysis component imposes DAG constraints to enable automatic derivation of the DAG. (Item 10) 2. The system of claim 1, wherein the analysis component utilizes self-supervised structural equation models to enable continuous optimization. (Item 11) Item 2. The system of item 1, wherein the analysis component is guaranteed to find a Karush-Kuhn-Tucker (KKT) point that has a theoretical rate of convergence. (Item 12) collecting datasets from a number of different environments or domains; and Operating on the collected dataset to perform a structural decomposition on multiple directed acyclic graphs (DAGs) into a shared DAG with private DAGs for each environment or domain, thereby generalizing DAG learning. A computer-implemented method comprising: (Item 13) Item 13. The computer-implemented method of item 12, further comprising engaging an analysis component to perform local task adaptation by using classical gradient descent over the domain-specific data. (Item 14) Item 14. The computer-implemented method of item 13, further comprising engaging the analysis component to update the shared DAG by combining private DAG weights learned from lower-level processes. (Item 15) Item 13. The computer-implemented method of item 12, further comprising imposing DAG constraints to enable automatic derivation of the DAG. (Item 16) Item 13. The computer-implemented method of item 12, further comprising engaging the analysis component to ensure finding a Karush-Kuhn-Tucker (KKT) point that has a theoretical convergence rate. (Item 17) Item 13. The computer-implemented method of item 12, further comprising engaging the analysis component to minimize a score function and apply an augmented Lagrangian method to enforce DAG construction on the weight matrix of the shared DAG. (Item 18) Item 13. The computer-implemented method of item 12, further comprising utilizing a self-supervised structural equation model to enable continuous optimization. (Item 19) a non-transitory computer readable memory having program instructions embodied therein, the program instructions causing a processor to: using a data gathering component to collect data sets from multiple different environments or domains; and using a decomposition component operating on the collected dataset to perform a structural decomposition on multiple directed acyclic graphs (DAGs) into a shared DAG with private DAGs for each environment or domain, thereby generalizing DAG learning. A computer program product executable by the processor to cause the processor to execute the (Item 20) The program instructions further cause the processor to: Steps involved in the analysis component to perform local task adaptation by using classical gradient descent over domain-specific data 20. The computer program product of item 19, executable to cause a

Claims

1. A processor executing computer-executable components stored in a non-transitory computer-readable memory the computer executable components comprising: A data gathering component that collects data sets from multiple different environments or domains; and A decomposition component that operates on the collected dataset to perform a structural decomposition on multiple directed acyclic graphs (DAGs) into a shared DAG with private DAGs for each environment or domain, thereby generalizing DAG learning. The system has:

2. The system of claim 1 , further comprising an analysis component that performs local task adaptation by using classical gradient descent over domain-specific data.

3. The system of claim 2 , wherein the analysis component updates the shared DAG by combining private DAG weights learned from lower-level processes.

4. The system of claim 2 , wherein the analysis component minimizes a score function and applies an augmented Lagrangian method to enforce DAG construction on a weight matrix of the shared DAG.

5. The system of claim 1 , wherein the shared DAG is trained using validation data samples and the private DAG is trained from domain-specific data samples.

6. The system of claim 1 , wherein the shared DAG characterizes causal relationships among factors across the subset of environments and domains, and the private DAG quantifies corresponding strengths of the factors.

7. The system of claim 3 , wherein the analysis component calculates a gradient of a loss function and selects a corresponding step size to formulate discovery of a weight matrix for a shared DAG and a weight matrix for the private DAG.

8. 5. The system of claim 2, wherein the analysis component uses a loss function with a validation data set and a loss function with a training data set to correct for discrepancies between the subsets of the data sets.

9. The system of claim 2 , 3 or 4 , wherein the analysis component imposes DAG constraints to enable automatic derivation of the DAG.

10. The system of claim 2 , wherein the analysis component utilizes self-supervised structural equation models to enable continuous optimization.

11. The system of claim 2 , wherein the analysis component is guaranteed to find a Karush-Kuhn-Tucker (KKT) point that has a theoretical rate of convergence.

12. collecting datasets from a number of different environments or domains; and Operating on the collected dataset to perform a structural decomposition on multiple directed acyclic graphs (DAGs) into a shared DAG with private DAGs for each environment or domain to generalize DAG learning. A computer-implemented method comprising:

13. 13. The computer-implemented method of claim 12, further comprising engaging an analysis component to perform local task adaptation by using classical gradient descent over the domain-specific data.

14. 14. The computer-implemented method of claim 13, further comprising engaging the analysis component to update the shared DAG by combining private DAG weights learned from lower-level processes.

15. The computer-implemented method of claim 12 , further comprising: imposing DAG constraints to enable automatic derivation of the DAG.

16. 15. The computer-implemented method of claim 13 or 14, further comprising engaging the analysis component to ensure finding a Karush-Kuhn-Tucker (KKT) point that has a theoretical rate of convergence.

17. 15. The computer-implemented method of claim 13 or 14, further comprising engaging the analysis component to minimize a score function and apply an augmented Lagrangian method to enforce DAG construction on a weight matrix of the shared DAG.

18. 15. The computer-implemented method of claim 13 or 14, further comprising utilizing a self-supervised structural equation model to enable continuous optimization.

19. and program instructions that cause a processor to: using a data gathering component to collect data sets from multiple different environments or domains; and using a decomposition component operating on the collected dataset to perform a structural decomposition on multiple directed acyclic graphs (DAGs) into a shared DAG with private DAGs for each environment or domain, thereby generalizing DAG learning; A computer program executable by the processor to cause the processor to execute the

20. The program instructions further cause the processor to: Steps involved in the analysis component to perform local task adaptation by using classical gradient descent over domain-specific data 20. The computer program product of claim 19, executable to cause a