Providing interpretable machine learning model results using distributed ledgers
By using distributed ledger technology in machine learning models to record and track input data, results, and model interpretations, the issues of interpretability and traceability of model results are resolved, achieving transparency and auditability of model decisions and meeting the requirements of secure AI and regulatory oversight.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-16
- Publication Date
- 2026-04-10
AI Technical Summary
Existing machine learning models suffer from interpretability and traceability issues due to their complexity and dynamism, making it difficult to verify and explain model decisions, especially after the model has matured and it is difficult to track and verify the rationality of its output.
By using distributed ledger technology in the process of machine learning models, input data, model results, training data and model interpretations are recorded and tracked, generating immutable distributed traces, providing reproducible and interpretable model results, and leveraging blockchain technology to ensure the immutability and traceability of data.
It achieves interpretability and reproducibility of machine learning model results, enabling the verification and interpretation of its output after the model matures, meeting the requirements of safe AI and regulatory requirements, and providing transparency and auditability of model decisions.
Smart Images

Figure CN116601644B_ABST
Abstract
Description
BACKGROUND
[0001] The present disclosure relates generally to providing explainable machine learning model results. The present disclosure relates specifically to providing explainable machine learning model results during maturation of the machine learning model.
[0002] Machines are becoming intelligent. These machines serve humans in an intelligent manner through an intangible interface, cognitive devices that are able to communicate with humans in natural language, and also through tangible interfaces, robots or other tangible interfaces. Cognitive interfaces have machine intelligence and have the ability to process input data and also are able to obtain additional information from resources for more appropriate processing in communication with other devices.
[0003] Modern sophisticated artificial intelligence (AI) techniques, such as deep learning and genetic algorithms, are naturally opaque. AI systems actively rely on training corpora and learn from them to judge in a more natural way. This ongoing learning improves the performance of the AI system day by day based on more associated learning and history. Sometimes, AI systems learn undesirable classification paths due to the complexity of the machine learning (ML) model. These undesirable classification paths lead to explainability issues of AI results.
[0004] For black-box type ML models, stakeholders cannot explain why the AI came to a particular decision. As a result, there is little data to prove that the information and results generated by the AI system are reasonable. Explainable AI (XAI) refers to methods and techniques in the application of artificial intelligence technology (AI) such that the results of the model can be explained and understood by human experts. XAI provides interpretability and explainability of the ML model results. XAI models generate a number of metadata to provide the necessary explanation and evidence (that can be manually verified) to provide the desired level of confidence in the ML model results to the end user. XAI gives a score that explains how each input factor contributed to the final result of the model prediction. This supports the concept of “safe AI” by which humans can see what is decided within the AI ML model. ML models that do not provide such explanations can not be suitable for business critical decisions.
[0005] In a typical ML model, the primary contributor to the generation of an output or set of outputs is the corpus used to train the model. When the model processes data, it generates results and attaches metadata mapper objects associated with the results to the training corpus. These metadata mapper objects include information derived during the generation of the first set of outputs. As the ML model learns more, it becomes more mature as metadata is backfilled to the training corpus generated as a byproduct of current and previous runs.
[0006] The daily maturation of ML models impacts the output generated by the ML models derived from the evolving index of ML models. Thus, the same input dataset can generate different outputs at different times based on the maturation of the ML models. Moreover, there is no means to retroactively validate or explain the output from the ML models after a period of time due to the changing of the models that are maturing.
[0007] As an example, there is no mechanism to verify and explain how previous results from the ML models satisfy anti-discrimination regulations once the ML models have matured and changed their state. The dynamic state of the ML models changes based on the evolution of the training corpus of the models. Thus, when the ML model decisions are not saved in an appropriate manner, there is no way to audit these decisions after time has passed. Further, there is no way to perform multiple verifications after a significant period of time. There is a mechanism to save intermediate results of the ML models as part of test validation proof, but in the case where there are multiple ML models using a common training corpus, the size of the model results and the training corpus set becomes unmanageable, with multiple intermediate results data generated by each of the multiple ML models. SUMMARY
[0008] The following presents a summary to provide a basic understanding of one or more embodiments of the disclosure. This summary is not intended to identify key or important elements, or delineate any scope of any particular embodiments or any scope of the claims. Its sole purpose is to present concepts in a simplified form as a prelude to the more detailed description that is presented later. In one or more embodiments described herein, an apparatus, system, computer- implemented method, apparatus, and / or computer program product enables providing interpretable and reproducible machine learning model results.
[0009] Aspects of the present disclosure disclose methods, systems, and computer readable media associated with providing reproducible machine learning model results by receiving input data for a machine learning model; processing the input data using the machine learning model; producing an initial result; adding a first block to a distributed ledger, the block including the input data, the initial result, an ML model data structure, and a link to training data for the ML model, wherein the training data resides in a previous distributed ledger block; and providing an output including the initial result. The method provides distributed immutable tracking of ML model evolution and enables auditing and validating past ML model results.
[0010] By receiving input data for a machine learning model, processing the input data using the machine learning model to produce initial results, adding a first block to a distributed ledger, the block including the input data, the initial results, an ML model data structure, and a link to training data for the ML model, wherein the training data resides in a previous distributed ledger block, receiving a result verification request related to the input data, retrieving the input data and the ML model data structure from the first block, processing the input data using the ML model data structure to produce verification results, and providing an output including the initial results and the verification results, aspects of the present invention disclose methods, systems, and computer-readable media associated with providing reproducible machine learning model results. This method provides distributed, immutable tracking of ML model changes and enables the auditing and verification of past ML model results.
[0011] This invention discloses methods, systems, and computer-readable media associated with providing reproducible machine learning model results by receiving input data for a machine learning model, processing the input data using the machine learning model to produce initial results, determining an ML model explanation associated with the initial results, adding a first block to a distributed ledger, the block including the input data, the initial results, the ML model explanation, the ML model data structure, and links to training data for the ML model, wherein the training data resides in a previous distributed ledger block, and providing an output including the initial results and the ML model explanation. Various aspects of this invention disclose methods, systems, and computer-readable media associated with providing reproducible machine learning model results. The method provides distributed, immutable tracking of ML model changes and is capable of interpreting, auditing, and validating past ML model results.
[0012] This invention discloses methods, systems, and computer-readable media associated with providing reproducible machine learning model results by receiving input data for a machine learning model, processing the input data using the machine learning model to produce initial results, adding a first block to a distributed ledger including the input data, the initial results, an ML model data structure, and links to training data for the ML model, wherein the training data resides in a previous distributed ledger block, providing an output including the initial results, updating the ML model using the input data and results to produce a new ML model version, and adding a second block to the distributed ledger, wherein the second block includes tags associated with the new ML model version, the input data, the initial results, the ML model data structure, and links to training data for the previous version of the ML model. Various aspects of this invention disclose methods, systems, and computer-readable media associated with providing reproducible machine learning model results. The method provides distributed, immutable tracking of ML model changes and enables auditing and validation of past ML model results. BRIEF DESCRIPTION OF DRAWINGS
[0013] The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description thereof taken in conjunction with the accompanying drawings, in which like reference characters designate the same components in several views.
[0014] Figure 1 A schematic diagram of a computing environment in accordance with an embodiment of the present application is provided.
[0015] Figure 2 A flow diagram depicting a sequence of operations in accordance with an embodiment of the present application is provided.
[0016] Figure 3 A schematic diagram of a data flow in accordance with an embodiment of the present application is provided.
[0017] Figure 4 A cloud computing environment in accordance with an embodiment of the present application is depicted.
[0018] Figure 5 An abstraction model layer in accordance with an embodiment of the present application is depicted. DETAILED DESCRIPTION
[0019] Some embodiments will be described in greater detail with reference to the accompanying drawings, in which embodiments of the disclosure are shown. The disclosure can be embodied in various ways, however, and therefore should not be construed as being limited to the embodiments disclosed herein.
[0020] The disclosed embodiments address the issues of explainability and reproducibility of machine learning model results. Embodiments enable the re-generation of results produced during early implementations of a model and provide a mechanism to validate time-based ML model outputs. The disclosed embodiments include a blockchain ledger as one of the intermediate components. After receiving input data from different entities such as static and dynamic computing platforms associated with the ML model, the disclosed embodiments create blocks on the blockchain ledger and generate appropriate links to existing blocks in the ledger. The disclosed embodiments include a producer-consumer architecture by means of the blockchain ledger, where the entities participating in the ML model computation are blockchain stakeholders.
[0021] In computing the ML model output for a given set of problems and input information, the producer engine in implementations creates blocks on the distributed ledger and updates the ML model with production signals. In response, the consumer daemon mechanism implemented in the ML model collects the associated training corpus data, or previous ML model versions and node weights, from the ledger and the trained ML model is applied to the input data. The consumers have a clear understanding of the respective stakeholders involved in the computation. The consumer daemon associated with the ledger and ML model writes intermediate results to the ledger. Many ML model implementations face a pass-through architecture where multiple intermediate data structures are generated and published to the ledger.
[0022] In embodiments, the ML model creates blocks on the ledger architecture for intermediate results, tags all participant stakeholders, and saves data associated with the current ML version and output associated with the current input. When the stakeholder data for the input is written directly to the ledger for consumer processing, the training corpus data is collected from existing blocks created during previous runs of the ML model. In acquiring the training corpus, the ML model collects the tags or data location links (tagged data) as well as the actual training corpus data set. The disclosed embodiments create a new ML model version data structure and update the ML model history while preserving older links in the retention object. This preservation of links to older training corpus tags gives the tagged corpus retroactive traceability, enabling the recreation of the ML model when necessary or requested.
[0023] When any ML model needs to be validated after a maturation index change, the disclosed embodiments utilize a special flag (FLAG) of reproducibility that activates the reproducibility of the cognitive system at the consumer instance of the ML model. The consumer daemon at the ML model selects tagged training corpus data on the ledger and traverses the associated time-based stakeholder input data accordingly. Once this input data is collected, the disclosed embodiments extract the training corpus by traversing the ledger tag data structure and following the links based on the execution time of the previous run. The consumer / user and producer daemon refer to the utility portions of the disclosed method. These utility portions perform the disclosed method activities for the consumer / user and producer, respectively. These steps include generating / signing ledger entries associated with inputs and outputs, generating / signing blocks that include relevant ledger entries, requesting output validation, and retrieving and using ML model components necessary for performing validation / auditing.
[0024] The ML model results, audit trail in the ledger, and explanations of the ML model can be verified using the exact same training corpus and ML model data structure used to output the raw results. At each level of confidence in the report / output from the data model, the disclosed method invokes an explanation module. This module creates a block on the blockchain to update the current state of the model and the associated explanations. After providing the decision / output, an audit trail of all data sources used to create the decision, data structure of the ML model used, ML model training corpus, and in- flight confidence explanations, etc. are created. The disclosed method uses a smart contract or manual controls to continuously correct the model and create an audit trail of such adjustments.
[0025] In embodiments, one or more components of the system can employ hardware and / or software to solve highly technical problems in nature (e.g., using a trained machine learning model to process input data, adding a block to a distributed ledger, the block including input data, a machine learning model data structure, intermediate model results, model explanations, and labels modeling locations of training corpora in the distributed ledger, providing model processing results, etc.). These solutions are not abstract and cannot be performed as a set of mental acts by a human due to, for example, the processing power required to facilitate reproducible and interpretable machine learning model results. Further, some of the processing performed can be performed by a special purpose computer for performing a defined task related to interpretable and reproducible machine learning model results. For example, a special purpose computer can be employed to perform tasks related to reproducible and interpretable machine learning model results that are accessible across a distributed ledger to interested parties, etc.
[0026] In embodiments, a method for AI data management and explainability receives input data. The input data relates to an intended use of a trained machine learning model, such as a pass-fail classification based on the current node weights of the model and processing of the input data. The user inputs the data as a ledger entry that links the user, the data, and the producer’s digital signatures. The ledger entry includes the user’s digital signature and the public keys of the user and the producer. In embodiments, the producer receives the input data from the user. In this embodiment, the producer creates the ledger entry and signs the ledger entry.
[0027] The ledger entry includes the input data, the user's public key, the producer's public key, and the producer's digital signature. The ledger entry can include identification data of the user, the producer, or both the user and the producer. The method uses a trained model to process the input data and produce a result, such as a pass or fail classification of the input data. As an example, a simple linear regression model receives a dataset provided as input and generates an output that includes attributes of the input record. The input data and output from the model are captured together as a submitted ledger entry that is consensus-validated by the blockchain users and subsequently added to a new block of the blockchain. Before adding the submitted ledger entry to the ledger, the submitted ledger entry is consensus-based authenticated using a digital signature and an available public key, and the blockchain maintains the integrity of the ledger.
[0028] After determining the result of the input data, the method creates a new block for the distributed ledger, such as a blockchain. The blockchain can be a private blockchain ledger in which the identities of the participants are known to each other, or a more public distributed ledger in which the identities of the participants are shielded. The blockchain can be created using an open source HYPERLEDGER or ETHEREUM blockchain scripting platform or other blockchain platforms. (Note: the terms "HYPERLEDGER" and "ETHEREUM" can be subject to trademark rights in different jurisdictions worldwide, and are used herein solely for the purpose of referring to the products or services appropriately named by the marks to the extent such trademark rights can exist.)
[0029] Each participant has an identification (id), a public-private key pair, and a digital signature. The participant's digital signature can be based on the public-private key pair. The id can include the participant's public key. The combination of the id and the digital signature can be used to authenticate any transaction. In an embodiment, each transaction carries a transaction id, an initiator id, and a digital signature of the initiator encoded using the initiator's private key and the transaction id. The initiator id or the initiator public key can then be used to decrypt the transaction id from the digital signature authenticating the source of the transaction.
[0030] The use of the public-private key pair enables the participants to authenticate entries of the ledger that are made and signed using digital signatures, such as the input data ledger entries signed by the user and the ML model result entries signed by the producer. The entries can be authenticated without knowing the identity of the initiator. In an embodiment, the size of each block is predetermined. When the predetermined size limit is reached, a new block is created that incorporates the hash of the previous block. In this embodiment, the method creates a new block with each result during processing. The method creates a block for each intermediate result and a block for the final result of the processing.
[0031] In one embodiment, the method creates a ledger entry for each intermediate result and creates a new block after determining the final result. The created block includes the identity of the user, the intermediate and / or final result, and the version or data structure of the machine learning model used to achieve the result, such as the current matrix of node weights for the model. The block also includes one or more tags. Each tag provides information about the location of the data used as the training corpus for the current version of the machine learning model. The tag points to a previous block of the distributed ledger in which the training corpus data is stored. The block also includes one or more ledger entries that link the stakeholders of the current result, such as the user entity that provided the input data and the producer entity that holds the ML model and uses the determined result for decisions involving the user entity. The ledger entries include smart contract entries. The smart contract enables each of the user and the producer to verify and reproduce the result using the appropriate version of the machine learning model. In an embodiment, the smart contract further enables the machine learning model to be rebuilt or retrained using the tagged training corpus data retrieved from the previous block of the ledger. The smart contract can include conditions that must be satisfied for the verification of the previous result to be generated. Such conditions can include an agreement from each of the producer and the user to produce the verified result.
[0032] In an embodiment, the method generates an XAI explanation for at least the final result and, in some embodiments, for each intermediate ML model result as well as the final result. The method produces the XAI explanation using an XAI method. The XAI explanation provides information about the relative weight of each piece of input data relative to the determination of the result, thereby explaining the effect each piece of input data had on the result. For example, for a set of input data that includes n data points, the XAI explanation indicates whether each of the n data points positively or negatively contributed to the result, whether each data point added to the determination of the past result that was detracted from the determination of the past result. The XAI explanation further includes the relative weighting of the set of n data points that were most influential and least influential from the highest weighted and the lowest weighted. In this embodiment, the method further includes the XAI explanation data in the block created for the result.
[0033] In an embodiment, each created block includes a hash value derived from all previous blocks of the ledger. In this embodiment, the method uses a hash function, such as SHA-256, to generate the hash value from the previous blocks. In this embodiment, the block is signed using a private key-based digital signature of the producer. Consensus verification of the block occurs by the user and other participants verifying the digital signature using the public key of the producer.
[0034] In an embodiment, the method provides the result determined by the user and the producer as output. The method can also provide the user and the producer with an indication of the ledger entries and blocks that store their result determination transactions.
[0035] Over time, and across the generation of a large number of results, the data structures, such as the ML model node weights, evolve. The method adds each combination of input data and determined result to expand the training corpus of the model. As the training corpus expands, the model data structure evolves, and a new version of the model is created. In embodiments, the method stores each new version with a block that creates an entry in a ledger that includes the model version number and the associated data structure. The entry also includes a label for the expanded training corpus used to derive the new data structure.
[0036] After the evolution or maturation of the ML model data structure, the method adds to the blockchain the appropriate ledger entries and blocks that store the training corpus and the evolution of the ML model data structure. After this addition, a user, producer, or other stakeholder can seek to reproduce and validate a previous result. With the model version and data structure having evolved, reproducing the previous result requires using the model version originally used rather than the current version. The user, producer, or other associated stakeholder can request validation and reproduction of the result due to the associated stakeholder through the relevant ledger entry with the desired result. The stakeholder making the request submits the request signed with their digital signature. In embodiments, the method verifies the digital signature of the request using the public key of the stakeholder.
[0037] After verifying the signature, the method retrieves from the blocks of the blockchain the data relevant to the validation request. The method retrieves from the appropriate blocks the relevant user input data, model version and data structure, training corpus link, original intermediate and final results, and the relevant XAI explanation in order to complete the validation request. Completing the validation request includes reprocessing the input data using the ML model data structure, producing validation intermediate and final results. The method then compares the original and validation intermediate and final results. In embodiments, the method further compares the original and validation XAI explanations. The original and validation results and XAI explanations should be the same as the method using the original, ML version and data structure to process the original input data. The method provides the original and validation results to the validation requester.
[0038] In embodiments, the method processes the retrieved input data using the model according to the retrieved model data structure, and verifies that the retrieved ML model determines the same result(s) and the same explanation(s). In embodiments, the method further retrieves training corpus data using the label. In this embodiment, the method recreates the ML model using the retrieved training corpus to verify that the training corpus produces the retrieved ML model data structure associated with the retrieved model version. The method provides the output of the requested verification to the requester of the verification. In embodiments, the method creates a ledger entry that records the request for verification and the associated output and the result of the verification - a duplicate result, or a non-duplicate verification failure. In embodiments, the method provides notification of the verification request and the output of the requested verification to all stakeholders associated with the result. In this embodiment, all method steps are stored in the associated ledger entry that is incorporated into the next new block.
[0039] The disclosed embodiments enable auditing, verification, and replication of ML model results as a means of meeting regulatory requirements related to the use of ML models for making pass-fail decisions or other uses. The disclosed embodiments provide a copy of the ML model that determines the initial result through the ML model data structure, provide a means of re-creating the ML model data structure using the original data corpus to verify the training, and provide XAI explanations of the model decisions to meet regulatory requirements regarding ML model transparency.
[0040] In embodiments, the producer can manually intervene in the determination of the model result, for example, moving a model determination from a failure to a pass. Such intervention requires a proper digital signature from the producer for the intervention. In embodiments herein, the method verifies the digital signature using the producer’s public key, makes the requested change and tracks the manual intervention and its effect on the model’s data structure. The method stores this effect as a new version of the model in a ledger entry that records the manual intervention and change of the result. The method creates a new block that captures the ledger entry associated with the intervention. The method adds the label to the manual result as part of the training corpus for this version of the model and all subsequent versions. In embodiments, the method adds the label to the ledger entry associated with the intervention.
[0041] In an embodiment, the method uses the manual intervention results and associated input data to retrain the ML model, resulting in a modified version of the ML model and associated modified data structure. The method tags the new ML version and stores the new version, data structure, and training corpus, including effectively tagged input data - input data and manual intervention results. The method generates a new ledger entry and associated new block, including the new version, input data, manual intervention result tag, version tag, indication of manual intervention, etc. The producer signs the new block and submits the new block for consensus validation based on the signature.
[0042] In one embodiment, the method includes one or more application program interfaces (APIs) for stakeholders of the method to provide input data, submit audit or validation requests, and receive output data from the model. The APIs link the stakeholders to the ledger and state machine established using the model and training corpus. The APIs provide a path for user input data and producer direct / manual intervention data to the state machine. The APIs provide a means for generating new ledger entries and new blocks storing model results and tagging model training corpus data locations in previous blocks. The APIs further enable the generation of ledger entry smart contracts linking stakeholders to their collective results.
[0043] Figure 1 A diagram of exemplary network resources associated with practicing the disclosed invention is provided. The invention can be practiced in a processor handling any of the disclosed elements of the instruction stream. As shown, networked client devices 110 are wirelessly connected to server subsystem 102. Client device 104 is wirelessly connected to server subsystem 102 via network 114. Client devices 104 and 110 include application program interfaces (not shown) associated with the disclosed embodiments and sufficient computing resources (processors, memory, network communication hardware) to execute programs.
[0044] In an embodiment, client devices 104 and 110 include users and producers associated with the disclosed system and method. The users and producers connect via network 114 to provide input data, generate results using the ML model, and create, validate, and add blocks to the blockchain.
[0045] As Figure 1 shown, server subsystem 102 includes server computer 150. Figure 1 A block diagram of components of server computer 150 within networked computer system 1000 according to embodiments of the invention is shown. It should be understood that Figure 1 The diagram provided only illustrates one implementation and does not imply any limitation with regard to the environments in which different embodiments can be implemented. Numerous modifications can be made to the depicted environments.
[0046] The server computer 150 can include a processor 154, a memory 158, a persistent storage 170, a communication unit 152, an input / output (I / O) interface 156, and a communication fabric 140. The communication fabric 140 provides communication between the cache 162, the memory 158, the persistent storage 170, the communication unit 152, and the input / output (I / O) interface 156. The communication fabric 140 can be implemented with any architecture designed for passing data and / or control information between processors such as microprocessors, communications and network processors, etc., system memory, peripheral devices, and any other hardware components within a system. For example, the communication fabric 140 can be implemented with one or more buses.
[0047] The memory 158 and the persistent storage 170 are computer readable storage media. In this embodiment, the memory 158 includes a random access memory (RAM) 160. Generally, the memory 158 can include any suitable volatile or non-volatile computer readable storage media. The cache 162 is a fast memory that enhances the performance of the processor 154 by holding recently accessed data and / or data near recently accessed data in the memory 158.
[0048] Program instructions and data used by the embodiments of the present application, for example, the data management and XAI programs 175, are stored in the persistent storage 170 for execution and / or access by one or more of the respective processors 154 of the server computer 150, via the cache 162. In this embodiment, the persistent storage 170 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, the persistent storage 170 can include a solid-state hard drive, a semiconductor storage device, read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or any other computer readable storage media that is capable of storing program instructions or digital information.
[0049] The media used by the persistent storage 170 can also be removable. For example, a removable hard drive can be used for the persistent storage 170. Other examples include optical and magnetic disks, thumb drives, and smart cards which are inserted into a drive for transfer onto another computer readable storage medium (which is also a part of the persistent storage 170).
[0050] In these examples, communication units 152 provide communications with other data processing systems or devices, including resources of client computing devices 104 and 110. In these examples, communication units 152 include one or more network interface cards. Communications can be provided using either or both physical and wireless communications links. Software distributions, as well as other programs and data used to practice the present application, can be downloaded to the permanent storage 170 of server computer 150 over communication unit 152.
[0051] I / O interface 156 allows for input and output of data to other devices that can be connected to server computer 150. For example, I / O interface 156 can provide connection to an external device 190 such as a keyboard, a keypad, a touch screen, a microphone, a digital camera, and / or some other suitable input device. External device(s) 190 can also include portable computer- readable storage media such as, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present application, for example, data management and XAI programs 175 on server computer 150, can be stored on such portable computer-readable storage media and can be loaded onto permanent storage 170 via I / O interface 156. I / O interface 156 is also connected to display 180.
[0052] Display 180 provides a mechanism for displaying data to a user and can be, for example, a computer monitor. Display 180 can also be used as a touch screen such as the display of a tablet computer.
[0053] Figure 2 A flowchart 200 is provided that illustrates exemplary activities associated with the practice of the present disclosure. After a start block, at block 210, XAI data management program 175 receives input data. The input data can be passed to the program from a stakeholder such as a user or producer through an API. The input data can be passed to an associated transaction as a ledger entry that is digitally signed by the data provider and includes public keys for all stakeholders.
[0054] At block 220, the method of the XAI data manager 175 processes the input data from the ledger entry using the trained ML model. The ML model includes a data structure derived using a training corpus of data during training of the model. The ML model includes a model version indicator. Processing the input data produces one or more results associated with the input data, such as one or more pass-fail results associated with an underlying transaction between a user and a producer. The results can include an XAI explanation for the final results as well as any intermediate results generated during processing of the input data by the ML model. The XAI explanation enables a human to understand and explain the results provided as model output. In embodiments, the XAI results include relative weights of the input data used to determine the results.
[0055] At block 230, the method of the XAI data manager 175 adds the ledger entry to the distributed ledger. The ledger entry includes an identification of the stakeholders of the processed event and the smart contract terms setting forth the conditions necessary for the stakeholders to access the results or request an audit or other verification of the results. The added ledger entry includes the originating ledger entry containing the input data, and an entry containing the ML model version indicator, the ML model data structure, and a label identifying the underlying training corpus of the ML model and the block of the distributed ledger blockchain where the training corpus data resides. The method further produces a new block for the blockchain. The new block includes the new ledger entry and a hash of a previous block of the blockchain. The producer signs the new block using a digital signature derived using the producer’s private key. The method adds the new block after a consensus verification of the block by the stakeholders. The stakeholders verify the new block using the producer’s public key to verify the digital signature of the new block.
[0056] The method adds the input data and associated results to the training corpus of the ML model, and re-trains the ML model using the modified training corpus. The method records a new version of the ML model and a new version of the ML model data structure, and labels the additional training corpus data as part of the overall training corpus.
[0057] At block 240, the method of the XAI data manager 175 provides the processed results including the direct pass-fail type results in addition to providing XAI explanations for the results. The method can provide the results to any combination of the user, the producer, and other stakeholders identified in the originating ledger entry.
[0058] At block 250, the method of the XAI data manager 175 receives a request for a verification or audit associated with a previous result or input data. The request satisfies the requirements of the verification set forth in the ledger entry smart contract for the input data. The method verifies the signature of the verification requester and proceeds to complete the verification or audit request.
[0059] At block 260, the method of the XAI data manager 175 retrieves the input data, the original result, the XAI explanation, the ML model version and associated ML data structure, and the ML model version training data set location tag from the relevant ledger (or ledgers) entry of the previously added block. At block 270, the method processes the input data using the ML version based on the retrieved data structure and determines new intermediate and final results and XAI explanations for those new results.
[0060] At block 280, the method provides the validated results including the original result and XAI explanation, and the new result and XAI explanation to the requesting party and in some cases to all other stakeholders of the transaction. Providing the original and new results enables the validating requesting party to compare the two sets of results. Providing the XAI explanation results for the original and new results enables auditing of the weighting of the input data used to determine the results.
[0061] Figure 3 A schematic illustration 300 of the data flow according to an embodiment of the present application is provided. As shown, input data flows from a user 302 as a digitally signed ledger entry 325 to a producer 306 to a distributed ledger state machine 320. Figure 1 The method of the XAI data manager 175 passes the ledger entry 325 to a ML model 330. The ML model 330 processes the ledger entry 325 input data and returns a result including a classification of the input data (such as pass or fail), and returns XAI explanations for all intermediate and final ML model results. The output result and links between the output and the stakeholders (user 302, producer 306, etc.) associated with the output are recorded in a ledger entry 327 along with the XAI explanations of the results. A smart contract ledger entry 329 sets forth the conditions for access to the results and explanations by the stakeholders, and the conditions for requesting a validating or auditing of the results by the stakeholders. The ML model 330 provides the results and XAI explanations as output to the transaction stakeholders including the user 302 and the producer 306 through an API.
[0062] The method of the XAI data manager 175 creates a new block 340 for the distributed ledger blockchain and signs the new block using the digital signature of the producer. The new block includes the original ledger entry, the results ledger entry, the ML model data structure and version tag, and the smart contract ledger entry. The new block is added to the blockchain and validated by consensus of the blockchain stakeholders using the public key of the producer.
[0063] The method of the XAI data management program 175 appends the input data and associated results to the training corpus, and trains / generates a new model version with a modified data structure using the appended training corpus data set. A ledger entry is generated indicating the new version, revised ML model data structure, and appended training set labels, and another new block 350 is created storing these ledger entries. The model 330 reads the block ledger entries 325, 327, and 329 captured in blocks 340 and 350 as needed to validate prior results.
[0064] Implementations of the disclosed embodiments can utilize local or networked computing resources. In embodiments, local resources are connected to edge cloud or cloud resources to leverage additional computing resources available through such connections.
[0065] It should be appreciated that while the present disclosure includes detailed descriptions of cloud computing, implementations of the teachings recited herein are not limited to a cloud computing environment. Rather, embodiments of the present application are capable of being implemented in conjunction with any other type of computing environment now known or later developed.
[0066] Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a provider of the service. This cloud model can include at least five characteristics, at least three service models, and at least four deployment models.
[0067] Features include the following:
[0068] On-demand self-service: cloud consumers can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically (without human interaction with the service's provider).
[0069] Broad network access: capabilities are available over a network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
[0070] Resource pooling: the provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the consumer generally has no control or knowledge over the exact location of the provided resources but can be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter).
[0071] Fast elasticity: capability can be rapidly and elastically provisioned, in some cases automatically, often automatically released to quickly scale out for, and rapidly released to quickly scale in when the client's demand decreases (see also load balancing). For consumers, the capability available for provisioning commonly appears to be unlimited and can be purchased in any quantity at any time.
[0072] Measured service: cloud systems automatically control and optimize resource use by leveraging utilization of resources in an abstracted manner, e.g., providing computing capacity, storage or bandwidth can be purchased that immediately in some cases automatically provide elastic, almost limitless and on-demand capability. Cloud systems can be elastically provisioned and released, in some cases automatically, allowing it to scale rapidly. Often, this is achieved by pooling resources, and sharing: with other consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to demand. There is little or no upfront capital expense. Overt time, these savings on capital expenses can be beneficial to the consumer.
[0073] Service models are as follows:
[0074] Software as a Service (SaaS): the capability provided to the consumer is to use the provider's applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based e-mail). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
[0075] Platform as a Service (PaaS): the capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.
[0076] Infrastructure as a Service (laaS): the capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
[0077] Deployment models are as follows:
[0078] Private cloud: the cloud infrastructure is operated solely for the organization. It can be managed by the organization or a third party and can exist on-premises or off-premises.
[0079] Community cloud: the cloud infrastructure is shared by several organizations and supports mission-oriented collaboration between said organizations. It can be managed by the organizations or a third party and can exist on-premises or off-premises.
[0080] Public cloud: the cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.
[0081] Hybrid cloud: the cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together, giving customers the
[0082] A cloud computing environment is service-oriented, centrally focused on stateless, loosely-coupled, modular, and semantic interoperability. The core of cloud computing is an infrastructure comprising a network of interconnected nodes.
[0083] Referring now to the drawing, in which is depicted an illustrative cloud computing Figure 4 environment 50. As shown, cloud computing environment 50 includes one or more cloudcomputing nodes 10 with which local computing devices used by cloud consumers such as, for example, personal digital assistant (PDA) or cellular telephone 54A, desktop computer 54B, laptop computer 54C, and / or automobile computer system 54N can communicate. Nodes 10 can communicate with one another. They can be grouped (not shown) physically or virtually, in Figure 4 one or more networks, such as Private, Community, Public, or Hybrid clouds as described hereinabove, or a combination thereof. This allows cloud computing environment 50 to offer infrastructure, platforms and / or software as services with
[0084] Referring now to FIG. 1 IB, a set of functional abstraction layers provided by cloud computing environment 50 (best Figure 5 ) is shown. It should be understood that Figure 4 the components, layers, and functions shown in FIG. 1 IB are intended to be illustrative only and are not meant to limit the embodiments of the present application. As is described, the following layers and corresponding functions are provided: Figure 5
[0085] Hardware and software layer 60 includes hardware and software components. Examples of hardware components include: mainframes 61; RISC (Reduced Instruction Set Computer) architecture based servers 62; servers 63; blade servers 64; storage devices 65; and networks and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0086] Virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 71 ; virtual storage 72; virtual networks 73, including virtual private networks; virtual applications and operating systems 74; and virtual clients 75.
[0087] In one example, management layer 80 can provide the functions described below. Resource provisioning 81 provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing 82 provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources can include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment 85 provide pre-arrangement for, and procurement of, cloud computing resources for which a future requirement is anticipated in accordance with an SLA.
[0088] Workloads layer 90 provides examples of functionality for which the cloud computing environment can be utilized. Examples of workloads and functions which can be provided from this layer include: mapping and navigation 91 ; software development and lifecycle management 92; virtual classroom education delivery 93; data analytics processing 94; transaction processing 95; and data management and AI program 175.
[0089] The present application can be a system, a method, and / or a computer program product at any possible technical detail level of integration. The present application can be conveniently implemented in a system (single or parallel) that processes instructions (single or parallel). A computer program product can include a computer-readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present application.
[0090] A computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, semiconductor, or any other suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
[0091] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0092] Computer readable program instructions for carrying out operations of the present application can be assembly instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for an integrated circuit, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like and a procedural programming language such as the "C" programming language or the like. The computer readable program instructions can execute entirely on a user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present application.
[0093] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0094] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions for
[0095] These computer readable program instructions can be provided to a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0096] The flow diagrams and the block diagrams in the drawings are presented to illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to the present application. In this regard, each block in the flow diagrams and the block diagrams can represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical functions (‘instructions’). In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession can in fact be executed substantially concurrently or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flow diagrams, and combinations thereof, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
[0097] Reference throughout this specification to “one embodiment”, “an embodiment”, “exemplary embodiment”, etc., indicate that a described embodiment can include a particular feature, structure, characteristic, property, etc., but that not every embodiment necessarily includes that particular feature, structure, characteristic, property, etc. Furthermore, such phrases do not necessarily refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of those skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described herein.
[0098] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising”, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0099] The description of the embodiments of the application has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application, or technical improvement over technologies found in the marketplace, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A computer-implemented method for providing reproducible machine learning (ML) model results, the method comprising: Input data for the ML model is received by one or more computer processors, wherein the input data is input data from ledger entries; The input data is processed by the one or more computer processors using the ML model to produce initial results; The one or more computer processors add a first block to the distributed ledger, the first block including the input data, the initial results, the ML model data structure, and links to training data for the ML model, wherein the training data resides in a previous distributed ledger block; and The output, including the initial result, is provided by the one or more computer processors.
2. The computer-implemented method according to claim 1, further comprising: The one or more computer processors receive a result verification request related to the input data; The one or more computer processors retrieve the input data, the initial result, and the ML model data structure from the first block; The input data is processed by the one or more computer processors using the ML model data structure to generate verification results; as well as The initial result and the verification result are provided as output by the one or more computer processors.
3. The computer-implemented method according to claim 2, further comprising: The ML model interpretation is provided as output by the one or more computer processors.
4. The computer-implemented method according to claim 1, further comprising: The ML model interpretation is provided as output by the one or more computer processors; as well as The first block further includes the ML model interpretation.
5. The computer-implemented method according to claim 1, wherein, The first block further includes an ML model version label.
6. The computer-implemented method according to claim 1, further comprising: The one or more computer processors use the input data and results to update the ML model, generating a new ML model version; as well as The one or more computer processors add a second block to the distributed ledger, wherein the second block includes a label associated with the new ML model version, the input data, the initial results, the new ML model data structure, and a link to the training data of the previous version of the ML model.
7. The computer-implemented method of claim 1, further comprising linking the first block and the user associated with the input data via distributed ledger entries by the one or more computer processors, wherein, The distributed ledger entry enables the user to request verification of the initial result.
8. A computer program product for providing reproducible machine learning (ML) model results, the computer program product comprising one or more computer-readable storage devices and program instructions commonly stored on the one or more computer-readable storage devices, the stored program instructions comprising: Program instructions for receiving input data from the ML model, wherein the input data is input data from ledger entries; Program instructions for processing the input data using the ML model to generate initial results; Program instructions for adding a first block to the distributed ledger, the first block including the input data, the initial results, the ML model data structure, and links to training data for the ML model, wherein the training data resides in a previous distributed ledger block; and Program instructions for providing output including the initial results.
9. The computer program product according to claim 8, wherein the stored program instructions further include: Program instructions for receiving result verification requests related to the input data; Program instructions for retrieving the input data, the initial result, and the ML model data structure from the first block; Program instructions for processing the input data using the ML model to generate verification results; as well as Program instructions used to provide the initial results and the verification results as output.
10. The computer program product according to claim 9, wherein the stored program instructions further include: Program instructions used to provide an interpretation of the ML model as output.
11. The computer program product according to claim 8, wherein the stored program instructions further comprise: Program instructions used to provide an interpretation of the ML model as output; as well as The first block further includes the ML model interpretation.
12. The computer program product according to claim 8, wherein, The first block further includes an ML model version label.
13. The computer program product according to claim 8, wherein the stored program instructions further comprise: Program instructions for updating the ML model using the input data and results to generate a new version of the ML model; as well as Program instructions for adding a second block to the distributed ledger, wherein the second block includes the new ML model version, the input data, the initial results, the new ML model data structure, and a link to the training data of the previous version of the ML model.
14. The computer program product of claim 8, wherein the stored program instructions further include program instructions for linking the first block and the user associated with the input data via a distributed ledger entry, wherein the distributed ledger entry enables the user to request verification of the initial result.
15. A computer system for providing reproducible machine learning (ML) model results, the computer system comprising: One or more computer processors; One or more computer-readable storage devices; as well as Program instructions for execution by the one or more computer-readable storage devices are stored therein, the stored program instructions including: Program instructions for receiving input data from the ML model, wherein the input data is input data from ledger entries; Program instructions for processing the input data using the ML model to generate initial results; Program instructions for adding a first block to the distributed ledger, the first block including the input data, the initial results, the ML model data structure, and links to training data for the ML model, wherein the training data resides in a previous distributed ledger block; and Program instructions for providing output including the initial results.
16. The computer system according to claim 15, wherein the stored program instructions further comprise: Program instructions for receiving result verification requests related to the input data; Program instructions for retrieving the input data, the initial result, and the ML model data structure from the first block; Program instructions for processing the input data using the ML model to generate verification results; as well as Program instructions used to provide the initial results and the verification results as output.
17. The computer system according to claim 16, wherein the stored program instructions further comprise: Program instructions used to provide an interpretation of the ML model as output.
18. The computer system of claim 15, wherein the stored program instructions further comprise: Program instructions used to provide an interpretation of the ML model as output; as well as The first block further includes the ML model interpretation.
19. The computer system of claim 15, wherein the stored program instructions further comprise: Program instructions for updating the ML model using the input data and results to generate a new version of the ML model; as well as Program instructions for adding a second block to the distributed ledger, wherein the second block includes the new ML model version, the input data, the initial results, the new ML model data structure, and a link to the training data of the previous version of the ML model.
20. The computer system of claim 15, wherein the stored program instructions further include program instructions for linking the first block and the user associated with the input data via a distributed ledger entry, wherein the distributed ledger entry enables the user to request verification of the initial result.
Citation Information
Patent Citations
Decentralized data analysis method and system and medium
CN109670583A