Systems and methods for training machine learning models using simulated data sets
By generating simulation datasets and employing differential privacy technology, the challenge of removing sensitive data from machine learning models has been solved, achieving efficient and privacy-preserving data cleanup that is suitable for privacy and copyright protection in large-scale models.
Patent Information
- Application Number
- CN202480090370.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-02-06
- Filing Date
- 2024-07-22
- Publication Date
- 2026-11-06
AI Technical Summary
Existing technologies struggle to efficiently remove sensitive data from machine learning models, and traditional data removal methods are costly and have poor compatibility in large-scale models, making it difficult to ensure data privacy and copyright protection.
The machine learning model is trained using a simulated dataset. A generative model is then used to generate a simulated dataset that is similar to the initial training dataset but with privacy protection. By combining differential privacy and dataset simulation techniques, the effectiveness and privacy of model cleanup are ensured.
It enables efficient and privacy-preserving data cleanup in large-scale models, ensuring that the model does not leak sensitive information or affect model performance, and is suitable for copyright protection and data privacy requirements.
Smart Images

Figure CN123057488A_ABST
Abstract
Description
Cross-references to related applications
[0001] This application is an international application filed on February 6, 2024, under U.S. Application No. 18 / 434,291, and claims the benefit thereof, which is incorporated herein by reference in its entirety. Background Technology
[0002] The responsible use of data is an integral part of any machine learning implementation. Machine learning developers must carefully collect and organize their datasets and document their origins. In recent years, the size and complexity of machine learning models have increased significantly. These models require vast amounts of data and computational power to train, to the point that any defects in the training corpus cannot be remedied by retraining the model from scratch. Despite sophisticated control over training data and significant effort invested in ensuring the correct composition of the training dataset, the sheer volume of data required by the model makes manually inspecting every piece of data included in the training dataset challenging. Attached Figure Description
[0003] Detailed descriptions are given with reference to the accompanying drawings. These drawings are provided for illustrative purposes only and depict only exemplary embodiments of the present disclosure. The drawings are provided to facilitate understanding of the present disclosure and should not be construed as limiting the breadth, scope, or applicability of the disclosure. In the drawings, the leftmost numeral(s) of the reference numeral(s) may identify the drawing in which the reference numeral(s) first appear. The same reference numerals are used to indicate similar but not necessarily identical or identical components. However, different reference numerals may also be used to identify similar components. Various embodiments may utilize elements or components other than those illustrated in the drawings, and some elements and / or components may not be present in various embodiments. The use of singular terms to describe components or elements may depend on the context and cover the plural of such components or elements, and vice versa.
[0004] Figure 1 A flowchart illustrating a method for training a machine learning model using a simulated dataset, according to one or more example embodiments of the present disclosure, is depicted.
[0005] Figure 2 Another flowchart is depicted for training a machine learning model using a simulated dataset, according to one or more example embodiments of this disclosure.
[0006] Figure 3 Another flowchart is depicted for training a machine learning model using a simulated dataset, according to one or more example embodiments of this disclosure.
[0007] Figure 4 Example use cases for training machine learning models using simulated datasets, according to one or more example embodiments of this disclosure, are described.
[0008] Figure 5 A method for training a machine learning model using a simulated dataset is described according to one or more example embodiments of the present disclosure.
[0009] Figure 6 Another method for training a machine learning model using a simulated dataset is described according to one or more example embodiments of this disclosure.
[0010] Figure 7 An example system for training a machine learning model using a simulated dataset is described according to one or more example embodiments of this disclosure.
[0011] Figure 8 An example computing device according to one or more example embodiments of the present disclosure is depicted. Detailed Implementation
[0012] This disclosure relates to systems and methods for training machine learning models using simulated datasets. In particular, these systems and methods provide a "cleanroom setup" for training models, involving starting with an initial dataset, generating an abstract description of that dataset (e.g., in the form of textual descriptions or features), and then generating a new synthetic "simulated" dataset (e.g., using a generative model) based on the abstract description. That is, the simulated dataset may be training data generated by the model, contrasted with the real initial training dataset. The simulated dataset can then be used instead of the original dataset to train a new model. The simulated dataset can also be generated in any other suitable manner described herein or otherwise (instead of based on the abstract description). Using a simulated dataset instead of the initial dataset is an improvement to the machine learning training process because it provides a separation, ensuring that the trained model does not see the initial data. This is beneficial, for example, if the initial dataset includes some sensitive data, such as personally identifiable information.
[0013] As an example, diffusion models are a type of generative machine learning model that generates output images based on simple text prompts or sketches. However, in some cases, given the sheer volume of training data that makes it challenging to verify the attribution of each training data sample, these diffusion models can capture the individual craftsmanship of an artist.
[0014] As mentioned above, the way training data is used to train a model is crucial for a variety of reasons. One potential solution to defects in training corpora is model sanitization, which involves not only eliminating improperly used data but also eliminating the impact of such data on any components of the model. Model sanitization techniques can be used to address a range of issues, such as reducing bias or toxicity, improving fidelity, and ensuring the responsible use of intellectual property.
[0015] One of the core challenges of model purge of large models is that these models can include parameters representing arbitrarily high numbers of data dimensions and statistical correlations. This means that it can be difficult to determine the specific impact of any particular training data on a fully trained model. For at least this reason, simply removing data associated with the model may not be a viable strategy. This paper describes several different approaches to performing model purge, including at least reactive purge (including retraining and forgetting / forgetting), proactive purge (including partitioning), and preemptive purge (including dataset simulation and differential privacy). However, the systems and methods described in this paper can utilize one or a combination of dataset simulation and partitioning.
[0016] Starting with reactive cleansing, large-scale neural networks can be trained on datasets that include network-scale data. In this case, errors in the data collection and preparation process may lead to the need for model cleansing, etc.
[0017] The first reactive purge approach could involve retraining the model. Retraining is a method used to eliminate the effects of any data queues from the training model by reusing the model only with the remaining data. However, given that currently used machine learning models can have hundreds of billions or even trillions of parameters, retraining the model after every purge request may not be a feasible approach. Besides cost considerations, retrained models are often incompatible with the original model when used as part of a workflow in a larger system. Even retraining the same model on the same data can result in models with behavioral differences sufficient to disrupt downstream workflows, even with slight perturbations in the training process. Therefore, retraining-based model purges may render most large-scale model systems unusable.
[0018] The second type of reactive cleanup approach can include selective forgetting and / or oblivion. If the data queue required to trigger model cleanup is a small fraction of the overall training data, its impact on the training model can be characterized and eliminated without needing to retrain the model. Estimating the impact of samples in a way that is both efficient and accurate is challenging due to the complexity of large-scale deep networks. Therefore, this process may not provide deterministic removal guarantees, but it can provide quantifiable probabilistic measures. Many forgetting methods are based on the concept of an influence function, which provides a way to efficiently estimate the impact of selected samples by approximating the loss function used to train the model. However, this probabilistic measure may fail when applied to large-scale deep networks due to the complexity of the training process and the high nonconvexity of the loss function. Some of these challenges can be mitigated if the model developers have a “safe core” training dataset that is known to never need cleanup, such as de novo synthetic data. In particular, the safe core set can be used to initialize the model, and information from additional data can be encoded as small perturbations to the core model. This allows for easier estimation of the impact of additional data and, when necessary, elimination of its impact without catastrophic consequences for the entire model.
[0019] Moving to preemptive purging allows modifications to the training process by designing it to ensure that the "unique information" contained in any sample queue of the training data is limited by a small value, which can be chosen by the user or automatically by the system. Assuming the model contains no substantial information about any training samples, theoretically the model can remain unchanged and still satisfy an individual's purging request. However, purging larger datasets can still be challenging.
[0020] The first preemptive cleanup method is differential privacy. Differential privacy involves actively training the model so that any particular training data has no negligible impact on the model or its generated content. From the initial training dataset... and removal Any small portion of the dataset obtained Beginning (as a non-restrictive example, all works by a particular artist). Then, under differential privacy, in The model trained on and in A model trained on this platform is statistically indistinguishable, even for those who simultaneously know... and The same applies to the observer (or system). In a generative setting, this means that the distribution of the output content given the input cue is also indistinguishable. In other words, differential privacy models effectively purge training data by a priori minimizing their impact.
[0021] Differential privacy models achieve this by intentionally adding noise to the training process, attempting to eliminate the influence of any small patches of data while still maintaining the desired aggregation effect (high-quality output in generative models). Adding more noise provides stronger cleansing properties but may also reduce the quality of the model's output. This trade-off can be determined by privacy parameters chosen by the user or automatically by the system.
[0022] The second preemptive cleanup method is dataset simulation, and the method described in this paper utilizes dataset simulation. In the context of "generative artificial intelligence," some cleanup requests have emerged due to concerns that the model might generate data that is "similar," "in its style," or "captures its spirit" to the data used for training. The goal of dataset simulation is to generate a synthetic "simulated" dataset. This dataset captures the original training set. The general distribution property of ", while maximizing with Geometric, perceptual, or conceptual distance.
[0023] Although from Dataset generated by the model trained on it and While computational relationships exist, in some instances, these relationships may be limited to capturing general distribution properties while making a best effort to avoid generating near-perfect distributions. The sample. Once this guarantee is provided, the data It can be used for downstream tasks, without involving Protectable elements. Specifically, the resulting data can be used to train a now unconstrained model, which can then be used to differentiate or generate new outputs. In the latter case, the simulation dataset As a "clean room", it will generate Models and datasets Separated, this dataset was never generated. I've seen that model before, and its samples are similar in design to... Make them as different as possible. Users can manually check them if needed before training the final model. To ensure that the transmitted element is not included The difference is either large enough or insignificant. This verification can also be performed automatically by the system, eliminating the need for manual user checks.
[0024] In generation At that time, it is possible Train an infinite number of models, each involving design choices and randomness, and each model can generate approximately an infinite number of different datasets. Although in The model trained on it can contain important novel elements, but The owner may still want to protect The specific aspects implicit in it. These aspects can be directly found in the simulation dataset. Measurements are performed on each sample, and samples are removed automatically or manually to ensure... This information is unavailable. Alternative locations can be used in... Generative models trained on top of this are used to create synthetic data. The synthesized data has structural deviations that are inconsistent with... To be as different as possible in these specific aspects.
[0025] In this embodiment, this bias can be hard-coded in the loss function used to train the model, rather than verified from the model's output. This can be achieved by training a generative model, while also allowing the generated samples to... and training samples Distance between Maximize. For example, if for tunable... , The same distance can then be used as an additional metric for post-hoc rejection of generated samples.
[0026] However, training generative models on fully synthetic data may still be technically challenging, even The image in is real and subjectively "similar" to the image in D. Models trained on D are typically of much lower quality than those trained on D. This is because, even in real-world scenarios, synthetically generated images can include subtle artifacts that affect the training process. These artifacts impact the quality of both generative and discriminative models, sometimes referred to as the "simulation-to-realism gap." This gap can be improved by using higher-quality data (e.g., if the data is images, the images might be higher resolution).
[0027] Another option is With Different modalities are generated. For example, This can include restricted abstract encodings (embedding vectors that cannot be directly rendered as images) or encodings mapped to semantically interpretable values, such as captions or text embeddings. In this case, the values of the simulation dataset used for downstream training are even further reduced.
[0028] Relative to the usable distance, for symbolic data such as text (in its original form or embedded with "") (the vector representation of "") has an objective ("geometric") distance. It approximates the perceived similarity very well. However, for signal data such as images, any data... Both have a large number of samples, according to These samples and They are far apart, yet perceptibly indistinguishable. This can occur in subtle or macroscopic changes. The value of each pixel can change within an image without triggering a perceptible alteration. To capture perceptual rather than geometric similarity, low-level statistics designed to mimic early stages of human cortical processing can be compared. It is designed so that data points that are close together are (likely) indistinguishable to humans. In this case, "perceived distance" can be written as... This will compare shifts from the data space to the feature space, in which standard geometric distances are applied. Besides a pre-designed feature space that depends on the sensor rather than the sensed object, an abstract concept of the "style" or "spirit" of a particular dataset can also be considered. In this case, what can be defined is not geometric distance. or perceived distance It is not "conceptual distance" but rather a concept of distance. ,Now Instead of being designed to capture low-level statistics, it is trained to capture the high-level semantic features of the data. For example, It can be an embedding generated by a model that is trained to align an image with its corresponding textual interpretation or "caption".
[0029] The choice of distance defines what is considered equivalent to a verbatim copy of the data itself, beyond a mere copy of the original. If the distance is too large, it may cover a portion of the data space far beyond the original data, potentially including data belonging to other owners. For example, owning a dataset... Entities may be interested in licensing the dataset to entities that already have it in the dataset. The service provider that trained the model then trained it. This entity might require all generated data distances to be calculated based on an adversarially chosen distance *d*. The distance is greater than some r>0. If the image generated by the service falls within a distance r, even if it is unknown... If obtained under such circumstances, then The owner of the data may try to control the use of data that does not belong to them. Therefore, the effectiveness of the exercise depends on identifying the data. The choice of distance or discriminant for the protected element. Careful testing and calibration of this distance or discriminant may be necessary to avoid unauthorized access. Even so, distances can be misclassified as sufficiently far data by applying imperceptible perturbations, although distances can be designed to be robust to such perturbations.
[0030] Typically, datasets The "essence" or "style" is an abstract concept and is not included in The set of "protectable elements" on which models trained represent different implementations, each including novel elements not in the specification of the dataset. These novel elements define the features derived from the training data. The inductive bias required to generate novel samples. Using The trained model has countless possible implementations, each of which can have different inductive behaviors, and each inductive behavior can generate different novel data.
[0031] For high-dimensional data such as images, dataset simulation provides a way to ensure that the synthetic data is sufficiently different. This can be done constructively by designing learning criteria that maximize the differentiation between synthetic and original samples, or selectively by testing each synthetic sample and deterministically rejecting samples that fail the differentiation test.
[0032] However, this approach still presents challenges because even realistic and indistinguishable synthetic data can contain subtle artifacts that affect the performance of trained models. This is similar to the "uncanny valley" in physics-based synthesis, but transposed into an inductive learning setting. One of the key elements of dataset simulation is the choice of a criterion (distance or discriminant) that inductively defines the "style" or "spirit" of a particular dataset. Here, this choice can be delegated to an unspecified function. Because there is no predefined choice, and the choice may depend on the specific application, dataset, or other factors. The choice of distance and margins may be part of the dataset cards and will take into account the conditions under which the data is used.
[0033] Turning to active cleansing, it may be worthwhile to train the model in preparation for potential model cleansing, given that even the most stringent data cleansing standards may not be perfect on datasets the size of those used in existing models. That is, the model can be trained in such a way that model cleansing can be performed later with minimal impact on the overall trained model. While using simulation datasets is one approach employed by the systems and methods described in this paper, another approach used by the methods described is to combine simulation datasets with active cleansing. In some instances, active cleansing may also be used independently of simulation datasets.
[0034] One approach to proactive purging involves splitting the dataset into multiple disjoint subsets (called "shards") and training a separate model in isolation on each shard. Purging then involves only the sub-models trained on the subsets containing the samples. Purging requests can be addressed simply by eliminating or retraining model components that have already been exposed to the data queue in question.
[0035] These methods can be called "compartmentalization" because they separate information from different samples in different sub-models. Key design choices for participatory models include how to split the training data, what architecture to use for the sub-models, and how to combine them. These, in turn, affect three aspects of the trained machine learning system: expected forgetting cost, model accuracy, and inference time latency.
[0036] Each time a purge request is received, it may be necessary to retrain the sub-model corresponding to the shard being purged, and the retraining time may be roughly proportional to the shard size. Therefore, using smaller shards (especially for samples with a higher risk of purge) leads to a reduction in the expected computational cost per forget request. For example, a "smaller" shard might refer to a shard comprising less than 1% of all the training data used (however, this is not intended to be restrictive). On the other hand, training sub-models on increasingly smaller shards causes the model to gradually weaken, thus reducing the final accuracy. Moreover, splitting the data into smaller shards increases the total number of shards, each associated with a sub-model, which needs to be stored and executed during inference time, thus increasing inference latency.
[0037] One approach involves randomly splitting the data into uniform shards and training a separate copy of a standard network on each shard. Another approach starts with a network pre-trained on a core dataset, which is considered unaffected by the cleanup requirement, and builds a simple linear classifier on the data by computing the average embedding. This results in lower accuracy than the unconstrained model but enables instantaneous forgetting. To remove a sample, simply subtracting its embedding from the mean suffices, without any retraining (therefore, the expected forgetting cost is close to zero). The second approach may involve better accuracy than the first when low forgetting cost is required. The first approach can also be applied to connectors learned on a pre-trained backbone.
[0038] The third approach improves upon the first approach along all three axes: (a) it does not use uniform sharding, but instead optimizes shard composition to improve sub-model performance; (b) it uses a mechanism similar to the second approach to ensure accuracy with extremely low retraining time; and (c) it uses training and running inference in parallel across thousands of shards, significantly reducing computational costs. Another approach focuses on improving the ensemble process and selecting and averaging the top k most relevant sub-models in an instance-relevant manner.
[0039] Another advantage of partitioning-based methods is that, unlike individual sample purges, data purge of an entire shard (or multiple shards) can be performed at virtually zero cost. Therefore, if all samples from a data source are expected to need purge simultaneously, it may be beneficial to group all data from that source into a single shard, which can then be easily discarded. However, this can be difficult to achieve if the source does not exhibit sufficient diversity to train strong sub-models. For example, if the shards are organized by domain, each model built on a homogeneous shard may overfit to that domain, resulting in a biased set of models.
[0040] The partitioning ensures that the impact on the purged data is strictly zero. Here, cost refers not only to the computational cost of retraining the affected sub-models, but also to the accuracy loss due to architectural constraints and the nature of the partitioning, which in some cases can be so significant as to render the model ineffective. Given the constraint that the data to be purged is distributed across all partitions, this approach requires retraining from scratch.
[0041] In this embodiment, the document describes image generation using a partition-diffusion model (CDM). While partitioning or expert mixtures are generally used in discriminative learning, partitioning is generally not used in generative learning with diffusion models. Due to the discreteness of the output space, different discriminative models or even large language models (LLMs) can generally be combined using techniques such as majority voting or averaging. However, using these types of conventional methods for image generation using diffusion models can be very detrimental.
[0042] In contrast, the CDM described in this paper combines probability streams from different diffusion models at each step of the diffusion process to produce a real image with better alignment than images produced using individual diffusion models.
[0043] Regarding the combination of probability streams, in each step of the backdiffusion process, the probability streams in the optimal setting can be combined linearly (e.g., they are linear combinations of the individual streams). The combination coefficients of the probability streams may depend on the probability that the intermediate noisy image was initially generated by one of the models. For example, there are two models (one for identifying cats and another for identifying dogs). Then, in each intermediate step (which may include noisy images), two determinations can be made: how likely is this noisy image to be a cat, and how likely is this noisy image to be a dog. The sum of these two numbers should equal 1. Now, the images may start out very noisy, so the probability of each image may be close to 0.5, 0.5. However, as inference progresses, the image is more likely to be one of the two, so the probability changes, for example, to 0.9, 0.1. During backdiffusion, these coefficients (0.5, 0.5 or 0.9, 0.1) can be used to multiply with the probability streams.
[0044] In this embodiment, these coefficients could be estimated; however, this may be impractical given that the true distribution of the data may be unknown. Therefore, a classifier can be trained to estimate these probabilities at each time step. Given a noisy intermediate image, the classifier calculates the probability that the noisy intermediate image belongs to one of "N" categories (where N is the number of data splits or partitioning diffusion models) and multiplies the probability of the classifier model by the individual probability flows. The classifier model can be trained on a subset of the data and is much smaller than a diffusion model. Alternatively, a trained, free classifier model, such as a k-nearest neighbor-based model, can be used to obtain the probabilities of the scaling flows.
[0045] CDM enables efficient cleanup because slices contaminated with data samples no longer expected to be known can be retrained, thus reducing cleanup time. Due to the model's partitioning nature, CDM can also perform credit attribution (source / model attribution) on the generated images. More specifically, if CDM is used to create a simulation dataset, then the contribution of each model to each simulation image can be evaluated (thus evaluating its training subset of data). Due to its customizable nature, partitioning also helps improve model coverage and reduces memory usage.
[0046] Another emerging approach to providing data protection during model training is Retrieval Augmentation Generation (RAG). RAG is a technique that allows models to adapt to data without training, handle credit attribution, and allow for large-scale, efficient machine forgetting. Instead of using user data to fine-tune the model, it retrieves supporting samples from the model at inference time to guide the generation of new samples. Data can be easily added to or removed from a retrieval data repository without altering the model, and users can access different subsets of the data based on their access permissions. However, the RAG approach is a double-edged sword; direct access to retrieved reference images often significantly improves the quality of generated samples, and the RAG model may copy information from the retrieved samples into its output.
[0047] To remedy this problem, this paper describes an improvement to RAG in the form of Retrieved Copy Protected Generation (CPR). CPR retrieves multiple private examples from a data pool. Information from all these samples is combined to generate a “private” diffusion stream that uses the public information of these samples while discarding any unique and identifiable information. The resulting private stream is then optimally combined with the “public” stream generated by the underlying model to produce new outputs that still benefit from the retrieved samples but minimize the risk of using unwanted information.
[0048] In particular, this improved approach satisfies the recently proposed concept of copyright protection using Near-Free Access (NAF), a relaxation of differential privacy aimed at protecting specific attributes of training data. Unlike previous approaches that utilize computationally expensive rejection sampling methods to implement NAF, CPR is achieved through construction during generation. Therefore, our method is significantly faster than previous baselines while maintaining deterministic inference costs.
[0049] make This is the data distribution on an image, which is being modeled using a diffusion model. A fractional diffusion model defines a (variance-preserving) positive flow through the SDE, which carries the time... Distribution of time Transformed into time Reference distribution at time : (Equation 1)
[0050] in It is time Diffusion input at time, It is a standard Wiener process, and These are time-varying coefficients (actually implemented through linear or cosine scheduling), which determine the transition kernel and the amount of noise that increases over time. Time Intermediate results of time-diffusion process It is equivalent to expressing the Gaussian kernel Applied to As a result, ,in and .
[0051] The forward process in Equation 1 can be reversed by the corresponding reverse process. Specifically, this process can be used to... The samples began to be generated. Sample: (Equation 2)
[0052] in yes The fractional function of the time-varying data distribution. Efficiently computing the fractional function is difficult. Instead, it can be achieved using deep networks. (That is, the diffusion model) is approximated as In practice, diffusion models are typically trained with additional inputs. To conditional distribution Modeling is performed, including the conditions Additional information about the samples to be generated is provided, such as text prompts. Given a joint distribution. The sample can be used to train the diffusion model by minimizing the score matching objective. : (Equation 3)
[0053] Use by Modeling the backflow directly to generate samples can lead to misalignment. This can be improved by using a classifier-free guide with modified scores: ,
[0054] hyperparameters Control the guidance scale, and This indicates that no conditions are being fed to the model.
[0055] Below, a method for privacy-enabled RAG based on the concept of hybrid privacy is provided.
[0056] make It is a "secure" training dataset, meaning that the samples are considered public in a differential privacy sense. It can be assumed that... Used to train the core public diffusion model The core public diffusion model accepts As conditional information. It can also be assumed that... It is the output of the CLIP encoder. (<Hints>), which are delivered with text or image hints. Additionally, let It is a private dataset that may be frequently forgotten or may require privacy or copyright protection. It can be viewed as a data repository used for retrieval.
[0057] During inference time, given user prompts You can search A collection of relevant examples To aid the generation process. For simplicity, it can be based on... - CLIP similarity score retrieves the closest match. One sample: Fraction = .
[0058] However, please note that... In, it can be done through functions The search suggestions have been modified to better align with user prompts.
[0059] The retrieved samples can be used to improve the generation of new samples. Formally, the goal of CPR is to modify the sampling reversal process so that... and Samples are generated from a weighted mixture of distributions: (Equation 4)
[0060] Among them, weight and Allowing users to use hyperparameters during inference time Control the contribution of the retrieved samples.
[0061] To sample from this mixed distribution, one can do so in time. Calculate its fractional function (See Equation 2). (Equation 5)
[0062] in It is a Gaussian kernel. The following two options provide expressions for the fractions of the mixture as functions of the fractions of the individual components.
[0063] As the first option, let As shown in equation 5, then Given from the following: in:
[0064] and Indicates time Time distribution The positive flow (and for) (The situation is similar), and .
[0065] Although and They can be calculated precisely, but treating them as fixed hyperparameters might simplify the implementation. (Scores) It can be done in The diffusion model trained on To make an empirical approximation. However, in the retrieved data Model estimation trained on It might not exist. To address this issue, recall this diffusion model that minimizes the loss. : (Equation 6)
[0066] because minimum value It is likely expected to be a small disturbance. However, for Fine-tuning to find this for each inference request It is prohibited in calculations.
[0067] The expected behavior can be approximated by cues rather than fine-tuned. Text reversal and cue tuning have been shown to perform comparably to fine-tuning on small datasets when using significantly fewer parameters. However, even with these reductions, fine-tuning the inference can still be cumbersome. Instead, user cues can be manually modified using CLIP embeddings of the retrieved samples. And define the retrieval score function: (Equation 7)
[0068] As a second option, assuming yes And Lipschitz in c. Let Let be the optimal solution to equation 6, and let For use Retrieved private samples. Then:
[0069] This result ensures that the optimal diffusion model trained on the retrieved data can be used with engineering hints. To approximate this, we only need to compute the CLIP embedding of the retrieved image. Combining the first and second options yields a fractional function expression for the retrieval enhancement mixture distribution, which can be referred to as the "retrieval mixture fraction": (Equation 8)
[0070] This method allows the generation of retrieval enhancement samples using any pre-trained CLIP-based diffusion model without any further modifications. For example, this can be used to improve text-to-image alignment. Simultaneously, the retrieval mixture fraction function has been directly applied to privacy, as it allows for forgetting within a constant time. The inclusion of examples becomes easy: these examples are not used to train any parameters, so they can simply be removed from disk and forgotten. However, samples retrieved at inference time can still potentially reveal private information.
[0071] To mitigate this situation, a method using a hybrid privacy RAG approach can be employed to generate copyright-protected samples.
[0072] make It is a private sample set, and we hope to protect its information and make it... It is a measure of divergence between probability distributions, such as KL divergence. or maximum divergence (That is, the Renyi divergence is) For safety: It is a function that takes samples Mapped to not used The trained generative model. The Near-Free Access (NAF) criterion can be defined as follows. Generative model In relative to and Safety Tips Above is Access without permission (or -NAF), if for all Then we have .
[0073] In fact, security It could be a model trained using the leave-one-out method, or it could be a piecewise secure model, or it could simply be a secure core diffusion model. The above definition indicates that, in order to perform secure generation, the distribution of the output samples must be close to inaccessible. The model of private samples in the data.
[0074] The first method provides a simple process for generating NAF-protected samples relative to KL divergence. Given a dataset... And copyrighted samples , It can be split into two disjoint partitions. , Two generative models are trained on each of the two partitions. , Given these two models, return a value relative to... satisfy -NAF's new model
[0075] in , It is the Hellinger distance.
[0076] However, for diffusion models, access may be limited. and However, only the scores can be accessed separately. and ,in The variance maintains a Gaussian distribution. Therefore, by extending the theorem to the fractions of the model, this approach can be extended to generative models.
[0077] Given a fractional function, this method can be provided in "Algorithm 1" shown below, where the two fractions are averaged at each step during backdiffusion using Langevin dynamics.
[0078] make This is the output of Algorithm 1. In some instances, It is relative to safety of -NAF.
[0079] Based on previous results, Algorithm 1 is able to... , Increase and Samples are generated from Equation 9 when the reduction occurs. However, in practice, it may not be possible to obtain the optimal score, and an approximation using a DNN may be used instead. In this example, a safe model can be considered as... And the RAG score on the private data repository is In fact, although combining the two scores as in Algorithm 1 can produce better results, it also doubles the computational cost of inference time.
[0080] To circumvent this situation, a second method (Algorithm 2) can be used, which approximates Algorithm 1 without increasing computational complexity. The second method does not incur the higher computational cost of the first method. One approach for estimating the probabilities of individual samples might involve calculating the minimum mean squared error (MMSE) using a pre-trained text-to-image diffusion model. Let... , ,in ,and Let SNR be the logarithm. Then, the distribution... The MMSE denoiser can be defined as: (Equation 10) The MMSE denoising tool provides a simple expression for estimation. The logarithmic probability. (Equation 11)
[0081] in yes The time derivative. Note that... It is also equal to the diffusion score obtained earlier.
[0082] The results show that, in order to relative to Safety To obtain NAF, you might only need to consider each time step. Limit the differences in MMSE. This can be achieved by selecting... Used for most To enforce this restriction, and intermittently For the remainder .
[0083] Using these results, another algorithm can be provided for copy protection generation. Let... , For use separately , The obtained model. It can be assumed that the total data is partitioned in this way, i.e., Contains security data, and Contains data protected by copies. For our safety model. In fact, it can provide access to the fractional function or the MMSE denoiser. , .
[0084] NAF Algorithm It is a subset of the non-overlapping time intervals on the real number lines. Using sets... The new distribution can be defined as: (Equation 12)
[0085] This new distribution is time-dependent; it is essentially time-dependent. Choose a distribution to Sampling is performed. The advantage of this method is that it allows the user to select one of the two models during backdiffusion at each time step.
[0086] make For the MMSE denoiser of equation (12), it can be shown that: (Equation 13)
[0087] This result shows that the optimal MMSE denoiser in Equation 12 can be selected from one of two denoisers depending on the time step, where The choices can be entirely user-related.
[0088] make This is the output of Algorithm 2. Under certain regular conditions (see supplementary materials), It is relative to safety of -NAF .
[0089] In practice, diffusion processes can often be modeled using discrete Markov chains. For In a discrete Markov chain, the output of the model can be represented using the entire trajectory as... (Security Model) , Interval set It becomes a set of discrete time steps. During backdiffusion, in each At that time, the user can use one of the two models to generate an update. The score. Depends on The option allows for the generation of completely safe images. (Empty). This leads to two CPR selection algorithms, depending on... The choice.
[0090] In one setting, you can select So that in each When choosing a model, select the one with the larger MSE, which can be considered as each The worst model is selected at that time. This can generate samples from the distribution that approximates the minimum of two distributions. This is intuitive because it is suitable for selecting... (This is a timestamp for the security model) There will be no loss, and It may only be necessary to restrict the remaining items.
[0091] Similarly, by selecting at regular intervals (Private model) For example, each The step size, or in the simplest case, in an alternating manner, can be selected. Alternate between the two models. Using this method, it may only be necessary to... Step size calculation To limit .
[0092] In the experiment, It may have been trained on core security data. ,and It uses private data during inference by retrieving data. .
[0093] Switch to the attached image. Figure 1 A flowchart 100 is depicted for training a machine learning model using a simulated dataset 106. Flowchart 100 begins with an initial training dataset 102 (which may be referred to herein as "D"). For consistency, this document may refer to a training dataset that includes images; however, any other type of training data, such as text-based training data, may also be used.
[0094] Certain portions of the initial training dataset 102 may not be expected to be known by the machine learning model 108 (the model used to perform downstream tasks after the machine learning model 108 has been trained). For example, some initial training datasets 102 may include personally identifiable information, such as biometric information in the form of an individual's facial image. As another example, if the model is a diffusion model that generates output images based on text prompts, the undesirable information may include copyrighted works by artists. These are merely examples, and for any reason, the final machine learning model 108 may also not expect to use any other type of information. As another example, training data may be text-based information and may include trade secrets that a company wishes to retain. In some instances, it may not initially be expected to use such information to train the final machine learning model 108. In other instances, after the machine learning model 108 has been trained, it can be determined that it is no longer expected that the machine learning model 108 will know such information. The determination of whether data is not expected to be known by the machine learning model 108 can be performed automatically by the system or device; however, in some cases, the user may provide manual instructions that data being known by the machine learning model 108 is undesirable.
[0095] In any case, model cleansing can be used to ensure that the machine learning model 108 is unaware of unwanted data. As one method of such cleansing described above, instead of training the machine learning model 108 using the initial training dataset 102, a simulated dataset 106 (which can be referred to herein as "the model cleansing") is generated. The simulation dataset 106 can be used to train the machine learning module 108. The simulation dataset 106 may include data generated by at least some models based on the initial training dataset 102, but does not include the unwanted portions of the initial training dataset 102.
[0096] To generate the simulation dataset 106, an initial training dataset 102 can be provided to a first generative model 104. The first generative model 104 can be trained using the initial training dataset 102, such that it possesses knowledge of the information included in the initial training dataset 102. Once trained, the generative model 104 can then be used to generate the simulation dataset 106, which can be a different dataset based on the initial training dataset 102. Since the simulation dataset 106 is a newly generated dataset, unwanted portions of the initial training dataset 102 can be inherently removed from the simulation dataset 106.
[0097] Generative models are machine learning models that focus on understanding how input data is generated and aim to learn the distribution of the data itself. For example, if the input data includes images of cars, a generative model tries to understand what makes a car look like a car. The generative model might then be able to generate new images that resemble cars. Non-limiting examples of different types of generative models can include Bayesian networks, diffusion models, generative adversarial networks (GANs), variational encoders (VAEs), restricted Boltzmann machines (RBMs), pixel recurrent neural networks (PixelRNNs), Markov chains, normalized flows, and more.
[0098] Another method for generating the simulation dataset 106 involves generating a natural language description of the data included in the initial training dataset 102. The generative model 104 can then be used to generate the simulation dataset 106 using the natural language description instead of the initial training dataset 102 itself. This provides further separation between the simulation dataset 106 and the initial training dataset 102. The natural language description can be generated in any suitable manner. For example, the natural language description can be generated by the model, or it can be manually provided by the user, etc.
[0099] In an embodiment, an optional verification step 107 may be performed to ensure that the simulation dataset 106 is sufficiently different from the initial training dataset 102. That is, the simulation dataset 106 may be analyzed to determine whether the distance between the simulation dataset 106 and the initial training dataset 102 meets one or more predefined thresholds.
[0100] To train a model based on a dataset, it may be necessary to transform or encode the data in the dataset into numbers so that the dataset is in a format readable by the model. Vectors and matrices represent inputs such as text and images (or other types of input) as numbers, making the data usable for training the model. Therefore, the differences between these numerical values can be used to determine the separation between the simulation dataset 106 and the initial training dataset 102. Then, the distance values can be compared to multiple predetermined thresholds to determine whether the differences between the simulation dataset 106 and the initial training dataset 102 are sufficient (e.g., satisfying a threshold). As used herein, a "satisfying" threshold may vary depending on the type of threshold used. For example, satisfying a threshold may include distance greater than, greater than or equal to, less than, less than or equal to (multiple) thresholds.
[0101] In some instances, the differences between the initial dataset 102 and the simulation dataset 106 can also be determined in any other suitable manner. For example, it might be desirable to remove copyrighted elements from the datasets, so determining the differences between the initial training dataset 102 and the simulation dataset 106 might involve determining whether the “essence” or “style” of the datasets is sufficiently different. This optional verification can be performed manually by the user or automatically by the system. One or more thresholds can also be established manually by the user or determined automatically by the system.
[0102] Once the first generative model 104 has generated the simulation dataset 106 (and, if applicable, performed an optional validation step), the simulation dataset 106 can be used to train the machine learning model 108. Once trained, the machine learning model 108 can be used to perform downstream tasks (e.g., generating output 110, which may be referred to herein as "the output model 108"). For example, if the initial training dataset 102 includes images of people, the machine learning model 108 can be used to identify whether a person is present in the input images provided to the machine learning model 108. This is merely one example of the types of tasks the model can be trained to perform. As a further, non-limiting example, the machine learning model 108 can be trained to perform computer vision tasks, natural language processing tasks, and / or any other type of task. The benefit provided is that the machine learning model 108 is trained to perform the task without having visibility into unwanted portions of the initial training dataset 102.
[0103] While using the simulation dataset 106 shown in flowchart 100 is one cleanup method, another method (i.e., partitioning) can also be used in combination with the simulation dataset, or alone without using the simulation dataset 106. Any references to the use of simulation data in this document are not intended to be limiting, and partitioning may also (or alternatively) be applicable.
[0104] Figure 2 Another flowchart 200 is depicted, in which a partitioning approach is employed as an alternative to generating and using a simulation dataset to train a generative model 206 (however, the use of partitioning and simulation datasets can also be combined). Training the model in a partitioning manner enables graph inference while preserving image quality and alignment, achieving efficient forgetting, credit attribution, improved out-of-distribution coverage, and reduced memory (achieving simulation). As an example, the method described in this paper can produce a partitioning diffusion model; however, it can also be applied to any other type of generative model or generally any other type of machine learning model (any reference to "diffusion model" below is interchangeable with any other type of model).
[0105] Some existing methods provide ways to compose image generation, but their approaches aim to improve text-image alignment during generation. During inference, they propose decomposing the input cue into sub-parts, computing a denoised prediction for each sub-part, and then averaging over each step during backdiffusion. Our method, however, aims to improve model privacy by splitting the training dataset into multiple subsets and training a separate model for each subset. The two approaches are completely orthogonal, as one approach involves decomposing the inference cue into nouns and using the same model multiple times, while our approach involves splitting the training set and training separate models.
[0106] Typically, flowchart 200 might involve receiving a training dataset 202, splitting the training dataset 202 into multiple disjoint subsets (called "shards") to form a partitioned training dataset 204, and training a separate(s) model(s) 206 in isolation on each shard. Then, sample cleanup involves only the sub-models trained on the subsets containing the samples. The separate(s) models(s) 206 are combined to produce model output 208.
[0107] When generating the partitioning model, individual parameters or cues can be trained independently using different data sources, ensuring (deterministic) isolation of the relevant information. At inference time, all parameters can then be merged and used jointly to generate samples. This technique is easily implemented using any existing model architecture and allows for selective forgetting and continuous learning on large-scale diffusion models (or other types of models).
[0108] In addition to being able to remove information from the training model from specific data, this method also allows for attribution, which informs the process of evaluating the values of different training data queues and ensures that there is no memory, so the generated images are not substantially similar to the images used for training.
[0109] A key enabler for partitioning models is the closed-form expression of the backdiffusion flow of a mixed distribution, represented by its constituent flows. This expression can be implemented using existing models, but may be associated with two challenges. First, training and running separate models or adapters on different subsets of data can rapidly increase the storage and inference costs of the models. Second, in principle, due to the loss of co-information between samples, assembled independent models and / or adapters trained on different subsets of data may be significantly inferior to a single model trained together on all the data.
[0110] To address the first challenge, a pre-trained diffusion model can be used and fine-tuned on various downstream datasets. Fine-tuning the model helps preserve collaborative information across different shards. Furthermore, a single shared backbone can remain fixed, and adapters or cues can be trained on each disjoint data shard. Cues can be forwarded in parallel, leveraging efficient batch parallelization for fast inference. Adapters can be trained remotely and shared with a central server without sharing the original data.
[0111] Regarding the second challenge, the partitioning model can match the generative performance of a canonical model trained jointly on all data (and in some cases, outperform the jointly trained model due to regularization), while also providing all the aforementioned data-safe improvements. This is due both to the specific objectives of the diffusion model, which theoretically allow individual model training without any performance loss (even if the real model does not require this), and to the use of a secure training set, which allows the partitioned model components to still capture a significant amount of collaborative information.
[0112] Consider a system with different data sources Data set consisting of "n" The core idea of the partitioning model is to... Train individual models or adapters independently and combine them together to obtain the behavior as a union of all the data. Similar to the model trained on it, the fractional stochastic differential equation formula of the diffusion model can be used.
[0113] make Let be the distribution of the (unknown) true data to be modeled. At any time t in the forward process, the conditional distribution of the input can be defined as: (Equation 14)
[0114] Here, It is the input of time "t" in the forward process. It is a transitional kernel coefficient, and It is a standard Wiener process. There exists a reverse process that allows for the processing of a given random sample... In the case of Generate samples. This is given by the back diffusion equation: (Equation 15)
[0115] in It is time The marginal distribution at that time. This previous result indicates that only access to... From Generate a sample that is independent of any normalization constant. There also exists an ordinary differential equation corresponding to Equation 15, which can be generated more quickly from... Generate samples. In fact, Deep neural networks can be used (or We modeled the model and optimized it using score matching.
[0116] Switch to a partitioning diffusion model and consider the data distribution. Cases consisting of a mixture of distributions: (Equation 16)
[0117] So that each training source Data from its corresponding mixed components Sampling. Assuming each Independent training Each independent diffusion model is obtained. Different fractional functions (Based on experience) The question is whether these mixture-specific fractional functions can be combined from a global distribution. Samples are generated from the data. To do this, the score function for the global distribution can be found and written using the score functions of each distribution. Then, the trained model is used. It can approximate the empirical scores of the global distribution, and can use a diffusion sampler to obtain samples.
[0118] To calculate the fraction of the global distribution, it may be necessary to calculate the global marginal distribution. Using the linearity of the Gaussian integral, this can be shown as: (Equation 17)
[0119] In order to sample from the global distribution equation 16 using equation 15, it may be necessary to calculate the fraction of the marginal equation 17.
[0120] make Is alone The trained diffusion model set. Then, with... The score function corresponding to the jointly trained diffusion model is given below. (Equation 18) in prove. (Equation 19)
[0121] This can be assumed that each deep neural network has sufficient ability to minimize .therefore, It can be estimated using its experience. replace.
[0122] This additional term has an intuitive explanation. Let Let be a sample from a mixed distribution, and let For discrete random variables, tell us the indices of the mixture components that generate the samples (such that...). and Then, through Bayesian rules, it is easy to see... .
[0123] That is, the additional weighting factor for each model can be interpreted as the current noise sample. The probabilities originate from the data distribution used to train the model. To illustrate this behavior, consider... and In disjoint cases (e.g., images of pets and flowers respectively), at the start of backdiffusion, samples are equally likely to be generated from either distribution due to the amount of noise, and both may have similar weights. Over time, as more detail is added to the samples, the image may become increasingly likely to be either a pet or a flower. Correspondingly, the generated images should only be drawn from the relevant domain, while using other domains might force the model to generate flower images by inductively combining images of pets.
[0124] This explanation also provides a calculation In principle, one can use the diffusion model itself to estimate... and However, this is computationally expensive. On the other hand, It is easy to estimate directly using a small auxiliary model. Let It is The path classifier will classify noisy images. and time step As input, and output softmax. To train an example neural network, pairs can be generated. ,in It is a random component index, and By using the corresponding dataset The network is obtained by sampling training images and adding noise to them. It is trained using cross-entropy loss to take into account... and To predict Then, convergence. .
[0125] make For a classifier trained as described. Then... ,in As shown in Equation 5.
[0126] A classifier helps to achieve model selection at inference time, with the aim of choosing the best model to describe the data distribution. However, when all components of a mixture distribution are very similar in a distributional sense, the classifier can be replaced by a naive average of the diffusion score set. In practice, using all models at each time step of backdiffusion can be computationally expensive, in which case the average of the scores can be approximated by a simple random selection of scores. Therefore, at inference time, there are three possible methods to assemble diffusion scores: (1) classifier, (2) naive average, and (3) random selection.
[0127] The partitioning model can be used in many applications, such as text-to-image alignment, forgetting, continuous learning, measuring the contribution of individual scores, better out-of-domain 9OOD coverage, and memory reduction.
[0128] In contrast to forgetting, the owner of the training data may modify their shared preferences at any time, causing the set of available data sources, "S," to shrink. When this happens, all information about that data needs to be removed from the model. However, many current state-of-the-art diffusion models rule out retraining the remaining data as a viable strategy. Partitioning models such as CDM allow for a simple solution to this problem: if the data source D_i is removed, then only the corresponding model f_i needs to be removed to remove all information about it. Moreover, if only a subset of the training sources is removed, only the corresponding model needs to be retrained.
[0129] In contrast to continuous learning, the data source D_i can represent incrementally acquired additional batches of training data. In this case, retraining the model from scratch or fine-tuning the existing model every time new data is acquired carries the risk of catastrophic forgetting, which is undesirable. Using CDM, additional models f_i can be trained on D_i and combined with the previous models.
[0130] Instead of measuring the contributions of each source, let x_0 be a sample generated from solving equation 15 starting from the initial x_1∼p_1(x). Then, the probability of generating an image can be calculated as follows:
[0131] That is, the divergence of the fractional function integral along the path. In the case of CDM, this possibility can be further decomposed into:
[0132] in This can be interpreted as the contribution of each component of the model to the total likelihood. Using this method, the data source... credit It can be quantified as:
[0133] and It is the probability that CDM will assign to the generated samples, and it is impossible to allocate each one to the individual samples. This is interpreted as the probability of assignment to each sub-model. When slices belong to different distributions, credit attribution is more skewed than similar distributions with more uniform attribution (because all distributions are similar). (The generated images belong to one distribution).
[0134] Compared to memory-based diffusion models, partitioned diffusion models reduce memory in the latter by aggregating diffusion paths from different models during inference, thus generating images that may not resemble the outputs from any particular source model. Partitioned diffusion models help improve the diversity of synthesized images while reducing memory.
[0135] Figure 3 Another flowchart 300 is depicted, in which data partitioning is combined with a simulated training dataset to train a machine learning model 308. The use of data partitioning and a simulated training dataset provides another layer of model cleansing to ensure that the machine learning model 308 is not visible to some or all of the initial training dataset 302.
[0136] Flowchart 300 includes steps similar to those in flowchart 100. For example, flowchart 300 begins with an initial training dataset 302. To generate a simulation dataset 306, the initial training dataset 302 can be provided to a first generative model 304. The first generative model 304 can be trained using the initial training dataset 302 such that it possesses knowledge of the information included in the initial training dataset 302. Once trained, the generative model 304 can then be used to generate the simulation dataset 306, which can be a different dataset based on the initial training dataset 302. Alternatively, as described herein, the generative model can use natural language descriptions to generate the simulation dataset 306. Once the simulation dataset 306 is generated by the first generative model 304 (and, if applicable, an optional verification step is performed), the simulation dataset 304 can be used to train a machine learning model 308. Once trained, the machine learning model 308 can be used to perform downstream tasks (e.g., generate output 310). Additionally, an optional verification step 307 can be performed to ensure that the simulation dataset 306 is sufficiently different from the initial training dataset 302.
[0137] The difference between flowchart 300 and flowchart 100 is that a partitioned training dataset 303 is generated. The partitioned training dataset 303 can be generated in any manner described herein or otherwise (such as, for example, relative to the manner described in flowchart 200). Although flowchart 300 shows a partition being performed on the initial training dataset 302, this is not intended to be restrictive. The partition can also be performed in another stage of flowchart 300. Flowchart 300 may also differ from flowchart 100, as multiple trained machine learning models 308 may be generated from partitions that can be combined to produce model outputs 310.
[0138] Figure 4 Example use case 400 is depicted, where simulated data is used to protect biometric information found in images of people in an initial training dataset. In use case 400, the initial training dataset includes a first image set 402. However, at least one of the images included in the initial training dataset shows a human face. It may not be desirable to use this personally identifiable information to train the final machine learning model 408 used to perform downstream tasks.
[0139] To allow the final machine learning model 408 to be trained without using personally identifiable information, a first image set 402 can first be provided to the generative model 404. Based on the first image set 402, the generative model 404 can generate a simulation dataset that does not include personally identifiable information. Figure 4 Two example alternatives for the simulation dataset are shown. The first example of the simulation dataset includes a second image set 406, where the original facial features of the people shown in the first image set 402 are replaced with different facial features, making the people in the first image set 404 no longer identifiable. The second example of the simulation dataset includes a third image set 407, where the facial features of the people shown in the first image set 402 are blurred.
[0140] A simulated dataset (e.g., a second image set 406 or a third image set 407) can be used to train the final machine learning model 408 instead of the first image set 402. In this way, the final machine learning model 408 can still be trained to perform the task of identifying people within images, but it may not be trained with images that include facial features of the people shown in the first image set 402.
[0141] Use case 400 also illustrates that the simulation dataset may include some parts similar to or the same as the initial training dataset. That is, the simulation dataset may not necessarily involve all the data that serves as a reminder of the initial training dataset. For example, in the simulation dataset, only information that is not expected to be used to train the final machine learning model 408 is removed, rather than the second image set 406 and the third image set 407 presenting completely different information.
[0142] This modification to the initial training dataset can be performed in any suitable manner. As an option, only the portion of the initial training dataset that is expected to be removed can be provided to the generative training model. Alternatively, the entire initial training dataset can be provided to the generative model, which can selectively identify portions of the initial training dataset that may be needed to generate the simulation data. Users can also manually indicate which portions of the initial training dataset are expected to be removed by generating the simulation dataset.
[0143] Figure 5 An example method 500 for training a machine learning model using a simulated dataset is described. Some or all blocks of the process flow or method in this disclosure can be executed in a distributed manner on any number of devices or systems (e.g., user device 701, computing device 704, computing device 800, etc.). The operations of method 500 can be optional and can be executed in different orders.
[0144] In block 502 of method 500, computer-executable instructions stored in the memory of a system or device (such as user device 701, computing device 704, computing device 800, etc.) can be executed to receive an initial training dataset by a first machine learning model. For example, the first machine learning model can be a first generative model 104, 206, 304, 404, etc. That is, the first machine learning model can receive the initial training dataset as input and can generate a simulated dataset that can ultimately be used to train a machine learning model to perform any downstream task. As described herein, the initial training dataset can include any number of different types of data, such as images, videos, text, voice input, and / or any other type of data.
[0145] In block 504 of method 500, computer-executable instructions stored in the memory of the system or device may be executed to determine that first data in the initial training dataset is not to be used to train the second machine learning model. That is, the initial training dataset may include at least some data that is either not currently expected to be used to train the machine learning model, or that the machine learning model may not expect to know at some point after training. As an example, the initial training dataset may include user biometric information that is expected to be removed from the training dataset before it is used to train the machine learning model. For any other reason or cause described herein, it may be undesirable that certain portions of the initial training dataset are not used to train the machine learning model.
[0146] In block 506 of method 500, computer-executable instructions stored in the memory of the system or device may be executed to generate a simulated training dataset by the first machine learning model and based on the initial training dataset. The simulated training dataset may be sufficiently distant from the initial training dataset such that parts of the machine learning model in the initial training dataset that it does not expect to know are effectively removed from the training data.
[0147] In block 508 of method 500, computer-executable instructions stored in the memory of the system or device can be executed to train a second machine learning model to perform a task using a simulated training dataset instead of the initial training dataset. That is, the first machine learning model can be used to generate a simulated training dataset, which can then be used to train the second machine learning model such that the second machine learning model is not aware of portions of the initial training dataset that are not intended for training. Downstream tasks can be any number of different types of tasks based on the use cases using the second machine learning model. For example, the second machine learning model can be trained to perform computer vision tasks, such as identifying people, cars, animals, etc., within an image. As another example, the second machine learning model can be trained to perform natural language processing tasks, such as analyzing text- or speech-based queries and providing natural language answers in response to the queries. The second machine learning model can also be trained to perform any other type of task or a combination of different types of tasks.
[0148] In embodiments, a feedback loop may also exist to enhance the first generative model's ability to generate a simulation dataset based on the initial training dataset. For example, the generative model may be provided with the initial training dataset and indications of portions thereof, which are intended to be invisible to the machine learning model trained using that dataset. Once the generative model generates the simulation dataset based on the initial training dataset, the user can manually verify the differences between the simulation training dataset and the initial training dataset and can provide verification indications to the generative model. Alternatively, ground truth data can be provided to the generative model along with the initial training dataset. The ground truth data can provide indications of sufficiently different simulation training datasets. The generative model can then compare its generated outputs with the ground truth data for self-training, thereby improving subsequent simulation training datasets.
[0149] Figure 6 An example method 600 for training a machine learning model using partitioning is described. Some or all blocks of the process flow or method in this disclosure can be executed in a distributed manner on any number of devices or systems (e.g., user device 701, computing device 704, computing device 800, etc.). The operations of method 600 can be optional and can be executed in different orders.
[0150] In block 602 of method 600, computer-executable instructions stored in the memory of a system or device (such as user device 701, computing device 704, computing device 800, etc.) can be executed to receive the training dataset.
[0151] In block 604 of method 600, computer-executable instructions stored in the memory of the system or device may be executed to train a first diffusion model using a first subset of the training dataset and to train a second diffusion model using a second subset of the training dataset.
[0152] In block 606 of method 600, computer-executable instructions stored in the memory of a system or device may be executed to train a classifier to estimate one or more coefficients used during the diffusion process.
[0153] In block 608 of method 600, computer-executable instructions stored in the memory of the system or device may be executed to receive a first prompt to generate an output image.
[0154] In block 610 of method 600, computer-executable instructions stored in the memory of a system or device may be executed to generate an output image based on a combination of a first diffusion model and a second diffusion model using one or more coefficients estimated using a classifier.
[0155] Figure 7 This is an example system 700 for automated analysis of one or more tables. In one or more embodiments, the system may include one or more user devices 701 (which may be associated with one or more users 702), one or more computing devices 704, and / or one or more databases 710. However, these components of system 700 are merely exemplary and are not intended to be limiting in any way. For simplicity, reference may be made hereinafter to user device 701, computing device 706, database 712, etc., however, this is not intended to be limiting and may still refer to any number of such elements.
[0156] User equipment 701 can be any type of device, such as a smartphone, desktop computer, laptop computer, tablet computer, smart TV (e.g., a TV with internet connectivity, the ability to install applications, etc.), and / or any other type of device. User equipment 701 can allow user 702 to interact with any system, device, etc., to perform any number and different types of actions, such as providing training data to a machine learning model, providing input (images, videos, text, or voice prompts, etc.) to a trained machine learning model to perform downstream tasks, establishing any distance threshold, providing instructions on which parts of the training data should be removed for training purposes, etc.
[0157] Computing device 704 can be any type of device (such as, for example, a local or remote server) used to perform any of the processes described herein. For example, computing device 704 can host any of the models described herein, such as generative models(s) 705 and(s) 707. Different generative models(s) may also be provided across multiple computing devices. Additionally, while this document refers to generative models(s), any other type of machine learning model may also be used.
[0158] In an embodiment, generative models 705 may represent models that receive an initial training dataset 706 and generate a simulated training dataset 708. For example, generative models 705 may be identical to generative models 104, 304, etc. Generative models 707 may represent the final machine learning model(s), which is then trained using the simulated training dataset 708 to perform downstream tasks. For example, generative models 707 may be identical to generative models 108, 308, etc. In this way, the generative models 707 used to perform downstream tasks may not be provided with visibility to the initial training dataset 706. This is advantageous because the generative models 707 can still be trained to perform downstream tasks without being exposed to certain types of information, such as personally identifiable information, that may be included in the initial training dataset 706.
[0159] As mentioned above, "downstream task" can refer to any type of task that the model can be trained to perform. For example, (multiple) generative models 707 can be trained to identify cars within an image as input to (multiple) generative models 707. To train (multiple) generative models 707 to perform this task, input images, including or excluding cars, can be provided as training data to (multiple) generative models 707 to help (multiple) generative models 707 understand how images including cars appear. (Multiple) generative models 707 can also be used to perform any other type of task, such as natural language processing and / or any other type of task.
[0160] Database 710 may store any data used as described herein. For example, database 710 may store an initial training dataset 706 and a simulation training dataset 708 generated using the initial training dataset 706. In embodiments, the initial training dataset 706 and the simulation training dataset 708 may be stored in separate databases to provide a degree of separation between the two datasets. Additionally, in embodiments, any initial training dataset 706 and simulation training dataset 708 may be removed from database 710 after use with generative models 705 and / or 707(s). The initial training dataset 706 and simulation training dataset 708 may be identical to any initial training dataset and simulation training dataset described herein or otherwise. For example, initial training dataset 706 may be identical to initial training datasets 102, 202, 302, etc., and simulation training dataset 708 may be identical to simulation training datasets 106, 206, 306, etc.
[0161] In one or more embodiments, any element of system 700 (e.g., one or more user devices 701, one or more computing devices 704, one or more databases 710 and / or relative to) Figure 7 (or any other element described otherwise) can be configured to communicate via communication network 750. Communication network 750 can be, but is not limited to, any combination of suitable communication networks of different types, such as, for example, broadcast networks, wired networks, public networks (e.g., the Internet), private networks, wireless networks, cellular networks, or any other suitable private and / or public networks. Further, communication network 750 can have any suitable communication range associated with it and can include, for example, global networks (e.g., the Internet), metropolitan area networks (MANs), wide area networks (WANs), local area networks (LANs), or personal area networks (PANs). Additionally, communication network 750 can include any type of medium capable of carrying network services, including but not limited to coaxial cable, twisted pair, optical fiber, hybrid fiber-coaxial (HFC) media, microwave terrestrial transceivers, radio frequency communication media, space communication media, ultra-high frequency communication media, satellite communication media, or any combination thereof.
[0162] Finally, any element of system 700 (e.g., one or more user devices 701, one or more computing devices 704 and / or one or more databases 710) may also include any element of computing device 800 (such as processor 802, memory 804, etc.).
[0163] Figure 8This is a schematic block diagram of an illustrative computing device 800 according to one or more exemplary embodiments of the present disclosure. The computing device 800 may include any suitable computing device capable of receiving and / or generating data, including but not limited to user devices such as smartphones, tablet computers, e-readers, wearable devices, etc.; desktop computers; laptop computers; content streaming devices; set-top boxes, etc. The computing device 800 may correspond to... Figures 1 to 7 Illustrative device configurations for devices (such as generative models 104, 108, 206, 304, 308, 404, 408, user device 701, computing device 704, etc.).
[0164] The computing device 800 can be configured to communicate with one or more servers, search engines, user devices, etc., via one or more networks. In some embodiments, a single remote server or a group of single remote servers can be configured to perform more than one type of content rating and / or machine learning functionality.
[0165] The (multiple) example networks may include, but are not limited to, any one or more different types of communication networks, such as, for example, wired networks, public networks (e.g., the Internet), private networks (e.g., Frame Relay networks), wireless networks, cellular networks, telephone networks (e.g., the Public Switched Telephone Network), or any other suitable private or public packet-switched or circuit-switched networks. Furthermore, the (multiple) such networks may have any suitable communication range associated with them and may include, for example, global networks (e.g., the Internet), metropolitan area networks (MANs), wide area networks (WANs), local area networks (LANs), or personal area networks (PANs). Additionally, the (multiple) such networks may include communication links and associated networking devices (e.g., link-layer switches, routers, etc.) for transmitting network services over any suitable type of medium, including but not limited to coaxial cable, twisted-pair cable (e.g., twisted-pair copper wire), optical fiber, hybrid fiber-coaxial (HFC) media, microwave media, radio frequency communication media, satellite communication media, or any combination thereof.
[0166] In the illustrative configuration, computing device 800 may include one or more processors (multiple processors) 802, one or more memory devices 804 (generally referred to herein as memory 804), one or more input / output (I / O) interfaces 806, one or more network interfaces 808, one or more sensors or sensor interfaces 810, one or more transceivers 812, one or more optional speakers 814, one or more optional microphones 816, and data storage device 820. Computing device 800 may also include one or more buses 818 that functionally couple the various components of computing device 800. Computing device 800 may also include one or more antennas 834, which may include, but are not limited to, cellular antennas for transmitting or receiving signals to / from cellular network infrastructure, antennas for transmitting or receiving Wi-Fi signals to / from access points (APs), Global Navigation Satellite System (GNSS) antennas for receiving GNSS signals from GNSS satellites, Bluetooth antennas for transmitting or receiving Bluetooth signals, Near Field Communication (NFC) antennas for transmitting or receiving NFC signals, etc. These various components will be described in more detail below.
[0167] The (multiple) buses 818 may include at least one of a system bus, memory bus, address bus, or message bus, and may allow the exchange of information (e.g., data, including computer-executable code), signaling, etc.) between various components of the computing device 800. The (multiple) buses 818 may include, but are not limited to, a memory bus or memory controller, a peripheral bus, an accelerated graphics port, etc. The (multiple) buses 1722 may be associated with any suitable bus architecture, including but not limited to Industry Standard Architecture (ISA), Micro Channel Architecture (MCA), Enhanced ISA (EISA), Video Electronics Standards Association (VESA) architecture, Accelerated Graphics Port (AGP) architecture, Peripheral Component Interconnect (PCI) architecture, Fast PCI architecture, Personal Computer Memory Card International Association (PCMCIA) architecture, Universal Serial Bus (USB) architecture, etc.
[0168] The memory 804 of the computing device 800 may include volatile memory (memory that maintains its state when powered), such as random access memory (RAM), and / or non-volatile memory (memory that maintains its state even when not powered), such as read-only memory (ROM), flash memory, ferroelectric RAM (FRAM), etc. When used herein, persistent data storage devices may include non-volatile memory. In some example embodiments, volatile memory can achieve faster read / write access than non-volatile memory. However, in some other example embodiments, certain types of non-volatile memory (e.g., FRAM) can achieve faster read / write access than certain types of volatile memory.
[0169] In various implementations, memory 804 may include various types of memory, such as various types of static random access memory (SRAM), various types of dynamic random access memory (DRAM), various types of immutable ROM and / or writable variants of ROM (such as electrically erasable programmable read-only memory (EEPROM)), flash memory, etc. Memory 804 may include main memory and various forms of cache memory, such as instruction cache(s), data cache(s), translation lookup buffers(s), etc. Furthermore, cache memory, such as data cache, may be a multi-level cache organized into a hierarchical structure of one or more cache levels (L1, L2, etc.).
[0170] Data storage device 820 may include removable and / or non-removable memory, including but not limited to magnetic storage devices, optical disc storage devices, and / or magnetic tape storage devices. Data storage device 820 may provide non-volatile storage of computer-executable instructions and other data. When used herein, removable and / or non-removable memory 804 and data storage device 820 are examples of computer-readable storage media (CRSM).
[0171] Data storage device 820 can store computer-executable code, instructions, etc., that can be loaded into memory 804 and executed by processor(s) 802, so that processor(s) 802 can perform or initiate various operations. Data storage device 820 can additionally store data that can be copied to memory 804 for use by processor(s) 802 during the execution of computer-executable instructions. Furthermore, output data generated as a result of processor(s) 802 executing computer-executable instructions can initially be stored in memory 804 and can ultimately be copied to data storage device 820 for non-volatile storage.
[0172] More specifically, data storage device 820 may store one or more operating systems (O / S) 822; one or more database management systems (DBMS) 824; and one or more program modules, applications, engines, computer-executable code, scripts, etc., such as, for example, one or more modules 826. Any component depicted as stored in data storage device 820 may include any combination of software, firmware, and / or hardware. Software and / or firmware may include computer-executable code, instructions, etc., which may be loaded into memory 804 for execution by one or more processors 802. Any component depicted as stored in data storage device 820 may support the functionality described with reference to the previously named components in this disclosure.
[0173] The data storage device 820 can also store various types of data used by the components of the computing device 800. Any data stored in the data storage device 820 can be loaded into memory 804 for use by processor(s) 802 when executing computer-executable code. Additionally, any data described as being stored in the data storage device 820 may be stored in one or more data repositories and can be accessed via DBMS 824 and loaded into memory 804 for use by processor(s) 802 when executing computer-executable code. The data repositories may include, but are not limited to, databases (e.g., relational, object-oriented, etc.), file systems, flat files, distributed data repositories where data is stored on more than one node of a computer network, peer-to-peer network data repositories, etc. Figure 8 In this context, (multiple) data repositories may include, for example, databases of purchase history information, user action information, user profile information, linked search queries and user actions, as well as other information.
[0174] Multiple processors 802 may be configured to access memory 804 and execute computer-executable instructions loaded therein. For example, multiple processors 802 may be configured to execute computer-executable instructions of various program modules, applications, engines, etc., of computing device 800 to cause or facilitate the performance of various operations according to one or more embodiments of this disclosure. Multiple processors 802 may include any suitable processing unit capable of accepting data as input, processing input data according to stored computer-executable instructions, and generating output data. Multiple processors 802 may include any type of suitable processing unit, including but not limited to a central processing unit, microprocessor, reduced instruction set computer (RISC) microprocessor, complex instruction set computer (CISC) microprocessor, microcontroller, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), system-on-a-chip (SoC), digital signal processor (DSP), etc. Furthermore, multiple processors 802 may have any suitable microarchitecture design, including any number of components such as, for example, registers, multiplexers, arithmetic logic units, cache controllers for controlling read / write operations on cache memory, branch predictors, etc. The microarchitecture of the (multiple) processor 802 may be able to support any of the various instruction sets.
[0175] Now refer to Figure 8The various program modules described herein support functionality, and the modules 826 may include computer-executable instructions, code, etc., which, in response to the execution of one or more processors 802, may perform functions including but not limited to generating simulation training datasets, generating training models based on simulation training datasets, and generating partitioning models.
[0176] Referring now to other illustrative components depicted as stored in data storage device 820, O / S 822 can be loaded from data storage device 820 into memory 804 and can provide an interface between other application software executing on computing device 800 and the hardware resources of computing device 800. More specifically, O / S 822 may include a computer-executable instruction set for managing the hardware resources of computing device 800 and providing common services to other applications (e.g., managing memory allocation among various applications). In some example embodiments, O / S 822 may control the execution of (multiple) other program modules to dynamically enhance characters used for content rendering. O / S 822 may include any operating system now known or that may be developed in the future, including but not limited to any server operating system, any mainframe operating system, or any other proprietary or non-proprietary operating system.
[0177] DBMS 824 can be loaded into memory 804 and can support functionality for accessing, retrieving, storing, and / or manipulating data stored in memory 804 and / or data stored in data storage device 820. DBMS 824 can use any of a variety of database models (e.g., relational model, object model, etc.) and can support any of a variety of query languages. DBMS 824 can access data represented in one or more data schemas and stored in any suitable data repository, including but not limited to databases (e.g., relational, object-oriented, etc.), file systems, flat files, distributed data repositories where data is stored on more than one node of a computer network, peer-to-peer network data repositories, etc. In example embodiments where computing device 800 is a mobile device, DBMS 824 can be any suitable lightweight DBMS optimized for performance on the user device.
[0178] Referring now to other illustrative components of the computing device 800, multiple input / output (I / O) interfaces 806 facilitate the computing device 800 receiving input information from one or more I / O devices and outputting information from the computing device 800 to one or more I / O devices. I / O devices may include any of a variety of components, such as a display or screen with a touch surface or touchscreen; audio output devices for generating sound, such as speakers; audio capture devices, such as microphones; image and / or video capture devices, such as cameras; haptic units, etc. Any of these components may be integrated into the computing device 800 or may be separate. I / O devices may also include, for example, any number of peripheral devices, such as data storage devices, printing devices, etc.
[0179] The (multiple) I / O interfaces 806 may also include interfaces for connecting to external peripheral devices, such as Universal Serial Bus (USB), FireWire, Thunderbolt, Ethernet ports, or other connection protocols that can connect to one or more networks. The (multiple) I / O interfaces 806 may also include connections to one or more of the (multiple) antennas 834 for connecting to one or more networks via wireless local area network (WLAN) radios (such as Wi-Fi), Bluetooth, ZigBee, and / or wireless network radios, such as radios capable of communicating with wireless communication networks (such as LTE networks, WiMAX networks, 3G networks, ZigBee networks, etc.).
[0180] The computing device 800 may also include one or more network interfaces 808, through which the computing device 800 can communicate with any of various other systems, platforms, networks, devices, etc. The network interfaces 808 can enable communication, for example, with one or more wireless routers, one or more host servers, one or more network servers, etc., via one or more networks.
[0181] The (multiple) antennas 834 may include any suitable type of antenna, depending on the communication protocol used to transmit or receive signals via the (multiple) antennas 834. Non-limiting examples of suitable antennas may include directional antennas, non-directional antennas, dipole antennas, folded dipole antennas, patch antennas, multiple-input multiple-output (MIMO) antennas, etc. The (multiple) antennas 834 may be communicatively coupled to one or more transceivers 812 or radio components, and signals may be transmitted to or received from these transceivers or radio components.
[0182] As previously described, the (multiple) antennas 834 may include cellular antennas configured to transmit or receive signals according to established standards and protocols, such as Global System for Mobile Communications (GSM), 3G standards (e.g., Universal Mobile Telecommunications System (UMTS), Wideband Code Division Multiple Access (W-CDMA), CDMA2000, etc.), 4G standards (e.g., Long Term Evolution (LTE), WiMax, etc.), direct satellite communications, etc.
[0183] The (multiple) antennas 834 may additionally or alternatively include Wi-Fi antennas configured to transmit or receive signals according to established standards and protocols, such as the IEEE 802.11 family of standards, including via 2.4 GHz channels (e.g., 802.11b, 802.11g, 802.11n), 5 GHz channels (e.g., 802.11n, 802.11ac), or 60 GHz channels (e.g., 802.11ad). In alternative example embodiments, the (multiple) antennas 834 may be configured to transmit or receive radio frequency signals within any suitable frequency range forming part of an unlicensed portion of the radio spectrum.
[0184] The (multiple) antennas 834 may additionally or alternatively include a GNSS antenna configured to receive GNSS signals from three or more GNSS satellites carrying time and position information for triangulation. This GNSS antenna can be configured to receive GNSS signals from any current or planned GNSS system, such as, for example, the Global Positioning System (GPS), GLONASS, compass navigation systems, Galileo, or the Indian Area Navigation System.
[0185] The transceiver(s) 812 may include any suitable radio components(s) for cooperating with the antenna(s) 834 to transmit or receive radio frequency (RF) signals in a bandwidth and / or channel corresponding to the communication protocol used by the computing device 800 to communicate with other devices. The transceiver(s) 812 may include hardware, software, and / or firmware for modulating, transmitting, or receiving communication signals, possibly in cooperation with any of the antenna(s) 834, according to any communication protocol discussed above, including but not limited to one or more Wi-Fi and / or Wi-Fi Direct protocols standardized by the IEEE 802.11 standard, one or more non-Wi-Fi protocols, or one or more cellular communication protocols or standards. The transceiver(s) 812 may also include hardware, firmware, or software for receiving GNSS signals. The transceiver(s) 812 may include any known receiver and baseband suitable for communication via the communication protocol used by the computing device 800. The transceiver(s) 812 may also include a low-noise amplifier (LNA), an auxiliary signal amplifier (PA), an analog-to-digital (A / D) converter, one or more buffers, a digital baseband, etc.
[0186] The (multiple) sensors / (multiple) sensor interface 810 may include any suitable type of sensing device (such as, for example, an inertial sensor, a force sensor, a thermal sensor, etc.) or may be able to interface with it. Example types of inertial sensors may include accelerometers (e.g., MEMS-based accelerometers), gyroscopes, etc.
[0187] The (multiple) optional speakers 814 can be any device configured to generate audible sound. The (multiple) optional microphones 816 can be any device configured to receive analog sound input or voice data.
[0188] You should know, Figure 8 The program modules, applications, computer-executable instructions, code, etc., described in the text and stored in the data storage device 820 are illustrative only and not exhaustive, and the processing described as being supported by any particular module can alternatively be distributed across multiple modules or executed by different modules. Additionally, various program modules, scripts, plugins, application programming interfaces (APIs), or any other suitable computer-executable code natively hosted on the computing device 800 and / or hosted on one or more other computing devices accessible via one or more networks can be provided to support processing by... Figure 8 The functionality and / or additional or alternating functionality provided by (multiple) program modules, applications, or computer executable code described herein. Furthermore, functionality can be modularized differently, such that it is described as being provided by... Figure 8The processing supported by the collection of (multiple) program modules described herein can be executed by fewer or more modules, or functionality described as being supported by any particular module can be at least partially supported by another module. Furthermore, the (multiple) program modules supporting the functionality described herein can be formed as part of one or more applications executable on any number of systems or devices, based on any suitable computational model (such as, for example, a client-server model, a peer-to-peer model, etc.). Additionally, the processing described as being supported by... Figure 8 Any functionality supported by any program module(s) described herein can be implemented, at least in part, in the hardware and / or firmware of any number of devices.
[0189] It should be further understood that, without departing from the scope of this disclosure, computing device 800 may include alternative and / or additional hardware, software, or firmware components other than those described or depicted. More specifically, it should be understood that the software, firmware, or hardware components depicted as forming part of computing device 800 are merely illustrative, and in various embodiments, some components may be absent, or additional components may be provided. While various illustrative program modules are depicted and described as software modules stored in data storage device 820, it should be understood that functionality described as being supported by program modules can be implemented by any combination of hardware, software, and / or firmware. It should be further understood that, in various embodiments, each of the above-mentioned modules can represent a logical partition of the supported functionality. Such logical partitions are depicted for ease of interpretation of functionality and may not represent the structure of the software, hardware, and / or firmware used to implement the functionality. Therefore, it should be understood that, in various embodiments, functionality described as being provided by a particular module may be provided at least in part by one or more other modules. Furthermore, in some embodiments, one or more of the depicted modules(s) may not be present, while in other embodiments, there may be undepicted additional modules(s) that can support at least a portion of the described functionality and / or additional functionality. Moreover, while some modules(s) may be depicted and described as sub-modules(s) of another module(s), in some embodiments, such modules(s) may be provided as independent modules(s) or sub-modules(s) of other modules(s).
[0190] The program modules, applications, etc. disclosed herein may include one or more software components, including, for example, software objects, methods, data structures, etc. Each such software component may include computer-executable instructions that, in response to execution, cause at least a portion of the functionality described herein (e.g., one or more operations of the illustrative methods described herein) to be performed.
[0191] Software components can be coded in any of a variety of programming languages. Descriptive programming languages can be lower-level languages, such as assembly language, which is associated with a specific hardware architecture and / or operating system platform. Software components that include assembly language instructions may need to be converted into executable machine code by an assembler before being executed by the hardware architecture and / or platform.
[0192] Another example programming language could be a higher-level programming language that is portable across multiple architectures. Software components that include instructions from higher-level programming languages may need to be converted into an intermediate representation by an interpreter or compiler before execution.
[0193] Other examples of programming languages include, but are not limited to, macro languages, shell or command languages, job control languages, scripting languages, database query or search languages, and / or report writing languages. In one or more example embodiments, a software component including instructions of one of the foregoing examples of a programming language can be executed directly by an operating system or other software components without first being transformed into another form.
[0194] Software components can be stored as files or other data storage structures. Software components of similar type or with related functionality can be stored together, such as in specific directories, folders, or libraries. Software components can be static (e.g., pre-built or fixed) or dynamic (e.g., created or modified at runtime).
[0195] Software components can be invoked or called by other software components through any of a variety of mechanisms. The software components that are invoked or called can include other custom-developed application software, operating system functionalities (such as device drivers, data storage (such as file management) routines, other general routines and services, etc.) or third-party software components (such as middleware, encryption or other security software, database management software, file transfer or other network communication software, mathematical or statistical software, image processing software, and format conversion software).
[0196] Software components associated with a specific solution or system can reside on and execute on a single platform, or they can be distributed across multiple platforms. These multiple platforms can be associated with more than one hardware vendor, underlying chip technology, or operating system. Furthermore, software components associated with a specific solution or system may initially be written in one or more programming languages, but can call software components written in another programming language.
[0197] These computer-executable program instructions can be loaded onto a special-purpose computer or other specific machine, processor, or other programmable data processing apparatus to create a particular machine, such that execution of the instructions on the computer, processor, or other programmable data processing apparatus causes one or more functions or operations specified in the flowchart to be performed. These computer program instructions can also be stored in a computer-readable storage medium (CRSM) that, when executed, can direct a computer or other programmable data processing apparatus to operate in a particular manner, causing the instructions stored in the computer-readable storage medium to produce an article of writing comprising instruction components that implement one or more functions or operations specified in the flowchart. The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus, thereby producing a computer-implemented process.
[0198] Additional types of CRSMs that may be present in any device described herein may include, but are not limited to, programmable random access memory (PRAM), SRAM, DRAM, RAM, ROM, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital universal disc (DVD) or other optical storage devices, magnetic tape cassettes, magnetic tape, disk storage devices or other magnetic storage devices, or any other medium that can be used to store information and is accessible. Any combination of the above is also included within the scope of CRSMs. Alternatively, a computer-readable communication medium (CRCM) may include computer-readable instructions, program modules(s), or other data transmitted in data signals (such as carrier waves) or other transmissions. However, as used herein, CRSMs do not include CRCMs.
[0199] Although embodiments have been described using language specific to structural features and / or methodological actions, it is to be understood that this disclosure is not necessarily limited to the specific features or actions described. Rather, specific features and actions are disclosed as illustrative forms of implementing embodiments. Unless specifically stated otherwise or otherwise understood to be used within the context, conditional language (such as "can," "able," "may," or "may") is generally intended to convey that certain embodiments may include certain features, elements, and / or steps that are not included in other embodiments. Therefore, such conditional language is not generally intended to imply that features, elements, and / or steps are required in any way for one or more embodiments, or that one or more embodiments necessarily include logic for determining whether such features, elements, and / or steps are included or will be performed in any particular embodiment, with or without user input or prompts.
[0200] The embodiments of this disclosure can be described in one or more of the following aspects:
[0201] Example 1 includes a method. The method includes: receiving an initial training dataset by a first generative machine learning model. The method further includes: determining that the initial training dataset includes first data, which is indicated not to be used to train a second machine learning model. The method further includes: generating a simulated training dataset by the first generative machine learning model based on the initial training dataset, the simulated training dataset including second data different from the first data. The method further includes: comparing the simulated training dataset and the initial training dataset. The method further includes: determining, based on the comparison, that the distance between the first data and the second data satisfies a threshold. The method further includes: training a second machine learning model based on the determined distance satisfies the threshold to perform a task using the simulated training dataset instead of the initial training dataset.
[0202] Example 2 includes a method. The method includes: receiving an initial training dataset by a first machine learning model. The method further includes: determining that first data from the initial training dataset will not be used to train a second machine learning model. The method further includes: generating a simulated training dataset by the first machine learning model and based on the initial training dataset, the simulated training dataset including second data different from the first data. The method further includes: training a second machine learning model to perform a task using the simulated training dataset instead of the initial training dataset.
[0203] Example 3 may include Example 2, wherein the first machine learning model is a generative machine learning model.
[0204] Example 4 may include any one of Examples 2 to 3, wherein the method further includes: generating a natural language description of an initial training dataset, wherein the generation of the simulation training dataset is based on the natural language description rather than the initial training dataset.
[0205] Example 5 may include any one of Examples 2 to 4, and further includes: verifying the existence of a threshold difference between the first data and the second data before training the second machine learning model using the simulation training dataset.
[0206] Example 6 may include any one of Examples 2 to 5, wherein verifying the existence of a threshold difference further includes determining that the distance between the first data and the second data satisfies the threshold.
[0207] Example 7 may include any one of Examples 2 to 6, wherein a portion of the first data is maintained in the second data.
[0208] Example 8 may include any one of Examples 2 to 7, wherein the initial training dataset includes one or more images, wherein the first data includes biometric information included in one or more images, and wherein the second data lacks biometric information.
[0209] Example 9 is a system. The system includes a memory storing computer-executable instructions. The system also includes one or more processors configured to access the memory and execute the computer-executable instructions to: receive an initial training dataset by a first machine learning model; determine that first data from the initial training dataset is not used to train a second machine learning model; generate a simulated training dataset by the first machine learning model and based on the initial training dataset, the simulated training dataset including second data different from the first data; and train the second machine learning model to perform a task using the simulated training dataset instead of the initial training dataset.
[0210] Example 10 may include Example 9, wherein the first machine learning model is a generative machine learning model.
[0211] Example 11 may include any one of Examples 9 and 10, wherein one or more processors are further configured to execute computer-executable instructions to generate a natural language description of an initial training dataset, wherein the generated simulation training dataset is based on the natural language description rather than the initial training dataset.
[0212] Example 12 may include any one of Examples 9 to 11, wherein one or more processors are further configured to execute computer-executable instructions to verify that a threshold difference exists between the first data and the second data before training the second machine learning model using the simulated training dataset.
[0213] Example 13 may include any one of Examples 9 to 12, wherein verifying the existence of a threshold difference further includes determining that the distance between the first data and the second data satisfies the threshold.
[0214] Example 14 may include any one of Examples 9 to 13, wherein a portion of the first data is maintained in the second data.
[0215] Example 15 may include any one of Examples 9 to 14, wherein the initial training dataset includes one or more images, wherein the first data includes biometric information included in one or more images, and wherein the second data lacks biometric information.
Claims
1. A method comprising: The initial training dataset is received by the first generative machine learning model; The initial training dataset is determined to include first data, which is indicated not to be used to train the second machine learning model; A simulation training dataset is generated from the first generative machine learning model and based on the initial training dataset, the simulation training dataset including second data that is different from the first data; Compare the simulation training dataset with the initial training dataset; Based on the comparison, it is determined that the distance between the first data and the second data meets a threshold. as well as The second machine learning model is trained based on the determination that the distance satisfies the threshold, so as to perform the task using the simulated training dataset instead of the initial training dataset.
2. A method comprising: The initial training dataset is received by the first machine learning model; The first data in the initial training dataset is determined not to be used to train the second machine learning model; A simulation training dataset is generated from the first machine learning model and based on the initial training dataset, the simulation training dataset including second data that is different from the first data; as well as The second machine learning model is trained to perform the task using the simulated training dataset instead of the initial training dataset.
3. The method according to claim 2, wherein the first machine learning model is a generative machine learning model.
4. The method according to any one of claims 2 to 3, further comprising: Generate a natural language description of the initial training dataset, wherein the generation of the simulation training dataset is based on the natural language description rather than the initial training dataset.
5. The method according to any one of claims 2 to 4, further comprising: Before training the second machine learning model using the simulation training dataset, verify that a threshold difference exists between the first and second data.
6. The method according to any one of claims 2 to 5, wherein verifying the existence of the threshold difference further includes determining that the distance between the first data and the second data satisfies the threshold.
7. The method according to any one of claims 2 to 6, wherein a portion of the first data is maintained in the second data.
8. The method according to any one of claims 2 to 7, wherein the initial training dataset comprises one or more images, wherein the first data includes biometric information included in the one or more images, and wherein the second data lacks the biometric information.
9. A system comprising: Memory, the memory storing computer-executable instructions; as well as One or more processors, the one or more processors being configured to access the memory and execute the computer-executable instructions to: The initial training dataset is received by the first machine learning model; The first data in the initial training dataset is determined not to be used to train the second machine learning model; A simulation training dataset is generated from the first machine learning model and based on the initial training dataset, the simulation training dataset including second data that is different from the first data; as well as The second machine learning model is trained to perform the task using the simulated training dataset instead of the initial training dataset.
10. The system of claim 9, wherein the first machine learning model is a generative machine learning model.
11. The system according to any one of claims 9 to 10, wherein the one or more processors are further configured to execute the computer-executable instructions to: Generate a natural language description of the initial training dataset, wherein the generation of the simulation training dataset is based on the natural language description rather than the initial training dataset.
12. The system according to any one of claims 9 to 11, wherein the one or more processors are further configured to execute the computer-executable instructions to: Before training the second machine learning model using the simulation training dataset, verify that a threshold difference exists between the first and second data.
13. The system according to any one of claims 9 to 12, wherein verifying the existence of the threshold difference further includes determining that the distance between the first data and the second data satisfies the threshold.
14. The system according to any one of claims 9 to 13, wherein a portion of the first data is maintained in the second data.
15. The system according to any one of claims 9 to 14, wherein the initial training dataset comprises one or more images, wherein the first data includes biometric information included in the one or more images, and wherein the second data lacks the biometric information.
