Methods and systems for empowering machine unlearning via contrastive learning
Iterative unlearning methods using a network controller and selected functions address the limitations of approximate unlearning, ensuring accurate data removal and maintaining model performance, thus enhancing data privacy and practical applicability in machine learning systems.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-06-10
- Publication Date
- 2026-07-30
AI Technical Summary
Existing approximate unlearning methods in machine learning models face challenges in consistently matching the performance of exact unlearning, particularly in terms of retain accuracy, forget accuracy, and membership inference attack accuracy, and often rely on access to forget data that may no longer be available, limiting their practical applicability.
The method employs iterative unlearning processes using a network controller to select unlearning functions from a function pool, applying metrics like Kullback–Leibler divergence to ensure accurate data removal, reducing computational overhead, and maintaining model performance across centralized, federated, and serverless environments.
This approach reduces computational overhead while achieving performance comparable to exact unlearning, eliminates reliance on forget data, and enhances data privacy compliance, making it suitable for real-world deployments.
Smart Images

Figure CN2025100040_30072026_PF_FP_ABST
Abstract
Description
METHODS AND SYSTEMS FOR EMPOWERING MACHINE UNLEARNING VIA CONTRASTIVE LEARNINGTECHNICAL FIELDThe present technology is generally related to data unlearning in machine learning systems, and more specifically, to methods and systems for iterative unlearning of data for optimizing model refinement.BACKGROUNDMachine learning is a field within artificial intelligence that focuses on developing algorithms and models that allow computer systems to learn from data and make predictions or decisions without explicit programming. These systems improve their performance over time as they are exposed to more data. A machine learning model is a computer program designed to analyze data, learn patterns, and make predictions or classifications based on that learning. The model can be trained on a dataset and iteratively adjust its internal parameters to minimize errors in its predictions.In recent years, the adoption of machine learning (ML) models across various industries has created a growing need for systems that can adapt to dynamic data requirements. With an increasing emphasis on data privacy in artificial intelligence, regulatory frameworks have introduced the concept of the "right to be forgotten" . Consequently, there is a demand for methods that can selectively remove specific data points from trained models. In addition to compliance with regulatory frameworks, the ability to remove erroneous or biased data to refine the model has emerged as an important requirement. Typically, the method of removing the influence of specific data points from a machine learning model, referred to as unlearning, involves retraining the model from scratch without the unwanted data. This method is known as exact unlearning. In this method, the model is retrained using the original training dataset, but excluding the data that needs to be forgotten. While exact unlearning provides reliable results, it is computationally expensive and time-intensive, particularly for large-scale models or datasets.In response to the challenges associated with exact unlearning, approximate unlearning methods have emerged, which aim to replicate the results of exact unlearning through faster, less resource-intensive processes.One challenge associated with approximate unlearning methods is their inability to consistently match the performance of exact unlearning, in terms of key performance parameters, for example, retain accuracy, unlearn accuracy, and membership inference attack (MIA) accuracy. Another limitation is that some approximate unlearning methods rely on access to forget data, which may no longer be available after deletion. This reliance on forget data reduces the practical applicability of the approximate unlearning methods in real-world deployments.Hence, despite these recent advancements, there is a need to develop systems and methods that enable reliable and scalable unlearning in machine learning models.SUMMARYDevelopers of the present technology have designed a method and a system that may tackle some of the challenges associated with data unlearning in machine learning models. This method includes selectively removing the influence of specific data points through iterative unlearning processes, based on which the system ensures accurate data removal, minimizes computational overhead, and maintains model performance.The present technology may have a variety of advantages. Some embodiments of the present technology may reduce the computational overhead associated with unlearning while achieving performance comparable to exact unlearning. Additionally, some embodiments of the present technology may eliminate the reliance on forget data, thereby improving the practical applicability of unlearning methods in real-world scenarios. Furthermore, some embodiments may provide robust unlearning mechanisms for centralized, federated, and serverless machine learning environments, providing adaptability across different architectures. Embodiments of the present technology may also enhance data privacy compliance and facilitate removal of biased or erroneous data to improve fairness in machine learning models.Some implementations of the present technology can be used by organizations that deploy machine learning models to comply with data privacy regulations. These implementations can also be leveraged by developers and researchers seeking to improve model performance, eliminate model bias, and improve model reliability in applications across industries including healthcare, finance, and autonomous systems.In a first broad aspect of the present technology, there is provided a method for unlearning data in a machine learning system, the method comprising generating, by a server, a first unlearned model by performing a first unlearning iteration on a global machine learning model, based on a request from a target client; transmitting, by the server, the first unlearned model to the target client; verifying, by the target client, using a metric, whether a second unlearning iteration is to be performed on the first unlearned model; acquiring, by a network controller, a notification from the target client, the notification being indicative of a request to perform the second unlearning iteration; selecting, by the network controller, an unlearning function from a function pool; transmitting, by the network controller, the request to perform the second unlearning iteration and the selected unlearning function to the server; generating, by the server, a second unlearned model by performing the second unlearning iteration on the first unlearned model using the selected unlearning function; transmitting, by the server, the second unlearned model to the target client; in response to the target client verifying that the second unlearned model is satisfactory, broadcasting, by the server, the second unlearned model to a plurality of non-target clients.In some embodiments of the method, the method further comprises transmitting, by the network controller, a weight parameter to the server, the weight parameter being indicative of an extent of unlearning performed on the first unlearned model.In some embodiments of the method, the method further comprises determining, by the network controller, whether the request to perform the second unlearning iteration is valid; and in response to the determining that the request to perform the second unlearning iteration is invalid, broadcasting, by the server, the first unlearned model to the plurality of non-target clients.In some embodiments of the method, the metric is a Kullback–Leibler divergence value calculated based on the global machine learning model and the first unlearned model.In a second broad aspect of the present technology, there is provided a method for unlearning data in a machine learning system, the method comprising: acquiring, by a network controller, a notification from a target client, the notification being indicative of a request to perform a first unlearning iteration; selecting, by the network controller, an unlearning function from a function pool; transmitting, by the network controller, the request and the selected unlearning function to a server; generating, by the server, an unlearned model by performing the first unlearning iteration on a global machine learning model using the selected unlearning function; broadcasting, by the server, the unlearned model to a plurality of non-target clients.In some embodiments of the method, the method further comprises determining, by the network controller, whether the request to perform the first unlearning iteration is valid; and in response to the determining that the request to perform the first unlearning iteration is invalid, broadcasting, by the server, the global machine learning model to the plurality of non-target clients.In some embodiments of the method, the method further comprises transmitting, by the network controller, a weight parameter to the server, the weight parameter being indicative of an extent of unlearning performed on the global machine learning model.In a third broad aspect of the present technology, there is provided a method for unlearning data in a machine learning system, the method comprising: generating, by a server, a first unlearned model by performing a first unlearning iteration based on a request from a first entity; transmitting, by the server, the first unlearned model to a second entity; the second entity having access to data corresponding to the first entity; verifying, by the second entity, using a metric, whether a second unlearning iteration is to be performed on the first unlearned model; acquiring, by a third entity, a notification from the second entity, the notification being indicative of a request to perform the second unlearning iteration; generating, by the third entity, a second unlearned model by performing the second unlearning iteration on the first unlearned model; transmitting, by the third entity, the second unlearned model to the second entity; in response to the second entity verifying that the second unlearned model is satisfactory, using the second unlearned model by the machine learning system.In some embodiments of the method, the metric is a Kullback–Leibler divergence value calculated based on the global machine learning model and the first unlearned model.In some embodiments of the method, the first entity, the second entity, and the third entity include computer processors.In a fourth broad aspect of the present technology, there is provided an electronic device comprising a non-transitory computer-readable medium and a processor, the non-transitory computer-readable medium comprising instructions, which upon being executed by the processor, configure the processor to generate, by a server, a first unlearned model by performing a first unlearning iteration on a global machine learning model, based on a request from a target client; transmit, by the server, the first unlearned model to the target client; verify, by the target client, using a metric, whether a second unlearning iteration is to be performed on the first unlearned model; acquire, by a network controller, a notification from the target client, the notification being indicative of a request to perform the second unlearning iteration; select, by the network controller, an unlearning function from a function pool; transmit, by the network controller, the request to perform the second unlearning iteration and the selected unlearning function to the server; generate, by the server, a second unlearned model by performing the second unlearning iteration on the first unlearned model using the selected unlearning function; transmit, by the server, the second unlearned model to the target client; in response to the target client verifying that the second unlearned model is satisfactory, broadcast, by the server, the second unlearned model to a plurality of non-target clients.In some embodiments of the electronic device, the network controller is further configured to transmit a weight parameter to the server, the weight parameter being indicative of an extent of unlearning performed on the first unlearned model.In some embodiments of the electronic device, the network controller is further configured to determine whether the request to perform the second unlearning iteration is valid; and the server is further configured to broadcast, in response to the determining that the request to perform the second unlearning iteration is invalid, the first unlearned model to the plurality of non-target clients.In some embodiments of the electronic device, the metric is a Kullback–Leibler divergence value calculated based on the global machine learning model and the first unlearned model.In a fifth broad aspect of the present technology, there is provided an electronic device comprising a non-transitory computer-readable medium and a processor, the non-transitory computer-readable medium comprising instructions, which upon being executed by the processor, configure the processor to acquire, by a network controller, a notification from a target client, the notification being indicative of a request to perform a first unlearning iteration; select, by the network controller, an unlearning function from a function pool; transmit, by the network controller, the request and the selected unlearning function to a server; generate, by the server, an unlearned model by performing the first unlearning iteration on a global machine learning model using the selected unlearning function; broadcast, by the server, the unlearned model to a plurality of non-target clients.In some embodiments of the electronic device, the network controller is further configured to determine whether the request to perform the first unlearning iteration is valid; and the server is further configured to broadcast, in response to the determining that the request to perform the first unlearning iteration is invalid, the global machine learning model to the plurality of non-target clients.In some embodiments of the electronic device, the network controller is further configured to transmit a weight parameter to the server, the weight parameter being indicative of an extent of unlearning performed on the global machine learning model.In a sixth broad aspect of the present technology, there is provided an electronic device comprising a non-transitory computer-readable medium and a processor, the non-transitory computer-readable medium comprising instructions, which upon being executed by the processor, configure the processor to generate, by a server, a first unlearned model by performing a first unlearning iteration based on a request from a first entity; transmit, by the server, the first unlearned model to a second entity; the second entity having access to data corresponding to the first entity; verify, by the second entity, using a metric, whether a second unlearning iteration is to be performed on the first unlearned model; acquire, by a third entity, a notification from the second entity, the notification being indicative of a request to perform the second unlearning iteration; generate, by the third entity, a second unlearned model by performing the second unlearning iteration on the first unlearned model; transmit, by the third entity, the second unlearned model to the second entity; in response to the second entity verifying that the second unlearned model is satisfactory, use the second unlearned model by the machine learning system.In some embodiments of the electronic device, the metric is a Kullback–Leibler divergence value calculated based on the global machine learning model and the first unlearned model.In some embodiments of the electronic device, the first entity, the second entity, and the third entity include computer processors.In the context of the present technology, “unlearning” refers to the method of removing the influence of specific data points from a machine learning model to ensure the model no longer retains any information about the removed data.In the context of the present technology, “exact unlearning” refers to the method of retraining a machine learning model from scratch on a dataset that excludes the data to be removed.In the context of the present technology, “approximate unlearning” refers to the method of removing the influence of specific data points from a machine learning model that aims to replicate the results of exact unlearning without retraining the model entirely, thereby reducing computational overhead.In the context of the present technology, “forget data” refers to the specific data points or subsets of data that are to be removed from a machine learning model during the unlearning process.In the context of the present technology, “retain accuracy” refers to the accuracy of a machine learning model in making predictions based on the data that remains part of the training set after the unlearning process has been completed.In the context of the present technology, “forget accuracy” refers to the effectiveness of a machine learning model in eliminating the influence of removed data. It is measured by the model’s inability to correctly predict or recognize patterns associated with the removed data, indicating that the data’s contribution to the model has been successfully erased.In the context of the present technology, “unlearn accuracy” refers to the degree to which the predictions of a machine learning model on removed data match the predictions of a retrained model that was never exposed to the removed data. It evaluates how closely the unlearning method replicates the effects of retraining from scratch.In the context of the present technology, “membership inference attack” refers to a security vulnerability where an adversary determines whether specific data was part of the training dataset for a machine learning model.In the context of the present technology, “federated learning” refers to a machine learning method in which models are collaboratively trained across multiple decentralized clients without sharing raw data between them.In the context of the present technology, “federated unlearning” refers to the process of selectively removing contributions from specific clients or data owners in a federated learning environment while maintaining the model's functionality for the remaining clients.In the context of the present technology, “contrastive learning” refers to a method of training machine learning models in which the similarity between representations of related data points is increased while reducing the similarity between representations of unrelated data points.In the context of the present technology, “function pool” refers to a collection of pre-defined unlearning functions that a system selects from to perform specific unlearning tasks.In the context of the present technology, “cross-entropy” refers to a loss function that quantifies the difference between the predicted probability distribution of a model and the true labels of the data, commonly used in classification tasks to guide the optimization process. “Relative entropy” (also known as Kullback–Leibler divergence or KL divergence) refers to a loss function that measures how different the two distributions are from each other. Cross-entropy is a broad concept that may include relative entropy as a component.In the context of the present technology, “retain data” refers to the portion of the training dataset that remains in the model after the unlearning process, contributing to the model’s continued operation and knowledge retention.In the context of the present technology, “forget data” refers to the subset of the training dataset that is deliberately removed from the model through the unlearning process to ensure its influence is eliminated.In the context of the present technology, “convergence” refers to the stage in training where the loss function stabilizes, indicating that the model parameters have reached an optimal or near-optimal state for the given task.In the context of the present technology, “supervised learning” refers to a machine learning method where a model is trained on labeled data, with each input paired with a known output, to learn a mapping function between inputs and outputs.In the context of the present technology, a “multilayer perceptron model” refers to a neural network model composed of multiple layers of interconnected neurons, commonly used for tasks such as regression or classification.In the context of the present specification, a “server” is a computer program that is running on appropriate hardware and is capable of receiving requests (e.g., from devices) over a network, and carrying out those requests, or causing those requests to be carried out. The hardware may be one physical computer or one physical computer system, but neither is required to be the case with respect to the present technology. In the present context, the use of the expression a “server” is not intended to mean that every task (e.g., received instructions or requests) or any particular task will have been received, carried out, or caused to be carried out, by the same server (i.e., the same software and / or hardware) ; it is intended to mean that any number of software elements or hardware devices may be involved in receiving / sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request; and all of this software and hardware may be one server or multiple servers, both of which are included within the expression “at least one server” .In the context of the present specification, “device” is any computer hardware that is capable of running software appropriate to the relevant task at hand. Thus, some (non-limiting) examples of devices include personal computers (desktops, laptops, netbooks, etc. ) , smartphones, and tablets, as well as network equipment such as routers, switches, and gateways. It should be noted that a device acting as a device in the present context is not precluded from acting as a server to other devices. The use of the expression “adevice” does not preclude multiple devices being used in receiving / sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request, or steps of any method described herein.In the context of the present specification, a “database” is any structured collection of data, irrespective of its particular structure, the database management software, or the computer hardware on which the data is stored, implemented or otherwise rendered available for use. A database may reside on the same hardware as the process that stores or makes use of the information stored in the database or it may reside on separate hardware, such as a dedicated server or plurality of servers. It can be said that a database is a logically ordered collection of structured data kept electronically in a computer system.In the context of the present specification, the expression “information” includes information of any nature or kind whatsoever capable of being stored in a database. Thus, information includes, but is not limited to audiovisual works (images, movies, sound records, presentations etc. ) , data (location data, numerical data, etc. ) , text (opinions, comments, questions, messages, etc. ) , documents, spreadsheets, lists of words, etc.In the context of the present specification, the expression “component” is meant to include software (appropriate to a particular hardware context) that is both necessary and sufficient to achieve the specific function (s) being referenced.In the context of the present specification, the expression “computer usable information storage medium” is intended to include media of any nature and kind whatsoever, including RAM, ROM, disks (CD-ROMs, DVDs, floppy disks, hard drivers, etc. ) , USB keys, solid state-drives, tape drives, etc.In the context of the present specification, the words “first” , “second” , “third” , etc. have been used as adjectives only for the purpose of allowing for distinction between the nouns that they modify from one another, and not for the purpose of describing any particular relationship between those nouns. Thus, for example, it should be understood that, the use of the terms “first server” and “third server” is not intended to imply any particular order, type, chronology, hierarchy or ranking (for example) of / between the server, nor is their use (by itself) intended imply that any “second server” must necessarily exist in any given situation. Further, as is discussed herein in other contexts, reference to a “first” element and a “second” element does not preclude the two elements from being the same actual real-world element. Thus, for example, in some instances, a “first” server and a “second” server may be the same software and / or hardware, in other cases they may be different software and / or hardware.Implementations of the present technology each have at least one of the above-mentioned object and / or aspects, but do not necessarily have all of them. It should be understood that some aspects of the present technology that have resulted from attempting to attain the above-mentioned object may not satisfy this object and / or may satisfy other objects not specifically recited herein.Additional and / or alternative features, aspects and advantages of implementations of the present technology will become apparent from the following description, the accompanying drawings and the appended claims.BRIEF DESCRIPTION OF THE DRAWINGSFor a better understanding of the present technology, as well as other aspects and further features thereof, reference is made to the following description which is to be used in conjunction with the accompanying drawings, where:FIG. 1 illustrates an example of a computing device that may be used to implement any of the methods described herein.FIG. 2 illustrates an overview of the data approximate unlearning process in machine learning models, in accordance with at least some non-limiting embodiments of the present technology.FIG. 3 illustrates a pipeline for implementing federated approximate unlearning, in accordance with at least some non-limiting embodiments of the present technology.FIG. 4A illustrates an example representation of retain data, known in the art, showing distinct clusters that are well-separated, indicating a model that preserves knowledge of the retain data.FIG. 4B illustrates an example representation of forget data, known in the art, showing clusters that partially overlap, indicating a model that has not fully removed the influence of the forget data.FIG. 5A illustrates an example representation of retain data after applying contrastive learning, showing increased variance compared to the retain data in FIG. 4A, while maintaining distinct clusters, in accordance with at least some non-limiting embodiments of the present technology.FIG. 5B illustrates an example representation of forget data, showing significant overlap between clusters compared to the forget data in FIG. 4B, indicating successful unlearning, in accordance with at least some non-limiting embodiments of the present technology.FIG. 6 illustrates an overview for implementing contrastive learning, in accordance with at least some non-limiting embodiments of the present technology.FIG. 7 illustrates an example ecosystem of connected devices where machine approximate unlearning methods may be applied, including a smartphone, a smartwatch, a tablet, and a smart glass, in accordance with at least some non-limiting embodiments of the present technology.FIG. 8 illustrates an example workflow for a federated approximate unlearning process via contrastive learning, where the client whose data is unlearned remains in the system to verify the success of the unlearning process, in accordance with at least some non-limiting embodiments of the present technology.FIG. 9 illustrates an example workflow for a centralized approximate unlearning process via contrastive learning, in accordance with at least some non-limiting embodiments of the present technology.FIG. 10 illustrates an example workflow for a federated approximate unlearning process via contrastive learning, where the client whose data is unlearned leaves the system after submitting an unlearning request, in accordance with at least some non-limiting embodiments of the present technology.FIG. 11 is a scheme-block illustration of a method executed by a processor of the computing device of FIG. 1, in accordance with at least some non-limiting embodiments of the present technology.DETAILED DESCRIPTIONThe examples and conditional language recited herein are principally intended to aid the reader in understanding the principles of the present technology and not to limit its scope to such specifically recited examples and conditions. It will be appreciated that those skilled in the art may devise various arrangements which, although not explicitly described or shown herein, nonetheless embody the principles of the present technology and are included within its spirit and scope.Furthermore, as an aid to understanding, the following description may describe relatively simplified implementations of the present technology. As persons skilled in the art would understand, various implementations of the present technology may be of a greater complexity.In some cases, what are believed to be helpful examples of modifications to the present technology may also be set forth. This is done merely as an aid to understanding, and, again, not to define the scope or set forth the bounds of the present technology. These modifications are not an exhaustive list, and a person skilled in the art may make other modifications while nonetheless remaining within the scope of the present technology. Further, where no examples of modifications have been set forth, it should not be interpreted that no modifications are possible and / or that what is described is the sole manner of implementing that element of the present technology.Moreover, all statements herein reciting principles, aspects, and implementations of the present technology, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof, whether they are currently known or developed in the future. Thus, for example, it will be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the present technology. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudo-code, and the like represent various processes which may be substantially represented in computer-readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.The functions of the various elements shown in the figures, including any functional block labeled as a “processor” , may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. In some embodiments of the present technology, the processor may be a general purpose processor, such as a central processing unit (CPU) or a processor dedicated to a specific purpose, such as a digital signal processor (DSP) . Moreover, explicit use of the term a “processor” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, application specific integrated circuit (ASIC) , field programmable gate array (FPGA) , read-only memory (ROM) for storing software, random access memory (RAM) , and non-volatile storage. Other hardware, conventional and / or custom, may also be included.Software modules, or simply modules which are implied to be software, may be represented herein as any combination of flowchart elements or other elements indicating performance of process steps and / or textual description. Such modules may be executed by hardware that is expressly or implicitly shown. Moreover, it should be understood that module may include for example, but without being limitative, computer program logic, computer program instructions, software, stack, firmware, hardware circuitry or a combination thereof which provides the required capabilities.With these fundamentals in place, we will now consider some non-limiting examples to illustrate various implementations of aspects of the present technology.FIG. 1 illustrates a diagram of a computing environment 100 in accordance with an embodiment of the present technology is shown. In some embodiments, the computing environment 100 may be implemented by any of a conventional personal computer, a computer dedicated to operating and / or monitoring systems relating to a data center, a controller and / or an electronic device (such as, but not limited to, a mobile device, a tablet device, a server, a controller unit, a control device, a monitoring device etc. ) and / or any combination thereof appropriate to the relevant task at hand. In some embodiments, the computing environment 100 comprises various hardware components including one or more single or multi-core processors collectively represented by a processor 110, a solid-state drive 120, a random access memory 130 and an input / output interface 150.In some embodiments, the computing environment 100 may also be a sub-system of one of the above-listed systems. In some other embodiments, the computing environment 100 may be an “off the shelf” generic computer system. In some embodiments, the computing environment 100 may also be distributed amongst multiple systems. The computing environment 100 may also be specifically dedicated to the implementation of the present technology. As a person in the art of the present technology may appreciate, multiple variations as to how the computing environment 100 is implemented may be envisioned without departing from the scope of the present technology.
[0080] Communication between the various components of the computing environment 100 may be enabled by one or more internal and / or external buses 160 (e.g. a PCI bus, universal serial bus, IEEE 1394 “Firewire” bus, SCSI bus, Serial-ATA bus, ARINC bus, NvLink etc. ) , to which the various hardware components are electronically coupled.The input / output interface 150 may allow enabling networking capabilities such as wire or wireless access. As an example, the input / output interface 150 may comprise a networking interface such as, but not limited to, a network port, a network socket, a network interface controller and the like. Multiple examples of how the networking interface may be implemented will become apparent to the person skilled in the art of the present technology. For example, but without being limitative, the networking interface may implement specific physical layer and data link layer standard such as Ethernet, Fibre Channel, Wi-Fi or Token Ring. The specific physical layer and the data link layer may provide a base for a full network protocol stack, allowing communication among small groups of computers on the same local area network (LAN) and large-scale network communications through routable protocols, such as Internet Protocol (IP) .According to implementations of the present technology, the solid-state drive 120 stores program instructions suitable for being loaded into the random access memory 130 and executed by the processor 110 for executing operating data centers based on a generated machine learning pipeline. For example, the program instructions may be part of a library or an application.In some embodiments of the present technology, the computing environment 100 may be implemented as part of a cloud computing environment. Broadly, a cloud computing environment is a type of computing that relies on a network of remote servers hosted on the internet, for example, to store, manage, and process data, rather than a local server or personal computer. This type of computing allows users to access data and applications from remote locations, and provides a scalable, flexible, and cost-effective solution for data storage and computing. Cloud computing environments can be divided into three main categories: Infrastructure as a Service (IaaS) , Platform as a Service (PaaS) , and Software as a Service (SaaS) . In an IaaS environment, users can rent virtual servers, storage, and other computing resources from a third-party provider, for example. In a PaaS environment, users have access to a platform for developing, running, and managing applications without having to manage the underlying infrastructure. In a SaaS environment, users can access pre-built software applications that are hosted by a third-party provider, for example. In summary, cloud computing environments offer a range of benefits, including cost savings, scalability, increased agility, and the ability to quickly deploy and manage applications.FIG. 2 illustrates an overview 200 of the data approximate unlearning process in machine learning models, in accordance with at least some non-limiting embodiments of the present technology.The process begins with a global machine learning model 210, which initially contains no information ( "Info: Null" ) . A multilayer perceptron (MLP) model is shown as an example in this context. As indicated by the numeral 220, the model is trained using a dataset containing information from clients A, B, and C. This training results in a trained model 230, which incorporates the knowledge derived from all three subsets of data provided by clients A, B, and C.As indicated by the numeral 240, an unlearning process is applied to remove the influence of data associated with a specific client, for example, client C. This results in an unlearned model 250, which retains only the information derived from the clients A and B. The unlearning step ensures that the resulting model removes the contribution of the targeted client data, i.e., data from client C, while maintaining the integrity of the remaining data subsets, i.e., data from the clients A and B.FIG. 3 illustrates a pipeline 300 for implementing federated approximate unlearning, in accordance with at least some non-limiting embodiments of the present technology.The pipeline 300 shows the interactions between a server 310 and multiple clients. Initially, the server 310 hosts a global machine learning model trained on data contributions from clients 0 through N, as indicated by "Info: 0, 1, ... N. " Each client contributes its respective dataset (e.g., Data 0 from client 0, Data 1 from client 1, and so on) to the global model during the training process.As indicated by the numeral 320, client 0 initiates an unlearning request to remove its data (Data 0) from the global model. The server processes this request, applying an unlearning method to the global model. This operation results in an updated global model 330, which excludes the influence of Data 0 and now reflects "Info: 1, ... N" instead of "Info: 0, 1, ... N" , retaining only the contributions of clients 1 through N, and excluding the contribution of client 0.The updated global model 330 is shared with the remaining clients (e.g., clients 1 through N) . These clients continue to operate using the updated global model, which no longer includes the contribution of Data 0 of client 0.FIG. 4A illustrates an example representation 400 of retain data, known in the art, showing distinct clusters that are well-separated, indicating a model that preserves knowledge of the retain data. FIG. 4B illustrates an example representation 450 of forget data, known in the art, showing clusters that partially overlap, indicating a model that has not fully removed the influence of the forget data.In FIG. 4A, the clusters, such as 410 and 420, represent distinct classes of retain data that the model has learned to differentiate. The well-separated nature of the clusters suggests that the model successfully maintains boundaries between the classes of retain data. This representation is generated using t-distributed Stochastic Neighbor Embedding (t-SNE) , a dimensionality reduction technique used to project high-dimensional data into a two-dimensional space. The axes, labeled Component 1 and Component 2, represent the two dimensions of this reduced space, where points closer together are more similar in their high-dimensional feature representation. The state of the model in FIG. 4A corresponds to Epoch: 200, indicating that the model has undergone 200 iterations of training. The label NoT_CE refers to a model configuration employing NoT (Noise-Tolerant) training combined with CE (Cross-Entropy) loss. This approach helps the model optimize class separability for retain data.In FIG. 4B, representation 450 visualizes the forget data after the model has attempted to remove its influence. Clusters such as 410' and 420' show partial overlap, indicating that the model has not fully succeeded in unlearning the influence of the forget data. Like FIG. 4A, the t-SNE axes, Component 1 and Component 2, illustrate the relative relationships between data points in a reduced two-dimensional space. At Epoch: 200, the NoT_CE training process attempts to ensure that the forget data is no longer distinguishable by the model, but overlapping clusters suggest incomplete unlearning. This demonstrates that while NoT_CE maintains separability for retain data, it may not always fully address the removal of forget data's influence.FIG. 5A illustrates an example representation 500 of retain data after applying contrastive learning, showing increased variance compared to the retain data in FIG. 4A, while maintaining distinct clusters, in accordance with at least some non-limiting embodiments of the present technology. FIG. 5B illustrates an example representation 550 of forget data after applying contrastive learning, showing significant overlap between clusters compared to the forget data in FIG. 4B, indicating successful unlearning, in accordance with at least some non-limiting embodiments of the present technology.In FIG. 5A, the clusters 520 and 530 represent different classes of retain data. Contrastive learning increases the variance among retain data representations compared to FIG. 4A, allowing the classes to remain distinct and avoiding overlap with other clusters. This ensures that the model preserves the knowledge of retain data even after the application of contrastive learning.In FIG. 5B, the clusters 520′and 530′represent examples of forget data classes that overlap significantly compared to the forget data in FIG. 4B. This overlap occurs because contrastive learning, while designed to increase variance among retain data representations, simultaneously compresses the representations of forget data closer together. This leads to a loss of distinctiveness for the forget data clusters, effectively ensuring that the model has unlearned the forgotten data.The axis labels, "Component 1" and "Component 2, " represent the reduced feature dimensions obtained using a dimensionality reduction technique such as t-SNE (t-distributed stochastic neighbor embedding) . These components facilitate the visualization of high-dimensional data in two dimensions, with each point corresponding to an individual data instance. The t-SNE visualization is computed after 200 epochs of training with the NoT_CE_SCL approach, where "NoT" refers to a Noise Tolerant model, "CE" indicates the use of cross-entropy loss for supervised learning, and "SCL" represents the contrastive learning component.Compared to FIG. 4A and FIG. 4B, FIG. 5A and FIG. 5B highlight the effect of applying contrastive learning on the retain data. The increased variance in FIG. 5A ensures that the retain data remains distinguishable across different clusters, helping maintain model accuracy for these data points. In contrast, the overlapping clusters in FIG. 5B show the reduction in information about the forget data, demonstrating the effectiveness of contrastive learning for unlearning purposes. This may help to ensure that the influence of forget data is minimized while preserving the integrity of retain data.FIG. 6 illustrates an overview 600 for implementing contrastive learning, in accordance with at least some non-limiting embodiments of the present technology.In FIG. 6, the supervised learning branch 640 is complemented by the contrastive learning branch 680 to support efficient unlearning. A set of input retain images Ir, labeled as numeral 650, undergoes augmentations t and t', as indicated by the transformation symbol ~T. These augmentations t and t'represent two different transformations applied to the same input image. The augmented images t and t' are then processed by sampling data augmentation operators to generate feature representations X, labeled as numeral 610, and X', labeled as numeral 660. These representations X and X' are subsequently passed through feature extraction functions feu of the unlearned model eu, labeled as numerals 620 and 670, to create embeddings Z and Z'.The embedding Z is further processed by a classifier heu 630, producing an output” that represents the predicted class label for supervised learning. This supervised learning branch is represented by numeral 640 and calculates a cross-entropy loss LCE between the predicted label” and the actual label Y. The cross-entropy loss ensures that the retain data is accurately classified by minimizing the difference between predicted and actual labels.In parallel to the supervised learning, the embeddings Z and Z' are processed through a contrastive learning branch, represented by numeral 680, which computes a contrastive loss LCL. This loss is calculated to maximize the similarity between the paired representations Z and Z' derived from the same input image Ir while minimizing their similarity with representations from different images. This ensures the model learns distinct and meaningful features for retain data.Both the cross-entropy loss LCE and the contrastive loss LCL are combined, as shown at numeral 690, using a weight factor λ to form the overall loss L. The weightfactor λ controls the relative contribution of the two loss components, allowing the system to balance supervised learning and contrastive learning objectives. In some embodiments, the cross-entropy loss LCE calculation may be replaced by another loss calculation, for example, by the relative entropy (Kullback–Leibler) loss calculation.FIG. 7 illustrates an example ecosystem 700 of connected devices where machine exact or approximate unlearning methods may be applied, including a smartphone 740, a smartwatch 710, a tablet 720, and a smart glass 730, in accordance with at least some non-limiting embodiments of the present technology.The ecosystem 700 demonstrates a network of interconnected devices that may collaborate to execute machine learning tasks. The smartphone 740 acts as a central hub for coordinating operations among the smartwatch 710, the tablet 720, and the smart glass 730. Each of these devices may store data locally, contribute to a shared global model, and participate in unlearning processes when specific data is to be removed from the global model.For example, the smartwatch 710 may generate sensor data, the tablet 720 may handle user inputs or application data, and the smart glass 730 may capture visual data. These devices can transmit their respective data to the smartphone 740 for model training. If a device, such as the smartwatch 710, requests unlearning of its contributed data, the smartphone 740 may initiate an unlearning process to remove the influence of this data from the global model while ensuring the continued functionality of the ecosystem 700.FIG. 8 illustrates an example workflow 800 for a federated approximate unlearning process, where the client whose data is unlearned remains in the system to verify the success of the unlearning process, in accordance with at least some non-limiting embodiments of the present technology.The workflow 800 begins with the server, as shown at 810, initiating the unlearning process by transmitting an unlearned global model to a target client N. The global model incorporates data contributions from multiple clients, including the target client N. For example, the target client may represent a user device such as a smartphone, tablet, or internet of things (IoT) sensor device that contributes specific datasets to the federated learning process.Next, as depicted at 820, the target client N locally verifies whether the unlearned global model successfully removes the influence of its data. This verification process may involve comparing the unlearned global model with the target client’s data. Metrics such as retain accuracy, forget accuracy, or membership inference attack accuracy may be utilized to evaluate the effectiveness of the unlearning process.Following this, the target client N, as illustrated at 830, generates a notification indicating whether further unlearning is required and transmits it to the network controller. For instance, if the target client determines that traces of its data remain in the unlearned global model, it may request additional unlearning iterations.The network controller, as represented at 840, evaluates the notification from the target client to determine whether additional unlearning is necessary. The network controller may reject the notification from the target client if the target client didn’t participate in learning and requests unlearning. The notification from the target client may be rejected if the data of the target client wasn’t used to train the global model. If further unlearning is approved, the network controller retrieves an appropriate unlearning method and a corresponding parameter value (lambda) from the function pool. Selection of the appropriate unlearning method and the corresponding parameter value may be defined by the computing power or latency requirements. Examples of such unlearning methods include gradient perturbation, model weight adjustment, or contrastive learning. The selected method and parameter are then forwarded to the server for implementation. In some embodiments the selected hyperparameter may be the scaling factor lambda (also described as the weight factor λ) . If the request is not approved, the workflow proceeds directly to broadcasting the refined model, as shown at 870.The server then performs an additional unlearning iteration using the method and parameter retrieved by the network controller, as seen at 850. This unlearning iteration involves collaboration with other remaining clients to refine the global model. The server may fine-tune the unlearned global model using the data of the remaining clients (the retain data) to recover the good knowledge that is not meant to be forgotten and also to remove influence of the forget data. Therefore, unlearning procedure may require collaboration of the remaining clients to refine the global knowledge and unlearn the forget data. For instance, the remaining clients could include wearable devices, healthcare monitoring systems, or autonomous vehicles that provide updated training data. During this step, if the contrastive learning method is selected at 840, the contrastive learning method is applied to ensure the effective removal of the influence of the targeted data while preserving the contributions of other clients. The supervised learning may help to preserve the knowledge and contribution of others, while the contrastive learning (if selected for application) may adjust representation of the retain data.Once the additional unlearning iteration is completed, as shown at 860, the server transmits the refined global model back to the target client N for verification. The target client assesses whether the refined global model meets the unlearning requirements to preserve knowledge of the retain data and remove influence of the forget data. Each target client (after requesting unlearning and receiving the unlearned model from the network) may define if this current unlearning state is satisfactory. The unlearning requirements used by the target client may be dynamically updated following each unlearning iteration or kept unchanged. For example, if the target client is a smartwatch, it may validate the model’s performance on activity recognition tasks or other data-specific operations related to its contributions. If the target client N determines that the refined global model doesn’t meet the unlearning requirements, the target client N may send another notification to the network controller requesting further unlearning.Upon confirmation from the target client N that the refined global model meets the unlearning requirements, as shown at 870, the server broadcasts the updated model to all remaining clients. Thus, the model, free from the influence of the target client N’s data, is made available for continued operations across the ecosystem. Examples of clients utilizing the updated model may include smart home devices, industrial IoT systems, or retail recommendation engines.FIG. 9 illustrates an example workflow 900 for a centralized approximate unlearning process via contrastive learning, in accordance with at least some non-limiting embodiments of the present technology.The workflow 900 begins with an entity verifying whether the influence of the forget data has been effectively removed from a model, as indicated by the numeral 910. The entity performing this verification could be any entity with access to the forget data (for example, a user device that stored the forget data, a data controller responsible for managing the data, or a centralized server overseeing the unlearning iterations) . This entity compares the unlearned model against the forget data to evaluate whether the unlearning process satisfies the unlearning requirements.If the verification indicates that further unlearning is necessary, the verifying entity at 920 sends a notification to another entity, such as a network controller or machine learning pipeline coordinator. This notification specifies the need for additional unlearning iterations. The receiving entity evaluates the notification to determine its validity. In some embodiments, the notification validity may be defined by the maximum number of notifications, allocated for the entity performing verification, or by the computing power, or by the latency. This evaluation may include verifying whether the forget data exists in the original dataset or checking compliance with specified unlearning thresholds. If the request is deemed invalid, the unlearning process stops.If the request is validated, another entity, such as a designated processing unit, initiates the application of contrastive learning techniques at 930. This involves fine-tuning the model using a contrastive learning objective and a selected parameter value λ. The parameter λ determines the weighting between the supervised learning objective and the contrastive learning objective during fine-tuning. A higher lambda prioritizes the removal of the forget data's influence by emphasizing contrastive learning, while a lower lambda balances the retention of the retain data's integrity with unlearning objectives. Due to this fine-tuning, the influence of the forget data is minimized while retaining the knowledge of the retain data. In some embodiments, the verifying entity may include functionality of the network controller (or the machine learning pipeline) , and application of contrastive learning techniques may be done at the verifying entity.After fine-tuning the model, the updated unlearned model is returned to an entity with access to the forget data, similar to the operation described with reference to the numeral 910. This entity reassesses the updated model to confirm whether the unlearning requirements have been fully met. This iterative workflow continues until the unlearning requirements are met.FIG. 10 illustrates an example workflow 1000 for a federated approximate unlearning process via contrastive learning, where the client whose data is unlearned leaves the system after submitting an unlearning request, in accordance with at least some non-limiting embodiments of the present technology.The workflow 1000 begins with the target client N, as shown at 1010, sending a notification to a network controller to request the removal of its data (Data N) from the global model. The target client N may include a user’s device such as a smartphone, an IoT sensor, or a healthcare monitoring system. The notification includes the details of the unlearning request, specifying the data that the client wishes to have removed from the global model.The network controller, as shown at 1020, receives and evaluates the unlearning request from the target client N. The validation process may involve verifying whether the client’s data contributed to the global model during training or checking against pre-established criteria for unlearning requests. If the request is deemed valid, the network controller retrieves an appropriate unlearning method and a corresponding parameter value λ from the function pool. The parameter λ determines the weighting between the supervised learning objective and the contrastive learning objective during fine-tuning. A higher lambda prioritizes the removal of the forget data's influence by emphasizing contrastive learning, while a lower lambda balances the retention of the retain data's integrity with unlearning objectives. The unlearning method, which may include techniques such as contrastive learning, is transmitted to the server for execution. If the request does not meet the required criteria, the process skips directly to 1030, and no further unlearning iterations are performed.The unlearning method provided by the network controller is then implemented by the server, as shown at 1040. During this step, the server collaborates with the remaining clients in the system to refine the global model. The remaining clients, which could include wearable devices, smart home systems, or autonomous vehicle nodes, contribute updated training data. Contrastive learning is employed to ensure that the retain data from the remaining clients is preserved while the influence of the unlearned data is effectively removed.Once the global model is refined, the server broadcasts the updated global model to all remaining clients in the federated system, as represented at 1030. This updated global model, now free from the contribution of the target client’s data, is made available for continued operations across the system. For example, the broadcasted model could be utilized by retail recommendation engines, industrial IoT systems, or financial fraud detection platforms to maintain functionality without retaining the influence of the unlearned data.In some embodiments of the present technology, the processor 110 is configured to execute a method 1100 for performing data unlearning. A scheme-block illustration of the actions of the method 1100 is depicted in FIG. 11. In one or more aspects, the method 1100 or one or more actions thereof may be performed by the processor 110 of the computer system 100. The method 1100 or one or more actions thereof may be embodied in computer-executable instructions that are stored in a computer-readable medium, such as a non-transitory mass storage device, loaded into memory and executed by a CPU. Some actions or portions of actions in the flow diagram may be omitted or changed in order.The method 1100 starts with generating, at operation 1101, by a server, a first unlearned model by performing a first unlearning iteration on a global machine learning model, based on a request from a target client. For example, with reference to FIG. 8, as indicated within the numeral 810, the server may initiate the unlearning process 800 by generating the first unlearned model in response to a request from a client N.The method 1100 continues with transmitting, at action 1102, by the server, the first unlearned model to the target client. For example, with reference to FIG. 8, as indicated within the numeral 810, the server may transmit the first unlearned model to the target client N.The method 1100 continues with verifying, at action 1103, by the target client, using a metric, whether a second unlearning iteration is to be performed on the first unlearned model. For example, with reference to FIG. 8, as indicated within the numeral 820, the target client N may verify the effectiveness of the first unlearned model using a metric to determine if further unlearning is required.The method 1100 continues with acquiring, at action 1104, by a network controller, a notification from the target client, the notification being indicative of a request to perform the second unlearning iteration. For example, with reference to FIG. 8, as indicated within the numeral 830, the network controller may acquire a notification from the target client N requesting an additional unlearning iteration.The method 1100 continues with selecting, at action 1105, selecting, by the network controller, an unlearning function from a function pool.The method 1100 continues with transmitting, at action 1106, by the network controller, the request to perform the second unlearning iteration and the selected unlearning function to the server. For example, with reference to FIG. 8, as indicated within the numeral 840, the network controller may select an unlearning function from a function pool in response to the notification from the target client N.The method 1100 continues with generating, at action 1107, by the server, a second unlearned model by performing the second unlearning iteration on the first unlearned model using the selected unlearning function. For example, with reference to FIG. 8, as indicated within the numeral 840, the network controller may transmit the request to perform the second unlearning iteration along with the selected unlearning function to the server.The method 1100 continues with transmitting, at action 1108, by the server, the second unlearned model to the target client. For example, with reference to FIG. 8, as indicated within the numeral 860, the server may transmit the second unlearned model to the target client N for further verification.The method 1100 continues with broadcasting, at action 1109, by the server, in response to the target client verifying that the second unlearned model is satisfactory, the second unlearned model to a plurality of non-target clients. For example, with reference to FIG. 8, as indicated within the numeral 870, the server may broadcast the second unlearned model to the non-target clients after receiving confirmation from the target client N.While the above-described implementations have been described and shown with reference to particular actions performed in a particular order, it will be understood that these actions may be combined, sub-divided, or reordered without departing from the teachings of the present technology. At least some of the actions may be executed in parallel or in series. Accordingly, the order and grouping of the actions is not a limitation of the present technology.It will be appreciated that at least some of the actions of the method 1000 may also be performed by computer programs, which may exist in a variety of forms, both active and inactive. Such as, the computer programs may exist as software program (s) comprised of program instructions in source code, object code, executable code or other formats. Any of the above may be embodied on a computer readable medium, which include storage devices and signals, in compressed or uncompressed form. Representative computer readable storage devices include conventional computer system RAM (random access memory) , ROM (read only memory) , EPROM (erasable, programmable ROM) , EEPROM (electrically erasable, programmable ROM) , and magnetic or optical disks or tapes. Representative computer readable signals, whether modulated using a carrier or not, are signals that a computer system hosting or running the computer program may be configured to access, including signals downloaded through the Internet or other networks. Concrete examples of the foregoing include distribution of the programs on a CD ROM or via Internet download. In a sense, the Internet itself, as an abstract entity, is a computer readable medium. The same is true of computer networks in general.It should be expressly understood that not all technical effects mentioned herein need to be enjoyed in each and every embodiment of the present technology.Modifications and improvements to the above-described implementations of the present technology may become apparent to those skilled in the art. The foregoing description is intended to be exemplary rather than limiting. The scope of the present technology is therefore intended to be limited solely by the scope of the appended claims.
Claims
1.A method of unlearning data in a global machine learning model, the method comprising, by a server:generating a first unlearned model by performing a first unlearning iteration on the global machine learning model;when the first unlearned model requires further unlearning based on a metric, generating a second unlearned model by performing a second unlearning iteration on the first unlearned model using a selected unlearning function; andperforming subsequent unlearning iterations until a subsequent unlearned model does not require further unlearning based on the metric.2.The method of claim 1 further comprising:following said generating the first unlearned model, transmitting the first unlearned model to a target client,wherein the first unlearned model is generated based on a request to perform the first unlearning iteration from the target client; andfollowing said generating the second unlearned model, transmitting the second unlearned model to the target client.3.The method of claim 1 or claim 2 further comprising:following said generating the first unlearned model and prior said generating the second unlearned model, receiving from a network controller a request to perform the second unlearning iteration and the selected unlearning function.4.The method of any one of claims 1 to 3 further comprising:following receipt of a message verifying that the second unlearned model is satisfactory, broadcasting the second unlearned model to a plurality of non-target clients, wherein the message is received from a target client.5.The method of any one of claims 1 to 4, wherein the selected unlearning function is a contrastive learning function.6.The method of any one of claims 1 to 5, further comprising:receiving from a network controller a weight parameter, the weight parameter being indicative of an extent of unlearning performed on the first unlearned model.7.The method of any one of claims 1 to 6, further comprising:receiving from a network controller an indication that a request to perform the second unlearning iteration being invalid; andfollowing said receiving the indication, broadcasting the first unlearned model to a plurality of non-target clients.8.The method of any one of claims 1 to 7, wherein the metric is a Kullback–Leibler divergence value calculated based on the global machine learning model and the first unlearned model.9.A method for unlearning data in a machine learning system, the method comprising:acquiring, by a network controller, a notification from a target client, the notification being indicative of a request to perform a first unlearning iteration;selecting, by the network controller, an unlearning function from a function pool;transmitting, by the network controller, the request and the selected unlearning function to a server;generating, by the server, an unlearned model by performing the first unlearning iteration on a global machine learning model using the selected unlearning function; andbroadcasting, by the server, the unlearned model to a plurality of non-target clients.10.The method of claim 9, further comprising:determining, by the network controller, whether the request to perform the first unlearning iteration is valid; andin response to the determining that the request to perform the first unlearning iteration is invalid, broadcasting, by the server, the global machine learning model to the plurality of non-target clients.11.The method of claim 9 or claim 10, further comprising:transmitting, by the network controller, a weight parameter to the server, the weight parameter being indicative of an extent of unlearning performed on the global machine learning model.12.A method for unlearning data in a machine learning system, the method comprising:generating, by a server, a first unlearned model by performing a first unlearning iteration based on a request from a first entity;transmitting, by the server, the first unlearned model to a second entity; the second entity having access to data corresponding to the first entity;verifying, by the second entity, using a metric, whether a second unlearning iteration is to be performed on the first unlearned model;acquiring, by a third entity, a notification from the second entity, the notification being indicative of a request to perform the second unlearning iteration;generating, by the third entity, a second unlearned model by performing the second unlearning iteration on the first unlearned model;transmitting, by the third entity, the second unlearned model to the second entity; andin response to the second entity verifying that the second unlearned model is satisfactory, using the second unlearned model by the machine learning system.13.The method of claim 12, wherein the metric is a Kullback–Leibler divergence value calculated based on a global machine learning model and the first unlearned model.14.The method of any one of claims 12 to 13, wherein the first entity, the second entity, and the third entity include computer processors.15.A communication apparatus, comprising a memory and one or more processors, wherein sthe memory is configured to store a computer program, and the one or more processors are configured to execute the computer program in the memory, to enable the communication apparatus to perform the method according to any one of claims 1 to 14.16.A computer-readable storage medium, wherein the storage medium stores instructions, and when the instructions are executed by a computer, the method according to any one of claims 1 to 14 is implemented.17.A computer program product, wherein when a computer reads and executes the computer program product, the computer is enabled to perform the method according to any one of claims 1 to 14.