Data sovereignty assurance for artificial intelligence (AI) models

By transforming data and neural network parameters into a secure mathematical space, the proposed systems and methods address the inadequacies of current data security frameworks, enabling secure collaboration and maintaining data sovereignty in AI model training and deployment.

WO2025122674A1PCT designated stage expired Publication Date: 2025-06-12ISTARI DIGITAL INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/058547
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-11-15
Filing Date
2024-12-04
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

Current data security frameworks are insufficient to address growing concerns about confidentiality and misuse of data and/or models between data owners and neural network owners, particularly in the context of artificial intelligence (AI) model training and deployment.

Method used

The proposed systems and methods transform both data and neural network parameters into a secure mathematical space, enabling collaborative training and deployment of neural networks without exposing sensitive information. This is achieved through mathematical transformations that preserve neural network operations, ensuring that neither party's assets are compromised.

Benefits of technology

The solution effectively resolves data and model privacy issues, allowing secure collaboration between data owners and neural network owners while maintaining data sovereignty and preventing unauthorized access to sensitive information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024058547_12062025_PF_FP_ABST
    Figure US2024058547_12062025_PF_FP_ABST
Patent Text Reader

Abstract

Deploying neural networks that use unique data sources generated by enterprises as training or input data has significant potential to unlock novel insights and domain-specific Al capabilities. However, data owners are often hesitant to share their proprietary and valuable datasets with third parties for training neural networks, even though doing so could provide significant benefits. Similarly, neural network owners are reluctant to expose their confidential weights and biases, which represent critical intellectual property. The proposed solution is based on both data and neural network parameters being transformed into a secure mathematical space, enabling collaborative training and deployment of neural networks without exposing sensitive information. The solution proposed here resolves data and neural network model privacy issues by allowing data owners and neural network owners to work together securely, ensuring that neither party's assets are compromised, while still enabling effective collaboration.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Data Sovereignty Assurance for Artificial Intelligence (Al) Models

[0002] Reference to Related Applications

[0003] If an Application Data Sheet (“ADS”) or PCT Request Form (“Request”) has been filed on the filing date of this application, it is incorporated by reference herein. Any applications claimed on the ADS or Request for priority under 35 U.S.C. §§119, 120, 121, or 365(c), and any and all parent, grandparent, great-grandparent, etc., applications of such applications, are also incorporated by reference, including any priority claims made in those applications and any material incorporated by reference, to the extent such subject matter is not inconsistent herewith.

[0004] Furthermore, this application is related to the U.S. patent applications listed below, which are incorporated by reference in their entireties herein, as if fully set forth herein:

[0005] • U.S. provisional patent application No. 63 / 650,498 (Docket No. IST-05.001P), filed on May 22, 2024, entitled “Fyber: Distributed Digital Threading Platform for Trusted Data Sources,” describes distributed digital threading for trusted data sources.

[0006] • PCT application No. PCT / US24 / 49149 (Docket No. IST-02.006PCT), filed on September 28, 2024 entitled “Artificial Intelligence (Al) Assisted End-to-End Workflow Integration for Software Development in Digital Model Platforms,” describes artificial intelligence (Al)-assisted approaches to integrate discrete workflows for software development within digital software platforms.

[0007] • PCT application No. PCT / US24 / 44938 (Docket No. IST-03.006PCT), filed on September 1, 2024 entitled “Multimodal Digital Document Interfaces for Dynamic and Collaborative Reviews,” describes interface enhancement for digital software platforms.

[0008] • PCT application No. PCT / US24 / 42768 (Docket No. IST-02.004PCT), filed on August 16. 2024, entitled “Artificial Intelligence (Al) Assisted Automation of Testing in Software Environments,” describes workflow enhancement for digital software platforms.

[0009] • PCT application No. PCT / US24 / 40624 (Docket No. IST-03.003PCT), filed on August 1, 2024, entitled "Machine Learning Engine for Workflow Enhancement in Digital Workflows,” describes workflow enhancement for digital software platforms.

[0010] • PCT application No. PCT / US24 / 40468 (Docket No. IST-03.004PCT), filed on July 31, 2024, entitled “Multimodal User Interfaces for Interacting with Digital Model Files.” describes multimodal user interfaces for digital software platforms. • PCT application No. PCT / US24 / 38878 (Docket No. IST-03.002PCT), filed on July 19, 2024, entitled “Generative Artificial Intelligence (Al) for Digital Workflows f describes efficient Al-assisted script generation methods that preserve customer data sovereignty.

[0011] • PCT application No. PCT / US24 / 35885 (Docket No. IST-02.002PCT), filed on June 27, 2024, entitled “Artificial Intelligence (Al) Assisted Integration o f New Digital Model Types and Tools into Integrated Digital Model Platform,” describes the enhancement of model splicer technology through Al-assistance.

[0012] • PCT application No. PCT / US24 / 27912 (Docket No. IST-02.003PCT), filed on May 5, 2024, entitled “Secure and Scalable Sharing of Digital Engineering Documents,” describes secure and scalable document splicing technology.

[0013] • PCT application No. PCT / US24 / 27898 (Docket No. IST-03.001PCT), filed on May 4, 2024, entitled “Digital Twin Enhancement using External Eeedback within Integrated Digital Model Platform,” describes digital and physical twin management and the integration of external feedback within a DE platform.

[0014] • PCT application No. PCT / US24 / 19297 (Docket No. IST-01.002PCT), filed on March 10, 2024, entitled “Software-Code-Defined Digital Threads in Digital Engineering Systems with Artificial Intelligence (Al) Assistance describes Al-assisted digital threads for digital engineering platforms.

[0015] • PCT application No. PCT / US24 / 18278 (Docket No. IST-02.001PCT), filed on March 3, 2024, entitled “Secure and Scalable Model Splicing of Digital Engineering Models for Software -Code-Defined Digital Threads." describes model splicing for digital engineering platforms.

[0016] • PCT application No. PCT / US24 / 14030 (Docket No. IST-01.001PCT), filed on February 1. 2024, entitled “Artificial Intelligence (Al) Assisted Digital Documentation for Digital Engineering,” describes Al-assisted documentation for digital engineering platforms.

[0017] • U.S. provisional patent application No. 63 / 442,659 (Docket No. IST-01.001P), filed on February 1, 2023, entitled “AI-Assisted Digital Documentation for Digital Engineering with Supporting Systems and Methods,” describes Al-assistance tools for digital engineering (DE), including modeling and simulation applications, and tire certification of digitally engineered products.

[0018] • U.S. provisional patent application No. 63 / 451,545 (Docket No. IST-01 .002P), filed on March 10, 2023, entitled “Digital Threads in Digital Engineering Systems, and Supporting AI-Assisted Digital Thread Generation,” describes model splicer and digital threading technology. • U.S. provisional patent application No. 63 / 451,577 (Docket No. IST-02.001P1), filed on March 11, 2023, entitled “Model Splicer and Microservice Architecture for Digital Engineeringf describes model splicer technology.

[0019] • U.S. provisional patent application No. 63 / 462,988 (Docket No. IST-02.001P2), filed on April 29, 2023, also entitled “Model Splicer and Microservice Architecture for Digital Engineeringf describes model splicer technology.

[0020] • U.S. provisional patent application No. 63 / 511,583 (Docket No. IST-02.002P), filed on June 30, 2023, entitled “AI-As si sted Model Splicer Generation for Digital Engineeringf describes model splicer technology with Al -assistance.

[0021] • U.S. provisional patent application No. 63 / 516,624 (Docket No. IST-02.003P), filed on July 31, 2023, entitled “Document and Model Splicing for Digital Engineeringf describes document splicer technology.

[0022] • U.S. provisional patent application No. 63 / 520,643 (Docket No. IST-02.004P), filed on August 20, 2023, entitled “Artificial Intelligence (Al)-Assisted Automation of Testing in a Software Environment f describes software testing with Al-assistance.

[0023] • U.S. provisional patent application No. 63 / 590,420 (Docket No. IST-02.005P), filed on October 14, 2023. entitled “Commenting and Collaboration Capability within Digital Engineering Platformf describes collaborative capabilities.

[0024] • U.S. provisional patent application No. 63 / 586,384 (Docket No. IST-02.006P), filed on September 28, 2023, entitled “Artificial Intelligence (AI)-Assisted Streamlined Model Splice Generation, Unit Testing, and Documentation f describes streamlined model splicing, testing and documentation with Al-assistance.

[0025] • U.S. provisional patent application No. 63 / 470,870 (Docket No. IST-03.001P), filed on June 3, 2023, entitled “Digital Twin and Physical Twin Management with Integrated External Feedback within a Digital Engineering Platformf describes digital and physical twin management and the integration of external feedback within a DE platform.

[0026] • U.S. provisional patent application No. 63 / 515,071 (Docket No. IST-03.002P), filed on July 21, 2023, entitled “Generative Artificial Intelligence (Al) for Digital Engineeringf describes an Al-enabled digital engineering task fulfillment process within a DE software platform.

[0027] • U.S. provisional patent application No. 63 / 517,136 (Docket No. IST-03.003P), filed on August 2, 2023, entitled “Machine Learning Engine for Workflow Enhancement in Digital Engineeringf describes a machine learning engine for model splicing and DE script generation. • U.S. provisional patent application No. 63 / 516,891 (Docket No. IST-03.004P), filed on August 1, 2023, entitled “Multimodal User Interfaces for Digital Engineering.'' describes multimodal user interfaces for DE systems.

[0028] • U.S. provisional patent application No. 63 / 580,384 (Docket No. IST-03.006P), filed on September 3, 2023. entitled “Multimodal Digital Engineering Document Interfaces for Certification and Security Reviews” describes multimodal user interfaces for certification and security reviews.

[0029] • U.S. provisional patent application No. 63 / 613,556 (Docket No. IST-03.008P), filed on December 21, 2023, entitled “Alternative Tool Selection and Optimization in an Integrated Digital Engineering Platform” describes tool selection and optimization.

[0030] • U.S. provisional patent application No. 63 / 584,165 (Docket No. IST-03.010P). filed on September 20, 2023, entitled “Methods and Systems for Improving Workflows in Digital Engineering,” describes workflow optimization in a DE platform.

[0031] • U.S. provisional patent application No. 63 / 590,456 (Docket No. IST-04.001P), filed on October 15, 2023, entitled “Data Sovereignty Assurance for Artificial Intelligence (Al) Models." relates to data sovereignty assurance during Al model training and evaluation.

[0032] • U.S. provisional patent application No. 63 / 606,030 (Docket No. IST-04.001P2), filed on December 4, 2023, also entitled “Data Sovereignty Assurance for Artificial Intelligence (Al) Models." further details data sovereignty assurances during Al model training and evaluation.

[0033] • U.S. provisional patent application No. 63 / 419,051, filed on October 25, 2022, entitled “Interconnected Digital Engineering and Certification Ecosystem."

[0034] • U.S. non-provisional patent application No. 17 / 973.142 (Docket No. 54332-0057001) filed on October 25, 2022. entitled “Interconnected Digital Engineering and Certification Ecosystem."

[0035] • U.S. non-provisional patent application No. 18 / 383,635 (Docket No. 54332-0059001), filed on October 25, 2023, entitled “Interconnected Digital Engineering and Certification Ecosystem ”

[0036] • U.S. provisional patent application No. 63 / 489,401, filed on March 9, 2023, entitled “Security’ Architecture for Interconnected Digital Engineering and Certification Ecosystem. ”

[0037] Notice of Copyrights and Tradedress

[0038] A portion of the disclosure of this patent document contains material which is subject to copyright protection. This patent document may show and / or describe matter which is or may become tradedress of the owner. The copyright and tradedress owner has no objection to the facsimile reproduction by anyone of the patent disclosure as it appears in the U.S. Patent and Trademark Office files or records, but otherwise reserves all copyright and tradedress rights whatsoever.

[0039] ISTARI DIGITAL is a trademark name carrying embodiments of the present invention, and hence, the aforementioned trademark name may be interchangeably used in the specification and drawings to refer to the products / process offered by embodiments of the present invention. The terms ISTARI and ISTARI DIGITAL may be used in this specification to describe the present invention, as well as the company providing said invention.

[0040] Field of the Invention

[0041] This disclosure relates to the training and evaluation of artificial intelligence (Al) models, and more specifically to data sovereignty assurance during Al model training and evaluation.

[0042] Background of the Invention

[0043] The statements in the background of the invention are provided to assist with understanding the invention and its applications and uses, and may not constitute prior art.

[0044] Data collection and sharing have become pivotal in industry and research, particularly in data-intensive applications such as artificial intelligence, machine learning, and big data analytics. The vast amounts of data generated daily drive innovation, enhance decision-making, and enhance the delivery of products and services. Particularly in the field of artificial intelligence (Al), data sharing is of paramount relevance, as machine learning models require large datasets for training to ensure accuracy and reliability.

[0045] Data breaches, data leaks, hacking, and associated exposure of sensitive information, are fueling growing security and privacy concerns associated with data sharing. For example, recent data breaches at major credit reporting agencies and social networks have compromised the financial and personal data of hundreds of millions of users around the world, fueling concerns about the security of customer data. Furthermore, neural networks can fall victim to model inversion attacks, which reconstruct private / untransformed input data from model outputs. Such attacks can expose sensitive information of users and organizations, raising security concerns. The recent leaking of the proprietary weights of a tech industry leader’s large scale language model compounds those fears.

[0046] In sensitive contexts such as the aerospace industry, medical organizations, government institutions and contractors, and so on, the potential implications of data breaches are significantly larger. Such security and privacy issues may lead to the increased reluctance of data owners to share their data, and to the enactment of laws restricting the movement of data. The consequent restrictions on data sharing may hinder information system operations, innovation, limit the development of data-intensive applications, and potentially slow down progress in various fields of industry and research.

[0047] Data sovereignty in its widest sense refers to the principle that digital information generated by an enterprise or an individual remains under the control of the data owner throughout the data life cycle. More specifically, with respect to data used in the training of neural networks and other Al models, data sovereignty refers to the principle that the data owner should maintain control over access to their data even when shared with third parties that are allowed to use it for training, or when the trained neural network is deployed. For example, the data owner should be protected against accidental exposure or intentional extraction of their training data through manipulation of the neural network, or even through mere access to it. Equally, such a data sovereignty safeguard may be expected by neural network model owners who want to share the model functions without explicitly sharing its architecture or parameters.

[0048] The increasing demand for data sharing in data-intensive applications is creating a tension between the risks and benefits of data sharing. Therefore, in view of the aforementioned difficulties, it would be an advancement in the state of the art to provide methods and systems enabling data sharing that is compliant with data sovereignty principles, particularly for Al training purposes.

[0049] It is against this background that various embodiments of the present invention were developed.

[0050] Brief Summary of the Invention

[0051] This summary of the invention provides a broad overview of the invention, its application, and uses, and is not intended to limit the scope of the present invention, which will be apparent from the detailed description when read in conjunction with the drawings.

[0052] Deploying neural networks that use unique data sources generated by enterprises as training or input data has significant potential to unlock novel insights and domain-specific Al capabilities. Consequently, data owners and neural network owners often wish to collaborate to train new Al models, or to apply Al to their individual applications. However, current data security frameworks are insufficient to address growing concerns about confidentiality and misuse. Traditional training processes require access to both tire internal parameters of the neural networks and the source data, and create a barrier due to competing concerns over data secrecy. Existing solutions typically rely on assurances from Al model providers to not retain input data beyond a fixed period (e.g., 30 days), or on deploying pre-trained models within isolated enterprise environments. Both approaches fall short of enabling secure and flexible collaboration.

[0053] In light of this, data owners are often hesitant to share their proprietary and valuable datasets with third parties for training neural networks, even though doing so could provide significant benefits. Similarly, neural network owners are reluctant to expose their confidential weights and biases, which represent critical intellectual property.

[0054] Accordingly, we propose systems and methods where both data and neural network parameters are transformed into a secure mathematical space, enabling collaborative training and deployment of neural networks without exposing sensitive information. The systems and methods proposed here resolve data and model privacy issues by allowing data owners and neural network owners to work together securely, ensuring that neither party's assets are compromised, while still enabling effective collaboration.

[0055] Broadly, the present invention relates to methods and systems for training and evaluating neural networks while preserving data sovereignty. The method may be applied by a single party or multiple parties seeking to keep their data and / or neural network private from one another.

[0056] The methods and systems herein present two parties, a neural network (NN) owner having a private NN. and a data owner having private data to be used for a NN operation such as evaluation, training, fine-tuning, as context data, etc. To enhance the privacy of both the NN and the data, the methods and systems described herein include mathematical transformations from a true mathematical space (tire untransformed space) to a transformed mathematical space (the transformed space) where NN operations may be carried out.

[0057] Various embodiments of the present invention are discussed in detail herein. In particular, the so-called Embodiment 1 and Embodiment 2 differ in the mathematical operations that are used to describe the process required to carry out privacy measures. Two major sub-embodiments are also discussed:

[0058] In a “shared data” sub-embodiment of the invention, the data owner shares a transformed representation of their data with the NN owner, and the NN ow ner carries out the NN operation in the transformed space. The NN operation in the transformed space is equivalent to an identical NN operation using the untransformed data on the untransformed NN in the true space. In other words, equivalence denotes that the transfonnation preserves corresponding neural network operations performed in an untransformed space, up to a predetermined error threshold, as discussed below'. Despite this equivalence, the methods and systems described herein ensure that the NN owner has no ability to access the data owner’s private data before or after the operation.

[0059] In a “shared NN” sub-embodiment of the invention, the NN owner shares a transfonned representation of their NN with the data owner, and the data owner carries out the NN operation in the transformed space. The NN operation in the transformed space is equivalent to an identical NN operation using the untransformed data on the untransformed NN in the true space. In other words, equivalence denotes that the transformation preserves corresponding neural network operations performed in an untransformed space, up to a predetermined error threshold, as discussed below. Despite this equivalence, the methods and systems described herein ensure that the data owner - in this case - has no ability to access the NN’s private NN parameters before or after the operation.

[0060] More specifically, in a “shared data” sub-embodiment of the invention, the data and NN owners agree on some setup compatibility information (known as transformation setup data, in some embodiment) that includes, for example, dimensionality data (see, for example, the transformation setup data discussed below). The data owner then creates a “data owner private transformation key” configured to transform data from the true space to the transformed space. The data owner private transformation key is kept confidential by the data owner and is not shared with the NN owner. The data owner then transforms their data using the data owner private transformation key and sends the transformed data to the NN owner, along with a shared transformation key required for the NN owner to transform their private NN from the true space to the transfonned space. An activation function and a transformation operator required for the NN owner to carry out NN operations in the transfonned space are also sent to the NN owner, as discussed herein. In some embodiments, a transformed activation function is shared as floating point coefficients of a series expansion computation, where tire transformed activation function is able to act on affine transformations of the hidden layer inputs and the floating point coefficients are computed using the data owner private transformation key. The NN owner then transforms the NN (i.e., the NN weights and biases) using the setup infonnation and the shared transformation key received from the data owner. The NN owner then carries out the NN operation in the transformed space using the transformed data and the transformed NN.

[0061] In the case of an evaluation, a training, or a fine-tuning operation, the NN owner propagates the transfonned data through the transfonned NN. In tire case of an evaluation, a forward propagation is carried out, and the NN owner obtains transformed output data in the transfonned space. Importantly, since the NN owner does not have access to the data owner private transformation key, the NN owner cannot access the transformed data received from the data owner or the transformed output obtained from the forward propagation operation in the transformed space. Hence, the NN owner sends the transformed output data to the data owner. The data owner may now use its data owner private transformation key to reverse the transformation it originally carried out on its untransformed data. This reversal from the transformed space to the true space is called a “de-transformation”, and yields an untransformed output from the NN operation.

[0062] In the case of a training or fine-tuning operation, a backpropagation is carried out, whereby the transformed data received from the data owner is used to train the transformed NN. The methods detailed herein describe sub-embodiments where the data owner may prevent access to any data point in the training data. Ultimately, the NN owner ends up with a trained, transformed NN in the transfonned space. Since the data owner's private transformation key is required to generate transfonned inputs, transfonned training data, and untransformed outputs, the NN owner has no ability to make use of the trained transformed NN for evaluation, training, fine-tuning, etc., except for the specific data owner involved. The NN owner can, however, de-transform the trained NN itself, to yield a trained untransformed NN, using the setup compatibility information and the shared transformation key sent by the data owner. Exemplary steps during the de-transform steps involve reverse order of transformation operations such as logarithms to reverse exponentiations, reversing row permutations or removing expansions that use an identity matrix. The trained untransformed NN can be used for a subsequent evaluation, training or fine-tuning etc. operation with a different data owner.

[0063] Remarkably, the shared transformation key sent to the NN owner is designed to enable the NN owner to transfomi and de-transform the private NN. However, it cannot be used to transform and de-transform the data owner's untransformed data, nor the transformed output of tire transformed NN, without the data owner private transformation key. The shared transformation key only consists of random matrix terms that contribute to expansions of the transformed input data and the transformed hidden layer input data. The shared transformation key does not include the untransformed input data. Furthermore, the methods and systems described herein ensure that any data shared with the NN owner, such as the setup information and the shared transformation key, cannot be used by the NN owner to infer tire data owner transformation key. The shared transformation key typically involves the product of two random matrices, that constitute two different private transformation keys known to the data owner and thus make it harder for NN owner to infer the data owner transformation keys.

[0064] These factors highlight how the various embodiments presented preserve data sovereignty while allowing fortraining machine learning and Al models.

[0065] Similarly, in a "shared NN” sub-embodiment of the invention, the data and NN owners agree on some setup information that includes, for example, dimensionality data (see, for example, the transformation setup data discussed below). The NN owner then creates a ‘"NN owner private transformation key” configured to transfomi the private NN from the true space to the transformed space. The NN owner private transformation key is kept confidential by the NN owner and is not shared with the data owner.

[0066] The NN owner then transfonns their NN using the NN owner private transfonnation key and sends the transformed NN (i.e., the transformed NN weights and biases) to the NN owner. An activation function and a transformation operator required for the data owner to carry out NN operations in the transformed space are also sent to the data owner, as discussed herein. In some embodiments, a transformed activation function is shared as floating point coefficients of a series expansion computation, where the transformed activation function is able to act on affine transformations of the hidden layer inputs and the floating point coefficients are computed using the NN owner private transformation key. The data owner then transforms their data using tire setup information received from the NN owner, to generate transformed data in the transformed space.

[0067] Tire data owner then carries out the NN operation in the transformed space using the transformed data and the transformed NN. In the case of an evaluation, a training, or a fine-tuning operation, the data owner propagates the transfonned data through the transformed NN using the activation function and the transformation operator. In the case of an evaluation, a forward propagation is carried out, and the data owner obtains transformed output data in the transformed space.

[0068] Importantly, since the data owner does not have access to the NN owner private transformation key, the data owner cannot access tire transformed NN received from the NN owner. Specifically, the data owner cannot access the original NN in its true space, nor can they access the transformed NN in a way that reveals the NN owner's model internals. Furthennore, since the data owner does not have access to the NN owner private transformation key, the data owner also cannot transform and de-transform data, including the transformed output of the transformed NN.

[0069] The methods disclosed herein provide the data owner to lock the transformed output of the transfonned NN in the transfonned spec, in a way that enables tire NN owner to de-transform it back to the true space while it is still locked. This renders the de-transfonned output data, still locked in the true space, inaccessible to the NN owner. Once sent by the NN owner back to the data owner, the methods disclosed herein enable the latter to unlock the de-transformed output in the true space.

[0070] In the case of a training or fine-tuning operation, a backpropagation is carried out, whereby the transformed NN received from the NN owner is trained using the transformed data. The methods detailed herein describe sub-embodiments where the data owner may prevent any data point in the training data to be used to train the transfonned NN. Ultimately, the data owner ends up with a trained, transfonned NN in the transformed space. Such a trained NN may be returned to the NN owner for de-transformation to the true space.

[0071] Since the NN owner private transformation key is required to transform or de-transform the NN, the data owner has no ability to access the private NN parameters. The data owner can, however, through collaboration with the NN owner as described above, transfonn and de-transfonn input and output data.

[0072] Since the private key is required to access the untransformed NN or the untransformed outputs, the data owner has no ability, however, to access or use the private NN in the true space.

[0073] Remarkably, the information sent to the data owner is designed to enable the data owner to transform and de-transform data. However, it cannot be used to transform and de-transform the NN, without the NN owner private transformation key. Furthermore, the methods and systems described herein ensure that any data shared with the data owner, such as the setup information, cannot be used by the data owner to infer the NN owner transformation key. Most operations described herein are represented as matrix operations. As discussed below, specific choices of matrix groups may improve computational efficiency.

[0074] Summary of Various Aspects of the Invention

[0075] Various methods, processes, and non-transitory storage media storing program code for a privacy-preserving process for utilizing a neural network (NN) between a data owner having private untransformed data and a NN owner having a private NN are all within the scope of the present invention.

[0076] Method Aspect: Shared Data - Data Owner

[0077] A first aspect, or one embodiment of the present invention, is a computer-implemented method for neural network (NN) propagation, through a NN owned by a NN owner, of confidential data owned by a data owner.

[0078] The method may include generating a data owner private transformation key, where the data owner private transformation key is kept confidential by the data owner. Tire method may also include transforming the confidential data from a true space into transformed data in a transformed space using the data owner private transformation key. The method may also include generating a shared transformation key, where the shared transfonnation key is necessary for the NN owner to propagate the transformed data through a transformed NN in the transformed space. Finally, The method may also include transmitting, to the NN owner, the transformed data and the shared transformation key.

[0079] In some embodiments, tire confidential data may include input data for forward propagation through the NN. The method may also include receiving, from the NN owner, a transformed output in the transformed space, where the transformed output was generated by forward-propagating the input data through the transfonned NN. The method may also include de-transfonning the transformed output using the data owner private transformation key, to generate de-transformed output data in the true space, where the de-transformed output data is equivalent to a true space output generated by forward-propagating the input data through the NN in the true space.

[0080] In some embodiments, the method may further include exchanging, with the NN owner, transformation setup data, where the transformation setup data is based at least on pre-agreed upon dimensionality data, where the transformation setup data provides information required for neural network operations in the transfonned space, and where neural network operations performed in the transformed space are transformed operations that preserve corresponding neural network operations performed in the true space up to a predetennined error threshold. In some embodiments, the method may further include sending, to the NN owner, a transformation operator based at least on the transformation setup data, where tire transformation operator is configured to perform transformed NN operations in the transformed space.

[0081] In some embodiments, the method may further include exchanging, with the NN owner, an activation function, where tire activation function is based at least on the transformation setup data, and where the activation function is required to perform transformed NN operations in the transformed space.

[0082] In some embodiments, the transformation setup data may include a class of cost functions required to perform transformed NN operations in the transformed space, and the method may further include generating a cost function based on the class of cost functions of the transformation setup data.

[0083] In some embodiments, the method may further include initiating a secure connection between the data owner and the NN owner.

[0084] Method Aspect: Shared Data - NN Owner

[0085] A second aspect, or another embodiment of the present invention, is a computer-implemented method for neural network (NN) propagation, through a NN owned by a NN owner, of confidential data owned by a data owner.

[0086] The method may include receiving, from the data owner, transformed data in a transformed space, where the transformed data corresponds to tire confidential data in a true space. Tire method may also include receiving, from the data owner, a shared transformation key necessary for the NN owner to propagate the transformed data through a transformed NN in the transformed space. The method may also include transforming a true NN from a true space into tire transformed NN in the transformed space using information within tire shared transformation key. Finally, the method may also include propagating the transformed data through tire transformed NN in the transformed space, where the NN owner cannot access a transformed output in the transformed space generated by propagating tire transformed data through the transformed NN.

[0087] In some embodiments, the confidential data may include true input data for forward propagation through the NN, the transformed data may include transformed input data, and propagating the transformed data through the transformed NN may include forward-propagating the transformed input data through the transformed NN to generate the transformed output in the transformed space. Tire method may further include sending, to the data owner, the transformed output in the transformed space.

[0088] In some embodiments, the confidential data may include true training data and true target data for training the NN, the transformed data may include transformed training data and transformed target data for training the transformed NN, and propagating the transformed data through the transformed NN may include backpropagating one or more data points of the transformed training data and the transfonned target data through the transformed NN in the transformed space, to generate one or more transformed error gradients in the transformed space. The method may further include training the NN using the one or more transformed error gradients in tire transformed space to generate a transformed trained NN. Finally, the method may further include de -transforming the transfonned NN by reversing the transforming of the true NN using information within the shared transformation key received from the data owner, to generate a trained NN in the true space.

[0089] Features described with respect to the first aspect apply equally to the second aspect.

[0090] Method Aspect: Shared NN - Data Owner

[0091] A third aspect, or another embodiment of the present invention, is a computer-implemented method for neural network (NN) propagation, through a NN owned by a NN owner, of confidential data owned by a data owner.

[0092] The method may include receiving, from the NN owner, a transformed NN in a transformed space, where the transformed NN corresponds to a true NN in a true space. The method may also include transforming the confidential data from a true space into transfonned data in the transformed space. Finally, the method may also include propagating the transfonned data through the transfonned NN in the transformed space, where the data owner cannot access a transformed output in the transfonned space generated by propagating the transformed data through the transformed NN.

[0093] In some embodiments, the confidential data may include true input data for forward propagation through the NN, the transformed data may include transformed input data, and propagating the transfonned data through the transformed NN may include forward-propagating the transformed input data through the transfonned NN to generate the transformed output in the transfonned space. Tire method may further include generating a data owner private output transformation key, where the data owner private output transformation key is kept confidential by the data owner. The method may also include locking, using the data owner private output transformation key, the transformed output, to generate a locked transformed output, where a de-transformation of the locked transformed output from the transfonned space to the true space preserves the locking in the true space and does not prevent a subsequent unlocking in the true space. Hie method may also include transmitting, to the NN owner, the locked transformed output. The method may also include receiving, from the NN owner, a locked de-transformed output. Finally, the method may also include unlocking the locked de-transformed output, using the data owner private output transformation key, to generate a de-transformed output data, where the de-transformed output data is equivalent to a true space output generated by forward-propagating the true input data through the NN in the true space. In some embodiments, the confidential data may include true training data and true target data for training the NN, the transformed data may include transformed training data and transformed target data for training the transformed NN, and propagating the transformed data through the transformed NN may include backpropagating one or more data points of the transformed training data and the transformed target data through the transfonned NN in the transformed space, to generate one or more transfonned error gradients in the transformed space. The method may further include training the transfonned NN using the one or more transformed error gradients in the transformed space to generate a trained transformed NN, where the data owner cannot de-transform the transformed NN or access a transformed output of the trained transformed NN in the transformed space without a NN owner private transfonnation key. Finally, tire method may further include transmitting the trained transfonned NN to the NN owner.

[0094] Features described with respect to tire previously presented aspects apply equally to the third aspect.

[0095] Method Aspect: Shared NN - NN Owner

[0096] A fourth aspect, or another embodiment of the present invention, is a computer-implemented method for neural network (NN) propagation, through a NN owned by a NN owner, of confidential data owned by a data owner. The method may include generating a NN owner private transformation key, where the NN owner private transformation key is kept confidential by the NN owner. The method may also include transforming a tme NN from atme space, using the NN owner private transformation key, to generate a transformed NN in a transformed space. Finally, the method may also include transmitting, to the data owner, the transformed NN.

[0097] In some embodiments, the confidential data may include true input data for forward propagation through the NN. The method may further include receiving, from the data owner, a locked transfonned output of the transformed NN in the transformed space. The method may also include de-transforming, using the NN owner private transformation key, the locked transformed output, to generate a locked de-transformed output in the tme space, where the NN owner cannot access the locked de -transformed output without a data owner private output transformation key. Finally, the method may also include transmitting, to the data owner, the locked de-transformed output.

[0098] In some embodiments, the confidential data may include tme training data and tme target data for training the NN, and the tme training data and tme target data were transfonned by the data owner, to generate transformed training data and transformed target data. The method may further include receiving, from the data owner, a trained transformed NN, where the trained transformed NN was trained by the data owner in the transformed space using the transformed training data and transformed target data, and where the NN owner has no access to the transformed training data and the transfonned target data used for training the trained transformed NN. Finally, the method may also include de-transforming the trained transformed NN using the NN owner private transformation key, to generate a trained NN in the true space.

[0099] Features described with respect to the previously presented aspects apply equally to the fourth aspect.

[0100] Storage Media Aspect: Shared Data - Data Owner

[0101] A fifth aspect, or another embodiment of the present invention, is one or more non-transitory physical storage media storing program code. Tire program code may be executable by a hardware processor. The hardware processor when executing the program code may cause the hardware processor to execute a computer-implemented privacy-preserving process for utilizing a neural network (NN) between a data owner having untransfonned data and a NN owner having a private NN.

[0102] The program code may include code to initiate a secure connection between the data owner and the NN owner. The program code may also include code to exchange, with the NN owner, transformation compatibility data, where the transformation compatibility data is based at least on pre-agreed upon dimensionality data, where tire transformation compatibility data provides information required for neural network operations in a transformed space, and where neural network operations performed in the transformed space are transformed operations that preserve corresponding neural network operations performed in an untransformed space up to a predetermined error threshold. The program code may also include code to exchange, with the NN owner, an activation function, where the activation function is based at least on the transformation compatibility data. The program code may also include code to generate a data owner private transformation key based at least on the transfonnation compatibility data, where the data owner private transfonnation key is configured to transform the untransfonned data from the untransfonned space into transformed data in the transformed space, and where the data owner private transformation key is kept confidential by the data owner. The program code may also include code to transform the untransformed data utilizing at least the data owner private transformation key to generate the transfonned data in the transformed space. The program code may also include code to generate a shared transformation key, where the shared transfonnation key is necessary for the NN owner to propagate the transformed data through the transformed NN in the transformed space. Finally, the program code may also include code to send, to the NN owner, tire transformed data and the shared transformation key necessary for the NN owner to propagate the transformed data through the transfonned NN in the transformed space.

[0103] In some embodiments, the transformed data is generated using the transfonnation compatibility data and the data owner private transformation key. In some embodiments, the shared transformation key may include shared hidden layer transformation data generated based at least on the transformation compatibility data and the data owner private transformation key.

[0104] In some embodiments, the data owner private transformation key may include a set of random matrices, and where at least one individual data entry within the set of random matrices is a non-zero entry generated by the data owner using a random number generator.

[0105] In some embodiments, the untransformed data is untransformed input data for forward propagation through the transformed NN, where the transformed data is transformed input data. The program code may further include code to receive, from the NN owner, transformed output data, where the transformed output data may include output from a transformed NN in the transformed space in response at least to the transformed input data. Finally, the program code may also include code to generate a de-transformed output in the untransformed space from the transformed output data by de-transforming the untransformed data using the data owner private transformation key.

[0106] In some embodiments, the program code may include code to send, to the NN owner, a transformation operator based at least on the transformation compatibility data, where the transformation operator is configured to perform transformed NN operations in the transformed space.

[0107] In some embodiments, the transformed NN may have been transformed using the transformation compatibility data, the activation function, the shared transformation key, and the transfonnation operator.

[0108] In some embodiments, the activation function is a transformed activation function. The program code may further include code to generate the transformed activation function from an untransformed activation function through a series expansion using the transformation compatibility data and the data owner private transfonnation key.

[0109] In some embodiments, the transformation compatibility data may include one or more multivariate terms within the transformed activation function to define a transformation of the untransformed activation function.

[0110] In some embodiments, a noise component is embedded within the transformed activation function by adding it to the untransformed activation function prior to the series expansion.

[0111] In some embodiments, the noise component is a bounded differentiable noise function.

[0112] In some embodiments, the transfonnation compatibility data may include at least dimensions of the untransfonned data, a location of a bias vector within the private NN, one or more dimensions of the private NN, a class of activation functions, and an error transformation key.

[0113] In some embodiments, transfonning the untransfonned data to generate the transformed data may include one or more of a matrix expansion, a matrix right-multiplication, and a matrix exponentiation. In some embodiments, transforming the untransformed data to generate the transformed data may include expanding an untransformed data matrix using an expansion matrix associated with the data owner private transformation key to generate an expanded untransformed data matrix, right-multiplying the expanded untransformed data matrix using a multiplication matrix associated with the data owner private transformation key to generate a multiplied untransformed data matrix, and exponentiating the multiplied untransformed data matrix using an exponentiation matrix associated with the data owner private transformation key to generate a transformed data matrix.

[0114] In some embodiments, the exponentiating the multiplied untransformed data matrix uses an element-wise matrix exponentiation.

[0115] In some embodiments, the exponentiating the multiplied untransformed data matrix uses a row-column matrix-wise matrix exponentiation.

[0116] In some embodiments, the transformation compatibility data may include a class of cost functions.

[0117] In some embodiments, the program code may further include code to generate a cost function based on the class of cost functions of the transformation compatibility data.

[0118] In some embodiments, tire untransformed data may include target data and a training data set, and the transformed data may include a transformed target data and a transformed training data set. Tire program code may further include code to transform the cost function through a series expansion using the transformation compatibility data and the data owner private transformation key. The program code may also include code to generate a transformed cost function. Finally, the program code may also include code to send, to the NN owner, the transformed cost function.

[0119] In some embodiments, the program code may further include code to identify, through an exchange with the NN owner, at least one locked data point of the transformed target data and the transformed training data set. The program code may also include code to receive, from the NN owner, a locked gradient associated with the at least one locked data point. The program code may also include code to generate a partially unlocked gradient from the locked gradient, using at least the data owner private transfonnation key. Finally, program code may also include code to send, to the NN owner, the partially unlocked gradient to enable tire unlocking of tire gradient associated with the at least one locked data point for backpropagation.

[0120] Features described with respect to the previously presented aspects apply equally to the fifth aspect. Storage Media Aspect: Shared NN - NN Owner

[0121] A sixth aspect, or another embodiment of the present invention, is one or more non-transitory physical storage media storing program code. Tire program code may be executable by a hardware processor. The hardware processor when executing the program code may cause the hardware processor to execute a computer-implemented privacy-preserving process for utilizing a neural network (NN) between a data owner having untransfonned data and a NN owner having a private NN.

[0122] The program code may include code to initiate a secure connection between the data owner and the NN owner. The program code may also include code to exchange, with the data owner, transformation compatibility data, where the transformation compatibility data is based at least on pre-agreed upon dimensionality data, where the transfonnation compatibility data provides information required for neural network operations in a transformed space, and where neural network operations performed in the transformed space are transformed operations that preserve corresponding neural network operations performed in an untransformed space up to a predetermined error threshold. The program code may also include code to exchange, with the data owner, an activation function, where the activation function is based at least on the transformation compatibility data. The program code may also include code to receive, from the data owner, transformed data and a shared transformation key necessary for the NN owner to propagate the transfonned data through atransfonned NN in the transformed space. Finally, the program code may also include code to transform the private NN using the transformation compatibility data to generate a transformed NN.

[0123] In some embodiments, the program code may include code to receive, from the data owner, a transfonnation operator based at least on the transformation compatibility data, where the transfonnation operator is configured to perform transformed NN operations in the transfonned space.

[0124] In some embodiments, the transformed NN may have been transformed using the transformation compatibility data, the activation function, the shared transformation key, and the transfonnation operator.

[0125] In some embodiments, the activation function is a transformed activation function generated from an untransformed activation function through a series expansion using the transformation compatibility data and a private transformation key generated by the data owner.

[0126] In some embodiments, the transformation compatibility data may include one or more multivariate tenns within the transformed activation function to define a transformation of the untransformed activation function.

[0127] In some embodiments, the transformed data is transformed input data for forward propagation through the transformed NN. The program code may further include code to generate transformed output data from the transformed input data using the transfonned NN, the shared transformation key and the transformation operator, where the transformed output data may include output from a transformed NN in the transformed space in response at least to the transformed input data. Finally, the program code may also include code to send, to the data owner, the transformed output data.

[0128] In some embodiments, the transformation compatibility data may include at least dimensions of the untransformed data, a location of a bias vector within the private NN, one or more dimensions of the private NN, a class of activation functions, and an error transfonnation key.

[0129] In some embodiments, the program code may further include code to verify, upon receiving the transformation compatibility data and the transformation operator, that the transformation operator is consistent with the dimensions of the untransformed data included within the transfonnation compatibility data.

[0130] In some embodiments, transfonning the private NN may include generating an expanded weights and biases matrix through a matrix expansion, where the matrix expansion may include expanding an untransfonned weights and biases matrix associated with the private NN using the dimensions of the untransformed data from the transformation compatibility data.

[0131] In some embodiments, transforming the private NN may further include generating transformed w eights and biases through a matrix permutation and a matrix multiplication of the expanded weights and biases matrix, where tire matrix permutation may include a rearrangement of rows of a matrix according to a specific pennutation sequence, and where the matrix multiplication is one of term-wise multiplication and row-column matrix multiplication.

[0132] In some embodiments, the transformed data may include transformed target data and a transformed training data set. The program code may further include code to receive, from the data owner, a transfonned cost function required to train the transformed NN in the transformed space.

[0133] In some embodiments, the program code may further include code to perform backpropagation through the transformed NN using a plurality of data points of tire transformed target data and the transformed training data set, the transformed cost function, the shared transformation key, and the transformation operator, to generate a plurality of error terms in the transformed space corresponding to the plurality of data points. The program code may also include code to generate a plurality of unlocked gradients using the plurality of error terms, where the plurality of unlocked gradients are unlocked based on a generation of a private transformation key by the data owner. The program code may also include code to update the transformed weights and biases using the plurality of unlocked gradients. Finally, the program code may also include code to generate a trained transformed NN using the updated transformed weights and biases.

[0134] In some embodiments, the program code may further include code to identify, through an exchange with the data owner, at least one locked data point of the transformed target data and the transformed training data set. The program code may also include code to perform backpropagation through the transformed NN using the at least one locked data point, the transformed cost function, the shared transformation key, and the transformation operator, to generate at least one error term corresponding to the at least one locked data point in the transformed space. The program code may also include code to generate at least one locked gradient based on the at least one error temr, where the at least one locked gradient is locked based on a generation of a private transfonnation key by the data owner. The program code may also include code to send, to the data owner, the at least one locked gradient associated with the at least one locked data point. The program code may also include code to receive, from the data owner, at least one partially unlocked gradient associated with the at least one locked data point. The program code may also include code to generate at least one unlocked gradient from the at least one locked gradient using at least the error transformation key. The program code may also include code to update the transformed weights and biases using the at least one unlocked gradient. Finally, the program code may also include code to generate a trained transformed NN using the updated transformed weights and biases.

[0135] In some embodiments, tire transformed NN may be generated by the NN owner within a NN agent exclave accessible from a data owner’s network, where the NN agent exclave is a secure data storage configured to host the transformed NN and accessible on a pennissioned-basis for data exchange.

[0136] In some embodiments, the program code to transform the private NN may include program code to securely transmit session-specific configuration information of the transformed NN to the NN agent exclave using a dedicated secure connection.

[0137] In some embodiments, the session-specific configuration information of the transformed NN may include one of a NN model architecture, a NN hyperparameter, and a NN data schema.

[0138] In some embodiments, the program code may include code to generate a de-transfonned weights and biases matrix by reversing the matrix expansion, the matrix pennutation, and / or a matrix exponentiation performed during the transforming of the private NN, and using at least the transformation compatibility data. Finally, the program code may also include code to generate a de-transformed trained NN in the untransformed space based on the de-transformed weights and biases matrix.

[0139] In some embodiments, the program code may include code to initiate a new secure connection between a new data owner and the NN owner. The program code may also include code to receive, from the new data owner, new transformation compatibility data, where the new transformation compatibility data provides information required for neural network operations in a new transfonned space. The program code may also include code to receive, from the new data owner, a new activation function, where tire new activation function is based at least on the new transformation compatibility' data. The program code may also include code to receive, from the new data owner, new transformed data and a new shared transformation key necessary for the NN owner to propagate the new transformed data through a new transformed trained NN in the new transformed space. Finally, the program code may also include code to transform the de-transformed trained NN from the untransformed space to the new transformed space using the new transformation compatibility data to generate the new transformed trained NN.

[0140] Features described with respect to tire previously presented aspects apply equally to the sixth aspect.

[0141] Storage Media Aspect: Shared NN - NN Owner

[0142] A seventh aspect, or another embodiment of the present invention, is one or more non-transitory physical storage media storing program code. Tire program code may be executable by a hardware processor. Tire hardware processor when executing the program code may cause the hardware processor to execute a computer-implemented privacy-preserving process for utilizing a neural network (NN) between a data owner having untransformed data and a NN owner having a private NN.

[0143] The program code may include code to initiate a secure connection between the NN owner and the data owner. The program code may also include code to exchange, with the data owner, transformation compatibility data, where the transfonnation compatibility data is based at least on pre-agreed upon dimensionality data, where the transfonnation compatibility data provides information required for neural network operations in a transformed space, and where neural network operations performed in tire transformed space are transformed operations that preserve corresponding neural network operations performed in an untransformed space up to a predetermined error threshold. The program code may also include code to exchange, with the data owner, an activation function, where the activation function is based at least on the transformation compatibility data. Hie program code may also include code to generate a NN owner private transformation key based at least on the transformation compatibility data, where the NN owner private transformation key is configured to transform the untransformed NN from the untransformed space into a transformed NN in the transformed space, and where the NN owner private transfonnation key is kept confidential by the NN owner. The program code may also include code to transform the private NN utilizing the transformation compatibility data and the NN owner private transformation key to generate the transformed NN in tire transformed space. Finally, the program code may also include code to send, to the data owner, the transformed NN.

[0144] In some embodiments, the NN owner private transformation key may include a set of random matrices, where at least one individual data entry within the set of random matrices is a non-zero entry generated by the data owner using a random number generator.

[0145] In some embodiments, the activation function may be a transformed activation function. The program code may further include code to generate the transformed activation function from an untransformed activation function through a series expansion using the transformation compatibility data and the NN owner private transformation key.

[0146] In some embodiments, the transformed NN may include transformed weights and biases generated through one or more transformation steps using the transformation compatibility data, where the one or more transformation steps include one of a matrix expansion, a matrix multiplication, and a matrix exponentiation.

[0147] In some embodiments, the program code may include code to send, to the data owner, a transformation operator based at least on the transformation compatibility data, where the transformation operator is configured to perform transformed NN operations in the transformed space.

[0148] Features described with respect to the previously presented aspects apply equally to the seventh aspect.

[0149] Storage Media Aspect: Shared NN - Data Owner

[0150] An eighth aspect, or another embodiment of the present invention, is one or more non-transitory physical storage media storing program code. Tire program code may be executable by a hardware processor. Hie hardware processor when executing the program code may cause the hardware processor to execute a computer-implemented privacy-preserving process for utilizing a neural network (NN) between a data owner having untransfonned data and a NN owner having a private NN.

[0151] The program code may include code to initiate a secure connection between the data owner and the NN owner. The program code may also include code to exchange, with the NN owner, transformation compatibility data, where the transformation compatibility data is based at least on pre-agreed upon dimensionality data, where the transformation compatibility data provides information required for neural network operations in a transformed space, and where neural network operations performed in the transformed space are transformed operations that preserve corresponding neural network operations performed in an untransformed space up to a predetermined error threshold. The program code may also include code to exchange, with the NN owner, an activation function, where the activation function is based at least on the transformation compatibility data. Finally, the program code may also include code to receive, from the NN owner, a transformed NN, where the transformed NN was generated in the transformed space by transfonning the private NN from the untransformed space using the transformation compatibility data and a NN owner private transformation key generated by the NN owner.

[0152] In some embodiments, the activation function is a transformed activation function generated by the NN owner. In some embodiments, the program code may include code to receive, from the NN owner, a transformation operator based at least on the transformation compatibility data, where the transformation operator is configured to perform transformed NN operations in the transformed space.

[0153] In some embodiments, the untransformed data is untransfonned input data for forward propagation through tire transformed NN. The program code may further include code to transform the untransfonned input data by applying a set of matrix operations using the transformation compatibility data, to generate transformed input data in the transformed space. The program code may also include code to generate transformed output data from the transformed input data using the transfonned NN, the activation function, and the transformation operator, where the transfonned output data may include output from the transformed NN in the transfonned space in response at least to the transfonned input data. The program code may also include code to generate locked transformed output data from the transformed output data using a private output transformation key. The program code may also include code to send the locked transformed output data to the NN owner. The program code may also include code to receive, from the NN owner, locked untransformed output data, where tire locked untransformed output data was generated by the NN owmer from the locked transformed output data by reversing the transforming of the untransfonned input data using the NN owner private transformation key. Finally, tire program code may also include code to generate untransformed output data in the untransfonned space from the locked untransformed output data using the private output transformation key.

[0154] In some embodiments, the set of matrix operations may include generating an expanded untransformed input data matrix through a matrix expansion, where the matrix expansion may include expanding an untransformed input data matrix using one or more dimensions of the private NN from the transformation compatibility data.

[0155] In some embodiments, the set of matrix operations may further include generating the transformed output data through a matrix permutation and a matrix multiplication of the expanded untransformed input data matrix, where a matrix permutation may include a rearrangement of columns of a matrix according to a specific permutation sequence, and where a matrix multiplication generates a product matrix, a product vector, or a product scalar, by multiplying elements of a first matrix with elements of a second matrix in a specific pattern.

[0156] Features described with respect to the previously presented aspects apply equally to the eighth aspect.

[0157] Other Aspects of the Invention

[0158] In another aspect or embodiment of tire present invention, a non-transitory, computer-readable storage medium is provided, the non-transitory, computer-readable storage medium storing executable instructions which when executed by a processor, causes the processor to perform a process for utilizing a neural network (NN) between a data owner having private untransformed data and a NN owner having a private NN in a privacy-preserving manner, including the aforementioned steps.

[0159] In yet another aspect or embodiment of the present invention, a computer program product is provided. The computer program may be used for a privacy-preserving process for utilizing a neural network (NN) between a data owner having private untransformed data and a NN owner having a private NN, and may include a computer-readable storage medium having program instructions, or program code, embodied therewith, the program instructions executable by a processor to cause the processor to perform the aforementioned steps.

[0160] In yet another aspect or embodiment of the present invention, a system for utilizing a neural network (NN) between a data owner having private untransformed data and a NN owner having a private NN in a privacy-preserving manner is provided, the system including a memory that stores computer-executable components, and a hardware processor, operably coupled to the memory, and that executes the computer-executable components stored in the memory, where the computer-executable components may include components communicatively coupled with the processor that execute the aforementioned steps.

[0161] In yet another aspect or embodiment of the present invention, a system for utilizing a neural network (NN) between a data owner having private untransformed data and a NN owner having a private NN in a privacy-preserving manner is provided, the system including a user device having a processor, a display, a first memory; a server including a second memory' and a data repository ; a communications link between said user device and said server; and a plurality' of computer codes embodied on said first and second memory of said user device and said server, said plurality of computer codes which when executed causes said server and said user device to execute a process including the steps described herein.

[0162] In yet another aspect or embodiment of the present invention, a computerized server is provided, including at least one processor, memory', and a plurality of computer codes embodied on said memory said plurality of computer codes which when executed causes said processor to execute a process including the steps described herein. Other aspects and embodiments of the present invention include the methods, processes, and algorithms including the steps described herein, and also include the processes and modes of operation of the systems and servers described herein.

[0163] In yet another aspect or embodiment of the present invention, an edge computerized system is provided, the edge computerized system running on a physical system or physical twin with either access to, or dedicated, processing, memory, computer code stored on a non-transitory computer-readable storage medium of the physical system or physical twin, and a plurality of sensor data being measured on said physical system or physical twin, the computer code causing the processor to perform the aforementioned steps.

[0164] Features which are described in the context of separate aspects and / or embodiments of the invention may be used together and / or be interchangeable wherever possible. Similarly, where features are, for brevity, described in the context of a single embodiment, those features may also be provided separately or in any suitable sub-combination. Features described in connection with the non-transitory physical storage medium or media may have corresponding features definable and / or combinable with respect to the system and / or method and / or computer product, or vice versa, and these embodiments are specifically envisaged.

[0165] Yet other aspects and embodiments of the present invention will become apparent from the detailed description of the invention when read in conjunction with the attached drawings.

[0166] Brief Description of the Drawings

[0167] The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the disclosed embodiments. For clarity, simplicity, and flexibility, not all elements, components, or specifications are defined in all drawings. Not all drawings corresponding to specific steps or embodiments of the present invention arc drawn to scale. Emphasis is instead placed on illustration of the nature, function, and product of the manufacturing method and devices described herein.

[0168] Embodiments of the present invention described herein are exemplary, and not restrictive. Embodiments will now be described, by way of examples, with reference to the accompanying drawings, in which:

[0169] Overview: Embodiments of the Invention

[0170] Fig. 1 illustrates a data sovereignty assurance process in a shared data scenario, in accordance with some embodiments of the present invention.

[0171] Fig. 2 further illustrates a data sovereignty assurance process in a shared neural network (NN) scenario, in accordance with some embodiments of the present invention.

[0172] Introduction to the Interconnected Digital Model Platform (IDMP)

[0173] Fig. 3 shows an exemplary interconnected digital model platform (IDMP) architecture, in accordance with some embodiments of the present invention. Fig. 4 shows an exemplary implementation of an IDEP as an interconnected digital engineering (DE) and certification ecosystem, and exemplary digitally certified products, in accordance with some embodiments of the present invention.

[0174] Fig. 5 shows another exemplary implementation of the IDEP illustrating its offered services and features, in accordance with some embodiments of the present invention.

[0175] Fig. 6 shows potential scenarios for instantiating an IDEP in connection to a customer's physical system and IT environment, in accordance with some embodiments of the present invention.

[0176] Fig. 7 shows exemplary- multimodal interface designs for integration of feedback in am IDEP, in accordance with some embodiments of the present invention.

[0177] Fig. 8 is a schematic diagram comparing exemplary digital threads that connect DE models, in accordance with some embodiments of the present invention.

[0178] Fig. 9 is a schematic showing an exemplary DE model splicing setup, in accordance with some embodiments of the present invention.

[0179] Fig. 10 is a schematic showing digital threading of DE models via model splicing, in accordance w ith some embodiments of the present invention.

[0180] Fig. 11 is a schematic illustrating the linking of DE model splices in a splice plane and comparing digital threading with and without model splicing, in accordance w ith some embodiments of tire present invention.

[0181] Fig. 12 shows an exemplary directed acyclic graph (DAG) representation of pipelined DE tasks related to digital threads, in accordance with some embodiments of the present invention.

[0182] Fig. 13 is an exemplary schematic illustrating the interplay between a digital thread and the individual models or artifacts it uses, defining outer and inner loop processes, in accordance with some embodiments of the present invention.

[0183] Fig. 14 illustrates an exemplary digital engineering process in the aerospace industry, showing outer loop processes, in accordance with some embodiments of the present invention.

[0184] Introduction to Neural Networks and their Training

[0185] Fig. 15 describes neural network operation fundamentals, in accordance with some embodiments of the present invention.

[0186] Fig. 16 shows a multi-layer neural network, in accordance with some embodiments of the present invention.

[0187] Fig. 17 shows an overview of an IDMP neural network training process, in accordance w ith some embodiments of the present invention. Fig. 18 is an illustrative flow diagram showing the different phases and datasets involved in training an IDMP machine learning model, in accordance with some embodiments of the present invention.

[0188] Data Sovereignty Assurance for Al Models

[0189] Summary of Data Sovereignty Methods Used in Embodiments 1 and 2

[0190] Fig. 19 shows a summary of various data sovereignty assurance methods used in various embodiments of the present invention.

[0191] Embodiment 1: Matrix-Only Operations

[0192] Fig. 20 shows an overview of the reshuffle process using a data-sovereignty enabled neural network, according to an embodiment of tire present invention.

[0193] Fig. 21 shows an overview of the reshuffle process using a data-sovereignty enabled neural network, according to embodiments of the present invention.

[0194] Fig. 22 shows the selection of block matrices for the reshuffle process using a data-sovereignty enabled neural network, according to an embodiment of the present invention.

[0195] Fig. 23 shows the properties of block matrices for the reshuffle process using a data-sovereignty enabled neural network, according to embodiments of the present invention.

[0196] Fig. 24 shows an example binary operation demonstrating that a data-sovereignty enabled neural network preserves forward propagation, according to embodiments of the present invention.

[0197] Embodiment 2: Matrix and Term-Wise Operations

[0198] Fig. 25 shows the parties and steps involved in an exemplary forward propagation implementation, according to an embodiment of the present invention.

[0199] Sub-embodiment 2 A: Shared Data

[0200] Fig. 26 shows some of the steps involved to maintain data sovereignty and privacy when the data owner uses their data as input, training, or context data for neural network computations, according to one embodiment of the present invention.

[0201] Fig. 27 shows additional steps involved to maintain data sovereignty and privacy when the data owner uses their data as input, training, or context data for neural network computations, according to one embodiment of the present invention.

[0202] Fig. 28 shows additional steps involved to maintain data sovereignty and privacy when the data owner uses their data as input, training, or context data for neural network computations, according to one embodiment of the present invention. Sub-embodiment 2B: Shared NN

[0203] Fig. 29 shows some of the steps involved to maintain data sovereignty and privacy when the neural network model owner shares elements of their model, according to one embodiment of the present invention.

[0204] Fig. 30 shows additional steps involved to maintain data sovereignty and privacy when the neural network model owner shares elements of their model, according to one embodiment of the present invention.

[0205] Fig. 31 shows additional steps involved to maintain data sovereignty and privacy when the neural network model owner shares elements of their model, according to one embodiment of the present invention.

[0206] Embodiment 2: Addins. Noise Components to Activation Functions

[0207] Fig. 32 illustrates an example of adding a variation to an activation function, according to one embodiment of the present invention.

[0208] Fig. 33 illustrates an example of adding variation to an activation function, according to one embodiment of the present invention.

[0209] Embodiment 2: Examples

[0210] Fig. 34 illustrates the matrix operations involved in a privacy-preservation scenario, according to one embodiment of the present invention.

[0211] Fig. 35 illustrates the matrix operations involved in a privacy-preservation scenario, according to one embodiment of the present invention.

[0212] Fig. 36 illustrates the matrix operations involved in a privacy-preservation scenario, according to one embodiment of the present invention.

[0213] Fig. 37 illustrates the matrix operations involved in a privacy-preservation scenario, according to one embodiment of the present invention.

[0214] System Architectures

[0215] Fig. 38 provides illustrative schematics of a server (management computing entity) and a client (user computing entity) used for documentation within an 1DMP. in accordance with some embodiments of the present invention. Detailed Description of the Invention

[0216] 1. Table of Contents

[0217] 1. Table of Contents 2. Introduction and Motivation 3. Overview: Embodiments of the Invention (Figs. 1-2) a. Embodiment 1: “Matrix-Only Operations” (Transformed Data and / or NN) b. Embodiment 2: “Matrix and Tenn-Wise Operations” i. Sub-Embodiment 2A Shared Data ii. Sub-Embodiment 2B Shared NN iii. Sub-Embodiment 2. 1 : Combination of Embodiments 1 & 2 in a common matrix c. Embodiment 3: Trusted Third Party Embodiments Sovereignty-Specific Terminology (Applicable to both Embodiments 1 and 2)duction to the Interconnected Digital Model Platform (IDMP) (Figs. 3-14) duction to Neural Networks and their Training (Figs. 15-18) mary of Data Sovereignty Preserving Methods Used in Embodiments 1 and 2 (Fig. 19) odiment 1: Matrix-Only Operations (Figs. 20-24) a. Embodiment 1 : Introduction and Overview b. Embodiment 1: Mathematical Glossary c. Embodiment 1: Encryption by Reshuffling d. Embodiment 1: Mathematical Proofs of Matrix Operations e. Embodiment 1: Alternative Sub-Embodiments odiment 2: Matrix and Term-Wise Operations (Figs. 25-37) a. Embodiment 2: Updated Flow Sequence and Forward Propagation Example (Fig. 25) b. Sub-Embodiment 2A Shared Data (Figs. 26-28) c. Sub-Embodiment 2B. Shared NN (Figs. 29-31) d. Embodiment 2: Proof of Matrix Operations e. Embodiment 2: Adding Noise Components to Activation Functions (Figs. 32-33) f. Embodiment 2: Examples (Figs. 34-37) g. Sub-Embodiment 2.1 : Uniform Matrix-Led Operations odiment 3: Trusted Third Party Embodiments ess Flows of Various Embodiments em Architectures (Fig. 38) P Terminology - and - 14. Conclusions 2. Introduction and Motivation

[0218] As the world is currently moving rapidly towards switching to 'Software 2.0” - which is mainly driven by using data to train machine learning models - instead of “Software 1.0”, which mainly relies on writing rules as complex code, an urgent need arises to how to secure the data that is used to train such machine learning models. Data integrity, quality, and relevancy are big drivers to the increase of the value of data as organizations race to build superior machine learning models to keep them ahead of competition and thus organizations will be more protective of their IP and data as the value of data continues to grow on an exponential basis. Who owns the best data — is best positioned to win the race. Such a race to build a strong arsenal of machine learning models also faces a number of threats.

[0219] The following are some important takeaways:

[0220] 1. Accelerated computing is going to empower faster, cheaper ways to train on big and complex data and would drive the inference time down.

[0221] 2. Software 2.0 is going to be the new norm which requires a lot of data that is often represented as embeddings.

[0222] 3. Embeddings help secure a machine learning model by providing a more efficient, compact, and expressive representation of data, increasing the model’s accuracy and robustness and masking sensitive data for privacy.

[0223] 4. Embeddings alone cannot protect a machine learning model from being hacked. While embeddings are useful for representing complex data in a more efficient and useful manner, they do not inherently provide security or protection against attacks.

[0224] 5. Neural networks can fall victim to model inversion attacks, which reconstruct private input data from model outputs. Such attacks can expose sensitive information of users and organizations, raising security concerns. For example, see thenewstack.io / microsoft-machine-leaming-models- can-be-easily-reverse-engineered / (retrieved November 2024).

[0225] 6. To protect data from unintended exposure, data holders and model providers can use encryption or limit model querying access.

[0226] 7. Differential privacy can be used to preserve privacy while maintaining the utility of the data analysis.

[0227] 8. Data sovereignty assurance methods - as introduced in this patent - serve as another key toolkit in ensuring data privacy for data owners.

[0228] 9. Implementing such privacy and security measures is essential for preventing data breaches and preserving tire trust and legal standing of organizations using neural networks. In short, unlike Software 1.0 which relies on explicit, handcrafted programming, Software 2.0 involves training neural networks to learn patterns and make decisions based on large datasets. Machine learning uses much smaller code to train a model but generally would require a lot of data and computing power for training. This data needs to be represented in a numerical form, and embeddings is one fomi that can be used to represent the data especially in sequential data.

[0229] Unfortunately, the introduction of Software 2.0 introduces new security concerns for underlying customer data, even when that data is stored in the form of seemingly unintelligible embeddings. Protecting a machine learning model from being hacked requires a combination of strong security protocols, data encryption, secure transfer, and restricted access to essential components. Additionally, the model should be designed to be resistant to adversarial attacks and other types of data poisoning methods. Regular model updates, monitoring for anomalies or unusual activities, and penetration testing can also help build resilience against hacking attempts.

[0230] In short, organizations must be aware of the possible risks posed by neural networks and should actively implement security measures, such as the data sovereignty assurance methodologies introduced in this patent.

[0231] Accordingly, we propose systems and methods where both data and neural network parameters are transformed into a secure mathematical space, enabling collaborative training and deployment of neural networks without exposing sensitive information. The systems and methods proposed here resolve data and model privacy issues by allowing data owners and neural network owners to work together securely, ensuring that neither party's assets are compromised, while still enabling effective collaboration.

[0232] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention can be practiced without these specific details. In other instances, structures, devices, activities, methods, and processes are shown using schematics, use cases, and / or diagrams in order to avoid obscuring the invention. Although the following description contains many specifics for the purposes of illustration, anyone skilled in the art will appreciate that many variations and / or alterations to suggested details are within the scope of the present invention. Similarly, although many of the features of the present invention are described in terms of each other, or in conjunction with each other, one skilled in the art will appreciate that many of these features can be provided independently of other features. Accordingly, this description of the invention is set forth without any loss of generality to. and without imposing limitations upon, the invention.

[0233] What follows is a detailed explanation of illustrative embodiments of the invention, and its numerous applications and uses in the field of machine learning models and Al, based on neural networks. 3. Overview: Embodiments of the Invention

[0234] Current data security frameworks are insufficient to address growing concerns from data owners and machine learning model owners about confidentiality and misuse of data and / or models by the other party. The systems and methods disclosed herein allow collaboration between the two parties by transforming data and / or neural network parameters into a secure mathematical space, enabling collaborative training and deployment of machine learning models — such as neural networks — without exposing sensitive information, particularly customer data.

[0235] The methods and systems disclosed herein describe the detailed steps allowing privacy-preserving interactions between data and model owners. The following three embodiments are introduced here:

[0236] • Embodiment 1 involves reshuffling with matrix operations and matrix exponentiation (or any equivalently invertible matrix function) within the linear transformation steps.

[0237] • Embodiment 2 integrates affine transformations within the activation function using a series expansion, such as a Taylor series, along with simpler row / column permutations and Hadamard exponentials. Similar transformations are carried out for other model-related functions, such as cost functions.

[0238] • Embodiment 3 introduces trusted third-party operations, which can be used to implement either Embodiment 1 or Embodiment 2.

[0239] Table 1 describes the Embodiments 1 and 2. highlighting the assumptions around each one.

[0240] Table 1. Embodiments of the Invention

[0241] Note that in some sub-embodiments of Embodiment 2, more of the tenn-wise operations (e.g., activation function transformation operations) may be carried out using matrix-only operations.

[0242] As discussed above, two major sub-embodiments of Embodiments 1 and 2 are discussed in the present disclosure. In a “shared data” sub-embodiment of the invention, the data owner shares a transformed representation of their data with the NN owner, and the NN owner carries out the NN operation in the transformed space. Conversely, in a “shared NN” sub-embodiment of the invention, the NN owner shares a transformed representation of their NN with the data owner, and the data owner carries out the NN operation in the transformed space. Fig. 1 illustrates the privacy preservation process in the shared data sub-embodiment, in accordance with some embodiments of the present invention. Specifically, exemplary descriptions are provided to illustrate steps carried out by a data owner 100 and a neural network (NN) owner 150 when input data are shared. In this embodiment, data owner 100 shares private-key-protected input data and a shared key with NN owner 150. The private-key-protect input data can be viewed as belonging to a transformed space illegible to NN owner 150. NN owner 150 uses the shared key to move its NN into the same transfonned space to deploy on the transformed input data, and the corresponding transformed output, once sent back data owner 100, may be reverse transformed using the private key to obtain a desired output in the original data space. Similarly, the private-key-protected data may be used to train the NN in the transfonned space.

[0243] More specifically, upon initial handshakes between data owner 100 and NN owner 150, a secure session is established, and transformation setup data 105 is exchanged. Such transformation setup or transformation compatibility data comprises agreed-upon dimensionality data for performing transforms and other relevant neural network operations.

[0244] At step 112, data owner 100 generates a data owner private transformation key 114. This data owner private transfonnation key 114 is kept confidential, and not shared with NN owner 150. Next, at step 116, data owner 100 transfonns a set of true data 110 from a true space into transformed data 118 in a transformed space. At step 164. NN owner 150 generates a transformed output 164 in the transformed space, using the data owner private transformation key 114. Concurrently or subsequently, at step 120, data owner 100 generates a shared transfonnation key 122, which may be used by the NN owner 150 to propagate transformed data through a transfonned NN in the transformed space. At steps 124 and 126, data owner 100 transmits transfonned data 118 and shared transfonnation key 122 to NN network owner 150.

[0245] Upon receiving these at steps 154 and 160, At step 156. NN owner 150 transforms the NN 152 from the true space to a transformed NN 158 in a transformed space using information within shared transformation key 122 received from data owner 100. At step 162, NN owner 150 propagates transfonned data 118 through transformed NN 158 in tire transformed space. At step 164, NN owner 150 generates a transfonned output 166 in the transformed space. As the input transformed data 118 is protected by data owner private transformation key 114, NN owner 150 is unable to read any transformed output such as 166.

[0246] During forward propagation (e.g., Embodiment 1 & 2), true data 1 10 serves as input data for applying the true NN 152. At step 168, NN owner 150 sends transformed output 166 to data owner 100. Data owner 100 receives transfonned output 166 correspondingly at step 128. Next at step 130, data owner 100 reverses the transformation of the transfonned output 166 using data owner private transformation key 114 to generate de-transformed output data 148 in the true space. This de-transformed output data 148 is equivalent to a true space output generated by forward-propagating true input data 110 through true NN 152 in the true space up to a predetermined error threshold.

[0247] During backward propagation (e.g., Embodiment 2), true data 110 is used as (unlocked) true training data and true target data for training true NN 152, and transformed data 118 is used as (unlocked) transformed training data and transformed target data for training transformed NN 158. Specifically, at step 170, NN owner 150 backpropagates one or more data points of transformed training data 118 and transformed target data through transformed NN 158 in the transformed space to generate one or more transformed error gradients 12 in the transformed space. At step 174, NN owner 150 trains transformed NN 158 using the one or more transfonned error gradients 172 in the transformed space to generate a transformed trained NN 16. Finally, at step 178. NN owner 150 de-transforms the transformed trained NN 176 by reversing the transformation using infonnation within shared transformation key 122 received from data owner 100, to generate a trained NN 198 in the true space.

[0248] Table 2 show's a description of some of the key steps carried out by the data owner and the NN owner in the shared data sub-embodiments.

[0249] Table 2. Shared / Transformed Data Case (See Fig. 1)

[0250] Fig. 2 further illustrates the privacy preservation process in the shared neural network (NN) sub-embodiment, in accordance with some embodiments of the present invention. Specifically, exemplary descriptions are provided to illustrate steps carried out by a data owner 200 and a neural network (NN) owner 250 when a neural network is shared. In this embodiment, NN owner 250 shares a private-key-protected NN with data owner 200. The private -key -protect NN can be viewed as belonging to a transformed space illegible to data owner 200. Data owner 200 pre-processes its input data to move into the same transfonned space to deploy the transfonned NN, and the corresponding transformed output is sent to NN owner 250 to be de -transfonned. Similarly, the private-key-protected NN may be trained in the transformed space.

[0251] More specifically, upon initial handshakes between data owner 200 and NN owner 250, a secure session is established, and transformation setup data 205 is exchanged. Such transformation setup or transfonnation compatibility data comprises agreed-upon dimensionality data for performing transfonns and other relevant neural network operations.

[0252] At step 254, NN owner 250 generates a NN owner private transformation key 256, which is kept confidential from data owner 200. Next, at step 258, NN owner 250 transforms a true NN 252 from a true space using NN owner private transformation key 256 to generate a transformed NN 260 in a transformed space. NN owner 250 then transmits transformed NN 260 to data owner 200 at step 262. At step 216, data owner 200 receives transformed NN 260 from NN owner 250.

[0253] Before deploying transfonned NN 260, data owner 200 pro-processes true data 210 from the true space at step 212 into transformed data 214 in the transformed space. At step 218, data owner 200 propagates transformed data 214 through transformed NN 216 in the transformed space. Because transformed NN is protected by key 256, data owner 200 cannot read any transformed output from transfonned NN 260 without collaboration with NN owner 250. During forward propagation (e.g., Embodiments 1 & 2), true data 210 serves as input data for applying NN 252. At step 220, NN owner 250 generates a transformed output 222 in the transformed space. Concurrently or subsequently, data owner 250 generates a data owner private output transfonnation key 226, which is kept confidential from NN owner 250, at step 224. At step 228, data owner 200 locks tire transformed output 222 using the data owner private output transformation key 226 to generate a locked transformed output 230, ensuring that de -transformation does not prevent subsequent unlocking in the true space. NN owner 250 transmits the locked transformed output 230 in the transformed space to NN owner 250 at step 232.

[0254] Once the locked transformed output 230 is received by NN owner 250 at step 264, NN owner 250 de-transforms the locked transformed output 230 at step 266 using the NN owner private transfonnation key 256 to generate a locked de-transformed output 268 in the true space. NN owner 250 cannot read this output as it is locked with the data owner private output transfonnation key 226. NN owner 250 instead sends the locked de-transformed output 268 to data owner 200 at step 270.

[0255] Data owner 200 receives the locked de-transformed output 268 at step 234. Subsequently at step 236, data owner 200 unlocks the locked de-transfonned output 268 using the data owner private output transformation key 226 to generate de-transfonned output data 248. This is equivalent to a true space output generated by forward-propagating input data 210 through NN 252 in the true space up to a predetennined error threshold.

[0256] During backward propagation (e g., Embodiment 2), tme data 210 serves as unlocked true training data and tme target data for training the true NN 252, while transformed data 214 is unlocked transfonned training data and transformed target data for training transformed NN 260. At step 240, data owner 200 backpropagates one or more data points of transformed training data 214 and the transfonned target data through the transformed NN 260 in tire transformed space to generate one or more transformed error gradients 242. Data owner 200 then trains transformed NN 260 using these transformed error gradients 242 to generate a trained transformed NN 274 at step 244, noting that the data owner 200 cannot de-transform the transformed NN 260 or any transfonned output without collaboration with NN owner 250. At step 246, data owner 200 sends the trained transfonned NN 274 to NN owner 250, which receives it at step 272.

[0257] Finally, at step 276, NN owner 250 de-transforms the trained transfonned NN 274 by reversing the transformation using the NN owner private transformation key 256 to generate a trained de-transformed NN 292 in the tme space. This NN 292 has been trained on data owner's data 210 without NN owner 250 having access to the data owner's data.

[0258] Tabic 3 shows a description of some of the key steps carried out by the data owner and the NN owner in the shared data sub-embodiments. Table 3. Shared / Transformed NN Case (See Fig. 2)

[0259] The remainder of this document is organized as follows. As shown in the Table of Contents, data-sovereignty-specific terminology is introduced next, followed by an illustration of some of the principles relevant to the present invention (Figs. 1-2). The interconnected digital model platform (IDMP) is then described in detail, followed by a few neural network and machine learning fundamentals. That is, Figs. 3-14 describe the operation of an integrated digital model platform (IDMP), according to embodiments of the present invention. General concepts related to the training of neural networks, transformer architectures, and the use of embeddings, are described in Figs. 15-18.

[0260] Also as shown in the Table of Contents, various embodiments of the disclosed data sovereignty preserving methods are described next. Embodiment 1 is described in Figs. 20-24, whereas Figs. 25-37 describe Embodiment 2. For Embodiments 1 and 2. various scenarios are presented, and mathematical analysis is provided in support of some of the key process steps. For Embodiment 2, relevant matrix operations are illustrated through example scenarios. Embodiment 3, which introduces a trusted third party for some of the operations described herein, is then introduced. Penultimately, processes for various embodiments are then discussed. Finally, hardware and software implementation details that are relevant to the invention are described (Fig. 38). 4. Data Sovereignty-Specific Terminology

[0261] Some illustrative terminologies specific to the transformation of NNs and data for ensuring data sovereignty discussed herein are provided here to assist in understanding the present invention. The provided terminology is not to be read as restricting the scope of the present invention. The terms may be used in the form of nouns, verbs, or adjectives, within the scope of the definition.

[0262] • Untransformed (True) vs. Transformed space (see Eqn. (B17))

[0263] • Untransformed data: Untransformed input and / or training data owned by the data owner (see Eqn. (B5))

[0264] • Transformed data: Transformed input and / or training data for the transformed space that the data owner generates using a private transformation key. Untransformed / private input data is first expanded resulting in dimensionality expansion, including the use of dummy random matrix data, such as: . The resulting expanded matrix is right-multiplied by another random scrambling matrix with an example as shown here: 1 l,v. Finally, the result is exponentiated to obtain the transformed input data, as shown here:

[0265] Here, the exponentiation can be either element-wise in some embodiments (Embodiment 2) or row-column matrix-wise in other embodiments (Embodiment 3) depending on the privacy convention.

[0266] • Transformation compatibility data (or transformation setup data): Non-confidential data shared between the two parties up front to ensure correct transformed space neural network mathematical operations. Such compatibility data may be shared using a graphical user interface with human input or in a structured format like JSON, suitable for automated exchanges. This may include: o dimensions of tire expansion of the input data, o location of the bias vector and unit vector, o definitions of addition, multiplication, exponentiation, and / or any other pseudo-invertible functions chosen for compositions with the untransformed activation and / or cost functions in the transformed space, o untransformcd activation and cost function (though not technically required should the privacy key owner dictate it, but in practice, agreeing on the NN non-linearity does not detract from privacy). o dimensionality for variate matrix elements (as a means to ensure or increase privacy), and / or o error transformation key (R) for converting transformed output data into true output data, as well as for privacy during back propagation.

[0267] • Private transformation key (r and r): Private transformation keys are generated by the data owner and not shared with the NN owner (shared data sub-embodiment), or alternately, generated by the NN owner and not shared with the data owner (shared NN sub-embodiment). For example, in the shared data case, they may include random matrices that the data owner utilizes as part of the transformation steps for expansion or exponentiation. Similarly, in the shared NN case, the NN owner may utilize different random matrices as part of their transformation steps for expansion, multiplication, or exponentiation, and include those in the private transformation keys.

[0268] • Private output transformation key Rout: Generated by data owner and not shared with NN owner. For example, a random matrix may be used to right exponentiate and lock the transformed output from a transformed NN before sharing back with tire NN owner to unlock from their end.

[0269] • Shared Transformation Key: Based on shared hidden layer transformation data, the shared transformation key includes transformed data generated by the data owner and shared with NN owner that such that the NN owner can perform transformed space NN operations that preserved untransformed space operations in recoverable form (i.e., pseudo-invertible by the private data owner without a priori knowledge of the hidden layers, where “pseudo” refers to the requirement that operations involving untransformed NN data must either be fully invertible, while those involving “dummy” data inserted as a privacy means need not be, or invertible up to an acceptable estimation error based on injected noise). For. example, the bottom components of transformed hidden layer inputs.

[0270] An example of shared hidden layer transformation data would be the bottom two components in the matrix (on right hand side), which ensure subsequent operations in the transformed space (i) preserve tire augmented matrix form of the hidden layer inputs and final output and (ii) arc mathematically compatible, as well as compatible with the private transformation key

[0271] • Untransformed activation function: One or more activation functions in the untransformed space, for computation of activation within the hidden and output layers of the NN, either agreed upon as part of transformation compatibility data or part and parcel of the untransformed neural network. See righthand side of Eqn. (Bl) and Fig. 32 as an example of an untransformed activation function. Fig. 33 is an example of an untransformed activation function including a noise function.

[0272] • Transformed activation function: Activation functions in the transfonned space, which is capable of performing computations with transformed space data (i.e., transformed weights and biases or transfonned inputs and training data with transformed mathematical operations) in the transformed space of the transformed NN. See Eqn. (Bl 8) as an example of a transformed activation function.

[0273] • Untransformed cost function: Cost functions in the untransformed space whose inputs are the output data and target data in the untransformed NN. See righthand side of Eqn. (B38) as an example of an untransformed cost function.

[0274] • Transformed cost function: Cost functions in the transformed space whose inputs are the transformed output and transformed target data of the transformed NN (i.e., the transformed space). See steps in Eqns. (B38) and (B39) as steps for computing transformed cost function.

[0275] • Transformation (mathematical) operator: Tire transformed operator embodies data operations defined in the transformed space between the transfonned NN data (i.e., transformed weights and biases or transfonned input and training data) such that the transformed forward and backwards propagations preserve the untransfonned forward and backwards propagations, respectively, in recoverable form (i.e., pseudo-invertible by the private key owner without a priori knowledge of the hidden layers, where “pseudo” refers to the requirement that operations involving untransformed NN data must either be fully invertible, while those involving “dummy” data inserted as a privacy means need not be, or invertible up to an acceptable estimation error based on injected noise) without knowledge of the hidden layers a priori. See Eqn. (B17) as an example transformation operator. • Transformed output: Output from the transformed NN in the transformed space. See righthand side of Eqn. (B50) as an example transformed output.

[0276] • Untransformed output: True, untransformed output data that is recoverable (i.e., pseudo-invertible by the private key owner without a priori knowledge of the hidden layers, where “pseudo” refers to the requirement that operations involving untransformed NN data must either be fully invertible, while those involving “dummy” data inserted as a privacy means need not be, or invertible up to an acceptable estimation error based on injected noise) by the data owner from the transformed output using the private transformation key.

[0277] • Locked transformed output data: Transformed output data is locked using the private output transformation key generated by the data owner as a data privacy protection measure in the “Shared NN” case. The locked transformed output data can then be sent to the NN owner for de-transformation back into the true / untransformed space. Upon reversing the transformation (i.e., operating a de-transformation) using its private transformation key (r and f), the NN owner obtains a locked untransformed output data that it sends back to the data owner for unlocking. Upon reception, the data owner can generate unlocked untransformed output data (i.e., untransfonned output) by unlocking the locked transformed output data using the private output transformation key. The described operations are detailed in Table 3.

[0278] • Transformed forward propagation operators: A subset of transformed mathematical operations pertaining to forward propagation operations in the transformed space. (See Eqns. (Bl 5) and (B17).)

[0279] • Transformed backpropagation operators: A subset of transformed mathematical operations pertaining to backpropagation operations in the transfonned space. (See Eqns. (B50) and (B51).)

[0280] • Transformed Error Gradient: Computed in the transfonned space during backpropagation to train the transformed NN. The transformed error gradient is generated locked or unlocked, depending on the choice of the private transformation keys (r and r), as depicted in Eqns. (B50) and (B51) for ‘Shared data' use case and Eqns. (B57) and (B58) for the ‘Shared NN’ use case. A locked transformed error gradient may be partially unlocked by the data owner using the private transformation keys (see Eqns. (B52) and (B58)), thus allowing the NN owner to fully unlock it using the error transformation key (R), as shown in Eqns. (B53) and (B59).

[0281] • Target Data and Training Data Set: Originating at the data owner, the target data represents the desired output of the NN when the training data set is used for training the NN. The target data and training data set include a plurality of data points that may be generated as locked data points, depending on the choice of the private transformation key (r and r), as shown in Eqn. (B52). • Noise component: A noise component (e.g., a bounded differentiable noise function) may be embedded within the transformed activation function, the transformed cost function, or any transformed function describing NN operation, by adding the noise component to the untransformed function prior to the series expansion, as illustrated in Eqn. (B60) and Fig. 33.

[0282] In various embodiments, the "‘exchange” of a data element (e.g.. transformation setup data) may include various combinations of the following actions: (1) an agreement between the two parties on one or more parameters relevant to the data element, (2) a generation of the data element by a first party, and (3) a sending or sharing of said data from the first party' to tire second party.

[0283] The IDM platform is discussed next. The IDMP platform may use NNs in which the transformation of NN and data for privacy preservation are very useful. Some illustrative terminologies specific to the IDMP platform discussed next are provided in a section at the end of this document to assist in understanding the present invention, but these are not to be read as restricting the scope of the present invention. The terms may be used in the form of nouns, verbs, or adjectives, within the scope of the definition.

[0284] 5. Introduction to the Interconnected Digital Model Platform (IDMP)

[0285] The interconnected digital model platform (IDMP) enables the threading and manipulation of systems and digital models, as described below in detail. Hie current disclosure presents methods and systems by which a machine learning model such as a Neural Network (NN) may be shared, trained, fine-tuned, provided with context data, and utilized in a privacy-preserving manner for both the data owner and the model owner, leading to enhanced IDMP operation. Figs. 3-14 describe the operation of an integrated digital model platform (IDMP), according to embodiments of the present invention.

[0286] An Interconnected Digital Model Platform (IDMP) Architecture

[0287] Fig. 3 shows an exemplary interconnected digital model platform (IDMP) architecture, in accordance with some embodiments of the present invention. In the context of digital engineering (DE), IDMP 300 streamlines the process of product development from conception to production, by using a virtual representation or digital twin (DTw) 322 of the product to optimize and refine features before building a physical prototype or physical tw in (PTw) 332, and to iteratively update DTw 322 until DTw 322 and PTw 332 are in sync to meet the product’s desired performance goals. In what follows, tire terms IDMP and IDEP are used interchangeably, as an interconnected digital engineering platform (IDEP) is a representative type of ID MPs. Specifically, a product (e.g., airplane, spacecraft, exploration rover, missile system, automobile, rail system, marine vehicle, remotely operated underwater vehicle, robot, drone, medical device, biomedical device, pharmaceutical compound, drug, power generation system, smart grid metering and management system, microprocessor, integrated circuit, building, bridge, tunnel, chemical plants, oil and gas pipeline, refinery, etc.) manufacturer may use IDMP platform 300 to develop a new product. Tire engineering team from the manufacturer may create or instantiate digital twin (DTw) 322 of tire product in a virtual environment 320, encompassing detailed computer-aided design (CAD) models and finite element analysis (FEA) or computational fluid dynamics (CFD) simulations of component systems such as fuselage, wings, engines, propellers, tail assembly, and aerodynamics. DTw 322 represents the product's design and performance characteristics virtually, allowing tire team to optimize and refine features before building a physical prototype 332 in a physical environment 330. In some embodiments, PTw 332 may be an existing entity while DTw 322 is a digital instance that replicates individual configurations of PTw 332, as-built or as-maintained. In the present disclosure, for illustrative purposes only, DTw 322 and PTw 332 are discussed in the context of building a new product, but it would be understood by persons of ordinary skill in tire art that the instantiation of DTw 322 and PTw 332 may take place in any order, based on the particular use case under consideration.

[0288] Digital models (e.g., CAD models. FEA models, CFD models) used for creating DTw 322 are shown within a model plane 380 in Fig. 3. Also shown in model plane 380 is a neural network (NN) model 384, which may provide machine -learning based predictive modeling and simulation for a DE process. A DE model such as 382 may be spliced into one or more model splices, such as 372 and 373 within a splice plane 370. Individual DTws such as 322 are instantiated from splice plane 370 via an application plane 360. A model splice such as 372 may be linked to another model splice such as 371 by a platform script or application 362 on application plane 360 into a digital thread. Multiple digital threads such as 362 and 363 may be further linked across different stages or phases of a product life cycle, from concept, design, testing, to production. Digital threads further enable seamless data exchange and collaboration between departments and stakeholders, ensuring optimized and validated designs.

[0289] As model splicing provides input and output splice functions that can access and modify DE model data, design updates and DE tasks associated with the digital threads may be represented by scripted, interconnected, and pipelined tasks arranged in Directed Acyclic Graphs (DAGs) such as 324. A DE task DAG example is discussed in further detail with reference to Fig. 12.

[0290] To enhance the design, external sensory- data 340 may be collected, processed, and integrated into application plane 360. This process involves linking data from different sources, such as physical sensors 334 on prototype 332, physical environmental sensors 336, and other external data streams such as simulation data from model plane 380. API endpoints provide access to digital artifacts from various environments (e.g., physical twin (PTw) sensor 334 data) and integrate them into the spliced plane 370 for the DTw 322. Model splices on the splice plane 370 enable autonomous data linkages and digital thread generation, ensuring DTw 322 accurately represents the product’s real-world performance and characteristics.

[0291] To validate DTw 322's accuracy, the engineering team may build or instantiate PTw 332 based on the same twin configuration (i.e., digital design). Physical prototype 332 may be equipped with numerous sensors 334, such as accelerometers and temperature sensors, to gather real-time performance data. This data may be compared with the DTw’s simulations to confirm the product’s performance and verify its design.

[0292] Processed sensory data 344 may be used to estimate parameters difficult to measure directly, such as aerodynamic forces or tire contact patch forces. Such processed sensory data provide additional data for DTw 322. further refining its accuracy and reliability. Processed sensory data 344 may be generated from physical environment sensors 336 with physical environment 330, and may be retrieved from other external databases 342, as discussed below.

[0293] During development, feedback from customers and market research may be collected to identify' potential improvements or adjustments to the product's design. At an analysis & control plane (ACP) 350, subject matter experts (SMEs) may analyze processed sensory data 344 and external expert feedback 314, to make informed decisions on necessary design changes. Such analysis may be done by an analysis module 354, and may be enhanced or entirely enabled by algorithms (i.e., static program code) or artificial intelligence (Al) modules. Linking of digital threads such as 362, physical sensors 334 and 336, processed sensory data 344, and expert feedback data 314 occurs at ACP 350, where sensor and performance data is compared, analyzed, leading to modifications of the underlying model files through digital threads. Within the ACP 350, the analysis module 354 may carry out testing of the product. Additionally, testing of the twin configuration set 356. which includes feature testing, may occur in the connection between the analysis module 354 and the twin configuration set 356.

[0294] In particular, sensory data 344 from physical environment 330 and performance data 326 from virtual environment 320 may be fed into a comparison engine 352. Comparison engine 352 may comprise tools that enable platform users to compare various design iterations with each other and with design requirements, identify performance lapses and trends, and run verification and validation (V&V) tools.

[0295] Model splicing is discussed in further detail with reference to Figs. 9 to 11. Model splicing enables the scripting of any DE operation involving DE model files in model plane 380, where each DE model is associated with disparate and siloed DE tools. Codification of DE models and DE operations with a unified corpus of scripts enable IDMP 300 to become an aggregator where a large space of DE activities associated with a given product (e.g., airplane, spacecraft, exploration rover, missile system, automobile, rail system, marine vehicle, remotely operated underwater vehicle, robot, drone, medical device, biomedical device, pharmaceutical compound, drug, power generation system, smart grid metering and management system, microprocessor, integrated circuit, building, bridge, tunnel, chemical plants, oil and gas pipeline, refinery, etc.) may be threaded through program code. Thus, model splicing enables the linking and manipulation of all model files (e.g., 382, 384) associated with a given product within the same interconnected platform or ecosystem 300. As a consequence, the generation and training of Al modules for the purpose of manipulating DE models (e.g., 382), digital threads (e.g., 362), and digital twins (e.g., 322) become possible over the programmable and unified IDMP 300.

[0296] Virtual and Physical Feedback Loops

[0297] Fig. 3 uses letter labels "A" to “H” to denote different stages of a product’s lifecycle. At each stage, IDMP 300 enables feedback loops whereby data emanating from a PTw or a DTw is analyzed at ACP 350, leading to the generation of a new twin configuration based on design modifications. The new twin configuration may be stored in a twin configuration set and applied through the application and splice planes, yielding modified model files that are registered on the digital thread.

[0298] A virtual feedback loop 304 starts with a decision 306 to instantiate new DTw 322. A DAG of hierarchical tasks 324 allows the automated instantiation of DTw 322 within virtual environment 320, based on a twin configuration applied at a process step 308 from a twin configuration set 356. DTw 322 and / or components thereof are then tested in virtual environment 320, leading to the generation of DTw performance data 326. Concurrently, DTw 322 and / or components thereof may be tested and simulated in model plane 380 using DE software tools, giving rise to test and simulation performance data 374. Performance data 326 and 374 may be combined, compared via engine 352, and analyzed at ACP 350, potentially leading to the generation and storage of a new twin configuration. The eventual decision to instantiate a DTw from the new tw in configuration completes virtual feedback loop 304.

[0299] A physical feedback loop 302 starts with a decision 306 to instantiate a new' PTw 332. PTw 332 may be instantiated in a physical environment 330 from the model files of model plane 380 that are associated w'ith an applied twin configuration from the twin configuration set 356. PTw 332 and / or components thereof are then tested in physical environment 332, leading to the generation of sensory data from PTw sensors 334 and environmental sensors 336 located in physical environment 330. This sensory data may be combined with data from external databases to yield processed sensory data 344. In one exemplary embodiment, temperature readings from environmental sensors located within the physical environment are completed, adjusted (e.g., shifted), and / or calibrated using data from external temperature databases. Data from PTw sensors 334 may be directly added to the model fdes in model plane 380 by the DE software tools used in the design process of PTw 332. Alternatively, PTw sensor data may be added to digital thread 362 associated with PTw 332 directly via application plane 360. In addition, processed sensory data 344 may be integrated into IDMP 300 directly via application plane 360. For example, processed sensory data 344 may be sent to ACP 350 for analysis, potentially leading to the generation and storage of a new twin configuration. The eventual decision to instantiate a PTw from the new twin configuration completes physical feedback loop 302.

[0300] At each stage A to H of the product life cycle, the system may label one twin configuration as a current design reference, herein described as an “authoritative twin” or “authoritative reference”. The authoritative twin represents the design configuration that best responds to actual conditions (i.e., the ground truth). PCT application No. PCT / US24 / 27898 (Docket No. IST-03.001PCT) provides a more complete description of authoritative twins and their determination, and is incorporated by reference in its entirety herein.

[0301] With faster feedback loops from sensor data and expert recommendations, the system updates DTw 322 to reflect latest design changes. This update process may involve engineering teams analyzing feedback 354 and executing the changes through IDMP 300, or automated changes enabled by IDMP 300 where updates to DTw 322 are generated through programmed algorithms or Al modules. This iterative updating process continues until DTw 322 and PTw 332 are in sync and the product’s performance meets desired goals. While IDMP 300 may not itself designate the authoritative reference between a DTw or a PTw, the platform provides configurable mechanisms such as policies, algorithms, voting schema, and statistical support, whereby agents may designate a new DTw as the authoritative DTw, or equivalently in what instances the PTw is the authoritative source of truth.

[0302] When significant design improvements are made, a new PTw prototype may be built based on the updated DTw. This new prototype undergoes further testing and validation, ensuring the product's performance and design align with project objectives.

[0303] Once DTw 322 and PTw 332 have been validated and optimized, the product is ready for production. A digital thread connecting all stages of development can be queried via splice plane 370 to generate documentation as needed to meet validation and verification requirements. The use of model splicing, along with the feedback architecture shown in Fig. 3. improves the efficiency of the overall product innovation process.

[0304] Interconnected DE Platform and Product Lifecycle

[0305] In Fig. 3, letter labels “A” to “H” indicate the following major steps of a product lifecycle, according to some embodiments of the current invention: A. Digital models reside within customer environments: a product may be originally represented by model files that are accessible via software tools located within customer environments. Model plane 380 encompasses all model files (e.g., 382) associated with the product.

[0306] B. Preparatory steps for design in the digital realm: splice plane 370 encompasses model splices (e.g., 372) generated from DE model file through model splicing. Model splicing enables the integration and sharing of DE model files within a single platfonn. as described in detail with reference to Figs. 9 to 11.

[0307] C. Link threads as needed among model splices: to implement a product, model splices are linked through scripts within application plane 360. A digital twin (DTw) 322 englobing as-designed product features may be generated from application plane 360 for running in virtual environment 320. The complete twin configuration of a generated DTw is saved in tw in configuration set 356 located at the analysis & control plane (ACP) 350. Features or parts of DTw 322 may be simulated in model plane 380, with performance data 374 accessed through splice plane 370. In one embodiment, features or parts of PTw 332 or DTw 322 configuration may be simulated outside the platform, where performance data is received by the ACP 350 for processing, in a similar way as performance data 326 received from DTw 322.

[0308] D. Finalize "As-designed”: performance data 326 from DTw 322 or simulation performance data 374 attained through model plane 380 and accessed through model splicing may be collected and sent to ACP 350 for analysis. Performance data from different iterations of DTw 322 may be compared via engine 352 to design requirements. Analysis of the differences may lead to the generation of new' twin configurations that are stored at twin configuration set 356. Each twin configuration in twin configuration set 356 may be applied at application plane 360 and splice plane 370 via process step 308 to instantiate a corresponding DTw. Multiple DTws may be generated and tested, consecutively or simultaneously, against the design requirements, through comparison engine 352 and analysis module 354. Verification and validation tools may be ran on the various DTw iterations.

[0309] E. Finalize “As-manufactured”: once a DTw 322 satisfies the design requirements, a corresponding PTw 332 prototype may be instantiated from the spliced model files (e.g., 372). Sensor data originating from the PTw 334 or from within the physical environment 336 may be collected, combined with other external data 342 (e.g., sensor data from other physical environments). The resulting processed sensory data 344 may be sent to the analysis & control plane 350 to be compared with performance data 326 from DTws and simulations (e.g., 374), leading to further DTw 322 and PTw 332 iterations populating the twin configuration set 356. Processed sensory data 344 may also be mapped to the digital threads (e.g., 364) and model splices (e.g., 372) governing the tested PTw 332 through tire application plane 360.

[0310] F. Finalize “As-assembled”: once the manufacturing process is completed for the various parts, as a DTw and as a PTw, the next step is to finalize tire assembled configuration. This involves creating a digital representation of the assembly to ensure it meets the specified requirements. The digital assembly takes into account the dimensions and tolerances of the “as-manufactured” parts. To verify the feasibility of the digital assembly, tests are conducted using the measured data obtained from the physical assembly and its individual components. Measurement data from the physical component parts may serve as the authoritative reference for the digital assembly, ensuring alignment with the real-world configuration. The digital assembly is compared with the actual physical assembly requirements for validation of the assembled configuration. Subsequently, the digital assembly tests and configurations serve as an authoritative reference for instructions to guide the physical assembly process and ensure accurate replication. IDEP 300 components described above may be used in the assembly process. In its authoritative iteration, DTw 322 ultimately captures the precise details of the physical assembly, enabling comprehensive analysis and control in subsequent stages of the process.

[0311] G. Finalize “As-operated”: to assess the performance of tire physical assembly or its individual component parts, multiple digital twins 322 may be generated as needed. These digital twins are created based on specific performance metrics and serve as virtual replicas of the physical system. Digital twins 322 are continuously updated and refined in real-time using the operational data (e.g., 344) collected from monitoring the performance of the physical assembly or its components. This data may include, but are not limited to, processed sensory data, performance indicators, and other relevant information. By incorporating this real-time operational data, digital twins 322 stay synchronized with the actual system and provide an accurate representation of its operational performance. Any changes or improvements observed via sensory’ data 344 during the real-world operation of the assembly are reflected in DE models within the digital twins and recorded in the twin configuration set 356. This ensures that the digital twins remain up-to-date and aligned with the current state of the physical system.

[0312] H. Predictive analvtics / Future performance: Tire design process may continue iteratively in virtual environment 320 through new DTw 322 configurations as the product is operated. Multiple digital twins may be created to evaluate the future performance of the physical assembly or its component parts based on specific performance metrics. Simulations are conducted with various control policies to assess the impact on performance objectives and costs. The outcome of these simulations helps in deciding which specific control policies should be implemented (e.g., tail volume coefficients and sideslip angle for an airplane product). The digital twin DE models (e.g., 382) are continuously updated and refined using the latest sensor data, control policies, and performance metrics to enhance their predictive accuracy. This iterative process ensures that the digital twins (e.g., 322, 356) provide reliable predictions of future performance and assist in making informed decisions.

[0313] The hardware components making up IDMP 300 (e.g., servers, computing devices, storage devices, network links) may be centralized or distributed among various entities, including one or more DE service providers and DE clients, as further discussed in the context of Figs. 5 and 6. Fig. 6 shows an illustration of various potential configurations for instancing a DE platform within a customer's physical system and information technology (IT) environment, usually a virtual private cloud (VPC) protected by a firewall.

[0314] Digital Documentation through Live Digital Objects

[0315] The methods and systems described herein enable the updating and generation of digital documents using the full functionality of the IDMP shown in Fig. 3. In Fig. 3, the IDMP virtual feedback loop 304 allows the scripting of program code within a digital thread 362 for the generation, storing, and updating of digital twins 322 and twin configurations 356. Similarly, the IDMP virtual feedback loop 304 also allows the scripting of program code within a digital thread 362 for the generation, storing, and updating of digital documents. This enables the creation and maintenance of so-called live digital objects.

[0316] Live digital objects are more akin to a DTw than a conventional static document in that they are configured, through a digital thread, to be continuously updated to reflect the most current changes within a particular twin configuration. In particular, an authoritative / trusted live digital object is configured to reflect the latest authoritative / trusted twin configuration. Specifically, live digital objects are digital objects that (1) include a digital artifact extracted from a digital model through a model presentation (e.g., model splice), where (2) a modification of the digital artifact appears in the live digital object within a predetermined delay. In various embodiments, tire updates are effectively real-time or near real-time.

[0317] Live digital objects may use a document interface, yielding live digital documents, or live documents. Live digital documents may pull data from multiple model files. Preliminary design reviews may thus take the form of a live digital document.

[0318] Live digital objects may also use a dashboard interface, yielding live digital boards, or live boards. In some embodiments, a live digital board may display one or more documents and one or more applications on a two-dimensional (2D) screen rendered on a modality of a multimodal interface such as a 2D display, a two-and-a-half-dimcnsional (2.5D) display, and a three-dimensional (3D) semi-immersive or fully immersive display. Live digital boards may combine multiple documents through a VR / AR and / or conversational interface, into a board / screen 2D, 2.5D format. For example, a live board may combine multiple model files from a CAD software with collaboration chat rooms over a 2D screen rendered on a 2D display (traditional display), a 2.5D display, or a 3D semi immersive or fully immersive display. In one embodiment, the live board combines multiple view screens.

[0319] Finally, a live digital object may take the fonn of a live digital space (or live space), a 3D virtual environment or an augmented environment. In some embodiments, a live digital space displays one or more documents and one or more other applications in a virtual space rendered through a 3D spatial display. Live digital spaces may combine multiple documents through VR / AR and / or conversational interfaces into a 3D spatial representation. For example, a live space may display multiple 3D model files from a CAD software with collaboration chat rooms over a 3D semi immersive or fully immersive display spatial display.

[0320] Live digital objects may be stored and accessed through an IDMP Specifically, live digital objects may be used to provide the background context for a given digital thread, and may specifically be used to display and organize a digital thread’s associated artifacts, as described herein.

[0321] Live digital objects may hence be known as magic objects (i.e., live documents may be denoted “magic documents”, live boards may be denoted “magic boards”, and live spaces may be denoted “magic spaces”) as changes implemented within a twin configuration (e.g., through a modification of a model file) may appear instantaneously within the relevant data fields of the live digital objects. Similarly, authoritative / trusted live digital objects may also be known as authoritative / trusted magic objects as they continuously reflect data from the authoritative twin, thus always representing the authoritative source of truth.

[0322] Given tire massive quantities of data and potential modifications that are carried out during a product's lifecycle, the scripts implementing live digital objects may be configured to allow for a predefined maximum delay between the modification of a model file (e.g., the modification of a digital artifact) and the execution of the corresponding changes within a live digital object. Moreover, for similar reasons, the scripts implementing live digital objects may be restricted to operate over a specified subset of model files within a DTw or a system, thus reflecting changes only to key parameters and configurations of tire DTw or the system.

[0323] The “printing” of a live digital document or board corresponds to the generation of a frozen (i.e., static) time-stamped version of a live digital document or board. Therefore, “printing” - for a live digital document or board - is equivalent to “instantiation” for a digital twin. Similarly, the “printing” of a live digital space may also be envisaged, yielding a frozen 3D representation of a given system or digital thread. In one embodiment of the present invention, an IDMP script (e.g., an IDEP application) having access to model data via one or more model splices and digital document templates to create and / or update a live digital object may dynamically update the live digital object using software-defined digital threads over an IDMP platfonn. In such an embodiment, the IDMP script may receive user interactions dynamically. In response to tire user updating data for a model and / or a specific parameter setting, the IDMP script may dynamically propagate the user's updates into the digital object through a corresponding digital thread.

[0324] In another embodiment of the present invention, an IDMP script may instantiate a digital object with sufficient specification to generate a physical twin (PTw). In such an embodiment, the IDMP script may receive a digital twin configuration of a physical twin, generate a live digital object associated with the digital twin configuration, receive a predetennined timestamp, and generate a printed digital object (i.e.. a static, time-stamped version of the live digital object at the predetermined timestamp). Such an operation may be referred to as the "printing of a digital twin" .

[0325] In yet another embodiment of the present invention, an IDMP script may instantiate (i.e., "print") a digital object specifying an updated digital twin upon detecting the update. In such an embodiment, the IDMP script may detect a modification of a digital model or an associated digital thread. In response to detecting the modification, the IDMP script may update relevant data fields and sections of the live digital object based on the detected modification, and generate an updated printed digital object with the updated relevant data fields and sections based on the always-updated live digital object.

[0326] In various embodiments, a software-defined digital thread can be associated with a companion magic document (or “magic doc”) that encompasses live updates for one or more core parameters of the digital thread. In one embodiment, the magic doc includes key parameters describing the implementation of a user's intent. For example, In one embodiment, a companion magic doc for a given digital thread may include key data points and key orchestration script examples illustrating a user's intent (e.g., “increase a drone's wing span by 1%”). In one embodiment, a script-generating ML model receiving as input pseudocode or detailed user instructions derived from a user's intent, is trained on prior IDEP digital threads and documents. In addition to generating a digital thread (with orchestration scripts and comments), the script-generating ML model is also configured to generate a magic doc that explains how the generated digital thread addresses the user intent.

[0327] In some embodiments, receiving user interactions with a DE model, modifications to a DE model, or modifications to an associated digital thread, may be carried out through a push configuration, where a model splicer or a script of the digital thread sends any occurring relevant updates to the IDEP script immediately or within a specified maximum time delay. In other embodiments, receiving user interactions with a DE model, modifications of a DE model, or modifications of an associated digital thread, may be carried out through a pull configuration, where a model splicer or a script of the digital thread flag recent modifications until the IDEP script queries relevant DE models (via their model splices) or associated digital threads, for flagged modification. In these embodiments, the IDEP script may extract the modified infomration from tire modified DE models (via their model splices) or the modified digital threads, in order to update a live DE document. In yet other embodiments, receiving user interactions with a DE model, modifications of a DE model, or modifications of an associated digital thread, may be carried out through a pull configuration, where the IDEP script regularly checks relevant DE models (via their model splices) or associated digital threads, for modified data fields, by comparing the data found in the live DE document with regularly extracted model and digital thread data. In these embodiments, the IDEP script may use the modified data to update the live DE document.

[0328] Dynamic Document Updates

[0329] Some embodiments described herein center around documentation, or document preparation and update and on document management (e.g., for reviews). As discussed, some embodiments of the system allow for dynamic updates to documents, which pertain to software -defined digital threads in the IDEP platfonn and the accompanying documentation.

[0330] Use of an ML engine with the model data and templates to create and / or update documents almost instantaneously as a one-time action have been presented. Furthermore, tire digital engineering platform interacts dynamically with the user. As the user interacts with the system and updates data for a model or a specific parameter setting, these changes may be propagated through the corresponding digital threads and to the associated documentation. The Al architectures involved include locally-instanced large language model (LLMs, for data security reasons) as well as non-LLM approaches (e.g., NLP -based), in order to create, update, or predict documentation in the form of sentences, paragraphs, and whole documents. At the same time, trying to update the entire system of digital threads for every update may be prohibitively slow and may present security risks to the system. Generating live DE documents that are updated based on a subset of a system’s DE models and within a maximum time delay may therefore be more efficient.

[0331] Interconnected Digital Engineering and Certification Ecosystem

[0332] Fig. 4 shows an exemplary implementation of the IDEP as an interconnected digital engineering (DE) and certification ecosystem 400, and exemplary digitally certified products, in accordance with some embodiments of the present invention. Interconnected DE and certification ecosystem 400 may be viewed as a particular instantiation or implementation of IDEP 300 shown in Fig. 3. The IDEP may also be referred to as a “DE Metaverse.” Interconnected DE and certification ecosystem 400 is a computer-based system that links models and simulation tools with their relevant requirements in order to meet verification, validation, and certification purposes. Verification refers to methods of evaluating whether a product, service, or system meets specified requirements and is fit for its intended purpose. For example, in the aerospace industry, a verification process may include testing an aircraft component to ensure it can withstand the forces and conditions it will encounter during flight. Verification also includes checking externally against customer or stakeholder needs. Validation refers to methods of evaluating whether the overall performance of a product, service, or system is suitable for its intended use, including its compliance with regulatory requirements and its ability to meet the needs of its intended users. Validation also includes checking internally against specifications and regulations. Interconnected DE and certification ecosystem 400 as disclosed herein is designed to connect and bridge large numbers of disparate DE tools and models from multitudes of engineering domains and fields, or from separate organizations who may want to share models with each other but have no interactions otherwise. In various embodiments, the system implements a robust, scalable, and efficient DE model collaboration platform, with extensible model splices having data structures and accompanying functions for widely distributed DE model types and DE tools, an application layer that links or connects DE models via APIs, digital threads that connect live engineering model files for collaboration and sharing, digital documentation management to assist with the preparation of engineering and certification documents appropriate for verification and validation (V&V) purposes, and Al-assistance with the functionalities of the aforementioned system components.

[0333] More specifically, Fig. 4 shows an example of an interconnected DE and certification ecosystem and examples of digitally certified products 412A, 412B, and 412C (collectively referred to as digitally certified products 412). For example, in some implementations, digitally certified product 412A may be an unmanned aerial vehicle (UAV) or other aircraft, digitally certified product 412B may be a drug or other chemical or biologic compound, and the digitally certified product 412C may be a process such as a manufacturing process. In general, the digitally certified products 412 can include any product, process, or solution that can be developed, tested, or certified (partially or entirely) using DE tools such as 402. In some implementations, digitally certified products 412 may not be limited to physical products, but can include non-physical products such as methodologies, processes and software, etc. While physical and physically-interacting systems often require multiple DE tools to assess for compliance with common V&V products simply by virtue of the need for modeling and simulation (M&S). many complex non-physical systems may also require multiple DE tools for product development, testing, and / or certification. With this in mind, various other possibilities for digitally certified products will be recognized by one of ordinary’ skills in the art. Tire inclusion of regulatory and certification standards, compliances, calculations, and tests (e.g., for the development, testing, and certification of products and / or solutions) enables users to incorporate relevant regulatory and certification standards, compliances, calculations, and test data directly into their DE workflow. Regulatory and certification standards, compliances, calculations, and tests are sometimes referred to herein as “common validation and verification (V&V) products.”

[0334] Digitally certified products 412 in Fig. 4 may be designed and / or certified using interconnected DE and certification ecosystem 400. Interconnected DE and certification ecosystem 400 may include a user device 406A, API 406B, or other similar human-to-machine, or machine-to-machine communication interfaces operated by a user. A user may be a human 404 of various skill levels, or artificial users such as algorithms, artificial intelligence, or other software that interface with ecosystem 400 through API 406B. Ecosystem 400 may further comprise a computing and control system 408 (“computing system 408” hereinafter) connected to and / or including a data storage unit 418, an artificial intelligence (Al) engine 420. and an application and service layer 422. In some embodiments, the artificial intelligence (Al) engine 420 is a machine learning (ML) engine. References to “machine learning engine 420 “or “ML engine 420” may be extended to artificial intelligence (Al) engine 420 more generally. For the purposes of clarity, any user selected from various potential human or artificial users is referred to herein simply as the user 404. In some implementations, computing system 408 may be a centralized computing system; in some implementations, computing system 408 may be a distributed computing system. In some cases, user 404 may be considered part of ecosystem 400. while in other implementations, user 404 may be considered separately from ecosystem 400. Ecosystem 400 may include one or more DE tools 402, such as data analysis tool 402A, computer-aided design (CAD) and finite element analysis (FEA) tool 402B, simulation tool 402C, drug modeling and simulation (M&S) tools 402D-402E, manufacturing M&S tools 402F-402G, etc. Ecosystem 400 may also include a repository’ of common V&V products 410. such as regulatory standards 410A-410F related to the development and certification of a UAV, medical standard 410G (e.g., CE marking (Europe), FCC Declaration of Conformity (USA). IECEE CB Scheme (Europe, North America, parts of Asia & Australia), CDSCO (India), FDA (USA), etc.), medical certification regulation 410H (e.g., ISO 13485, ISO 14971, ISO 9001, ISO 62304, ISO 10993, ISO 15223, ISO 11135, ISO 11137, ISO 11607, IEC 60601, etc.), manufacturing standard 4101 (e.g., ISO 9001, ISO 9013, ISO 10204, EN 1090, ISO 14004, etc.), and manufacturing certification regulation 4101 (e.g., General Certification of Conformity (GCC), etc.), etc.

[0335] In Fig. 4, computing system 408 is centrally disposed within the architecture and is configured to communicate with (e.g., receive data from and transmit data to) user device 406A or API 406B such as an API associated with an artificial user, DE tools 402 via an API or software development kit (SDK) 414, and repository of common V&V products 410 via an API / SDK interface 416. For example, computing system 408 may be configured to communicate with user device 406A and / or API 406B to send or receive data corresponding to a prototype of a design, information about a user (e.g., user credentials), engineering -related inputs / outputs associated with DE tools 402, digitized common V&V products, an evaluation of a product design, user instructions (e.g., search requests, data processing instructions, etc.), and more. Computing system 408 may also be configured to communicate with one or more DE tools 402 to send engineering -related inputs for executing analyses, models, simulations, tests, etc. and to receive engineering-related outputs associated with the results. Computing system 408 may also be configured to communicate with repository of common V&V products 410 to retrieve data corresponding to one or more digitized common V&V products 410 and / or upload new common V&V products, such as those received from user 404, to repository of common V&V products 410. All communications may be transmitted and corroborated securely, for example, using methods relying on zero-trust security. In some implementations, the computing system of the ecosystem may interface with regulatory and / or certification authorities (e.g., via websites operated by the authorities) to retrieve digitized common V&V products published by the regulatory authorities that may be relevant for a product that a user is designing. In some implementations, the user may upload digitized common V&V products to the ecosystem themselves.

[0336] Computing and control system 408 may process and / or store the data that it receives to perform analysis and control functionalities, and in some implementations, may access machine learning engine 420 and / or application and service layer 422. to identify useful insights based on the data, as further described herein. The central disposition of computing system 408 within the architecture of the ecosystem has many advantages including reducing the technical complexity of integrating the various DE tools; improving the product development experience of user 404; intelligently connecting common V&V products such as standards 410A-410F to DE tools 402 most useful for satisfying requirements associated with the common V&V products; and enabling tire monitoring, storing, and analysis of the various data that flows between the elements of the ecosystem throughout the product development process. In some implementations, the data flowing through and potentially stored by the computing system 408 can also be auditable to prevent a security breach, to perform data quality control, etc. Similarly, any analysis and control functions performed via computing system 408 may be tracked for auditability and traceability considerations.

[0337] Referring to one particular example shown in Fig. 4. user 404 may use the DE and certification ecosystem to produce a digitally certified UAV 412B. For example, user 404 may be primarily concerned with certifying the UAV as satisfying the requirements of a particular regulatory standard 410E relating to failure conditions of the UAV (e.g., “MIL-HDBK 516C 4.1.4 - Failure Conditions”). In this usage scenario, user 404 may develop a digital prototype of the UAV on user device 406A or using API 406B and may transmit prototype data (e.g., as at least one of a CAD file, a MBSE file, etc.) to computing system 408. Along with the prototype data, user 404 can transmit, via user device 406A, additional data including an indication of the common V&V product that user 404 is interested in certifying the product for (e.g., regulatory standard 410E), user credential information for accessing one or more capabilities of computing system 408, and / or instructions for running one or more digital models, tests, and / or simulations using a subset of DE tools 402.

[0338] Referring to another example shown in Fig. 4, user 404 can use the DE and certification ecosystem to produce a digitally certified drug, chemical compound, or biologic 412A. For example, user 404 may be primarily concerned with certifying drug, chemical compound, or biologic 412A as satisfying the requirements of a particular medical standard 410G and medical certification regulation 41 OH. In this usage scenario, user 404 can develop a digital prototype of tire drug, chemical compound, or biologic on user device 406A or using API 406B and can transmit the prototype data (e.g., as a molecular modeling file) to computing system 408. Along with the prototype data, user 404 can transmit, via user device 406A, additional data including an indication of the common V&V products that user 404 is interested in certifying the product for (e.g., medical standard 410G and medical certification regulation 410H), user credential information for accessing one or more capabilities of computing system 408, and / or instructions for running one or more digital models, tests, and / or simulations using a subset of DE tools 402 (e.g., drug M&S tools 402D-402E).

[0339] Referring to yet another example shown in Fig. 4. user 404 can use tire digital engineering and certification ecosystem to produce a digitally certified manufacturing process 412C. For example, user 404 may be primarily concerned with certifying manufacturing process 412C as satisfying the requirements of a particular manufacturing standard 4101 and manufacturing certification regulation 410J. In this usage scenario, user 404 can develop a digital prototype of the manufacturing process on user device 406A or using API 406B and can transmit the prototype data to computing system 408. Along with the prototype data, user 404 can transmit, via the user device 406A, additional data including an indication of the common V&V products that user 404 is interested in certifying the process for (e.g., manufacturing standard 4101 and manufacturing certification regulation 410J), user credential information for accessing one or more capabilities of computing system 408, and / or instructions for running one or more digital models, tests, and / or simulations using a subset of DE tools 402 (e.g., manufacturing M&S tools 402F-402G).

[0340] In any of the aforementioned examples, computing system 408 can receive the data transmitted from user device 406A and / or API 406B and can process the data to evaluate whether the common V&V product of interest (e.g., regulatory standard 410E, medical standard 410G, medical certification regulation 41 OH, manufacturing standard 4101, manufacturing certification regulation 410J, etc.) is satisfied by the user’s digital prototype, in tire context of analysis and control plane 350 shown in Fig. 3. For example, this can involve communicating with the repository of common V&V products 410 via the API / SDK 416 to retrieve the relevant common V&V product of interest and processing the regulatory and / or certification data associated with the common V&V product to identify one or more requirements for the UAV prototype; tire drug, chemical compound, or biologic prototype; the manufacturing process prototype; etc. In some implementations, repository of common V&V products 410 can be hosted by a regulatory and / or certification authority (or another third party), and retrieving the regulatory and / or certification data can involve using API / SDK 416 to interface with one or more data resources maintained by the regulatory and / or certification authority (or another third party). In some implementations, the regulator and / or certification data can be provided directly by user 404 via user device 406A and / or API 406B (e.g., along with the prototype data).

[0341] Evaluating whether the common V&V product of interest is satisfied by the user's digital prototype can also involve processing the prototype data received from user device 406A or API 406B to determine if the one or more identified requirements are actually satisfied. In some implementations, computing system 408 can include one or more plugins, local applications, etc. to process tire prototype data directly at the computing system 408. For example, model splicing and digital threading applications are discussed in detail later with reference to Figs. 8 to 11. In some implementations, the computing system can simply pre-process the received prototype data (e.g., to derive inputs for DE tools 402) and can then transmit instructions and / or input data to a subset of DE tools 402 via API / SDK 414 for further processing.

[0342] Not all DE tools 402 are necessarily required for the satisfaction of particular regulatory and / or certification standards. Therefore, in the UAV example provided in Fig. 4, computing system 408 may determine that only a data analysis tool 402A and a finite element analysis tool 402B are required to satisfy regulatory standard 410E for failure conditions. In the drug, chemical compound, or biologic example provided in Fig. 4. computing system 408 may determine that only drug M&S tools 402D-402E are required to satisfy7medical standard 410G and medical certification regulation 410H. In the manufacturing process example provided in Fig. 4, computing system 408 may determine that only manufacturing M&S tools 402F-402G are required to satisfy manufacturing standard 4101 and manufacturing certification regulation 410J. In other implementations, user 404 may themselves identify the particular subset of DE tools 402 that should be used to satisfy the common V&V product of interest, provided that user 404 is a qualified subject matter expert (SME). In other implementations, user 404 may input to computing system 408 some suggested DE tools 402 to satisfy7a common V&V product of interest, and computing system 408 can recommend to user 404 a modified subset of DE tools 402 for final approval by user 404, provided that user 404 is a qualified SME. After a subset of DE tools 402 has been identified, computing system 408 can then transmit instructions and / or input data to the identified subset of DE tools 402 to run one or more models, tests, and / or simulations. The results (or ‘'engineering-related data outputs” or “digital artifacts”) of these models, tests, and / or simulations can be transmitted back and received at computing system 408.

[0343] In still other implementations, user 404 may input a required DE tool such as 402F for meeting a common V&V product 4101, and the computing system 408 can determine that another DE tool such as 102G is also required to satisfy common V&V product 4101. The computing system can then transmit instructions and / or input data to both DE tools (e.g., 402F and 402G), and the outputs of these DE tools can be transmitted and received at computing system 408. In some cases, the input data submitted to one of the DE tools (e.g., 402G) can be derived (e.g., by computing system 408) from the output of another of the DE tools (e.g., 402F).

[0344] After receiving engineering-related data outputs or digital artifacts from DE tools 402, computing system 408 can then process the received engineering-related data outputs to evaluate whether or not the requirements identified in the common V&V product of interest (e.g., regulatory' standard 410E, medical standard 4110G, medical certification regulation 41 OH, manufacturing standard 4101, manufacturing certification regulation 410J, etc.) are satisfied. For example, applications and services 422 may provide instructions for orchestrating validation or verification activities. In some implementations, computing system 408 can generate a report summarizing the results of the evaluation and can transmit the report to device 406A or API 406B for review by user 404. If all of the requirements are satisfied, then the prototype can be certified, resulting in digitally certified product 412 (e.g., digitally certified drug, chemical compound, or biologic 412A; digitally certified UAV 412B; digitally certified manufacturing process 412C, etc.). However, if some of the regulatory requirements are not satisfied, then additional steps may need to be taken by user 404 to certify the prototype of the product. In some implementations, the report that is transmitted to the user can include recommendations for these additional steps (e.g., suggesting one or more design changes, suggesting the replacement of one or more components with a previously designed solution, suggesting one or more adjustments to the inputs of the models, tests, and / or simulations, etc.). If the requirements of a common V&V product are partially met, or are beyond the collective capabilities of distributed engineering tools 402, computing systems 408 may provide user 404 with a report recommending partial certification, compliance, or fulfillment of a subset of tire common V&V products (e.g.. digital certification of a subsystem or a sub-process of the prototype). Tire process of generating recommendations for user 404 is described in further detail below.

[0345] In response to reviewing the report, user 404 can make design changes to the digital prototype locally and / or can send one or more instructions to computing system 408 via user device 406A or API 406B. These instructions can include, for example, instructions for computing system 408 to rc-cvaluatc an updated prototype design, use one or more different DE tools 402 for the evaluation process, and / or modify the inputs to DE tools 402. Computing system 408 can, in turn, receive tire user instructions, perform one or more additional data manipulations in accordance with these instructions, and provide user 404 with an updated report. Through this iterative process, user 404 can utilize the interconnected digital engineering and certification ecosystem to design and ultimately certify (e.g., by providing certification compliance information) the prototype (e.g., the UAV prototype, drug prototype, manufacturing process prototype, etc.) with respect to the common V&V product of interest. Importantly, since all of these steps occur in the digital world (e.g., with digital prototypes, digital models / tests / simulations, and digital certification), significant amount of time, cost, and materials can be saved in comparison to a process that would involve the physical prototyping, evaluation and / or certification of a similar UAV, drug, manufacturing process, etc. If the requirements associated with a common V&V product are partially met, or are beyond the collective capabilities of DE tools 402, computing system 408 may provide user 404 with a report recommending partial certification, compliance or fulfillment of a subset of the common V&V products (e.g., digital certification of a subsystem or a sub-process of the prototype).

[0346] While the examples described above focus on the use of the interconnected digital engineering and certification ecosystem by a single user, additional advantages of the ecosystem can be realized through the repeated use of the ecosystem by multiple users. As mentioned above, the central positioning of computing system 408 within the architecture of the ecosystem enables computing system 408 to monitor and store the various data flows through the ecosystem. Tirus, as an increasing number of users utilize the ecosystem for digital product development, data associated with each use of the ecosystem can be stored (e.g., in storage 418), traced (e.g., with metadata), and analyzed to yield various insights, which can be used to further automate the digital product development process and to make the digital product development process easier to navigate for non-subject matter experts.

[0347] Indeed, in some implementations, user credentials for user 404 can be indicative of the skill level of user 404, and can control the amount of automated assistance the user is provided. For example, non-subject matter experts may only be allowed to utilize the ecosystem to browse pre-made designs and / or solutions, to use DE tools 402 with certain default parameters, and / or to follow a predetermined workflow with automated assistance directing user 404 through the product development process. Meanwhile, more skilled users may still be provided with automated assistance, but may be provided with more opportunities to override default or suggested workflows and settings. fn some implementations, computing system 408 can host applications and services 422 that automate or partially automate components of common V&V products; expected or common data transmissions, including components of data transmissions, from user 404; expected or common interfaces and / or data exchanges, including components of interfaces, between various DE tools 402; expected or common interfaces and / or data exchanges, including components of interfaces, with machine learning (ML) models implemented on computing system 408 (e.g., models trained and / or implemented by the ML engine 420); and expected or common interfaces and / or data exchanges between the applications and services themselves (e.g., within applications and services layer 422).

[0348] In some implementations, the data from multiple uses of the ecosystem (or a portion of said data) can be aggregated to develop a training dataset. For example, usage records 417 collected via computing system 408 may be de-identified or anonymized, before being added to the training set. Such usage records may comprise model parameters and metadata, tool configurations, common V&V product matching to specific models or tools, user interactions with the system including inputs and actions, and other user-defined or system-defined configurations or decisions in using the ecosystem for digital engineering and certification. For instance, an exemplary de-identified usage record may comprise the combination of a specific DE tool, a specific target metric, a specific quantity deviation, and a corresponding specific user update to a DE model under this configuration. Another exe plary de-identified usage record may comprise a user-identified subset of DE tools 402 that should be used to satisfy a common V&V product of interest.

[0349] This training dataset can then be used to train ML models (e.g., using ML engine 420) to learn the steps and actions for certification processes and to perform a variety of tasks including the identification of which of DE tools 402 to use to satisfy a particular common V&V product; the identification of specific models, tests, and / or simulations (including inputs to them) that should be performed using DE tools 402; the identification of the common V&V products that need to be considered for a product of a particular type; the identification of one or more recommended actions for user 404 to take in response to a failed regulatory requirement; tire estimation of model / test / simulation sensitivity to particular inputs; etc. The outputs of the trained ML models can be used to implement various features of the interconnected digital engineering and certification ecosystem including automatically suggesting inputs (e.g., inputs to DE tools 402) based on previously entered inputs, forecasting time and cost requirements for developing a product, predictively estimating the results of sensitivity' analyses, and even suggesting design changes, original designs or design alternatives (e.g., via assistive or generative Al) to a user’s prototype to overcome one or more requirements (e.g., regulatory and / or certification requirements) associated with a common V&V product. In some implementations, with enough training data. ML engine 420 may generate new designs, models, simulations, tests, common V&V products and / or digital threads on its own based on data collected from multiple uses of the ecosystem. Furthermore, such new designs, models, simulations, tests, common V&V products and digital threads generated by ML engine 420, once approved and adjusted by a user, may be added to the training set for further fine-tuning of ML algorithms in a reinforcement learning setup. As shall be discussed in the context of Figs. 9 to 11, the aforementioned collection of training datasets and the training of ML and Al modules including ML engine 420 may be enabled by model splicing technologies. Model splicing, as described herein, allows the scripting of DE model operations encompassing disparate DE tools into a corpus of nonnative program code, and facilitates the code-defined digital threading of a large space of DE activities involving DE models across different disciplines. ML and Al techniques may be used to create scripts to carry out almost any DE task and to execute any digital thread, allowing for programmable, machine-learnable, and dynamic changes to DE model files, digital threads, and ultimately to digital or physical twins, throughout the product life cycle. For example, in the embodiment shown in Fig. 4, ML engine 420 may manage or orchestrate the interactions between spliced DE models, DE tools, and common V&V products (e.g., DE requirements), based on digital thread options specific to user's intent and input. Sample DE tasks that may be carried out by ML engine 420 include, but are not limited to. (1) aligning models / analysis to certification lifecycle requirement steps, (2) optimizing compute by determining the appropriate fidelity of each model, (3) optimizing compute resources for specific tools / models, or (4) optimizing compute resources across multiple models. ML-enabled executions of DE tasks are not limited to certification or resource optimization, but encompass the whole DE space of operations. Rather, ML engine 420 may act as an Al multiplexer for the DE platfonn.

[0350] In addition to storing usage data to enable the development of ML models, previous prototype designs and / or solutions (e.g., previously designed components, systems, models, simulations and / or other engineering representations thereof) can be stored within the ecosystem (e.g., in storage 418) to enable users to search for and build upon the work of others. For example, previously designed components, systems, models, simulations and / or other engineering representations thereof can be searched for by user 404 and / or suggested to user 404 by computing system 408 in order to satisfy one or more requirements associated with a common V&V product. The previously designed components, systems, models, simulations and / or other engineering representations thereof can be utilized by user 404 as is, or can be utilized as a starting point for additional modifications. This store, or repository, of previously designed components, systems, models, simulations and / or other engineering representations thereof (whether or not they w ere ultimately certified) can be monetized to create a marketplace of digital products, which can be utilized to save time during the digital product development process, inspire users with alternative design ideas, avoid duplicative efforts, and more. In some implementations, data corresponding to previous designs and / or solutions may only be stored if the user who developed the design and / or solution opts to share the data. In some implementations, the repository of previous designs and / or solutions can be containerized for private usage within a single company, team, organizational entity, or technical field for private usage (e.g., to avoid the unwanted disclosure of confidential information). In some implementations, user credentials associated with user 404 can be checked by computing system 408 to determine which designs and / or solutions stored in the repository- can be accessed by user 404. In some implementations, usage of the previously designed components, systems, models, simulations and / or other engineering representations thereof may be available only to other users who pay a fee for a usage.

[0351] Exemplary IDEP Implementation Architecture with Services and Features

[0352] Fig. 5 shows another exemplary implementation of the IDEP illustrating its offered services and features, in accordance with some embodiments of tire present invention. Specifically, an exemplary implementation architecture diagram 500 is shown in Fig. 5 to include multiple illustrative components: an IDEP enclave 502, cloud services 504, and a customer environment 510 which optionally includes an IDEP exclave 516. This exemplary architecture 500 for the IDEP is designed in accordance with zero-trust security principles and is further designed to support scalability as well as robust and resilient operations. IDEP enclave 502 and IDEP exclave 516 together instantiate IDEP 300 shown in Fig. 3, with IDEP exclave 516 implementing model splicing and splice plane 370 in some embodiments of the present invention. An enclave is an independent set of cloud resources that are partitioned to be accessed by a single customer (i.e., single -tenant) or market (i.e., multi-tenant) that does not take dependencies on resources in other enclaves. An exclave is a set of cloud resources outside enclaves managed by the IDEP, to perform work for individual customers. Examples of exclaves include virtual machines (VMs) and / or servers that the IDEP maintains to run DE tools for customers who need such services.

[0353] In particular, IDEP enclave or DE platform enclave 502 may serve as a starting point for sendees rendered by the IDEP, and may be visualized as a central command and control hub responsible for the management and orchestration of all platform operations. For example, enclave 502 may be implemented using computer system 208 of the interconnected DE and certification ecosystem shown in Fig. 4. DE platform enclave 502 is designed to integrate both zero-trust security models and hyperscale capabilities, resulting in a secure and scalable processing environment tailored to individual customer needs. Zero-trust security features include, but are not limited to, strict access control, algorithmic impartiality, and data isolation. Enclave 502 also supports an ML engine such as 420 for real-time analytics, auto-scaling features for workload adaptability, and API-based interoperability with third-party services. Security and resource optimization are enhanced through multi-tenancy support, role-based access control, and data encryption both at rest and in transit. DE platform enclave 502 may also include one or more of the features described below.

[0354] First, IDEP enclave 502 may be designed in accordance with zero-trust security principles. In particular, DE platform enclave 502 may employ zero-trust principles to ensure that no implicit trust is assumed between any elements, such as digital models, platform agents or individual users (e.g., users 204) or their actions, within the system. That is, no agent may be inherently trusted and the system may always authenticate or authorize for specific jobs. The model is further strengthened through strict access control mechanisms, limiting even the administrative team (e g., a team of individuals associated with the platfonn provider) to predetermined, restricted access to enclave resources. To augment this robust security stance, data encryption is applied both at rest and in transit, effectively mitigating risks of unauthorized access and data breaches.

[0355] IDEP enclave 502 can also be designed to maintain isolation and independence. A key aspect of the enclave’s architecture is its focus on impartiality and isolation. DE enclave 502 disallows cryptographic dependencies from external enclaves and enforces strong isolation policies. The enclave’s design also allows for both single-tenant and multi-tenant configurations, further strengthening data and process isolation between customers 506 (e.g., users 204). Additionally, DE enclave 502 is designed with decoupled resource sets, minimizing interdependencies and thereby promoting system efficiency and autonomy.

[0356] IDEP enclave 502 can further be designed for scalability and adaptability, aligning well with varying operational requirements. For example, the enclave 502 can incorporate hyperscale-like properties in conjunction with zero-trust principles to enable scalable growth and to handle high-performance workloads effectively.

[0357] IDEP enclave 502 can further be designed for workflow adaptability, accommodating varying customer workflows and DE models through strict access control mechanisms. This configurability allows for a modular approach to integrate different functionalities ranging from data ingestion to algorithm execution, without compromising on the zero-trust security posture. Platfonn 500’s adaptability makes it highly versatile for a multitude of use-cases, while ensuring consistent performance and robust security.

[0358] IDEP enclave 502 can further be designed to enable analytics for robust platform operations. At the core of the enclave’s operational efficiency is a machine learning engine (e.g., machine learning engine 220) capable of performing real-time analytics. This enhances decision-making and operational efficiency across platform 500. Auto-scaling mechanisms can also be included to enable dynamic resource allocation based on workload demand, further adding to the platfonn ’s responsiveness and efficiency.

[0359] In the exemplary embodiment shown in Fig. 5, IDEP enclave 502 includes several components as described in further detail herein.

[0360] A “Monitoring Service Cell, may provide “Monitoring Service” and “Telemetry Service.” A cell may refer to a set of microservices, for example, a set of microservices executing within akubemetes pod. These components focus on maintaining, tracking and analyzing the performance of platform 500 to ensure good service delivery, including advanced machine learning capabilities for real-time analytics. A “Search Service Cell” provides “Search Service” to aid in the efficient retrieval of information from DE platform 500, adding to its overall functionality. A “Logging Service Cell” and a “Control Plane Service Cell” provide “Logging Service,” “File Service”, and “Job Service” to record and manage operational events and information flow within platform 500. and are instrumental in the functioning of platform 500. A “Static Assets Service Cell,” provides “Statics Service”, and may house user interface, SDKs, command line interface (CLI), and documentation for platform 500. An “API Gateway Service Cell” provides “API Gateway Service,” and may provide DE platform API(s) (e.g., APIs 214, 216) and act as a mediator for requests between the client applications (e g., DE tools 202, the repository of common V&V products 210, etc.) and the platform services. In some embodiments, the API gateway service cell may receive and respond to requests from agents such as DE platform exclave 516 to provide splice functions for model splicing purposes.

[0361] As shown in Fig. 5, the architecture of DE platform 500 may also include a cloud services 504 that provide services which cannot interact with customer data but can modify the software for the orchestration of DE platform operations. In example implementations, several cloud resources provide support and foundational services to the platform. For example, in the embodiment of the DE platform 500 shown in Fig. 5, cloud services 504 includes a “Customer Identity and Access Management (IAM) Service” that ensures secure and controlled access to platform 500. Cloud services 504 also includes a “Test Service” that tests tools to validate platform operations. In the context of software testing, the Test Service can be thought of as the execution layer that manages and orchestrates tire different types of tests on the platform. Tire Test Service may utilize the test scripts generated, and additionally has functionality to generate tests for specific UI or API level testing. Cloud services 504 may also include an “Orchestration Service” that controls and manages the lifecycle of containers on the platform 500. Cloud services 504 may also include an “Artifact Service” and “Version Control and Build Services,” which may be used to maintain the evolution of projects, codes, and instances in the system, while also managing artifacts produced during the product development process.

[0362] As shown in Fig. 5, the architecture of DE platform 500 may also include a customer environment 510 with an “Authoritative Source of Truth” 512, customer tools 514, and an optional DE platform exclave 516. Customer environment 510 is where customer data resides and is processed in a zero-trust manner by DE platform 500. As described previously, DE platform enclave 502, by focusing on both zero-trust principles and hyperscale-like properties, provides a robust and scalable environment for the secure processing of significant workloads, according to the customer’s unique needs. In some examples, DE platform exclave 516 may be situated within customer environment 510 in order to assist the customer(s) 506 with their DE tasks and operations, including model splicing and digital threading.

[0363] When a customer 506 (e.g., user 404) intends to perform a DE task using DE platform 500 (e.g., IDEP 100), typical operations may include secure data ingestion and controlled data retrieval. Derivative data generated through the DE operations, such as updated digital model files or revisions to digital model parameters, may be stored only within customer environment 510, and DE platfonn 500 may provide tools to access the metadata of the derivative data. Here, metadata refers to data that can be viewed without opening tire original data, and may comprise versioning information, time stamps, access control properties, and the like. Example implementations may include secure data ingestion, which utilizes zero-trust principles to ensure customer data is securely uploaded to customer environment 510 through a pre-validated secure tunnel, such as Secure Socket Layer (SSL) tunnel. This can enable direct and secure file transfer to a designated cloud storage, such as a simple storage service (S3) bucket, within customer environment 510. Example implementations may also include controlled data retrieval, in which temporary, pre -authenticated URLs generated via secure token-based mechanisms are used for controlled data access, thereby minimizing the risk of unauthorized interactions. Example implementations may also include immutable derivative data, with transformed data generated through operations like data extraction being securely stored within customer environment 510 while adhering to zero-trust security protocols. Example implementations may also include tokenization utility, in which a specialized DE platform tool referred to as a “tokenizer” is deployed within customer environment 510 for secure management of derivative metadata, conforming to zero-trust guidelines.

[0364] Customer environment 510 may interact with other elements of secure DE platform 500 and includes multiple features that handle data storage and secure interactions with platfonn 500. For example, one element of the customer environment 510 is “Authoritative Source of Truth" 512, which is a principal repository for customer data, ensuring data integrity and accuracy. Nested within this are “Customer Buckets” where data is securely stored with strict access controls, limiting data access to authorized users or processes through pre-authenticated URL links. This setup ensures uncompromising data security within customer environment 510 while providing smooth interactions with other elements of DE platform 500.

[0365] Customer environment 510 may also include additional software tools such as customer tools 514 that can be utilized based on specific customer requirements. For example, a “DE Tool Host” component may handle necessary DE applications for working with customer data. It may include a DE Tools Command-Line Interface (DET CLI), enabling user-friendly command-line operation of DE tools (e.g., DE tools 102). A “DE platfomi Agent” ensures smooth communication and management between customer environment 510 and elements of DE platform 500. Furthennore, there can be another set of optional DE tools designed to assist customer-specific DE workflows. Native DE tools are typically access-restricted by proprietary licenses and end-user license agreements paid for by tire customer. IDEP platform functions call upon native DE tools that are executed within customer environment 510, therefore closely adhering to tire zero-trust principle of the system design. Exemplary DE tools include, but are not limited to, proprietary and open-source versions of model-based systems engineering (MBSE) tools, augmented reality (AR) tools, computer aided design (CAD) tools, data analytics tools, modeling and simulation (M&S) tools, product lifecycle management (PLM) tools, multi-attribute trade-space tools, simulation engines, requirements model tools, electronics model tools, test-plan model tools, cost-model tools, schedule model tools, supply-chain model tools, manufacturing model tools, cyber security model tools, or mission effects model tools.

[0366] In some cases, an optional IDEP Exclave" 516 may be employed within customer environment 510 to assist with customer DE tasks and operations, supervise data processing, and rigorously adhering to zero-trust principles while delivering hyperscale-like platform performance. IDEP exclave 516 is maintained by the IDEP to run DE tools for customers who need such services. IDEP exclave 516 may contain a “DE Tool Elost” that runs DE tools and a “DE Platform Agent” necessary for the operation. Again, native DE tools are typically access-restricted by proprietary licenses and end-user license agreements paid for by the customer. IDEP exclave 516 utilities and manages proprietary DE tools hosted with customer environment 510, for example, to implement model splicing and digital threading functionalities.

[0367] In some embodiments, the machine learning (ML) models and artificial intelligence (Al) assistance approaches as described herein adapt to suit different customer instances of the IDEP (see Fig. 6) and tire availability of training data. In an example, a pre-trained ML or Al model (e.g., within tire IDEP enclave 502) is deployed in instances where there are restrictions around sharing customer data. In another example, Al models are deployed in a federated manner adjacent to DE agents and DE tools in the customer environment (e.g., within IDEP exclave 516). In another example, an Al model deployed inside the customer environment is trained behind its firewalls. In yet another example, the customer may allow7sharing of subsets of their metadata for a training database located within the IDEP enclave.

[0368] IDEP Deployment Scenarios

[0369] Fig. 6 shows potential scenarios for instantiating an IDEP in connection to a customer's physical system and IT environment, in accordance with some embodiments of the present invention. Specifically, Fig. 6 illustrates various potential configurations for instancing or instantiating an IDEP (“DE platform) 602 in connection to a customer's IT environment and physical system 604. Tire IT environment may be located on a virtual private cloud (VPC) protected by a firewall. The physical system may refer to a physical twin as discussed with reference to Fig. 3. In some embodiments, IDEP 602 may be instanced as an enclave such as 502 shown in Fig. 5. For example, IDEP 602 may be instanced on the cloud, possibly in a software-as-a-service (SaaS) configuration. The platform instances in these embodiments include software and algorithms, and may be described as follows:

[0370] 1. External Platfonn Instance 610: This option showcases the IDEP as a separate platform instance. The platform interacts with the physical system through the customer's virtual environment, or a Customer Virtual Private Cloud (“Customer VPC”), which is connected to the physical system.

[0371] 2. External Platform Instance with Internal Agent 620: The IDEP is instantiated as a separate platform, connected to an internal agent (“DE Agent”) wholly instanced within tire Customer VPC. For example, the IDEP may be instantiated as enclave 302, and tire DE agent may be instantiated as exclave 316 within the Customer VPC linked to tire physical system.

[0372] 3. External Platform Instance with Internal Agent and Edge Computing 630: Uris scenario displays the IDEP as a separate instantiation, connected to an internal DE Agent wholly instanced within the Customer VPC, which is further linked to an edge instance (“DE Edge Instance”) on the physical system. Tire DE agent is nested within the customer environment, with a smaller edge computing instance attached to the physical system.

[0373] 4. Edge Instance Connection 640: This option shows the DE platform linked directly to an DE edge instance on the physical system. The DE platform and the physical system are depicted separately, connected by an edge computing instance in the middle, indicating the flow of data.

[0374] 5. Direct API Connection 650: This deployment scenario shows the DE platform connecting directly to the physical system via API calls. In this depiction, an arrow extends directly from the platfomi sphere to the physical system sphere, signifying a direct interaction through API.

[0375] 6. Air-Gapped Platfomi Instance 660: This scenario illustrates the IDEP being completely instanced on an air-gapped, or isolated, physical system as a DE agent. The platform operates independently from any networks or Internet connections, providing an additional layer of security by eliminating external access points and potential threats. Interaction with the platform in this context would occur directly on the physical system, with any data exchange outside the physical system being controlled following strict security protocols to maintain the air-gapped environment.

[0376] Across these deployment scenarios, the IDEP plays an important role in bridging the gap between a digital twin (DTw) established through the IDEP and its physical counterpart. Regardless of how the IDEP is instantiated, it interacts with the physical system, directly or through the customer's virtual environment. The use of edge computing instances in some scenarios demonstrates the need for localized data processing and the trade-offs between real-time analytics and more precise insights in digital -physical system management. Furthermore, the ability of the platform to connect directly to the physical system through API calls underscores tire importance of interoperability in facilitating efficient data exchange between the digital and physical worlds. In all cases, the DE platform operates with robust security measures.

[0377] In some embodiments, the IDEP deployment for the same physical system can comprise a combination of the deployment scenarios described above. For example, for the same customer, some physical systems may have direct API connections to the DE platform (scenario 5), while other physical systems may have an edge instance connection (scenario 4).

[0378] Multimodal User Interfaces

[0379] Fig. 7 illustrates the use of multimodal user interfaces 790 for the interconnected DE platfonn, which can handle various input and output modalities such as Virtual Reality (VR), Mixed Reality (MR), auditory, text, and code. These interfaces are designed to manage the complexity of data streams and decision-making processes, and provide decision support including option visualization, impact prediction, and specific decision invocation. Specifically, data streams 702 and 704 are processed in the Analysis & Control Plane (ACP) 350 of Fig. 3. The user interface may receive data streams from physical and virtual feedback loops 302 and 304. as well as external expert feedback 314. analysis module 354, and twin configuration set 356 of ACP 350.

[0380] The multimodal interfaces illustrated in Fig. 7 are configured to carry out all the DE tasks and actions described in the context of Fig. 3, by catering to both humans and bots / algorithms, handling the intricacies of data stream frequency and complexity, decision-making time scales, and latency impacts. In the case of human decision makers, the user interface may need to manage inputs and outputs while for algorithmic decision making, the user interface may need to present rationale and decision analysis to human users. Some examples of human interfaces include a dashboard-style interface 794, a workflow-based interface 796, conversational interfaces 798, spatial computer interfaces 792, and code interfaces 799.

[0381] Dashboard-style interface 794 offers a customizable overview' of data visualizations, performance metrics, and system status indicators. It enables monitoring of relevant information, sectional review of documents, and decision-making based on dynamic data updates and external feedback. Such an interface may be accessible via web browsers and standalone applications on various devices.

[0382] Workflow -based interface 796 guides users through the decision-making process, presenting relevant data, options, and contextual information at each stage. It integrates external feedback and is designed as a progressive web app or a mobile app. In the context of alternative tool selection, workflow-based interface 796 may provide options on individual tools at each stage, or provide combinations of tool selections through various stages to achieve better accuracy or efficiency for the overall workflow.

[0383] Conversational interfaces 798 are based on the conversion of various input formats such as text, prompt, voice, audio-visual, etc. into input text, then integrating the resulting input text within tire DE platform workflow. Outputs from the DE platform may undergo the reverse process. This enables interoperability with the DE platform, and specifically the manipulation of model splices. In the broad context of audio-visual inputs, the conversational interfaces may comprise data Bonification, which involves using sound to represent data, information, or events, and using auditory cues or patterns to communicate important information to users, operators, or reviewers. Sonified alerts (e.g., alerts sent via sound, e.g., via a speaker) are especially useful when individuals need to process information quickly without having to visually focus on a screen. For example, sonified alerts can be used to notify security analysts of potential threats or breaches.

[0384] According to the latest prior art, a “conversational interface” or “conversational user interface” refers to a human-computer interaction model that enables users to interact with digital systems through natural language, either via text or voice. These interfaces utilize advanced natural language processing (NLP), machine learning, and artificial intelligence technologies to understand and respond to user inputs in a manner that mimics human conversation. Conversational interfaces can take various forms, including chatbots, voice assistants, and messaging platforms, allowing users to communicate with systems using everyday language rather than traditional graphical user interface elements. The goal of these interfaces is to provide a more intuitive, accessible, and personalized user experience by leveraging the familiar paradigm of conversation, enabling users to accomplish tasks, retrieve infomiation, or control devices through natural dialogue without requiring specialized knowledge of complex commands or navigation structures.

[0385] Fig. 7 also illustrates the use of spatial computing interfaces 792 and code interfaces 799 in the management of DTws and PTws. Spatial computing interfaces allow for more immersive and intuitive user experiences, and enable real-time synchronization between DTws and PTws. Code interfaces allow bots and digital engineers to interact with the DE platform through scripting and code. It also allows tire collection of user preference, task history, and tool usage patterns for alternative tool selection purposes.

[0386] A “spatial interface” or “spatial user interface” refers to a user interaction paradigm that leverages three-dimensional space and spatial relationships to present and manipulate digital information. This approach goes beyond traditional 2D graphical user interfaces by incorporating depth, volume, and spatial positioning to create more intuitive and immersive user experiences. Spatial interfaces often utilize technologies such as augmented reality (AR), virtual reality (VR), or mixed reality (MR) to overlay digital content onto the physical world or create entirely virtual environments. These interfaces allow users to interact with digital objects and information as if they were physical entities in space, using natural gestures, body movements, direction of audio or eye gaze, and spatial awareness to navigate, manipulate, and organize content in ways that more closely mimic real-world interactions.

[0387] Note that in the context of multimodal interfaces. “2.5 dimension” (often referred to as 2.5D) describes a visual representation that falls between traditional 2D and full 3D interfaces. It typically involves adding depth and perspective to 2D elements to create a pseudo-3D effect, without fully rendering a complete 3D environment. The 2.5D approach is typically designed to create the illusion of depth and dimensionality on flat, two-dimensional displays such as computer monitors, smartphone screens, or tablets, although it may be used within a 3D setting (e.g., 2D screens overlaid into 3D). This approach often uses techniques such as layering, parallax scrolling, or isometric projections to give the illusion of depth and volume while maintaining the simplicity and familiarity of 2D interfaces.

[0388] Digital Threads and Autonomous Data Linkages

[0389] As discussed previously, a “digital thread” is intended to connect two or more digital engineering (DE) models for traceability across the systems engineering lifecycle, and collaboration and sharing among individuals performing DE tasks. In a digital thread, appropriate outputs from a preceding digital model may be provided as the inputs to a subsequent digital model, allowing for information and process flow. That is, a digital thread may be viewed as a communication framework or data-driven architecture that connects traditionally siloed elements to enable the flow of information and actions between digital models.

[0390] Fig. 8 describes the architecture and inherent complexity of digital threads, in accordance with the examples disclosed herein. Specifically, Fig. 8 is a schematic diagram comparing exemplary digital threads 800 of various complexities that manipulate and / or connect DE models, in accordance with some embodiments of the present invention. In the most basic sense, a digital thread may “thread” together DE models into a simple daisy-chain architecture 802 where modifications in any upstream DE model will affect all DE models downstream from the modified DE model. For example, a modification of any parameter or process of a DE model B will cause changes in DE model C, which in turn will cause changes in DE model D. Cause-and-effect changes will therefore cascade downstream. As another example, diagram 804 represents a more complex digital thread where a change in one DE model may affect more than one downstream model. In both 802 and 804, digital threads are represented by a directed acyclic graph (DAG).

[0391] DAGs arc frequently used in many kinds of data processing and structuring tasks, such as scheduling tasks, data compression algorithms, and more. In tire context of service platforms and network complexities, a DAG might be used to represent the relationships between different components or services within the platform. In digital thread 804, different models may depend on each other in different ways. Model A may affect models B, C, and D, with models B and C affecting model E, and models D and E affecting model G. Such dependencies are denoted as a DAG, where each node is associated with a component (e.g., a model), and each directed edge represents a dependency.

[0392] A major issue with dealing with interdependent DE models is that graph consistencies can be polynomial, and potentially exponential, in complexity. Hence, if a node fails (e.g., a model is unreliable), this can have a cascading effect on the rest of the digital thread, disrupting the entire design. Furthermore, adding nodes or dependencies to the graph does not yield a linear increase in complexity because of the interdependencies between models. If a new model is added that affects or depends on several existing models, the resulting increase in graph complexity is multiplicative in nature, hence potentially exponential. The multiplicative nature of digital thread consistencies is compounded by the sheer number of interconnected models, which may number in the hundreds or thousands. Diagram 806 is a partial representation of a real-world digital thread, illustrating the complexity of digital threads and its multiplicative growth.

[0393] Fig. 8 further shows special cases 803, 805, 807, 808, and 809 of exemplary simple digital threads. Diagram 807 represents a degenerate digital thread where data is shared from a single DE model. Diagram 808 represents a model-to-document digital thread where data (e.g.. system attributes, performance attributes) extracted from a single DE model may be used to generate or update a text-based document (e.g., a Capability Development Document (CDD)). Diagrams 803 and 805 are generalized from 808 to represent cases where data extracted from a single model may be used to update multiple models, or vice versa. Specifically, diagram 805 may represent the dynamic updates of live or magic documents discussed in the context of Fig. 3. Here, the logic to connect the DE models shown is clear: data are extracted from multiple DE models A, B, and C to update a document model D. There are no interactions between the extracted data. Furthermore, diagram 809 shows a special case of a digital thread where data is loaded to and extracted from only a single model A. For example, as discussed in the context of Fig. 9 next, input splice functions of the model A shown in 809 may be executed to update the model, and output splice functions of model A shown in 809 may be executed to produce digital artifacts for sharing. For these special simple threads, the IDEP may provide a GUI-based interface to the user to connect the models and execute the digital threads. For complex threads such as 806. a code-based interface may be necessary.

[0394] Model Splicing for Digital Threading and Digital Twin Generation As disclosed herein, model splicing encapsulates and compartmentalizes digital engineering (DE) model data and model data manipulation and access functionalities. As such, model splices provide access to selective model data within a DE model file without exposing the entire DE model file, with access control to the encapsulated model data based on user access permissions. Model splicing also provides the DE model with a common, extemally-accessible Application Programming Interface (API) for the programmatic execution of DE models. Model splices thus generated may be shared, executed, revised, or further spliced independently of the native DE tool and development platform used to generate the input digital model. The standardization of DE model data and the generalization of API interfaces and functions allow7the access of DE model type files outside of their native software environments, and enable the linking of different DE model type files that may not previously be interoperable. Model splicing further enables the scripting and codification of DE operations encompassing disparate DE tools into a corpus of nonnative program code, facilitating the generation and training of artificial intelligence (Al) and machine learning (ML) models for the purpose of manipulating DE models through various DE tools across different stages of a DE process, DE workflow, or a DE life cycle.

[0395] Digital threads are created through user-directed and / or autonomous linking of model splices. A digital thread is intended to connect two or more DE models for traceability across the systems engineering life cycle, and collaboration and sharing among individuals performing DE tasks. In a digital thread, appropriate outputs from a preceding digital model are provided as inputs to a subsequent digital model, allowing for information flow. That is, a digital thread may be viewed as a communication framework or data-driven architecture that connects traditionally siloed elements to enable tire flow of infomration between digital models. The extensibility of model splicing over many different types of DE models and DE tools enables the scaling and generalization of digital threads to represent each and every stage of the DE life cycle.

[0396] A digital twin (DTw) is a real-time virtual replica of a physical object or system, with bi-directional information flow7between the virtual and physical domains, allowing for monitoring, analysis, and optimization. Model splicing allow7s for making individual DE model files into executable splices that can be autonomously and securely linked, thus enabling the management of a large number of DE models as a unified digital thread. Such a capability extends to link previously non-interoperable DE models to create digital threads, receive external performance and sensor data streams (e.g., data that is aggregated from DE models or linked from physical sensor data), calibrate digital twins with data streams from physical sensors outside of native DTw environments, and receive expert feedback that provides opportunity to refine simulations and model parameters.

[0397] Unlike a DTw7, a virtual replica, or simulation, is a mathematical model that imitates real-w orld behavior to predict outcomes and test strategies. Digital twins use real-time data and have bidirectional communication, while simulations focus on analyzing scenarios and predicting results. In other words, a DTw reflects the state of a physical system in time and space. A simulation is a set of operations done on digital models that reflects the potential future states or outcomes that the digital models can progress to in the future. A simulation model is a DE model within the context of the IDEP as disclosed herein.

[0398] When testing different designs, such as variations in wing length or chord dimensions, multiple DTws (sometimes numbering in 100s to 1,000s) may be created, as a bridge between design specifications and real-world implementations of a system, allowing for seamless updates and tracking of variations through vast numbers of variables, as detailed in the context of Fig. 3. As an example, if three variations of a system are made, each one would have its own DTw with specific measurements. These DTws may be accessed and updated via API function scripts, which allow for easy input of new measurements from the physical parts during the manufacturing process. By autonomous linking with appropriate data, a DTw may be updated to reflect the actual measurements of the parts, maintaining traceability and ensuring accurate data representation through hundreds or thousands of models.

[0399] Exemplary Model Splicing Setup

[0400] Fig. 9 is a schematic 900 showing an exemplary model splicing setup, according to some embodiments of the present invention. Specifically, Fig. 9 is a schematic showing an embedded CAD model splicing example.

[0401] In the present disclosure, a “model splice”, “model wrapper”, or “model graft” of a given DE model file comprises locators to or copies of (1) DE model data or digital artifacts extracted or derived from the DE model file, including model metadata, and (2) splice functions (e.g., API function scripts) that can be applied to the DE model data. A model splice may take on the form of a digital file or a group of digital files. A locator refers to links, addresses, pointers, indexes, access keys, Uniform Resource Locators (URL) or similar references to the aforementioned DE digital artifacts and splice functions, which themselves may be stored in access-controlled databases, cloud-based storage buckets, or other types of secure storage environments. The splice functions provide unified and standardized input and output API or SDK endpoints for accessing and manipulating the DE model data. The DE model data are model -type -specific, and a model splice is associated with model -type-specific input and output schemas. One or more different model splices may be generated from the same input DE model file, based on the particular user application under consideration, and depending on data access restrictions. In some contexts, the shorter terms “splice”, “wrapper”, and / or “graft” are used to refer to spliced, wrapped, and / or grafted models.

[0402] Model splicing is the process of generating a model splice from a DE model file. Correspondingly, model splicers are program codes or uncompiled scripts that perfonn model splicing of DE models. A DE model splicer for a given DE model type, when applied to a specific DE model file of the DE model type, retrieves, extracts, and / or derives DE model data associated with the DE model file, generates and / or encapsulates splice functions, and instantiates API or SDK endpoints to the DE model according to input / output schemas. In some embodiments, a model splicer comprises a collection of API function scripts that can be used as templates to generate DE model splices. “Model splicer generation" refers to the process of setting up a model splicer, including establishing an all-encompassing framework or template, from which individual model splices may be deduced.

[0403] Thus, a DE model ty pe-specific model splicer extracts or derives model data from a DE model file and / or stores such model data in a model type-specific data structure. A DE model splicer further generates or enumerates splice functions that may call upon native DE tools and API functions for application on DE model data. A DE model splice for a given user application contains or wraps DE model data and splice functions that are specific to the user application, allowing only access to and enabling modifications of limited portions of the original DE model file for collaboration and sharing with stakeholders of the given user application.

[0404] Additionally, a document splicer is a particular type of DE model splicer, specific to document models. A “document” is an electronic file that provides information as an official record. Documents include human-readable files that can be read without specialized software, as well as machine-readable documents that can be viewed and manipulated by a human with the help of specialized software such as word processor and / or web services. Thus, a document may contain natural language-based text and / or graphics that are directly readable by a human without the need of additional machine compilation, rendering, visualization, or interpretation. A “document splice", “document model splice” or “document wrapper” for a given user application can be generated by wrapping document data and splice functions (e.g., API function scripts) that are specific to the user application, thus revealing text at the component or part (e.g.. title, table of contents, chapter, section, paragraph) level via API or SDK endpoints, and allowing access to and enabling modifications of portions of an original document or document template for collaboration and sharing with stakeholders of the given user application, while minimizing manual referencing and human errors.

[0405] In the CAD model splicing example shown in Fig. 9, a CAD model file diesel-engine. prt 904 proceeds through a model splicing process 910 that comprises a data extraction step 920 and a splice function generation step 930. This input DE model 904 is in a file format .prt native to certain DE tools. Data extraction may be performed via a DE model crawling agent implemented as model crawling scripts within a model splicer to crawl through the input DE model file and to distill model data with metadata 922. Metadata arc data that can be viewed without opening the entire input DE model file, and may include entries such as file name, file size, file version, last modified date and time, and potential user input options as identified from a user input 906. Model data are extracted and / or derived from the input DE model, and may include but are not limited to, parts (e.g., propeller, engine cylinder, engine cap, engine radiator, etc.), solids, surfaces, polygon representation, and materials, etc. When a model splicer crawls through the model file, it determines how model data may be organized and accessed, as fundamentally defined by a DE tool 902 that is being used in splicing the DE model, and establishes a model data schema. This data schema describes the structure and format of the model data, some of which are translated into, or used to create input / output API endpoints with corresponding input / output schemas. In some embodiments, model data with metadata 922 may be stored in an access-restricted storage 926, such as the “customer buckets” 512 within customer environment 510 in Fig. 5, so that model splices such as 942, 944, and 946 may be generated on-demand once an input DE model 904 has been crawled through.

[0406] The model splicer further generates splice functions (e.g., API function scripts) 932 from native APIs 902 associated with the input CAD model. In the present disclosure, “native” and “primal” refer to existing DE model files, functions, and API libraries associated with specific third-party DE tools, including both proprietary and open-source ones. Native API 902 may be provided by a proprietary or open-source DE tool. For example, the model splicer may generate API function scripts that call upon native APIs of native DE tools to perfonn functions such as: HideParts(parts list), Generate2DView(), etc. These model-type-specific splice functions may be stored in a splice function database 936, again for on-demand generation of individual model splices. A catalog or specification of splice functions provided by different model splices supported by the IDEP, and orchestration scripts that link multiple model splices, constitutes a Platform API. This platform API is a common, universal, and extemally-accessible platfonn interface that masks native API 902 of any native DE tool integrated into the IDEP, thus enabling engineers from different disciplines to interact with unfamiliar DE tools, and previously non-interoperable DE tools to interoperate freely.

[0407] Next, based on user input or desired user application 906, one or more model splices or wrappers 942, 944, and 946 may be generated, wrapping a subset or all of the model data needed for the user application with splice functions or API function scripts that can be applied to the original input model and / or wrapped model data to perfonn desired operations and complete user-requested tasks. In various embodiments, a model splice may take on the fonn of a digital file or a group of digital files, and a model splice may comprise locators to or copies of the aforementioned DE digital artifacts and splice functions, in any combination or permutation. Any number of model splices / wrappers may be generated by combining a selective portion of the model data such as 922 and the API function scripts such as 932. As the API function scripts provide unified and standardized input and output API endpoints for accessing and manipulating the DE model and DE model data, such API handles or endpoints may be used to execute the model splice and establish links with other model splices without directly calling upon native APIs. Such API endpoints may be formatted according to an input / output scheme tailored to the DE model file and / or DE tool being used, and may be accessed by orchestration scripts or platform applications that act on multiple DE models.

[0408] In some embodiments, when executed, an API function script inputs into or outputs from a DE model or DE model splice. “Input” splice functions or “input nodes” such as 933 are model modification scripts that allow updates or modifications to an input DE model. For example, a model update may comprise changes made via an input splice function to model parameters or configurations. “Output” splice functions or “output nodes” 934 are data / artifact extraction scripts that allow data extraction or derivation from a DE model via its model splice. An API function script may invoke native API function calls of native DE tools. An artifact is an execution result from an output API function script within a model splice. Multiple artifacts may be generated from a single DE model or DE model splice. Artifacts may be stored in access-restricted cloud storage 926, or other similar access-restricted customer buckets.

[0409] One advantage of model splicing is its inherent minimal privileged access control capabilities for zero-trust implementations of the IDEP as disclosed herein. In various deployment scenarios discussed with reference to Fig. 6, and within the context of IDEP implementation architecture discussed with reference to Fig. 5. original DE input model 904 and model data storage 926 may be located within customer buckets 512 in customer environment 510 of Fig. 5. Splice functions 932 stored in database 936 call upon native APIs 902. The execution or invocation of splice functions 932 may rely on job-specific authentication or authorization via proprietary licenses of DE tools (e.g., residing within customer environment 510 of Fig. 5 and / or information security clearance levels of the requesting user. Thus, model splicing unbundles monolithic access to digital model-type files as whole files and instead provides specific access to a subset of functions that allow limited, purposeful, and auditable interactions with subsets of the model-type files built from component parts or atomic units that assemble to parts.

[0410] Digital Threading of DE Models via Model Splicing

[0411] Fig. 10 is a schematic showing digital threading of DE models via model splicing, according to some embodiments of the present invention. A digital thread is intended to connect two or more DE models for traceability across the systems engineering lifecycle, and collaboration and sharing among individuals performing DE tasks.

[0412] Linking of model splices generally refers to jointly accessing two or more DE model splices via API endpoints or splice functions. For example, data may be retrieved from one splice to update another splice (e.g., an input splice function of a first model splice calls upon an output splice function of a second model splice); data may be retrieved from both splices to generate a new output (e.g.. output splice functions from both model splices are called upon); data from a third splice may be used to update both a first splice and a second splice (e.g., input splice functions from both model splices are called upon). In the present disclosure, “model linking” and “model splice linking” may be used interchangeably, as linked model splices map to correspondingly linked DE models. Similarly, linking of DE tools generally refers to jointly accessing two or more DE tools via model splices, where model splice functions that encapsulate disparate DE tool functions may interoperate and call each other, or be called upon jointly by an orchestration script to perform a DE task.

[0413] Thus, model splicing allows for making individual digital model files into model splices that can be autonomously and securely linked, enabling tire management of a large number of digital models as a unified digital thread written in scripts. Within the IDEP as disclosed herein, a digital thread is a platfomi script that calls upon the platform API to facilitate, manage, or orchestrate a workflow through linked model splices. Model splice linking provides a communication framework or data-driven architecture that connects traditionally siloed elements to enable the flow of information between digital models via corresponding model splices. The extensibility of model splicing over many different types of digital models enables the scaling and generalization of digital threads to represent each and every stage of the DE lifecycle and to instantiate and update DTws as needed.

[0414] In the particular example shown in Fig. 10. an orchestration script 1094 is written in Python code and designed to interact via API endpoints such as 1092 to determine if a CAD model meets a total mass requirement. API endpoint 1092 is an output splice function and part of a platform API 1090. Platform API 1090 comprises not only splice functions but also platform scripts or orchestration scripts such as 1094 itself.

[0415] Orchestration script 1094 is divided into three main steps:

[0416] 1. Get Data From a CAD Model Splice: A POST request may be sent via the IDEP platform API to execute a computer-aided design (CAD) model splice 1071. This model splice provides a uniform interface to modify and retrieve information about a CAD model 1081. The parameters for the CAD model, such as hole diameter, notch opening, flange thickness, etc., may be sent in the request and set via an input splice function. The total mass of the CAD model may be derived from model parameters and retrieved via an output splice function. Hie response from the platform API includes the total mass of CAD model 1081, and a Uniform Resource Identifier / Locator (URL) for the CAD model. The response may further comprise a URL for an image of the CAD model.

[0417] 2. Get Data From a SysML Model Splice: Another POST request may be sent via the IDEP platform API to execute a Systems Modeling Language (SysML) model splice 1072. SysML is a general-purpose modeling language used for systems engineering. Output function 1092 of model splice 1072 retrieves the total mass requirements for the system from a SysML model 1082. The response from the platform API includes the total mass requirement for the system.

[0418] 3. Align the Variables and Check If Requirement Met: The total mass from CAD model 1081 is compared with the total mass requirement from SysML model 1082. If the two values are equal, a message is printed indicating that the CAD model aligns with the requirement. Otherwise, a message is printed indicating that the CAD model does not align with the requirement.

[0419] In short, orchestration script 1094, which may be implemented in application plane 360 of IDEP 300 shown in Fig. 3, links digital models 1081 and 1082 via model splice API calls. Orchestration script 1094 is a scripted platform application that modifies a CAD model, retrieves the total mass of the modified CAD model, retrieves the total mass requirement from a SysML model, and compares the two values to check if the CAD model meets the requirement. In some embodiments, a platform application within IDEP 100 utilizes sets of functions to act upon more than one DE model.

[0420] Model Splice Plane

[0421] Fig. 11 is a schematic illustrating the linking of DE model splices in a splice plane and comparing digital threading with and without model splicing, according to some embodiments of the present invention. The bottom model plane 380 demonstrates current digital threading practices, where each small oval represents a DE model, and the linking between any two DE models, such as models 1182 and 1184, requires respective connections to a central platform 1110, and potential additional linkages from every model to every other model. The central platform 1110 comprises program code that is able to interpret and manipulate original DE models of distinct model types. For example, platform 1110 under the control of a subject matter expert may prepare data from digital model 1182 into formats that can be accessed by digital model 1184 via digital model 1184’s native APIs, thus allowing modifications of digital model 1182 to be propagated to digital model 1184. Any feedback from digital model 1184 to digital model 1182 would require similar processing via platform 1110 so that data from digital model 1184 are converted into formats that can be accessed by digital model 1182 via digital model 1182’s native APIs. This hub-and-spoke architecture 1134 is not scalable to the sheer number (e.g., hundreds or thousands) of digital models involved within typical large-scale DE projects, as model updates and feedback are only- possible through central platform 1110.

[0422] In contrast, once the DE models are spliced, each original model is represented by a model splice including relevant model data, unified and standardized API endpoints for input / output, as shown in the upper splice plane 370. Splices within splice plane 370 may be connected through scripts (e.g., python scripts) that call upon API endpoints or API function scripts and may follow a DAG architecture, as described with reference to Fig. 3 and Fig. 8. Note that in Fig. 3. only a set of generated splices is shown within splice plane 370, while in Fig. 11, scripts that link model splices are also shown for illustrative purposes within the splice plane. Such scripts are referred to as orchestration scripts or platform scripts in this disclosure, as they orchestrate workflow through a digital thread built upon interconnected DE model splices. Further note that while splice plane 370 is shown in Fig. 3 as part of IDEP 100 for illustrative purposes, in some embodiments, splice plane 370 may be implemented behind a customer firewall and be part of an agent of the DE platform, as discussed in various deployment scenarios shown in Fig. 6. That is, individual API function scripts generated via model splicing by a DE platfonn agent may be tailored to call upon proprietary tools the customer has access to in its private environment. No centralized platform 1110 with proprietary access to all native tools associated with all individual digital models shown in Fig. 11 is needed. Instead, orchestration scripts call upon platform API function scripts that may be implemented differently in different customer environments.

[0423] Hence, model splicing allows model splices such as model splice 1172 from digital model 1182 and model splice 1174 from digital model 1184 to access each other’s data purposefully and directly, thus enabling the creation of a model-based “digital mesh” 1144 via platform scripts and allowing autonomous linking without input from subject matter experts.

[0424] An added advantage of moving from the model plane 380 to the splice plane 370 is that the DE platform enables the creation of multiple splices per native model (e.g.. see Fig. 9), each with different subsets of model data and API endpoints tailored to the splice’s targeted use. For example, model splices may be used to generate multiple digital twins (DTws) that map a physical product or process or object design into the virtual space. Two-way data exchanges between a physical object and its digital object twin enable tire testing, optimization, verification, and validation of tire physical object in the virtual world, by choosing optimal digital model configuration and / or architecture combinations from parallel digital twins built upon model splices, each reacting potentially differently to the same feedback from the physical object.

[0425] Supported by model splicing, digital threading, and digital twinning capabilities, the IDEP as disclosed herein connects DE models and DE tools to enable simple and secure collaboration on digital engineering data across engineering disciplines, tool vendors, networks, and model sources such as government agencies and institutions, special program offices, contractors, small businesses, Federally Funded Research and Development Centers (FFRDC). University Affiliated Research Centers (UARC), and the like. An application example 1150 for the IDEP is shown on the right side of Fig. 11, illustrating how data from many different organizations may be integrated to enable cross-domain collaboration while maintaining data security, traceability, and auditability. Here DE models from multiple vendors or component constructors arc spliced or wrapped by IDEP agents, and data artifacts arc extracted with data protection. Turning DE models into data artifacts enables cross-domain data transfer and allows for tire protection of critical information, so that model owners retain complete control over their DE models using their existing security and IT stack, continue to use DE tools that best fit their purposes, and also preserve the same modeling schema / ontology / profile that best fit their purposes. The IDEP turns DE models into micro-services to provide minimally privileged data bits that traverse to relevant stakeholders without the DE models ever leaving their home servers or being duplicated or surrogate. The IDEP also provides simple data access and digital threading options via secure web applications or secure APIs.

[0426] DAG Representation of Threaded Tasks

[0427] Model splicing provides a unified interface among DE models, allowing model and system updates to be represented by interconnected and pipelined DE tasks. Fig. 12 shows an exemplary directed acyclic graph (DAG) representation 1200 of pipelined DE tasks related to digital threads, in accordance with some embodiments of the present invention. In diagram 1200, tasks performed through a digital thread orchestration script (e.g., 1094) are structured as nodes within a DAG. Actions are therefore interconnected and carried out in a pipeline linking the DE model splices with a range of corresponding parameter values. Therefore, a digital thread can be created by establishing, via interpretable DE platform scripts, tire right connections between any model splices for their corresponding models at the relevant endpoints.

[0428] Referring to Figs. 3 and 10, DAGs of threaded tasks are built from digital threads and are part of the DE platform's application plane 360. Different DAGs may target different DE actions. For example, in Fig. 3, building or updating a DTw 322 in the virtual environment 320 has its own DAG 324. Model splicing turns DE models into data structures that can be accessed via API, thus enabling the use of software development tools, from simple python scripts to complex DAGs, in order to execute DE actions. A digital thread of model splices eliminates the scalability issue of digital thread management, and speeds up the digital design process, including design updates based on external feedback.

[0429] Inner / Outer Loop Architecture for Digital Threads in Cyber-Physical Systems

[0430] Fig. 13 is an exemplary schematic 1300 illustrating the interplay between a digital thread and the individual digital models or digital artifacts it uses, thus defining outer and inner loop processes, in accordance with some embodiments of the present invention.

[0431] In various embodiments of the 1DMP. the architecture for managing digital threads and their associated digital models in cyber-physical systems involves an interaction between an Outer Loop (representing the digital thread) and an Inner Loop (representing individual models or artifacts). This structure enables secure, permission-based collaboration across multiple models, ensuring traceability, controlled data flow, and efficient interaction within the digital workflow. Based on software engineering principles, this inner / outer loop design is modular: the Outer Loop manages high-level coordination and communication, while the Inner Loop handles the detailed, iterative operations of each model or system. While tire Outer Loop and Inner Loop interactions commonly seen in software packages may involve access to all of the software packages within the same Integrated Development Environment (IDE), the Outer Loop / Inner Loop interactions for cyber-physical systems must manage to link interoperably with different digital models and tools, while also ensuring zero trust security. Various embodiments of the IDMP are well suited to manage such digital threads for cyber-physical systems as the platform is able to interoperably link with various digital models and tools (in different Inner Loops) through the model splicer architecture (see Figs. 9 and 10). Additionally, the IDMP uses zero trust and zero knowledge security, ensuring that every interaction, whether within the same security network or across different networks, is strictly authorized, while keeping sensitive data private (e.g., through tokenization).

[0432] In the embodiment shown in 1310, an Outer Loop 1304 manages the sequence of tasks in a digital workflow, where user actions are authorized for access through a process 1320 in an Inner Loop 1316. Outer Loop 1304 can issue instractions to Inner Loop 1316 to:

[0433] • Create models by defining structure, behavior, and parameters (1318).

[0434] • Fetch data artifacts from a model.

[0435] • Update artifacts with controlled, traceable changes.

[0436] For example, when Outer Loop 1304 commands a data artifact retrieval, the IDMP platfonn may manage it using zero trust principles, as described in Fig. 5. Each user request in Outer Loop 1304 is authorized through an enclave 502 and its Control Plane sendee cell, coordinated with platform exclave 516. Different Inner Loops exist within Customer Tools 514, each operating in specific Customer Environments 510 where each request is authorized for access to the necessary data operations.

[0437] After retrieving data artifacts from Inner Loop 1316, Outer Loop 1304 handles configuration control 1306, versioning, and integrates the artifacts into the broader digital thread 1308 for testing or validation at a process step 1312.

[0438] Inner Loop 1316, by contrast, is responsible for localized operations related to individual digital models, including:

[0439] • Model creation, where digital models are initialized or updated.

[0440] • Model execution, through automation, simulations or data analysis.

[0441] • Saving results, preserving outcomes from model runs.

[0442] • Analyzing data, providing insights and validation for digital workflow improvements.

[0443] Outer Loop 1304 interacts with any step in Inner Loop 1316 to access or update data artifacts. Outer loop computations often compare the current workflow to a baseline 1310. Outer and Inner Loops 1304 and 1316 work together in an iterative process, integrating localized model adjustments with system -wide digital workflow coordination and validation. The Outer Loop manages tasks like configuration control, system integration, and VVUQ (Verification, Validation, and Uncertainty Quantification), while tire Inner Loop handles model-based operations. Fig. 13 shows the Outer Loop performing authorized access 1320, configuration control 1306, digital thread integration 1308, and VVUQ / testing 1312. In various implementations of digital threads in the IDMP, these steps can vary in sequence or iterate as needed. Ultimately, the outer and inner loop architecture enables continuous integration and development (CI / CD) of digital workflows and digital threads across the digital platform.

[0444] Decentralized Digital Threads in the IDMP

[0445] The IDMP enables decentralized management of digital threads across different models, security networks, and user permissions under a zero trust security principle. This architecture enforces strict access controls and permission-based interactions between models, ensuring security across diverse environments. In some embodiments, a zero knowledge approach further secures sensitive data during orchestration, ensuring no unauthorized access (e.g., by using tokenization).

[0446] In Fig. 13, two exemplary setups 1322 and 1332 illustrate IDMP embodiments with decentralized digital threads across different security networks. In 1322, Outer Loop 1 operates within Security Network 1, connecting to multiple Inner Loops (e.g., Inner Loop 1, Inner Loop 2. and Inner Loop 3). These Inner Loops manage data operations within the same security framework, allowing collaboration while maintaining security.

[0447] In 1332, Outer Loop 2 operates in a separate Security Network 2, linking to additional Inner Loops (e.g., Inner Loop 4, Inner Loop 5, and Inner Loop 6). For links from Outer Loop 1, dotted lines and "X" symbols represent isolated models or components, indicating access restrictions enforced by the zero trust framework. Only authenticated users can access authorized models and artifacts.

[0448] In various implementations, 1322 and 1332 can be regarded as different instances of the Customer environment 510 shown in Fig. 5.

[0449] In the IDMP, digital threads handle both simple and complex model connections. Fig. 8 shows simple threads with sequential model links (e.g., 802, 804), while the more complex thread 806 is shown in Fig. 13 as an illustrative element 1342. Simple threads propagate changes in a linear fashion, while complex threads manage branching dependencies, where changes in one model affect multiple downstream models. In complex threads implemented by the IDMP, the Outer Loop coordinates interactions across multiple Outer loops and Inner loops, ensuring secure, scalable execution of the entire digital workflow with appropriate permission controls. Converting Digital Workflows into Digital Threads with Data Relationships

[0450] The IDMP links different types of digital model files in a decentralized fashion with zero-trust security. When a user requests a data operation on a digital model file using a specific digital tool, IDMP executes the request via digital tool-specific and platform agents within the customer's environment. These agents extract data artifacts and. when changes to a digital artifact occur, a newer version of the digital model file is made. During the versioning step, platform agents ensure sensitive data is protected through tokenized version control.

[0451] Extracted data artifacts are securely stored in the customer's cloud data storage (e.g., an S3 bucket). If changes are made to the digital model, the agents save the updated version of the model or data artifact, extract the relevant data artifacts, and store it securely.

[0452] Using the IDMP, users are able to link data artifacts into a magic doc for documentation and commentary, which can include Al-assistance in various embodiments. A digital thread accompanying the magic doc lists data artifacts in sequence, creating a digital workflow. The IDMP further tracks data relationships between data artifacts (e.g., derivation, grouping, or data flow). This digital workflow of user actions and data relationships is stored in a non-proprietary format within the customer’s environment.

[0453] Emergent digital workflows and sequence of tasks captured by data relationships of various types:

[0454] 1. Generational - (Between version 1 and version 2 of a model)

[0455] 2. Parent / Child - (The Model and Derived information from a model)

[0456] 3. Sibling - (Different bits of derived data from the same model (e.g., an image view of a CAD model and an associated parameter)

[0457] 4. Generational (derived) - Tire same piece of data extracted from version 1 or version 2 of a model

[0458] 5. Data Context (Connected by how they are used for a mission or business purpose in a Magic Doc)

[0459] 6. Data Flow (Connected via digital threads - data from one model into another)

[0460] Such data relationships can vary from one user to another even for the same overall digital workflow task.

[0461] Converting Digital Workflows into Digital Thread Scripts in an API-First Manner

[0462] Fig. 14 illustrates an exemplary digital engineering process in the aerospace industry, showing outer loop processes, according to one embodiment of the present invention. The left of Fig. 14 contains a simplified depiction 1402 of current engineering processes related to a digital engineering operation in the aerospace industry. Hie digital platform is instrumental in mapping those processes 1404 to digitized (software-defined) workflows. Each process step may be connected to software-defined digital threads (outer loop) using Git Workbooks or Runbooks. The generated workflows may belong to the inner or outer loops, as depicted in Fig. 13. For completeness and compliance, the digital platform may further add tests for the key steps and tasks of the digitized workflows in the outer loop 1406. These outer-loop threads incorporate built-in feature tests and unit tests, ensuring the digital thread is validated as it is being created. Finally, the scripts for the digital threads are executed, generating outputs that can be presented as dynamic reports, such as magic docs, linked to digital models or data artifacts. The digital platform may hence generate dynamic reports 1408 (e.g., Magic Docs) linked to the inner-loop models used by the digital workflows. In various implementations, the IDMP adopts an API-first approach, where digital workflows are structured around secure and modular API integrations. In the IDMP, digital threads link to specific data artifacts through authorized API endpoints in a zero-trust framework, ensuring secure access. Process steps are connected to software-defined workflows using tools like Git Workbooks or Runbooks, with user intent driving both platform and tool-specific API calls. This approach enables seamless integration, modularity, and validation, with built-in feature and unit tests ensuring the reliability of each API interaction throughout the system.

[0463] 6. Introduction to Neural Networks and their Training

[0464] Machine Learning (ML) and Neural Networks

[0465] Machine learning (ML) algorithms are characterized by the ability to improve their perfonnance at a task over time without being explicitly programmed with the rules to perform that task (i.e., learn). An ML model is the output generated when a ML algorithm is trained on data. As described herein, embodiments of the present invention use one or more artificial intelligence (Al) and ML algorithms. Various exemplary ML algorithms are within the scope of the present invention. The following description describes illustrative ML techniques for implementing various embodiments of the present invention.

[0466] Neural Networks

[0467] A neural network is a computational model including interconnected units called “neurons” that work together to process information. It is a type of ML algorithm that is particularly effective for recognizing patterns and making predictions based on complex data. Neural networks are widely used in various applications such as image and speech recognition and natural language processing, due to their ability to leam from large amounts of data and improve their performance over time. Fig. 15 describes neural network operation fundamentals, according to exemplary embodiments of the present invention. Fig. 15 shows a single-layered neural network, also known as a single-layer perceptron. The operation of a single-layered neural network involves the following steps:

[0468] 1. Input: Receiving a DE input vector v 1504 with elements representing the DE input, and where each element of the vector corresponds to an element 1506 in the input layer. A DE input can be a user prompt, a DE document, a DE model. DE program code, system data from the IDMP, and / or any useful form of data in digital engineering.

[0469] 2. Transfer Function: Multiplying each element of the DE input vector by a corresponding weight 1508. These weighted inputs are then summed together as the transfer function, yielding the net input to the activation function

[0470] Each neuron in a neural network may have a bias value 1512. which is added to the weighted sum of the inputs to that neuron. Both the weights and bias values are learned during the training process. The purpose of the bias is to provide every neuron with a trainable constant value that can help the model fit tire data better. With biases, the net input to tire activation function is

[0471] 3. Activation Function: Passing the net input through an activation function 1514. The activation function δ determines the activation value z 1518, which is the output of the neuron. It is typically a non-linear function such as a sigmoid or ReLU (Rectified Linear Unit) function. The threshold θ 1516 of the activation function is a value that determines whether a neuron is activated or not. In some activation functions, such as the step function, the threshold is a specific value. If the net input is above the threshold, the neuron outputs a constant value, and if it's below the threshold, it outputs a zero value. In other activation functions, such as the sigmoid or ReLU (Rectified Linear Unit) functions, the threshold is not a specific value but rather a point of transition in the function's curve.

[0472] 4. Output: The activation value z 1518 is the output of the activation function. This value is what gets passed on to the next layer in the network or becomes the final DE output in the case of the last layer. A DE output can also be an updated twin configuration, digital twin, physical twin, DE document, DE model, DE program code, or any useful form of data in digital engineering. The principles discussed above extend to neural networks with multiple layers. Fig. 16 shows a multi-layer neural network, in accordance with some embodiments of the present invention. A multi-layer neural network is a sophisticated machine learning model inspired by the structure and function of biological neural networks, extending the single -layer neural network of Fig. 15 into multiple layers. It consists of interconnected nodes, or “neurons,” represented by circles in Fig. 16, organized into distinct layers that process and transmit information.

[0473] The network typically begins with an input layer 1602, Layer L, in Fig. 16, which receives the initial data in the form of an input vector v . This vector contains the features or attributes of the data being analyzed. Following the input layer are one or more hidden layers, which perform intermediate computations and extract higher-level features from the input. Fig. 16 shows two hidden layers, Layer L2(1604) and Layer L3(1606). The final layer is the output layer, which produces the network's prediction or classification in the form of an output vector. In Fig. 16, the final layer is Layer L4(1608), yielding output vector z (1620). In Fig. 16, the output vector (1620) is composed of the two elements z generated by the two nodes of the output layer L4(1608).

[0474] The connections between neurons in adjacent layers are associated with weights, which are adjusted during the learning process. In Fig. 16, weights are represented on each link between neurons, where represents the weight multiplying the ithoutput of the kth' layer at the jthnode of the (k+1)st layer.

[0475] Each layer in the network may include bias units, which are depicted as dashed nodes with dashed connections to the nodes of the next layer (e.g., 1618 in L4and 1616 in L2). These units provide additional flexibility to the model by allowing it to shift the activation function. At each node, the weighted sum of inputs to a neuron, combined with its bias, is passed through an activation function, which introduces non-linearity and enables the network to learn complex patterns. In Fig. 16, contrary to Fig. 15, the activation function and additional bias term are represented by the solid nodes and are not otherwise shown explicitly. As discussed in more detail in subsequent sections, the output vector z 1620 may be represented as a function f of the input vector z = , where the function f depends on a global weights matrix W and a global biases matrix b.

[0476] As further described in the sections below, the process of feeding data through the network from input to output is called forward propagation. During this phase, each neuron receives inputs from the previous layer, applies its activation function, and passes the result to the next layer. The network's performance is evaluated using a cost function, which measures the difference between the predicted output and the actual target values. To improve the network's performance, a backpropagation algorithm is employed. This process involves calculating the gradient of the cost function with respect to each weight and bias in the network. The gradients are then used to update the network's parameters through a process called gradient descent, which iteratively adjusts the weights and biases to minimize the cost function and improve the network's predictions.

[0477] Fig. 17 shows an overview of an IDMP neural network training process, according to exemplary embodiments of the present invention. The training of the IDMP neural network involves repeatedly updating the weights and biases 1710 of the network to minimize the difference between the predicted output 1704 and the true or target output 1706, where the predicted output 1704 is the result produced by the network when a set of inputs from a dataset is passed through it. The predicted output 1704 of an IDMP neural network 1702 corresponds to the DE output 1518 of the final layer of the neural network. The true or target output 1706 is the true desired result. The difference between the predicted output and the true output is calculated using a loss function 1708, which quantifies the error made by the network in its predictions.

[0478] The loss function is a part of the cost function 1708, which is a measure of how well the network is performing over the whole dataset. The goal of training is to minimize the cost function 1708. This is achieved by iteratively adjusting the weights and biases 1710 of the network in the direction that leads to the steepest descent in the cost function. The size of these adjustments is detennined by the learning rate 1708, a hyperparameter that controls how much the weights and biases change in each iteration. A smaller learning rate means smaller changes and a slower convergence towards the minimum of the cost function, while a larger learning rate means larger changes and a faster convergence, but with the risk of overshooting the minimum.

[0479] Neural netw ork training combines the processes of forward propagation and backpropagation. Forward propagation is the process where the input data is passed through the network from the input layer to the output layer. During forward propagation, the weights and biases of the network are used to calculate the output for a given input. Backpropagation, on the other hand, is the process used to update the weights and biases 1710 of the netw ork based on the error (e.g., cost function) 1708 of the output. After forw ard propagation through tire IDMP neural network 1702, the output 1704 of the netw ork is compared with true output 1706, and the error 1708 is calculated. Uris error is then propagated back through the network, starting from the output layer and moving towards the input layer. The weights and biases 1710 are adjusted in a way that minimizes this error. This process is repeated for multiple iterations or epochs until the network is able to make accurate predictions.

[0480] The neural netw ork training method described above, in which the network is trained on a labeled dataset (c.g., sample pairs of input user prompts and corresponding output recommendations), where the true outputs are known, is called supervised learning. In unsupervised learning, the network is trained on an unlabeled dataset, and the goal is to discover hidden patterns or structures in the data. The network is not provided with the true outputs, and the training is based on the intrinsic properties of the data. Furthermore, reinforcement learning is a type of learning where an agent learns to make decisions from the rewards or punishments it receives based on its actions. Although reinforcement learning does not typically rely on a pre-existing dataset, some forms of reinforcement learning can use a database of past actions, states, and rewards during the learning process. Any neural network training method that uses a labeled dataset is within the scope of the methods and systems described herein, as is clear from the overview below.

[0481] Fig. 18, described below, provides additional details on the training process of an IDMP machine learning model, according to exemplary embodiments of the present invention.

[0482] Transformer Model Architecture

[0483] The transformer architecture is a neural network design that was introduced in the paper “Attention is All Yon Need” by Vaswani et al. published in June 2017 (available at arxiv.org / abs / 1706.03762), and incorporated herein by reference as if fully set forth herein. Large Language Models (LLMs) heavily rely on the transfonner architecture.

[0484] The architecture (see Fig. 1 in Vaswani et al.) is based on the concept of ‘attention'’, allowing the model to focus on different parts of the input sequence when producing an output. Transformers consist of an encoder and a decoder. The encoder processes the input data and the decoder generates the output. Each of these components is made up of multiple layers of self-attention and point-wise, fully connected layers.

[0485] The layers of self-attention in the transformer model allow it to weigh the relevance of different parts of the input sequence when generating an output, thereby enabling it to capture long-range dependencies in the data. On the other hand, the fully connected layers are used for transforming the output of the self-attention layers, adding complexity and depth to the model's learning capability.

[0486] The transformer model is known for its ability to handle long sequences of data, making it particularly effective for tasks such as machine translation and text summarization. In the transformer architecture, positional encoding is used to give the model information about the relative positions of the words in tire input sequence. Since the model itself does not have any inherent sense of order or sequence, positional encoding is a way to inject some order information into the otherwise order-agnostic attention mechanism.

[0487] Tire Embeddings Vector Space In the context of neural networks, tokenization refers to the process of converting the input and output spaces, such as natural language text or programming code, into discrete units or “tokens”. This process allows the network to effectively process and understand the data, as it transforms complex structures into manageable, individual elements that the model can learn from and generate.

[0488] In the training of neural networks, embeddings serve as a fonn of distributed word representation that converts discrete categorical variables (i.e., tokens) into a continuous vector space (i.e., embedding vectors). This conversion process captures the semantic properties of tokens, enabling tokens with similar meanings to have similar embeddings. These embeddings provide a dense representation of tokens and their semantic relationships. Embeddings are typically represented as vectors, but may also be represented as matrices or tensors.

[0489] The input of a transfonner typically requires conversion from an input space (e.g., the natural language token space) to an embeddings space. This process, referred to as “encoding”, transforms discrete inputs (tokens) into continuous vector representations (embeddings). This conversion is a prerequisite for the transformer model to process the input data and understand the semantic relationships between tokens (e.g., words). Similarly, the output of a transfonner typically requires conversion from the embeddings space to an output space (e.g., natural language tokens, programming code tokens, etc.), in a process referred to as “decoding”. Therefore, the training of a neural network and its evaluation (i.e., its use upon deployment) both occur within the embeddings space.

[0490] In this document, the processes of tokenization, encoding, decoding, and de-tokenization may be assumed. In other words, the processes described below occur in the “embeddings space”. Hence, while the tokenization and encoding of training data and input prompts may not be represented or discussed explicitly, they may nevertheless be implied. Similarly, the decoding and de-tokenization of neural network outputs may also be implied.

[0491] Training and Fine-Tuning Machine Learning Modules

[0492] Fig. 18 is an illustrative flow diagram showing the different phases and datasets involved in training an IDMP ML model, according to exemplary embodiments of the present invention.

[0493] Tire training process starts at step 1810 with DE data acquisition, retrieval, assimilation, or generation. At step 1820, acquired DE data are pre-processed, or prepared. At step 1830, tire IDMP ML model is trained using training data 1825. At step 1840, the IDMP ML model is evaluated, validated, and tested, and further refinements to the IDMP ML model are fed back into step 1830 for additional training. Once its performance is acceptable, at step 1850, optimal IDMP ML parameters are selected.

[0494] Training data 1825 is a dataset containing multiple instances of system inputs and correct outcomes. It trains the IDMP ML model to optimize the performance for a specific target task, such as the prediction of a specific target output data field within a specific target document. In Fig. 18, training data 1825 may also include subsets for validating and testing the IDMP ML model, as part of the training iterations 1830 and 1840. For an NN-based ML model, the quality of the output may depend on (a) NN architecture design and hyperparameter configurations, (b) NN coefficient or parameter optimization, and (c) quality of the training data set. These components may be refined and optimized using various methods. For example, training data 1825 may be expanded via a document database augmentation process.

[0495] In some embodiments, an additional fine-tuning 1860 phase including iterative fine-tuning 1860 and evaluation, validation, and testing 1870 steps, is carried out using fine-tuning data 1855. Fine-tuning in machine learning is a process that involves taking a selected 1850 pre-trained model and further adjusting or “tuning” its parameters to better suit a specific task or fine-tuning dataset 1855. This technique is particularly useful when dealing with deep learning models that have been trained on large, general training datasets 1825 and are intended to be applied to more specialized tasks or smaller datasets. The objective is to leverage the knowledge the model has already acquired during its initial training (often referred to as transfer learning) and refine it so that the model performs better on a more specific task at hand.

[0496] The fine-tuning process typically starts with a model that has already been trained on a large benchmark training dataset 1825. such as ImageNet (available at image-net.org for image recognition tasks. The model's existing weights, which have been learned from the original training, serve as the starting point. During fine-tuning, the model is trained further on a new fine-tuning dataset 1855, which may contain different classes or types of data than the original training set. This additional training phase allows the model to adjust its weights to better capture the characteristics of the new fine-tuning dataset 1855, thereby improving its perfonnance on the specific task it is being fine-tuned for.

[0497] In some embodiments, additional test and validation 1880 phases are carried out using DE test and validation data 1875. Testing and validation of a ML model both refer to the process of evaluating the model's performance on a separate dataset 1875 that was not used during training, to ensure that it generalizes well to new unseen data. Validation of a ML model helps to prevent overfitting by ensuring that the model's performance generalizes beyond the training data.

[0498] While the validation phase is considered part of ML model development and may lead to further rounds of fine-tuning, the testing phase is tire final evaluation of the model's performance after the model has been trained and validated. The testing phase provides an unbiased assessment of the final model's performance that reflects how well the model is expected to perform on unseen data, and is usually carried out after the model has been finalized to ensure the evaluation is unbiased. Once the IDMP ML model is trained 1830, selected 1850, and optionally fine-tuned 1860 and validated / tested 1880, the process ends with tire deployment 1890 of the IDMP ML model. Deployed IDMP ML models 1895 usually receive new DE data 1885 that was pre-processed 1880.

[0499] In machine learning, data pre-processing 1820 is tailored to the phase of model development. During model training 1830, pre-processing involves cleaning, normalizing, and transforming raw data into a format suitable for learning patterns. For fine-tuning 1860, pre-processing adapts the data to align with the distribution of the specific targeted task, ensuring the pre-trained model can effectively transfer its knowledge. Validation 1880 pre-processing mirrors that of training to accurately assess model generalization without leakage of information from the training set. Finally, in deployment 1890, pre-processing ensures real-world data matches the trained model's expectations, often involving dynamic adjustments to maintain consistency with the training and validation stages.

[0500] Unless otherwise stated, the methods and systems disclosed herein regarding training, particularly pertaining to training data collection, generally apply to tuning, fine-tuning, pre-training, and / or post-training.

[0501] Machine Learning Algorithms

[0502] Various exemplary ML algorithms are within the scope of the present invention. Such machine learning algorithms include, but are not limited to. random forest, nearest neighbor, decision trees, support vector machines (SVM). Adaboost. gradient boosting. Bayesian networks, evolutionary algorithms, various neural networks (including deep learning networks (DLN), convolutional neural networks (CNN), and recurrent neural networks (RNN)), etc. In particular, the methods described herein apply to any ML module that may be represented using matrix operations and non-linear functions (e.g., activation and cost functions), including but not limited to neural networks. ML modules based on transformers and Large Language Models (LLMs) are particularly well suited for the tasks described herein. Tire online article "'Understanding Large Language Models — A Transformative Reading List”, by .S', Raschka (posted Feb 7, 2023, available at sebastianraschka.com / blog'2023dlm-reading-list.html), describes various LLM architectures that are within the scope of the methods and systems described herein, and is hereby incorporated by reference in its entirety herein as if fully set forth herein.

[0503] The input to each of the listed ML modules is a feature vector comprising the input data described above for each ML module. The output of the ML module is a feature vector comprising the corresponding output data described above for each ML module. Prior to deployment, each of the ML modules listed above may be trained on one or more respective sample input datasets and on one or more corresponding sample output datasets. Tire input and output training datasets may be generated from a database containing a history of input instances and output instances, or may be generated synthetically by subject matter experts. 7. Summary of Data Sovereignty Preserving Methods

[0504] Used in Embodiments 1 and 2

[0505] Fig. 19 shows a summary of various privacy-preserving measures used in various embodiments of the present invention. These privacy-preserving measures are used and discussed in the context of Embodiments 1 and 2 in the present disclosure.

[0506] Specifically, Fig. 19 illustrates various embodiments of the invention that implement privacy-preserving measures to transform data, operations, and functions from an untransformed (true) space (1902) to a secure transformed space (1904). Transformation steps (1906) provide multiple options for altering neural network (NN) components, including data and parameters (e.g., weights and biases), NN functions (e.g.. activation, cost, or loss functions), and computational operations (e.g., forward and back propagation). These transformations can include expansion using block matrices, permutations (e.g., matrix-based, or row / column permutations), and exponentiation (e.g., matrix-based or term-wise). Additionally, NN function transformations may incorporate noise functions or series expansions, with coefficients shared directly or represented through multivariate Bell polynomials. The transformed space contains data that is expanded, permuted, and exponentiated. A transformation operator is defined for the NN’s hidden layers to ensure that all operations in the transformed space faithfully replicate true operations in the untransformed space.

[0507] The transformation steps described above can be applied individually or in combination, offering a flexible toolkit for privacy-preserving machine learning model development and usage. This privacy toolkit (1908) includes a selection of invertible matrices (e.g., left or right matrices) for operations such as expansion, row / column permutations, random matrix multiplication, and exponentiation. The toolkit also supports series expansions of functions. Furthermore, it includes options for bounded, infinitely differentiable noise functions and invertible noise functions, enabling precise control over privacy transformations.

[0508] These embodiments enable computations directly within the transformed space while maintaining strict data security through encryption of data both in transit and at rest. As outlined in 1910, the system employs cryptographic keys (e.g., FIPS-compliant) generated via shared, symmetric key encryption between the collaborating parties. During the setup phase, the data owner and NN owner exchange transformation compatibility information to ensure their respective data and NN parameters can be consistently transformed. This alignment guarantees that all operations in the transformed space accurately preserve the functionality of the untransformed space. 8. Embodiment 1: Matrix-Only Operations

[0509] Embodiment 1 involves reshuffling with matrix operations and matrix exponentiation within the linear transformation steps. In exemplary applications of neural networks, such as multiple banks collaboratively training a fraud detection model without sharing sensitive customer data, the disclosed methods offer a secure and efficient solution under specific conditions. These methods meet critical requirements such as data privacy, independent verification, and comparable computational burdens, while necessitating trade-offs in activation function choices. As described in Embodiment 1, the approach is most effective when simpler, standard activation functions are agreed upon in advance. Each bank encrypts its transaction data into a reshuffled format, while the neural network provider reshuffles the model parameters, ensuring privacy and enabling zero-trust collaboration. However, the reliance on predefined activation functions limits applicability in scenarios requiring custom or unconventional functions, making these methods ideal for use cases where simple activation functions suffice. The method uses a reshuffling methodology that takes advantage of algebraic groups that preserve neural network linear algebra operations up to a congruence relation for block matrices that extend the neural networks to higher ranks using dummy data.

[0510] Embodiment 1: Introduction and Overview

[0511] Neural networks are having a major impact on all aspects of human life. As their performances (i.e., accuracy, low loss function values, etc.) grow linearly with complexity, and with their size reaching 100 trillion parameters, transfonner-based models may soon be capable of associating significant portions of humanity’s data. As the reach of neural networks extends to everyday life, the security and privacy surrounding the use of neural works must be equally powerful.

[0512] Tire methods disclosed herein may be applied by a single party or multiple parties seeking to keep their data and / or neural network private from each other. Specifically, they may be applied by (1) a data owning entity seeking to share its data for training purposes while keeping it private, (2) a neural network entity seeking to offer a trained neural network without compromising the privacy of a data-owning entity’s training data or a third-party user entity’s input / output data, and (3) a third-party user entity seeking to use a trained neural network without compromising the privacy of its input / output data. Importantly, the methods disclosed herein do not assume the trustworthiness of the neural network entity.

[0513] Tire methods and systems disclosed herein describe encryption processes for both neural networks and input training data, called “reshuffling”. Reshuffling refers to the “shuffling” of matrices representing neural network parameters and operations, as well as both input and output embeddings. Reshuffling (and its reverse operation, “deshuffling”) exploit algebraic groups that preserve linear algebra operations in matrix representations of neural networks and embeddings. In particular, the disclosed methods identify algebraic groups of interest that preserve matrix operations at least to within a congruence equivalence. Such privacy-preserving properties apply specifically for block matrices that are fomred by extending the original matrices to higher ranks using synthetic (i.e., dummy) data, as discussed below. Thus, reshuffling may be a form of encryption, and in some embodiments, the framework of encryption as developed in computer communications may be adopted and extended.

[0514] The encryption methods disclosed permit the implementation of data sovereignty, which allows parties to work to collaborate on machine learning functions like forward propagating and backward propagating without having to trust the other person or party for having followed the correct procedures. Each party may validate that the correct procedures have been done independently of having to trust the other parties, like a “checksum” equivalent for neural nets. Zero-trust means that a first party need not trust a second party for that second party to give the first party an answer, and the second party need not trust the first party to give the first party the second party's data. The parties need not reveal their source data, and yet they are able to validate that any services have been performed correctly.

[0515] In some embodiments, three parties - the party who owns the neural network, the party who provides training data, and the party who deploys in the network - are able to be in a zero-trust relationship unless for expedient reasons. According to the disclosed reshuffling algorithm, the forward propagation and backward propagation are obscured through maintenance, matrix manipulations and adding dummy data, but in a way that ensures not only is the calculation being done correctly, it does it in a way that can be independently performed by every party. Each party can verify that the calculation was performed correctly without ever getting access to the input data that each party brought to the table.

[0516] The methods disclosed herein rely on the observation that neural network training data, weights, and biases do not matter in absolute temrs, as long as the neural network (embodied by its underlying matrix operations) makes correct predictions. That is. a NN responding to transformed input data and transformed weights is as good as a NN where the input data and weights were not transformed, as long as its performance (e.g., accuracy, precision, sensitivity, Fl, loss, etc.) is equivalent. In that sense, the input data and weights do not matter in absolute temrs. For instance, there are many changes of bases - and many more congruences within those bases - where matrix operations are preserved. Given all these degrees of freedom, there is ample opportunity to select the matrix transformations that enable data sovereignty by transforming both the neural network and the training data sets into a reshuffled basis.

[0517] Hence, neural network outcomes that do matter absolutely (i.e., neural network predictions in the reshuffled basis, along with their underlying matrix operations), are preserved. Other neutral network operations (sec, for example, Figs. 5 and 6) arc only preserved up to a congruence relation, as that is all that is needed to make tire neural network predictions in the reshuffled basis, as discussed below. Since the neural network operations are preserved, the reshuffled predictions can be transformed back into the original basis, with all output-resulting predictions preserved.

[0518] Tire disclosed methods focus on classifying a wide class of reshuffling encryption schemes. In some embodiments, to balance cost tradeoffs, specific choices of matrix groups such as skew-symmetric matrices, orthogonal matrices, or circulant matrices may improve computational efficiency. In other embodiments, unitary matrices or finite cyclic groups may also be used, and are within the scope of the disclosed methods.

[0519] Note that "encryption" and “decryption” operations may also be equivalently referred to as “reshuffling” and “deshuffling” herein, as discussed below. Another term used below in relation to embodiment 2 is “true / untransformed” and “transformed”, whereby an isomorphism is carried out between the untransformed space and transformed space.

[0520] Data-Sovereigntv Enabled Neural Networks

[0521] With respect to data use in the training of neural networks and other Al models, data sovereignty refers to the principle that the data owner should maintain control over their data even when third parties are using it for training, or when the trained neural network is deployed. For example, the data owner should be protected against accidental exposure or intentional extraction of their training data through manipulation of the neural network, or through mere access to it. Similarly, an end user of the neural network should be protected against accidental exposure or intentional extraction of their input or output data through manipulation of the neural network, or through mere access to it.

[0522] Tire main requirements of data sovereignty are hence:

[0523] 1) Creating a barrier to the extraction of training data from the output of a trained neural network by any neural network user (i.e., a third party) (during training: privacy of training data to 3rd party NN user),

[0524] 2) Creating a barrier to access to training data by the neural network entity itself (during training: privacy of training data to NN entity),

[0525] 3) Enabling a secure way to share training data between a data owner entity and a neural network entity, train the neural network, exchange prompts and outputs between a third party and the neural network entity, while implementing requirements 1) and 2) (during deployment: privacy of 3rd party NN user input / output data to NN entity).

[0526] Neural Network and Data Transformations

[0527] In various embodiments, the methods disclosed herein describe transformations betw een various sets and vector spaces: the training data and prompt (not shown) may said to belong to an input vocabulary / token set, the input embeddings to an input embedding vector space, the reshuffled input embeddings to a reshuffled input vector space, the reshuffled output embeddings to a reshuffled output vector space, and the usable output (not shown) to an output vocabulary / token set (or “normal space”). In particular, tire reshuffling and deshuffling transformations separate tire vector spaces and sets used by the data owner entity (P-) from the vector spaces used by the neural network entity (P+).

[0528] The sections below demonstrate that the methods described herein create a barrier to access to original training or prompt data (represented by the input embeddings) through the use of the reshuffled / trained neural network by the neural network entity (P+). Furthermore, the sections below demonstrate that the methods described herein create a barrier for any third party receiving the reshuffled and trained neural network’s output to access the original training or prompt data (i.e., the input embeddings), thus realizing the goals listed above. The use of a Key Manager (i.e., a trusted third-party entity) may alleviate the bandwidth and computational requirements of data owners, end users, and neural network entities.

[0529] The reshuffling and deshuffling operations, as described in further detail below, operate as an asymmetric key cryptography method for embeddings and enterprise foundation models, where the process includes an initial exchange of data to build the cryptographic keys. The sections below demonstrate that the methods described herein maintain computational efficiency while preserving data privacy. Furthermore, privacy fairness is preserved, whereby each party benefits from an identical approach to privacy protection, and no single party is protected more or less than their counterparts. Moreover, the reshuffling encryption approach disclosed herein works equally for two or more parties that exchange data, with a trusted third party shouldering all the computational burden (e.g., Key Manager), as discussed below.

[0530] Owing to their privacy-enhancing features, the disclosed methods and systems hold the promise to massively expand the scale of emerging services such as “Training-Data-as-a-Service” and “Model-as-a-Service.” Note that although the methods and systems disclosed herein apply to the training and use of neural networks generally, the methods find multiple applications in the realm of digital engineering (DE), where the sharing of data and MBSE models emanating from various entities holds tremendous promise in emerging DE platform applications (see Related Applications above).

[0531] Mutually-Invertible Ordered-Pair Transformation Operations

[0532] In some implementations of tire Integrated Digital Model Platfonn (IDMP), transformation steps to move from untransformed space to transformed space include matrix exponentiations. Matrix exponentiation is applied to enhance data privacy during transmission by encoding data, such as neural network (NN) weights, biases, or input data, into a transformed form. This approach typically involves using matrix exponentiation to obscure the data, with the option of applying logarithmic matrix transformations later to reverse the encoding and retrieve the original values. Exponentials and logarithms offer computationally efficient methods for transforming and reversing the transformation (or encoding and decoding) in a consistent manner.

[0533] . However, these transformation steps are not limited to exponentials and logarithms. A variety of other transfonnations. such as scaling, rotations, and pennutations, can also be applied. Additionally, ordered pairs of matrix-based transformations, such as mappings to kernel and co-kemel spaces, can be selected. Each of these transformations has a corresponding inverse operation (e.g., descaling, counter-rotations, and counter-permutations) that enables recovery' of the original data from the transfonned fonn.

[0534] This flexibility allows both the neural network owner and the data owner to select from a broader set of ordered pairs of matrix-based transformations that, when applied together in the transformed space, yield a net effect of unity or zero as appropriate. Indeed, any such invertible transformation is within the scope of the present invention. This approach enables the use of privacy-preserving transformations that align with specific system requirements, providing a customized solution for data protection.

[0535] Linear Transformations of Vectors

[0536] The training of neural networks may be viewed as the manipulation of data (e.g., input data, neural network weight data, training data), which may be transformed in order to encrypt information. A subset of such transformations benefit from the tools of linear algebra and group theory. Data (e.g., input data, training data) may be represented as data objects. In some embodiments, such data objects are vectors. In some embodiments, the vectors may be real -valued; in other embodiments, tire vectors may be complex-valued. In other embodiments, such data objects are matrices. In still other embodiments, such data objects are tensors. Although this disclosure discusses data objects as vectors, it would be apparent to those skilled in the art to extend the principles disclosed to matrices, tensors, and other data objects as well.

[0537] In some embodiments, vectors of dimension n may be transformed into vectors of dimension m. In some embodiments, dimensions n and m are equal. In other embodiments, dimensions n and m are not equal. In some embodiments, the transfonnation of a vector is invertible. In other embodiments, the transformation of a vector is non-invertible.

[0538] In some embodiments, the transformation of a vector is linear. In other embodiments, the transfonnation of a vector is non-linear. Tire linear transformations of vectors may be succinctly described using matrices. In general, such vectors and matrices may contain real numbers, complex numbers, or other fields. A linear transformation is a function that preserves vector addition and scalar multiplication. When representing a linear transformation using matrices, each vector is typically arranged as a column vector, and the transformation is defined by multiplying the matrix with the input vector. Given a linear transformation T, which takes an n-dimensional vector as input and outputs an m-dimensional vector, the transfonnation can be represented as:

[0539] T(x) = Ax where x is the input vector, A is an mxn matrix, and T(x) is the transformed output vector. The matrix A encapsulates the properties of the linear transformation, and can be viewed in two ways: ( I) the ith' entry in the resulting vector T(x) is the inner product (or dot product) of the ithrow of A with the input vector x, and (2) the resulting vector T(x) is the linear combination of the n columns of A, weighted by the corresponding entries of input vector x.

[0540] Matrices allow for the concise representation of various linear transformations, including rotations, scalings, shears, reflections, and projections. Each transformation can be associated with a specific matrix, and applying that matrix to a vector will yield the transformed vector. The properties of the matrix A can provide insights into the linear transformation. For example, tire rank of A determines the dimension of the vector space that the transformation maps to. The null space of A represents the set of vectors that are mapped to the zero vector by the transformation.

[0541] The linear transformation of vectors distributes over addition and subtraction and commutes with scalar multiplication. In particular, for any vectors x, and x2. scalars C1and C2. and linear transformation A:

[0542] Invertible Transformations

[0543] Some transfonnations T represented by matrix A are invertible: Given an output vector y, where y = Ax. the input vector x may be recovered. When matrix A is a square matrix, this is achieved by transforming y by the inverse of and I is tire identity' matrix. Similar principles may be applied when A is not a square matrix. For example, when an input vector x of dimension n is transfonned by an mxn matrix A to obtain an output vector y of dimension m, where m is greater than n, i.e., y = Ax, x may be recovered given y.

[0544] Asymmetric Privacy-Preserving Key Encryption

[0545] A novel encryption method for both neural networks and input training data, called “reshuffling,” is disclosed. In particular, reshuffling takes advantage of algebraic groups that preserve neural network linear algebra operations up to a congruence relation for block matrices that extend the neural networks to higher ranks using dummy data. The method may be applied by a single party or multiple parties seeking to keep their data and / or neural network private from one another. Through specific choices of matrix groups, e.g., unitary matrices, finite cyclic groups, may improve computational efficiency, this disclosure focuses on classifying all reshuffling encryption schemes.

[0546] Consequently, various neural networking training information, such as inputs, weights, and biases, do not matter absolutely. There are many candidate changes of bases (and many more congruences within those bases) where matrix operations, which do matter absolutely, are preserved. Given all these degrees of freedom, the present invention allows selection of a basis that enables data sovereignty.

[0547] An embodiment of the invention uses the asymmetric key encryption combined with matrix transformations of embeddings to provide a means for performing various tasks, such as digital engineering, in a lossless way that maintains data sovereignty. Furthermore, the asymmetric key- cryptography presented herein for embeddings and enterprise foundation models may extend beyond merely a digital engineering platfonn. Industry is moving to multiple LLM deployments, and security for tokenization through matrix transformations may be a powerful tool in that revolution.

[0548] Embodiment 1: Mathematical Glossary

[0549] Below is a non-exhaustive glossary for variables, functions, objects, and other terms used herein:

[0550] 1. Subscripts: a. Tire subscripts in for the weights of an unencrypted neural network, include 0 indicating no encryption, with an encryption key of 7, the identity matrix, and i representing the i-th layer of the neural network, b. The subscripts in for the weights of an encrypted neural network, with Ω indicating encryption, with an encryption key of Q. the expansion matrix, and i representing the i-th layer of the neural network.

[0551] 2. an unencrypted neural network, having weights W, biases b, and activation function δ , as well as loss function, cost function, and learning rate (not shown in Eqn. (AO)), as defined further below. (AO) where y = z = output vector, δ = activation function, W = weights matrix, b = biases vector, and = input vector, see for example Figs. 13 and 14. 3. : weights represented by row r X column c matrices over the field of complex numbers, of a neural network . biases, represented by rank c vectors, of a neural network N

[0552] 5. a (complex) activation function, of a neural network

[0553] 6. a (complex) loss function, of a neural network

[0554] 7. a (complex) cost function, of a neural network

[0555] 8. i (complex) learning rate, of a neural network

[0556] 9. a state vector progressing through a neural network

[0557] 10. ρ: a rho-function, an invertible complex function

[0558] 11. Q encryption Q-operators, a set of non-singular (invertible) operator functions associated with the weights, the biases, and the activation function, that serve as encryption keys, satisfying a specific set of properties f2 omega-operators, a set of complex matrices

[0559] 13. sigma-operators, a set of complex operator matrices

[0560] 14 R -operators, a set of complex operator matrices

[0561] 15. expanded and encrypted R -operators, based on R-operators

[0562] , and encryption Q-operators Q .

[0563] 16. sigma- rho activation functions, based on an invertible complex function p and a complex activation function δ0,I,i

[0564] 17 an expansion function of a vector (i.e.. weights, biases, activation function, state vector), based on a vector x0,I,iand omega-oper ators f 8. expanded neural network matrices, based on applying an expansion function to a vector δ0,I,ii 19. an encrypted expansion function of a vector (i.c., weights, biases, activation function, state vector), based on a vector an expansion function and ^-operators and R

[0565] 20. encrypted expanded neural network matrices, based on applying an encrypted expansion function to a vector XQ ;.

[0566] 21. encrypted activation functions, which act on linear combinations of encrypted expanded neural network matrices for weights, biases, and state vectors, or equivalently, is applying an encry pted expansion function f for an activation function to the output of applying the activation function to linear combinations of the (unencrypted and unexpanded) weights, biases, and state vectors.

[0567] 22. an encrypted neural network, encry " pting unencry " pted neural network using the expansion functions

[0568] Embodiment 1: Encryption by Reshuffling - An Overview

[0569] In one embodiment, the encry ption process includes a reshuffling method that reshuffles an input matrix w ith a combination of expansion (i.e., augmenting matrices with additional rows and / or columns), linear functions (e.g., block matrices specially selected to preserve neural network operations in the training data block), non-linear functions (e.g., exponentiation), and subsequent decryption in such a manner that both data sovereignty and correctness of a neural network’s forward propagation is preserved, subject to at most a congruence relation. The principal aspects of the reshuffling method are as follows.

[0570] 1. Preprocessing between two parties towards encrypted NN computation involves key generation, data preparation and sharing: a. Each party generates a set of invertible complex functions, along with associated scalars, as seed for encryption. These functions and scalars are then exchanged between the two parties. b. Each party prepares a congruent copy of the set of data they own, which can include weights, biases, and an activation function. The congruent copies of respective input matrices at each party can be used later for verification. c. Each party generates invertible complex matrices (‘h’ matrices) 2. Define cost function and loss functions a. A cost function, which can be different for weights and biases, is modified with the logarithms of scalar values, with either natural logarithms or other select complex numbers as a base. The function is then split into matrices. b. In many implementations, the cost function and the loss function are treated synonymously. In some implementations, a separate loss function can also be similarly defined. 3. Generate encryption keys through left and right expansion block matrices called encryptionR-operators, that are randomly selected while meeting specific criteria for encryption and correctness, using the following selection criteria a. Invertibilitv: Encryption / ?-opcrators are random and invertible. This property enables novel ways of reshuffling and altering the order of the neural network data during encryption. b. Expansion: The subscript, assigned to these encryption A-operators, denotes the expansion block of a matrix. Their role as expansion matrices allows a smaller matrix to be transformed into a larger one, contributing complexity and security to the encryption process. c. Kernel Requirement: During the encryption process, the encryption / i-operators must satisfy certain Kernel requirements, meaning certain submatrices when multiplied must equate to zero. The kernels represent the vector space in which random matrices need to be generated. d. Inverse Requirement: During the encryption process, the encryption A-operators must satisfy certain inverse requirements, meaning certain submatrices when multiplied must equate to tire identity matrix in the block for the training data. Tire inverse requirement will apply to the random block matrices that need to be generated. e. Equivalence Class Preservation: The encryption / ?-opcrators assist in preserving equivalence classes between different mathematical spaces. This function ensures that addition and multiplication operations in the altered 'expanded' space correspond to the original 'unexpanded' space even though they're being carried out differently. f. Exponentiation: There are parts of the encryption process where encryption -operators are exponentiated. This step provides additional encryption strength and further obscures the original data from potential decryption attempts. g. Separate Encryption Steps: Encryption 7?-operators facilitate 'split-key' encryption by allowing for the transactional exchange of certain encrypted information between two parties. Each party can generate independent encryption / ?-opcrators. adding an extra layer of security to the encryption model. h. Roles in both forward and back propagation: encryption / -opcrators are used during the backpropagation process. They are involved in the alteration of error functions, allowing for the calculation of changes in tire gradients of error functions to be related to the changes in weights and biases in the original neural network. i. Independent verification: The reshuffling method along with the choices of encryption R-operators as defined above, allows for either party to independently verify the computations. j. Ease of decry ption: Decryption can occur by the party that owns their copy of the encrypted neural net, providing a high degree of control. This property is paramount to the proposed encryption scheme. 4. Exchange of a subset of encryption / ^-operators as keys with the counterparty 5. Encrypt through expansion and exponentiation a. Data expansion: Application of the left and right block matrices transforms the neural network into an expanded, encrypted space b. Data Exponentiation and Key Encryption: Exponential encryption is applied to weights and biases, using the earlier exchanged scalars. This data is then sent to the other party. c. Activation Function and Cost Function Encryption: The same process of exponentiation and encryption is repeated for the activation and cost functions. 6. Evaluation (NN forward propagation) a. Encryption (“Reshuffling”)

[0571] During forward propagation, the encrypted data from the data owner entity is input to the encrypted neural network and the encrypted neural network performs the computations to provide an encrypted output. b. Decryption (“Deshuffling”) At the end of forward propagation operations, the output of the encrypted neural network is shared with the data owner entity. With data owner keys, the data owner entity is able to decrypt the encrypted output. Training (Iterative NN forward propagation + NN back propagation) a. Encryption (“Reshuffling")

[0572] During forward propagation, the encrypted data from the data owner entity is input to the encrypted neural network and the encrypted neural network performs the computations to provide an encrypted output. During back propagation operations, further computations on the encrypted loss function and encrypted neural network gradients relative to Weights and biases are performed, in order to train the encrypted neural network. b. Decryption (“Deshuffling")

[0573] At the end of forw ard propagation operations, the output of the encrypted neural network is shared with the data owner entity. With data owner keys, the data owner entity is able to decrypt the encrypted output. During back propagation operations, the data owner shares encrypted expectation value of the data as well. The neural network owner shares encrypted gradients with the data owner to decrypt at their end. Both neural network owner and data owner are able to independently perform back propagation operations for independent verification. Symmetric Protections: The proposed reshuffling method ensures that each party has the same degree of protection and control over the data, maintaining symmetry throughout the process, and has similar computational burden. Security Assurance: The proposed encryption process is secure as it resets with each operation, keeping the true biases hidden from both parties. No party has better security, ensuring fairness. Alternative options a. While tire implementation of left and right split-key expansion matrix approach is most general for encryption, there are select matrices within the group that can be selected for further improvements b. Additional requirements placed on encryption R-operators (e.g., as skew-symmetric matrices, orthogonal matrices) can further improve the computational performance c. Unitary matrices are another implementation that can be used for encryption but without expansion.

[0574] Below, the most generic implementation for encrypting neural networks is disclosed, including expansion, encryption with linear transformation and reshuffling, and non-linear encryption options with exponentiation, with specific choices of direction of exponentiation and options to make logarithms easier. Of these choices, skew-symmetric and orthogonal matrix choices, or circulant matrix choices, offer better computation efficiency. An example implementation shows how the computation burden is similar across two parties and allows for independent verification. These present options for “model as a service” and “training data as a service” application. Note that encryption while minimizing compute overhead is a major challenge. The following specific exemplary types of matrices offer efficient inverse operations and are possible for encryption keys: unitary matrices within the clas...

Claims

ClaimsWhat is claimed is:

1. A method for neural network (NN) propagation, through a NN owned by a NN owner, of confidential data owned by a data owner, comprising: generating a data owner private transformation key, wherein the data owner private transformation key is kept confidential by the data owner; transforming the confidential data from a true space into transformed data in a transformed space using the data owner private transformation key: generating a shared transformation key, wherein the shared transformation key is necessary for the NN owner to propagate the transfonned data through a transformed NN in the transformed space; and transmitting, to the NN owner, the transformed data and the shared transformation key.

2. The method of claim 1, wherein the confidential data comprises input data for forward propagation through the NN, and wherein the method further comprises: receiving, from the NN owner, a transformed output in the transfonned space, wherein the transfonned output was generated by forward-propagating tire input data through the transfonned NN; and de-transforming the transformed output using the data owner private transformation key, to generate de-transformed output data in the true space, wherein the de-transformed output data is equivalent to a true space output generated by forward-propagating the input data through the NN in the true space.

3. The method of claim 1, further comprising: exchanging, with the NN owner, transformation setup data, wherein the transformation setup data is based at least on pre-agreed upon dimensionality data, wherein the transformation setup data provides information required for neural network operations in the transfonned space, wherein neural network operations perfonned in the transfonned space are transformed operations that preserve corresponding neural network operations performed in the tme space up to a predetermined error threshold.

4. The method of claim 3, further comprising: sending, to the NN owner, a transformation operator based at least on the transformation setup data, wherein the transformation operator is configured to perform transformed NN operations in the transfonned space.

5. The method of claim 3, further comprising: exchanging, with the NN owner, an activation function, wherein the activation function is based at least on the transformation setup data, and wherein the activation function is required to perform transfonned NN operations in the transformed space.

6. The method of claim 3, wherein the transformation setup data comprises a class of cost functions required to perform transformed NN operations in the transformed space, and wherein the method further comprises generating a cost function based on the class of cost functions of the transformation setup data.

7. The method of claim 1, further comprising: initiating a secure connection between the data owner and the NN owner.

8. A method for neural network (NN) propagation, through a NN owned by a NN owner, of confidential data owned by a data owner, comprising: receiving, from the data owner, transfonned data in a transfonned space, wherein the transfonned data corresponds to the confidential data in a true space: receiving, from the data owner, a shared transformation key necessary for the NN owner to propagate the transfonned data through a transformed NN in the transformed space; transfonning a true NN from a true space into the transformed NN in the transformed space using infomration within the shared transformation key; and propagating the transfonned data through the transformed NN in the transfonned space, wherein the NN owner cannot access a transformed output in the transfonned space generated by propagating the transformed data through the transformed NN.

9. The method of claim 8, wherein the confidential data comprises true input data for forward propagation through the NN, wherein the transfonned data comprises transfonned input data,wherein propagating the transformed data through the transformed NN comprises forw ard-propagating the transformed input data through the transformed NN to generate the transformed output in the transformed space, and wherein the method further comprises sending, to the data owner, the transfonned output in the transformed space.

10. The method of claim 8, wherein the confidential data comprises true training data and true target data for training the NN, wherein the transformed data comprises transformed training data and transformed target data for training the transformed NN, wherein propagating the transformed data through the transformed NN comprises backpropagating one or more data points of the transformed training data and the transformed target data through the transformed NN in the transformed space, to generate one or more transformed error gradients in the transformed space, and wherein the method further comprises: training the NN using tire one or more transformed error gradients in the transformed space to generate a transformed trained NN; and de-transforming the transformed NN by reversing the transforming of the true NN using information within the shared transformation key received from the data owner, to generate a trained NN in the true space.

11. A method for neural network (NN) propagation, through a NN owned by a NN owner, of confidential data owned by a data owner, comprising: receiving, from the NN owner, a transformed NN in a transformed space, wherein the transformed NN corresponds to a true NN in a true space; transforming the confidential data from a true space into transformed data in the transformed space; and propagating the transfonned data through the transformed NN in the transformed space, wherein the data owner cannot access a transfonned output in the transfonned space generated by propagating the transformed data through the transformed NN.

12. The method of claim 11, wherein the confidential data comprises true input data for forward propagation through the NN, wherein the transfonned data comprises transfonned input data,wherein propagating the transformed data through the transformed NN comprises forw ard-propagating the transformed input data through the transformed NN to generate the transformed output in the transformed space, and wherein the method further comprises: generating a data owner private output transfonnation key, wherein the data owner private output transformation key is kept confidential by the data owner: locking, using the data owner private output transformation key, the transformed output, to generate a locked transformed output, wherein a de-transformation of the locked transformed output from the transformed space to the true space preserves the locking in the true space and does not prevent a subsequent unlocking in tire true space; transmitting, to the NN owner, the locked transfonned output: receiving, from the NN owner, a locked de-transformed output; and unlocking the locked de-transformed output, using the data owner private output transformation key, to generate a de-transformed output data, wherein the de-transformed output data is equivalent to a true space output generated by forward-propagating the true input data through the NN in the true space.

13. The method of claim 11 , wherein the confidential data comprises true training data and true target data for training the NN. wherein the transformed data comprises transformed training data and transformed target data for training the transformed NN, wherein propagating the transformed data through the transfonned NN comprises backpropagating one or more data points of the transformed training data and the transformed target data through the transformed NN in the transformed space, to generate one or more transfonned error gradients in the transformed space, and wherein the method further comprises: training the transformed NN using the one or more transformed error gradients in the transformed space to generate a trained transfonned NN, wherein the data owner cannot de-transform the transformed NN or access a transfonned output of the trained transfonned NN in the transfonned space without a NN owner private transfonnation key; and transmitting the trained transfonned NN to the NN owner.

14. A method for neural network (NN) propagation, through a NN owned by a NN owner, of confidential data owned by a data owner, comprising: generating a NN owner private transformation key, where the NN owner private transformation key is kept confidential by the NN owner; transforming a true NN from a true space, using the NN owner private transformation key, to generate a transformed NN in a transformed space; and transmitting, to the data owner, the transformed NN.

15. Tire method of claim 14, wherein the confidential data comprises true input data for forward propagation through the NN, and wherein the method further comprises: receiving, from the data owner, a locked transformed output of the transformed NN in the transformed space; de-transforming, using the NN owner private transformation key, the locked transformed output, to generate a locked de-transformed output in the true space, wherein the NN owner cannot access the locked de-transfonned output without a data owner private output transformation key; and transmitting, to the data owner, the locked de-transfonned output.

16. The method of claim 14, wherein the confidential data comprises true training data and true target data for training the NN, wherein the true training data and true target data were transformed by the data owner, to generate transformed training data and transformed target data, and wherein the method further comprises: receiving, from the data owner, a trained transformed NN, wherein the trained transformed NN was trained by the data owner in the transformed space using the transformed training data and transformed target data, and wherein the NN owner has no access to the transformed training data and the transformed target data used for training the trained transformed NN; and de-transforming the trained transformed NN using the NN owner private transfonnation key, to generate a trained NN in the true space.

17. One or more non-transitory storage media having computer-executable program code, the program code executable by a hardware processor, the program code when executed, causing the processor to execute a process for utilizing a neural network (NN) between a data owner having untransformed data and a NN owner having a private NN, tire program code comprising code to: initiate a secure connection between the data owner and the NN owner; exchange, with the NN owner, transformation compatibility data, wherein the transformation compatibility data is based at least on pre-agreed upon dimensionality data, wherein the transformation compatibility data provides information required for neural network operations in a transformed space, wherein neural network operations performed in the transformed space are transformed operations that preserve corresponding neural network operations performed in an untransformed space up to a predetennined error threshold: exchange, with the NN owner, an activation function, wherein the activation function is based at least on the transformation compatibility data; generate a data owner private transformation key based at least on the transformation compatibility data, wherein the data owner private transformation key is configured to transform the untransformed data from the untransformed space into transformed data in the transformed space, and wherein the data owner private transformation key is kept confidential by the data owner; transform the untransformed data utilizing at least the data owner private transformation key to generate the transformed data in the transformed space; generate a shared transformation key, wherein the shared transformation key is necessary for the NN owner to propagate the transformed data through the transformed NN in the transformed space; and send, to the NN owner, the transformed data and the shared transformation key necessary for tire NN owner to propagate the transformed data through the transformed NN in the transformed space.

18. The one or more non-transitory storage media of claim 17, wherein the transformed data is generated using the transformation compatibility data and the data owner private transformation key.

19. The one or more non-transitory storage media of claim 17, wherein the shared transformation key comprises shared hidden layer transformation data generated based at least on tire transformation compatibility data and the data owner private transformation key.

20. The one or more non-transitory storage media of claim 17, wherein the data owner private transformation key comprises a set of random matrices, and wherein at least one individual data entry within tire set of random matrices is a non-zero entry generated by the data owner using a random number generator.

21. The one or more non-transitory storage media of claim 17. wherein the untransformed data is untransformed input data for forward propagation through the transformed NN, wherein the transformed data is transformed input data, and wherein the program code comprises code to: receive, from the NN owner, transformed output data, wherein the transformed output data comprises output from a transfonned NN in the transfonned space in response at least to the transformed input data: and generate a de-transformed output in tire untransformed space from the transformed output data by de-transforming the untransformed data using the data owner private transformation key.

22. Tire one or more non-transitory storage media of claim 17, wherein the program code comprises code to: send, to the NN owner, a transformation operator based at least on the transformation compatibility data, wherein the transformation operator is configured to perform transformed NN operations in the transformed space.

23. Tire one or more non-transitory storage media of claim 22, wherein the transformed NN has been transformed using the transformation compatibility data, the activation function, the shared transformation key, and the transfonnation operator.

24. The one or more non-transitory storage media of claim 17, wherein the activation function is a transformed activation function, and wherein the program code further comprises code to generate the transformed activation function from an untransformed activation function through a series expansion using the transfonnation compatibility data and the data owner private transformation key.

25. The one or more non-transitory storage media of claim 24, wherein the transformation compatibility data comprises one or more multivariate terms within the transformed activation function to define a transformation of the untransformed activation function.

26. The one or more non-transitory storage media of claim 24, wherein a noise component is embedded within the transformed activation function by adding it to the untransformed activation function prior to tire series expansion.

27. The one or more non-transitory storage media of claim 26. wherein the noise component is a bounded differentiable noise function.

28. The one or more non-transitory storage media of claim 17, wherein the transformation compatibility data comprises at least dimensions of the untransformed data, a location of a bias vector within tire private NN, one or more dimensions of the private NN, a class of activation functions, and an error transformation key.

29. The one or more non-transitory storage media of claim 17, wherein transforming the untransformed data to generate the transformed data comprises one or more of a matrix expansion, a matrix right-multiplication, and a matrix exponentiation.

30. The one or more non-transitory storage media of claim 17, wherein transforming the untransformed data to generate the transformed data comprises: expanding an untransformed data matrix using an expansion matrix associated with the data owner private transformation key to generate an expanded untransformed data matrix; right-multiplying the expanded untransformed data matrix using a multiplication matrix associated with the data owner private transformation key to generate a multiplied untransfomied data matrix; and exponentiating the multiplied untransformed data matrix using an exponentiation matrix associated with the data owner private transformation key to generate a transformed data matrix.

31. Tire one or more non-transitory storage media of claim 30, wherein the exponentiating the multiplied untransformed data matrix uses an element-wise matrix exponentiation.

32. The one or more non-transitory storage media of claim 30, wherein the exponentiating the multiplied untransformed data matrix uses a row-column matrix-wise matrix exponentiation.

33. Tire one or more non-transitory storage media of claim 17, wherein the transformation compatibility data comprises a class of cost functions.

34. The one or more non-transitory storage media of claim 33, wherein the program code further comprises code to generate a cost function based on the class of cost functions of the transformation compatibility data.

35. The one or more non-transitory storage media of claim 34, wherein the untransformed data comprises target data and a training data set, wherein the transformed data comprises a transformed target data and a transformed training data set, and wherein the program code further comprises code to: transform the cost function through a series expansion using tire transformation compatibility data and the data owner private transformation key, to generate a transformed cost function; and send, to the NN owner, the transformed cost function.

36. Tire one or more non-transitory storage media of claim 35, wherein the program code further comprises code to: identify, through an exchange with the NN owner, at least one locked data point of the transformed target data and the transformed training data set; receive, from the NN owner, a locked gradient associated with the at least one locked data point: generate a partially unlocked gradient from the locked gradient, using at least tire data owner private transformation key; and send, to the NN owner, tire partially unlocked gradient to enable the unlocking of the gradient associated with the at least one locked data point for backpropagation.

37. One or more non-transitory storage media having computer-executable program code, the program code executable by a hardware processor, the program code when executed, causing the processor to execute a process for utilizing a neural network (NN) between a data owner having untransformed data and a NN owner having a private NN, the program code comprising code to: initiate a secure connection between the data owner and the NN owner; exchange, with the data owner, transformation compatibility data, wherein the transformation compatibility data is based at least on pre-agreed upon dimensionality data, wherein the transformation compatibility data provides information required for neural network operations in a transformed space, wherein neural netw ork operations performed in the transformed space arc transformed operations thatpreserve corresponding neural network operations perfonned in an untransformed space up to a predetermined error threshold; exchange, with the data owner, an activation function, wherein tire activation function is based at least on the transfonnation compatibility data; receive, from the data owner, transformed data and a shared transformation key necessary for the NN owner to propagate the transformed data through a transformed NN in the transformed space; and transform the private NN using the transformation compatibility data to generate a transformed NN.

38. Tire one or more non-transitory storage media of claim 37, wherein the program code comprises code to: receive, from the data owner, a transformation operator based at least on the transformation compatibility data, wherein the transformation operator is configured to perform transformed NN operations in the transformed space.

39. The one or more non-transitory storage media of claim 38, wherein the transfonned NN has been transformed using the transfonnation compatibility data, the activation function, the shared transformation key. and the transformation operator.

40. The one or more non-transitory storage media of claim 37, wherein the activation function is a transfonned activation function generated from an untransformed activation function through a series expansion using the transfonnation compatibility data and a private transformation key generated by tire data owner.

41. The one or more non-transitory storage media of claim 40, wherein the transformation compatibility data comprises one or more multivariate terms within the transformed activation function to define a transformation of the untransformed activation function.

42. The one or more non-transitory storage media of claim 38, wherein the transfonned data is transformed input data for forward propagation through the transformed NN. and wherein the program code comprises code to: generate transformed output data from the transfonned input data using the transfonned NN, the shared transfonnation key and the transfonnation operator, wherein the transformed output datacomprises output from a transformed NN in the transformed space in response at least to the transformed input data; and send, to the data owner, the transformed output data.

43. The one or more non-transitory storage media of claim 38, wherein the transformation compatibility data comprises at least dimensions of the untransformed data, a location of a bias vector within the private NN, one or more dimensions of the private NN, a class of activation functions, and an error transformation key.

44. Tire one or more non-transitory storage media of claim 43, wherein the program code further comprises code to: verify, upon receiving tire transformation compatibility data and the transformation operator, that the transformation operator is consistent with the dimensions of the untransformed data comprised within the transformation compatibility data.

45. The one or more non-transitory storage media of claim 43. wherein transforming the private NN comprises generating an expanded weights and biases matrix through a matrix expansion, wherein the matrix expansion comprises expanding an untransformed weights and biases matrix associated with the private NN using the dimensions of the untransformed data from the transformation compatibility data.

46. Tire one or more non-transitory storage media of claim 45, wherein transforming the private NN further comprises generating transformed weights and biases through a matrix pennutation and a matrix multiplication of the expanded weights and biases matrix, wherein the matrix pennutation comprises a rearrangement of rows of a matrix according to a specific permutation sequence, and wherein the matrix multiplication is one of term-wise multiplication and row-column matrix multiplication.

47. The one or more non-transitory storage media of claim 46, wherein the transformed data comprises transfonned target data and a transformed training data set, and wherein the program code further comprises code to: receive, from the data owner, a transfonned cost function required to train the transfonned NN in the transformed space.

48. The one or more non-transitory storage media of claim 47. wherein the program code further comprises code to: perfonn backpropagation through the transfonned NN using a plurality of data points of the transformed target data and the transformed training data set, the transformed cost function, the shared transformation key, and the transformation operator, to generate a plurality of error terms in the transformed space corresponding to the plurality of data points; generate a plurality of unlocked gradients using the plurality of error terms, wherein the plurality of unlocked gradients are unlocked based on a generation of a private transfomiation key by the data owner; update tire transformed weights and biases using the plurality of unlocked gradients; and generate a trained transformed NN using the updated transformed weights and biases.

49. Tire one or more non-transitory storage media of claim 47, wherein the program code further comprises code to: identify, through an exchange with the data owner, at least one locked data point of the transformed target data and the transformed training data set; perform backpropagation through the transformed NN using the at least one locked data point, the transformed cost function, the shared transformation key, and the transformation operator, to generate at least one error term corresponding to the at least one locked data point in the transformed space; generate at least one locked gradient based on the at least one error term, wherein the at least one locked gradient is locked based on a generation of a private transformation key by the data owner: send, to the data owner, the at least one locked gradient associated with the at least one locked data point; receive, from the data owner, at least one partially unlocked gradient associated with the at least one locked data point; generate at least one unlocked gradient from the at least one locked gradient using at least the error transformation key; update tire transformed weights and biases using the at least one unlocked gradient; and generate a trained transformed NN using the updated transformed weights and biases.

50. Tire one or more non-transitory storage media of claim 37, wherein tire transformed NN is generated by the NN owner within a NN agent exclave accessible from a data owner’s network, andwherein the NN agent exclave is a secure data storage configured to host the transformed NN and accessible on a permissioned-basis for data exchange.

51. Tire one or more non-transitory storage media of claim 50, wherein the program code to transform tire private NN comprises program code to securely transmit session-specific configuration information of the transformed NN to the NN agent exclave using a dedicated secure connection.

52. The one or more non-transitory storage media of claim 51, wherein the session-specific configuration information of the transformed NN comprises one of a NN model architecture, a NN hyperparameter, and a NN data schema.

53. The one or more non-transitory storage media of claim 48. wherein the program code comprises code to: generate a de -transformed weights and biases matrix by reversing the matrix expansion, the matrix permutation, and / or a matrix exponentiation performed during the transforming of the private NN, and using at least the transformation compatibility data, and generate a de-transformed trained NN in the untransformed space based on the de-transfonned weights and biases matrix.

54. The one or more non-transitory storage media of claim 53, wherein the program code comprises code to: initiate a new secure connection between a new data owner and the NN owner; receive, from the new data owner, new transfonnation compatibility data, wherein the new transformation compatibility data provides information required for neural network operations in a new transformed space: receive, from the new data owner, a new activation function, wherein the new activation function is based at least on the new transfonnation compatibility data; receive, from the new data owner, new transformed data and a new shared transformation key necessary for the NN owner to propagate the new transformed data through a new transformed trained NN in the new transformed space; and transform the de-transformed trained NN from the untransformed space to the new transformed space using the new transformation compatibility data to generate the new transformed trained NN.

55. One or more non-transitory storage media having computer-executable program code, the program code executable by a hardware processor, the program code when executed, causing the processor to execute a process for utilizing a neural network (NN) between a data owner having untransformed data and a NN owner having a private NN, tire program code comprising code to: initiate a secure connection between the NN owner and the data owner; exchange, with the data owner, transformation compatibility data, wherein the transformation compatibility data is based at least on pre-agreed upon dimensionality data, wherein the transformation compatibility data provides information required for neural network operations in a transformed space, wherein neural network operations performed in the transformed space are transformed operations that preserve corresponding neural network operations performed in an untransformed space up to a predetennined error threshold: exchange, with the data owner, an activation function, wherein the activation function is based at least on the transformation compatibility data; generate a NN owner private transformation key based at least on the transformation compatibility data, wherein the NN owner private transformation key is configured to transform the untransformed NN from the untransformed space into a transformed NN in the transformed space, and wherein the NN owner private transformation key is kept confidential by the NN owner; transform the private NN utilizing the transformation compatibility data and the NN owner private transformation key to generate the transformed NN in the transformed space: and send, to the data owner, the transformed NN.

56. The one or more non-transitory storage media of claim 55, wherein the NN owner private transformation key comprises a set of random matrices, and wherein at least one individual data entry within the set of random matrices is a non-zero entry generated by the data owner using a random number generator.

57. Tire one or more non-transitory storage media of claim 55, wherein the activation function is a transformed activation function, and wherein the program code further comprises code to: generate tire transformed activation function from an untransformed activation function through a series expansion using the transformation compatibility data and the NN owner private transformation key.

58. Tire one or more non-transitory storage media of claim 55, wherein the transformed NN comprises transformed weights and biases generated through one or more transformation steps using thetransformation compatibility data, wherein the one or more transformation steps comprise one of a matrix expansion, a matrix multiplication, and a matrix exponentiation.

59. Tire one or more non-transitory storage media of claim 55, wherein the program code comprises code to: send, to the data owner, a transfonnation operator based at least on the transformation compatibility data, wherein the transformation operator is configured to perform transformed NN operations in the transformed space.

60. One or more non-transitory storage media having computer-executable program code, the program code executable by a hardware processor, the program code when executed, causing the processor to execute a process for utilizing a neural network (NN) between a data owner having untransformed data and a NN owner having a private NN, the program code comprising code to: initiate a secure connection between the data owner and the NN owner; exchange, with tire NN owner, transformation compatibility data, wherein the transfonnation compatibility data is based at least on pre-agreed upon dimensionality data, wherein tire transformation compatibility data provides information required for neural network operations in a transformed space, and wherein neural network operations performed in the transformed space are transformed operations that preserve corresponding neural network operations performed in an untransformed space up to a predetermined error threshold; exchange, with the NN owner, an activation function, wherein tire activation function is based at least on tire transformation compatibility data; and receive, from the NN owner, a transformed NN, wherein the transformed NN was generated in the transformed space by transforming the private NN from the untransformed space using the transformation compatibility data and a NN owner private transformation key generated by the NN owner.

61. Tire one or more non-transitory storage media of claim 60, wherein the activation function is a transformed activation function generated by tire NN owner.

62. The one or more non-transitory storage media of claim 60. wherein the program code comprises code to: receive, from the NN owner, a transformation operator based at least on the transfonnation compatibility’ data, wherein tire transformation operator is configured to perform transfonned NN operations in the transformed space.

63. The one or more non-transitory storage media of claim 62, wherein the untransformed data is untransformed input data for forward propagation through the transformed NN, and wherein the program code comprises code to: transform the untransfonned input data by applying a set of matrix operations using the transformation compatibility data, to generate transformed input data in the transformed space; generate transformed output data from the transformed input data using the transformed NN, the activation function, and the transformation operator, wherein the transformed output data comprises output from the transformed NN in the transformed space in response at least to the transformed input data; generate locked transformed output data from the transformed output data using a private output transformation key; send the locked transformed output data to the NN owner; receive, from the NN owner, locked untransformed output data, wherein the locked untransformed output data was generated by the NN owner from the locked transformed output data by reversing the transforming of the untransformed input data using the NN owner private transformation key; and generate untransfonned output data in the untransformed space from the locked untransformed output data using the private output transformation key.

64. Tire one or more non-transitory storage media of claim 63, wherein the set of matrix operations comprise generating an expanded untransfonned input data matrix through a matrix expansion, wherein the matrix expansion comprises expanding an untransformed input data matrix using one or more dimensions of the private NN from the transformation compatibility data.

65. The one or more non-transitory storage media of claim 64, wherein the set of matrix operations further comprise generating the transformed output data through a matrix permutation and a matrix multiplication of the expanded untransfonned input data matrix, wherein a matrix permutation comprises a rearrangement of columns of a matrix according to a specific permutation sequence, and wherein a matrix multiplication generates a product matrix, a product vector, or a product scalar, by multiplying elements of a first matrix with elements of a second matrix in a specific pattern.

Citation Information

Patent Citations

  • Systems and Methods for Improved Generalization, Reproducibility, and Stabilization of Neural Networks via Error Control Code Constraints

    US20190258936A1

  • Depth-constrained knowledge distillation for inference on encrypted data

    US20210397988A1

  • Training method and apparatus for neural network model, device and storage medium

    US20230186102A1