Generating content with attributions

Concurrent generation of attribution maps in generative AI models addresses the challenge of inaccurate source attribution by providing high-resolution, dynamic attributions that adapt to content modifications, enhancing content quality and source control.

WO2026076058A1PCT designated stage Publication Date: 2026-04-09DOLBY LABORATORIES LICENSING CORP
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-10-01
Publication Date
2026-04-09

AI Technical Summary

Technical Problem

Generative artificial intelligence models struggle to accurately attribute the sources of training samples used in creating content items, leading to inaccurate or distorted attributions, especially when content is modified or cropped.

Method used

Concurrent generation of attribution maps that indicate specific sources of training samples used to generate particular content items, allowing for high-resolution, dynamic attribution that can specify or exclude certain sources during the content creation process.

Benefits of technology

Enables precise attribution of content sources at a high resolution, allowing for higher quality content generation while maintaining attribution knowledge even when the content is modified, and providing flexibility in using specific training sources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000035_0000
    Figure 00000035_0000
  • Figure 00000036_0000
    Figure 00000036_0000
  • Figure 00000037_0000
    Figure 00000037_0000
Patent Text Reader

Abstract

Disclosed herein are methods, systems, and media for generating content with attributions. In some embodiments, a method may involve receiving a request to generate a content item using a trained generative machine learning model. The method may further involve generating the content item using the trained generative machine learning model based at least in part on the request. The method may further involve concurrently with generating the content item, generating an attribution map using the trained generative machine learning model, wherein the attribution map indicates particular sources of training samples used to generate the content item.
Need to check novelty before this filing date? Find Prior Art

Description

GENERATING CONTENT WITH ATTRIBUTIONSCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of priority from EP Application No. 24213599.4 filed on November 18, 2024, and U.S. Provisional Application No. 63 / 703,473 filed on October 4, 2024, each of which is incorporated by reference herein in its entirety.TECHNICAL FIELD

[0002] This disclosure pertains to systems, methods, and media for generating content with attributions.BACKGROUND

[0003] Generative artificial intelligence (Al) is being increasingly used to create content (e.g., text, images, videos, sound, etc.) Generative Al may include a machine learning model that has been trained using hundreds, thousands, millions, etc. of training samples such that newly generated content generated by the machine learning model is inherently based on the training samples. However, it can be hard to identify sources of the training samples that influenced creation of a newly created content item.NOTATION AND NOMENCLATURE

[0004] Throughout this disclosure, including in the claims, the expression performing an operation “on” a signal or data (e.g., filtering, scaling, transforming, or applying gain to, the signal or data) is used in a broad sense to denote performing the operation directly on the signal or data, or on a processed version of the signal or data (e.g., on a version of the signal that has undergone preliminary filtering or pre-processing prior to performance of the operation thereon).

[0005] Throughout this disclosure including in the claims, the expression “system” is used in a broad sense to denote a device, system, or subsystem. For example, a subsystem that implements a decoder may be referred to as a decoder system, and a system including such a subsystem (e.g., a system that generates X output signals in response to multiple inputs, in which the subsystem generates M of the inputs and the other X - M inputs are received from an external source) may also be referred to as a decoder system.

[0006] Throughout this disclosure including in the claims, the term “processor” is used in a broad sense to denote a system or device programmable or otherwise configurable (e.g., with software or firmware) to perform operations on data (e.g., audio, or video or other image data). Examples of processors include a field-programmable gate array (or other configurable integrated circuit or chip set), a digital signal processor programmed and / or otherwise configured to perform pipelined processing on audio or other sound data, a programmable general purpose processor or computer, and a programmable microprocessor chip or chip set.SUMMARY

[0007] Methods, systems, and media for generating content with attributions are provided. In some embodiments, a method to generate content with attributions may involve receiving a request to generate a content item using a trained generative machine learning model. The method may further involve generating the content item using the trained generative machine learning model based at least in part on the request. The method may further involve concurrently with generating the content item, generating an attribution map using the trained generative machine learning model, wherein the attribution map indicates particular sources of training samples used to generate the content item.

[0008] In some examples, the content item is an image comprising a plurality of patches of pixels, and wherein the attribution map indicates the sources of training samples on a patch-by- patch basis.

[0009] In some examples, the request comprises a prompt indicative of a type of content to be included in the content item.

[0010] In some examples, the request comprises indications of one or more sources of training samples that are to be used to generate the content item, and wherein the trained generative machine learning model generates the content item based on training samples associated with at least one of the one or more sources of training samples. In some examples, the one or more sources of training samples are specified in a partially filled attribution map, and wherein the attribution map generated by the trained generative machine learning model is a filled in version of the partially filled attribution map.

[0011] In some examples, the request comprises indications of one or more sources of training samples that are not to be used to generate the content item, and wherein the trained generativemachine learning model generates the content item without using training samples associated with the one or more sources.

[0012] In some examples, the request comprises a partially generated content item, and wherein the content item generated by the trained generative machine learning model is a completed version of the partially generated content item.

[0013] In some examples, the content item comprises video content.

[0014] In some examples, the content item comprises audio content.

[0015] In some examples, the trained generative machine learning model iteratively generates portions of the content item, and wherein the trained generative machine learning model concurrently generates portions of the attribution map. In some examples, iteratively generating the portions of the content item comprise generating a set of content item codes and selecting a subset of the generated set of content item codes based on confidence values associated with the set of content item codes, and wherein iteratively generating the portions of the attribution map comprise generating a set of attribution codes and selecting a subset of the set of attribution codes based on confidence values associated with the set of attribution codes. In some examples, the portions of the content item are discrete. In some such examples, the trained generative machine learning model utilizes a MaskGIT architecture, described in Chang, Huiwen, et al."MaskGIT: Masked generative image transformer." Proceedings of the IEEE / CVF conference on computer vision and pattern recognition. 2022, which is incorporated herein by reference in its entirety. In some examples, the portions of the content item are continuous. In some such examples, the trained generative machine learning model utilizes a diffusion model architecture.

[0016] In some examples, the trained generative machine learning is a generative adversarial network (GAN).

[0017] According to some embodiments, a method of training a generative machine learning model is provided. The method may involve obtaining a training set, the training set comprising a plurality of content items and a corresponding plurality of attribution maps, wherein each attribution map of the plurality of attribution maps indicates at least one source of at least a portion of a corresponding content item. The method may further involve, for each content item of the plurality of content items: masking a portion of the content item and a corresponding portion of an attribution map corresponding to the content item; providing the masked contentitem and the masked attribution map to the generative machine learning model; obtaining, as an output of the generative machine learning model, a predicted content item and a predicted attribution map; and updating weights associated with the generative machine learning model based on a difference between the predicted content item and the content item and a difference between the predicted attribution map and the attribution map corresponding to the content item. The method may further involve providing a trained generative machine learning model based on final weights associated with the generative machine learning model, wherein the trained generative machine learning model is usable to generate a new content item not included in the training set and a corresponding attribution map indicating sources of content items included in the training set on which the new content item is based.

[0018] In some examples, the trained generative machine learning model utilizes a MaskGIT architecture.

[0019] In some examples, the new content item is one of: a still image, a video, or audio content.

[0020] In some examples, the new content item is a still image comprising a plurality of patches of pixels, and wherein the corresponding attribution map indicates sources of the content items included in the training set on a patch-by-patch basis.

[0021] In some examples, the weights associated with the generative machine learning model are updated using a cross-entropy loss function.

[0022] At least some aspects of the present disclosure may be implemented via an apparatus. For example, one or more devices may be capable of performing, at least in part, the methods disclosed herein. In some implementations, an apparatus is, or includes, an audio processing system having an interface system and a control system. The control system may include one or more general purpose single- or multi-chip processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, or combinations thereof.

[0023] Details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Otherfeatures, aspects, and advantages will become apparent from the description, the drawings, and the claims. Note that the relative dimensions of the following figures may not be drawn to scale.BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 A is a block diagram of an example content generation and attribution system in accordance with some embodiments.

[0025] Figure IB illustrates an example output of a content generation and attribution system in accordance with some embodiments.

[0026] Figure 2 illustrates example generated image content and corresponding attribution maps in accordance with some embodiments.

[0027] Figure 3 illustrates example output of a fully trained machine learning model, trained to generate image content and a corresponding attribution map, in accordance with some embodiments.

[0028] Figures 4A, 4B, 4C, and 4D are block diagrams illustrating example input configurations for content generation and attribution systems in accordance with some embodiments.

[0029] Figure 5 is a block diagram depicting an inference process of an example machine learning model in accordance with some embodiments.

[0030] Figure 6 is a block diagram depicting a training process for the machine learning model illustrated in Figure 5 in accordance with some embodiments.

[0031] Figure 7 is a flowchart of an example process for concurrently generating a content item and an attribution map in accordance with some embodiments.

[0032] Figure 8 is a flowchart of an example process for training a machine learning model to concurrently generate a content item and an attribution map in accordance with some embodiments.

[0033] Figure 9A shows a block diagram that illustrates examples of components of an apparatus capable of implementing various aspects of this disclosure.

[0034] Figure 9B illustrates a schematic block diagram of an example device architecture that may be used to implement various aspects of the present disclosure.

[0035] Figure 9C illustrates a schematic block diagram of an example CPU implemented in the device architecture of Figure 9B that may be used to implement various aspects of the present disclosure.

[0036] Like reference numbers and designations in the various drawings indicate like elements.DETAILED DESCRIPTION OF EMBODIMENTS

[0037] Generative artificial intelligence (Al) is being increasingly used to create content (e.g., text, images, videos, sound, etc.) Generative Al may include a machine learning model that has been trained using hundreds, thousands, millions, etc. of training samples such that newly generated content generated by the machine learning model is inherently based on the training samples. However, it can be hard to identify sources of the training samples that influenced creation of a newly created content item.

[0038] One previously used attribution technique may broadly generate attributions by determining a generic percentage of a training set that is from each source. For example, given a training set that is comprised of 40% training samples from Source 1, and 60% of training samples from Source 2, a conventional attribution technique may attribute any content item generated by a model trained using this training set as 40% from Source 1 and 60% from Source 2. However, this may be inaccurate for a particular content item, which may be, e.g., entirely based on training samples from Source 1 and not at all based on training samples from Source 2. This type of attribution may be considered “static attribution,” where attribution is determined once when the model is trained, and is fixed regardless of the content that is generated at inference time.

[0039] In contrast, “dynamic attribution” may produce different attribution results at each inference of the trained model based on the prompt provided to the model and / or based on the content generated by the model. In other words, dynamic attribution may indicate the training sources that “inspired” the model to generate a given content item.

[0040] An example dynamic attribution technique may use embedded watermarks to generate attributions, where each training sample has an embedded watermark indicative of the source of the training sample. For example, a training sample provided by Source 1 may have a first watermark, whereas a training sample provided by Source 2 may have a second watermark. A generated content item may then have one or more watermarks that have been generated “in- band” (e.g., embedded into the generated content item) based on the training samples used to generate the content item. However, this technique has the significant disadvantage of causing distortions in the generated content item due to the watermark being embedded in the content.

[0041] Disclosed herein are techniques for concurrent generation of out-of-band attributions. Unlike conventional proportion-based techniques, the techniques disclosed herein generate attributions concurrently with generation of the content item, where the generated attributions indicate sources of training samples used to generate a particular content item. Moreover, because attributions are generated concurrently by the same trained machine learning model, a generated attribution map may have the same resolution as a generated content item and may indicate particular sources used to generate specific portions of the content item. By way of example, in an instance in which a generated content item includes a dog sitting on a rock, the attribution map may indicate a source of training samples used to generate the dog, and, separately, a source of training samples used to generate the rock, where the sources may be the same or may be different from each other. In some cases, different sources used to generate different portions of an object may be indicated. For example, the attribution map may indicate that a first source was used to generate a tail of a dog, and a second source was used to generate a body of the dog. Because the attribution map indicates sources used to generate different objects, or even different portions of a single object, the content item may be cropped while maintaining attribution knowledge. For example, a content item that includes a dog sitting on a rock may be cropped to remove the rock. Using the techniques disclosed herein, attributions for generation of the dog are maintained, even when the content item is modified. Moreover, the attributions may be provided “out-of-band,” unlike the above-described watermarking technique, which may allow for higher quality content items to be generated.

[0042] In some cases, attribution information may be specified prior to generation of the content item. For example, sources that are to be used to generate the content item and / or sources that are not to be used to generate the content item may be specified. By way of example, a content item may be generated based on the prompt “generate an image of a dog sitting on the beach, but do not use any training data associated with [SOURCE 1].” This mayallow content creators to avoid using particular sources based on fees associated with usage of these training sources, or to selectively utilize particular sources (e.g., based on pre-existing agreements), or the like.

[0043] Because the techniques disclosed herein generate content items based on specified attribution information and indicate attribution information at a high resolution, machine learning models that utilize the techniques disclosed herein may receive higher quality training sets, because sources of these training sets may be more likely to provide their training data to such a model that dynamically generates attribution information. Moreover, content creators using such models may appreciate being able to specify sources of training data used to generate content items, as well as detailed information on the sources used to generate discrete portions of the content items.

[0044] Figure 1 A illustrates a block diagram of an example content generation and attribution system in accordance with some embodiments. As illustrated, a content generation and attribution system 102 may be configured to receive, as input, a prompt 104. Prompt 104 may include instructions of types of content to be included in generated content 106, sources of training samples to be used in generating content 106, types of content to not be included in generated content 106, sources of training samples not to be used in generating content 106, or any combination thereof. An example of prompt 104 is “create an image of a dog surfing on a chocolate chip cookie.” Another example of prompt 104 is “create a video of a cat eating an ice cream cone on the beach that is generated using content from cat food manufacturers.” As illustrated, content generation and attribution system 102 may generate, as an output, content 106. Content 106 may include image content, video content, audio content, text-based content, etc. Additionally, content generation and attribution system 102 may generate attribution(s) 108. Attribution(s) 108 may indicate sources of training samples used to generate content 106. For example, attribution(s) 108 may indicate owners or entities that provided / generated training content on which the generated content 106 is based. In some implementations, attribution(s) 108 may be of a similar or the same resolution as content 106. For example, in an instance in which content 106 is an image or a video comprised of sequences of images, attribution(s) 108 may include image content of the same resolution as the generated content 106, where attributions are indicated on a pixel-by-pixel or patch-by-patch basis. This is shown in and described in more detail below in connection with Figure 2 and 3. Note that the particular inputs and outputs shown in Figure 1 A are merely by way of example, and other possible input andoutput combinations are shown in and described below in connection with Figures 4A, 4B, 4C, and 4D.

[0045] It should be understood that content generation and attribution system 102 may include a trained machine learning model having any suitable type of architecture capable of producing generative content. For example, in some implementations, the trained machine learning model may include a transformer network configured to utilize an attention mechanism. In some embodiments, portions of the content item may be generated in a discrete manner. In some such embodiments, the machine learning model may have an architecture similar to the Masked Generative Iterative Transformer (MaskGIT) architecture. Alternatively, in some embodiments, portions of the content item may be continuous. In such embodiments, the machine learning model may utilize a diffusion model. In some embodiments, the trained machine learning model may utilize a generative-adversarial network (GAN).

[0046] In some implementations, generated content may include a generated image. The image may include patches of pixels. By way of example, an image may be 256 x 256 pixels, which is comprised of patches of 16 x 16 pixels each. For a given generated image, an attribution map may be generated. The attribution map may indicate one or more sources of training samples used to generate the corresponding image. In some implementations, the attribution map may have the same resolution of the generated image. For example, given a 16 patch x 16 patch of generated image codes, the attribution map may also be 16 patches x 16 patches (e.g., where each patch comprises 16 x 16 pixels). In particular, each patch of the attribution map may indicate a source of the corresponding patch of the generated image. Accordingly, where the generated image includes one or more objects (e.g., a dog, a rock, a cookie, etc.), the attribution map may separately indicate a source of each of the one or more objects. By way of example, a dog in the generated image may be generated based on a first source, and a rock in the generated image may be generated based on a second source, where both the first source and the second source are indicated in the attribution map.

[0047] In some implementations, an attribution map may indicate sources of training content on an object-by-object basis, and / or for portions of an individual object. In some embodiments, an attribution map may indicate a percent likelihood that a given source was used to generate a portion of a content item. Figure IB illustrates an example in which attributions are provided for different portions of a content item 150. For example, regions 154, 156, and 158 in Figure IB are all associated with the same object in content item 150 (e.g., they are all portions of thedepicted elephant). However, each of regions 154-158 indicate a different attribution, where each attribution specifies a likelihood of training items from Owners A, B, and C in generating the region. Region 152 depicts an attribution for a single object (e.g., the sun depicted in content item 150).

[0048] Figure 2 illustrates example generated image content and corresponding attribution maps in accordance with some embodiments. Set of images 202 include examples of image content generated by a trained machine learning model (e.g., of content generation and attribution system 102 of Figure 1A). Note that each image in set of images 202 is a newly generated image based on training images used to train the machine learning model, but that are not included in the set of training images. Set of attribution maps 204 includes attribution maps, each corresponding to an image in set of images 202. For example, attribution map 204a is an attribution map corresponding to image 202a. As illustrated, attribution map 204a indicates that the small dog included in image 202a is generated primarily based on training samples from “Owner 1,” which included training images of small dogs and domestic cats. In particular, the patches of pixels in attribution map 204a corresponding to the location of the dog in image 202a are shaded as corresponding to Owner 1. The other attribution maps in set of attribution maps 204 similarly indicate sources of the objects included in each corresponding image of set of images 202.

[0049] In some implementations, a machine learning model used to generate images and corresponding attributions may be one that generates the content and attributions in a discrete, iterative manner. In some implementations, the machine learning model may be based on the MaskGIT algorithm for generating images using a transformer network. For example, the model may start at a first iteration with an initial map of image codes and a corresponding initial attribution map. The initial map of image codes may be based on a pretrained codebook. For example, as described below with reference to Figure 5, the initial map of image codes may be generated by encoding an input image and converting the resulting embedding to image codes based on a pretrained codebook. Portions of the initial map of image codes may be masked, and the model may predict the masked portions of the initial map of image codes. Each predicted image code in the map may be associated with a confidence value, and the K image codes with the highest confidence values may be selected and utilized in the subsequent iteration. This process may repeat until the entire map of image codes has been filled in. Similarly, the attribution map may be iteratively filled in. For example, the initial attribution map may be masked. After a first set of predicted image codes is generated, attributions for each image codemay be predicted. The J predicted attributions with the highest confidence values may be selected and kept for the next iteration. The model may iterate and progressively fill in both the map of image codes and the attribution map such that the map of image codes and the attribution map are concurrently filled in. Note that the number K of image codes maintained after each iteration and the number J of attributions maintained after each iteration may be the same number, or may be different. Additionally, the number K of image codes maintained after each iteration and the number J of attributions maintained after each iteration may vary from iteration to iteration according to a scheduling function. In particular, in some embodiments, the number of total iterations required to fully fill in the map of image codes and the attribution map may be predetermined (e.g., 16 iterations, 32 iterations, 50 iterations, etc.), and the schedule of the number of image codes and the number of predicted attributions selected / maintained at the end of every iteration may vary from iteration-to-iteration such that the map of image codes and the attribution map are fully filled in at the end of the predetermined number of iterations. A final generated content item may be obtained by providing the final map of image codes (e.g., a fully filled in map) to a decoder network. Note that, in general, a map of image codes, as used herein, generally corresponds to a set of embeddings associated with an image, where the decoder is configured to receive, as input, the map of image codes and translate the map of image codes (e.g., the embeddings) to the content item (e.g., an image). A content generation and attribution system (e.g., content generation and attribution system 102 of Figure 1 A) may include both a trained machine learning model configured to generate a filled in map of image codes and a corresponding attribution map, as well as a decoder network configured to generate a content item based on the map of image codes.

[0050] Figure 3 illustrates example output of an iteratively trained machine learning model, trained to generate image content and an attribution map, in accordance with some embodiments. In the example shown in Figure 3, the machine learning model proceeds through 32 iterations. Each iteration generates patch-by-patch predicted image codes and predicted attributions, where each patch is 16 x 16 pixels. For example, panel 302 illustrates the output of the first iteration. Prior to the first iteration, a fully masked map of image codes is provided to the model, and the model generates predictions of all the image codes in the map (e.g., for each patch), and corresponding predictions of attributions for each patch. At the end of the first iteration, the model selects the K image codes with the highest confidence values and fixes or freezes these image code values for the subsequent iteration. The generated image in panel 302 depicts an output if the selected / frozen image code at the end of the first iteration were provided to a traineddecoder of the model. The masked codes are set to the last code in the image codebook before feeding the entire image codes into the decoder. Similarly, at the end of the first iteration, the J attribution codes with the highest confidence values are selected / frozen, and used in the subsequent iteration. Note that over the course of the 32 iterations, the image code map and the attribution map are iteratively filled in such that the image code map and the attribution map are fully filled in at the end of the 32 iterations. Additionally, note that the generated image is iteratively modified such that the final generated image (which would be generated by providing the final map of image codes at the end of iteration 32 to a decoder) is a fully generated image content item, and where images generated using the partially filled image codes lack the detail of the final generated image content item. It should be noted that for each iteration, selected attributions may differ from the selected image codes in location. For example, referring to panel 302, at the end of the first iteration, the selected image code is at a different patch location compared to the selected attribution code.

[0051] The example system shown in and described above in connection with Figure 1 A described a content generation and attribution system that takes, as input, a prompt, and generates, as output, generated content and corresponding attributions. However, other system configurations may be utilized that, e.g., take different inputs and / or different outputs, as shown in and described below in connection with Figures 4A-4D.

[0052] Turning to Figure 4A, an example configuration of a content generation and attribution system 402 is illustrated, where content generation and attribution system 402 does not receive a prompt as input. Instead, without a prompt, content generation and attribution system 402 generates content 406 and attribution(s) 408. In general, this configuration is referred to as “unconditional image generation,” where content generation and attribution system 402 may generate a random image generated based on random elements selected from the training set.

[0053] Turning to Figure 4B, an example configuration of a content generation and attribution system 422 similar to that shown in and described above in connection with Figure 1 A is illustrated in accordance with some embodiments. However, unlike what is shown in Figure 1 A, content generation and attribution system 422 receives both prompt 424 (which may be similar to prompt 102 of Figure 1A), as well as a partial / full attribution map 425. Partial / full attribution map 425 may be a partially filled in version of the final attribution map generated by content generation and attribution system 422. For example, partial / full attribution map 425 may indicate one or more sources of training samples that are to be used to generate content 426output by content generation and attribution system 422. In some embodiments, partial / full attribution map 425 may fully specify the attributions of content 426, for example, every patch of pixels may have a target attribution source specified. Alternatively, in some embodiments, partial / full attribution map 425 may partially specify target attributions, e.g., for a subset of the patches of pixels of content 426. As a more particular example, prompt 424 may be “generate an image of a dog on a rock,” and partial / full attribution map 425 may indicate that the source of the training samples used to generate the dog is a particular source (e.g., a particular manufacturer of dog food). The partial / full attribution map 425 may be specified as a matrix of the same size as the final attribution map 428, where some or all the matrix elements are specified target attributions. The final attribution map 428 may align with the partial / full attribution map 425. For example, attribution map 428 may include all the same attributions as specified in a partial attribution map, with the remaining portions of the attribution map filled in by content generation and attribution system 422.

[0054] Turning to Figure 4C, an example configuration of a content generation and attribution system 452 similar to that shown in and described above in connection with Figure 4B is shown in accordance with some embodiments. Unlike what is shown in Figure 4B, rather than taking, as input, a partial / full attribution map, content generation and attribution system 452 takes, as input, partial image code 455. As illustrated, content generation and attribution system 452 may take, as inputs, prompt 454, and partial image code 455 may be a portion of content 456. For example, prompt 454 may be “generate an image of a dog on a rock,” and partial image code 455 may be a portion of content 456 (which may include a portion of the dog and / or the rock, and / or any other content other than that specified in the prompt). Content 456 may effectively “fill in” the missing portions of partial image code 455, in a process sometimes referred to as “inpainting.” Similar to what is shown in and described above in connection with Figures 1, 4A, and 4B, attribution(s) 458 may indicate sources of training samples used to generate content 456 (e.g., to fill in the partial image code 455).

[0055] Turning to Figure 4D, an example configuration of a content generation and attribution system 472 similar to that shown in and described above in connection with Figure 4B is shown in accordance with some embodiments. Unlike what is shown in Figure 4B, rather than taking, as input, a partial / full attribution map, content generation and attribution system 472 takes, as input, an excluded owner list 475. Excluded owner list 475 may specify one or more sources of training samples that are not to be used in generating content 476. For example, excluded owner list 475 may specify one or more owners of training samples that generated content 476 is not tobe based on. As illustrated, content generation and attribution system 472 may additionally take a prompt 474. By way of example, prompt 474 may be “generate an image of a dog on a beach,” and excluded owner list 475 may specify one or more sources of training samples that generated content 476 (which may include an image of a dog on a beach) is not to be based on. For example, images of dogs and / or beaches from sources included in excluded owner list 475 may be excluded from training samples used to generate content 476. Attribution(s) 478 may indicate sources of training samples used to generate content 476 and may align with excluded owner list 475 in that sources indicated in excluded owner list 475 may be inhibited from being included in attribution(s) 478.

[0056] It should be noted that Figures 1 A and 4A-4D illustrate the same system which may be configured to take different inputs. In other words, a single content generation and attribution system may be configured to take, as input, a prompt, a partial / full attribution map, a partial image map, and / or an excluded owner list, and may receive none, some, or all of these inputs.

[0057] As described above in connection with Figure 3, in some implementations, a content generation and attribution system may iteratively generate a map of image codes and an attribution map concurrently. For example, as shown in and described above in connection with Figure 3, during each iteration, predicted image codes may be generated by the model, and the K image codes with the highest confidence values may be selected (e.g., frozen) for use in the subsequent iteration. This technique for generating a map of image codes is similar to that implemented in the MaskGIT algorithm. Using the techniques disclosed herein, an attribution map may be generated concurrently with the map of image codes in an iterative fashion. In particular, as shown in and described above in connection with Figure 3, during each iteration, attributions may be predicted for elements of an attribution map, and the J attributions with the highest confidence values may be selected (e.g., frozen) for use in the subsequent iteration. In some implementations, the MaskGIT algorithm may be modified to generate a predicted attribution map at each iteration concurrent with prediction of the map of image codes.

[0058] Figure 5 is a block diagram depicting an inference process of an example machine learning model in accordance with some embodiments. The implementation illustrated in Figure 5 may be used at inference time, e.g., to generate new content items and attribution maps. As illustrated, a trained machine learning model 502 (which may be based on the MaskGIT algorithm) may receive a map of image codes 512, which may start empty or be partially filled. At each iteration, each element in the generated map of image codes 516 may have acorresponding confidence value indicating a confidence value or metric associated with the prediction. Selection block 514 may select the K elements of generated map of image codes 516 with the highest confidence values. The map of the image codes with the selected elements (e.g., selected by selection block 514) may then form the new input map of image codes 512 provided to trained machine learning model 502. After a predetermined number of iterations have been completed, the generated map of image codes 516 will be fully filled in (e.g., corresponding to the map of image codes after 32 iterations in Figure 3). The final, fully filled in generated map of image codes 516 may be used to generate content item 518 by providing the predicted map of image codes 516 to a trained decoder 534 configured to output content item 518. Note that, as shown in Figure 5, trained machine learning model 502 may additionally take as input a prompt 511.

[0059] In some implementations, for example, as shown in and described above in connection with Figure 4C, trained machine learning model 502 may perform “image inpainting” by filling in a partially filled in input image. In other words, generated content item 518 may represent a “filled in” version of a partially filled in initial image. In such embodiments, an initial image 504 may be provided to an encoder 506 configured to generate embeddings associated with initial image 504. The embeddings may be quantized by quantizer 508 configured to convert embeddings from the encoder output to image codes based on a pretrained codebook. The quantized embeddings may be provided to masking block 510 to generate the initial masked map of image codes 512 used in the first iteration of trained machine learning model 502. Note that the output of masking block 510 generally corresponds to partial image code 455 of Figure 4C, which then becomes the initial map of image codes 512 provided as input to trained machine learning model 502. In some implementations, the output of quantizer 508 may be “masked” using a user interface, which may allow a user to erase or “mask out” portions of the initial image that are to be inpainted.

[0060] Concurrently with the process described above to generate content item 518, trained machine learning model 502 may generate an attribution map 532. Trained machine learning model 522 may begin with an initial attribution map 522, which may be fully blank (e.g., fully masked), or may be initialized based on partial / full attribution map 520 (which may at least partially specify sources of training samples used to generate content item 518). After generating predicted map of image codes 516 in a given iteration, trained machine learning model 502 may generate a predicted attribution map 530. Selection block 524 may be used to select the J attributions with the highest confidence values, where the selected attributions are frozen andform the basis for the attribution map 522 provided in the next iteration. Note that, in instances in which one or more excluded owners / sources are provided in excluded owner list 528, the predicted attribution map 530 may be filtered using filter block 526. In particular, filter block 526 may remove any predicted attributions that correspond to sources / owners on excluded owner list 528 prior to the J attributions with the highest confidence values being selected.

[0061] Note that trained machine learning model 502 may be configured to generate predicted map of image codes 516 in a given iteration based on the attribution map 522 from the previous iteration. For example, filter block 526 may set the confidence values for attribution codes corresponding to sources on excluded owner list 528 to a very small value (e.g., 0, -100, negative infinity, etc.). This may ensure that selection block 524 does not select attribution codes corresponding to an excluded owner. If a fixed image code (e.g., selected by selection block 514) has an attribution code corresponding to the excluded owner list, the image code may be masked (e.g., blanked, erased, removed, etc.) at the end of a given iteration such that the image code is then re-generated or re-predicted in the next iteration. This may ensure that content item 518 is generated without utilizing any training samples from owners / sources on excluded owner list 528.

[0062] Figure 6 is a block diagram depicting a training process for the machine learning model illustrated in Figure 5 in accordance with some embodiments. In particular, machine learning model 602 may be a version of machine learning model 502 of Figure 5 prior to training. The training process may iterate through a set of training images, each associated with a ground truth annotation map indicating a source of the training image. For each training image 604, an encoder block 606 may generate an embedding. The embedding may be quantized by quantizer block 608 to generate a map of image codes. A masking block 610 may mask the map of image codes to generate masked image codes 612. Image codes generated by quantizer block 608 may be randomly masked by masking block 610 to generate masked image codes 612. Note that masking block 610 may randomly select portions of image codes that are masked, which may be different in each training step. Machine learning model 602 may then generate predicted image predicodes 616 by predicting the image codes. The prediction may optionally be based on a prompt 611. Loss function block 650 may determine a loss based on a difference between predicted image codes 616 and the ground truth map of image codes generated by quantized block 608. In some embodiments, loss function block 650 may determine the loss using a cross entropy loss function. The loss may be used to update weights associated with machine learning model 602.

[0063] Concurrently with generating predicted image codes, machine learning model 602 may be trained to predict the attribution map for each training sample. In particular, for a given training image, the ground truth attribution map 620 may be masked by masking block 621 to generate a masked attribution map 622. For example, at a first iteration, masked attribution map 622 may be a blank matrix. The masked attribution map 622 may be provided as input to machine learning model 602, which may generate predicted attribution map 630. Loss function block 652 may determine a loss based on a difference between predicted attribution map 630 and ground truth attribution map 620. In some embodiments, loss function block 652 may determine the loss using a cross entropy loss function. The loss may be used to update weights associated with machine learning model 602.

[0064] Note that cross entropy loss may generally be used to penalize a model and / or update weights when the model is trained to select from a discrete set of possibilities. In the example configuration shown in Figure 6, the model is trained to predict discrete image codes and discrete attribution codes. In some implementations, other types of loss functions may be used, e.g., utilizing mean square error (MSE) based on a probability of classification, or the like.

[0065] The training process described above may repeat for each training sample of a set of training samples. Note that multiple sources (e.g., two, three, four, ten, fifty, etc.) of training samples may be represented in the training set such that the machine learning model is trained to generate an attribution map indicating a source of a set of multiple candidate sources.

[0066] It should be noted that a single image may be processed differently during inference (e.g., as shown in Figure 5) compared to during the training process (e.g., as shown in Figure 6). During the inference process, a single image is generated over a fixed number of steps (sometimes referred to herein as iterations), where, in each step, K image codes and J attribution codes are filled in. For example, Figure 3 illustrates an example in which the image and attribution map are filled in over 32 steps or iterations. During the training process, each training image and ground truth attribution map is processed in a training step by masking / .% of the image codes for the training image and A / % of the attribution codes (the masked codes being chosen at random). The model is then penalized for incorrect predictions of the masked image codes and / or masked attribution codes (e.g., using a loss function as described above). It should be understood that / .% of image codes masked during training may be unrelated to the K image codes selected at each step or iteration during the inference process, and similarly, the A / % ofattribution codes masked during training may be unrelated to the J attribution codes selected at each step or iteration during the inference process.

[0067] Figure 7 is a flowchart of an example process 700 for concurrently generating a content item and an attribution map in accordance with some embodiments. Blocks of process 700 may be executed by one or more processors and / or control systems of a computing device, such as a laptop computer, a server device, a remote cloud computing device, etc. An example of such a control system is control system 910 of Figure 9A. In some implementations, blocks of process 700 may be executed in an order other than what is shown in Figure 7. In some embodiments, two or more blocks of process 700 may be executed substantially in parallel. In some embodiments, one or more blocks of process 700 may be omitted.

[0068] Process 700 can begin at 702 by receiving a request to generate a content item using a trained generative machine learning model. In some implementations, the generative machine learning model may generate discrete portions of the content item, e.g., using a masked transformer architecture (e.g., based on MaskGIT, or a similar type of algorithm). Alternatively, in some implementations, the generative machine learning model may generate continuous portions of the content item, e.g., using a diffusion model.

[0069] In some embodiments, the request may include a prompt. The prompt may be textbased, spoken, or the like. In some embodiments, the request may include one or more sources of training samples (e.g., owners or generators of training samples) that are to be used to generate the content item, or that are not to be used to generate the content item (e.g., an excluded owner list). Sources of training samples that are to be used to generate the content item may be specified in a partial or full attribution map. In some embodiments, the request may include a partially filled in content item that is to be fully filled in by the trained generative machine learning mode (e.g., by performing “image inpainting” as described above). A partially filled in content item may be specified as a partial image.

[0070] At 704, process 700 can generate the content item using the trained generative machine learning model based at least in part on the request. For example, in instances in which the trained generative machine learning model iteratively generates discrete portions of the content item, process 700 can mask predicted representations of the content item, predict the masked regions, and select a subset of the predicted regions based on confidence values, as shown in and described above in connection with Figures 3 and 5. In instances in which a prompt is provided, the trained generative machine learning model may utilize the prompt, e.g., to generate objects ofparticular types (e.g., a dog, water, a rock, etc.) as specified in the prompt. In instances in which a partially filled in content item is provided, process 700 may generate a quantized embedding of the partially filled in content item (e.g., as shown in and described above in connection with Figure 5) and utilize the quantized embedding an initial map of image codes at the start of a first iteration.

[0071] At 706, concurrently with generating the content item, process 700 can generate an attribution map using the trained generative machine learning model, where the attribution map indicates sources of training samples used to generate the content item. The attribution map may indicate the particular sources of training samples on which the generated content item is based. Note that the attribution map may indicate multiple sources. For example, in an instance in which the generated content item is an image that includes multiple objects (e.g., a dog, a rock, water, etc.), the attribution map may indicate a source for each object. In some embodiments, the attribution map may have the same resolution as the content item. For example, in an instance in which the content item is an image of size 256 pixels x 256 pixels comprised of patches of 16 pixels x 16 pixels, the attribution map may also be comprised of patches of 16 pixels x 16 pixels, with attributions determined and specified for each patch. Accordingly, the attribution map may indicate a first region of the content item was generated based on a first source, and a second region of the content item was generated based on a second source. Note that in instances in which the request indicated sources of training samples to be used or not to be used to generate the content item, the generated content item may align to the request, and the resulting attribution map may reflect the requested inclusion or exclusion of particular sources.

[0072] Figure 8 is a flowchart of an example process 800 for training a machine learning model to concurrently generate a content item and an attribution map in accordance with some embodiments. Note that the process depicted in Figure 8 is associated with the model architecture depicted in Figures 5 and 6, and a different training process may be used for other architectures, such as a diffusion model. Blocks of process 800 may be executed by one or more processors and / or control systems of a computing device, such as a laptop computer, a server device, a remote cloud computing device, etc. An example of such a control system is control system 910 of Figure 9A. In some implementations, blocks of process 800 may be executed in an order other than what is shown in Figure 8. In some embodiments, two or more blocks of process 800 may be executed substantially in parallel. In some embodiments, one or more blocks of process 800 may be omitted.

[0073] Process 800 can begin at 802 by obtaining a training set, the training set comprising a plurality of content items and a corresponding plurality of attribution maps, where each attribution map of the plurality of attribution maps indicates at least one source of at least a portion of a corresponding content item. Each attribution map in the training set may be considered a ground truth attribution map (e.g., as shown in and described above in connection with Figure 6). The content items may include images, videos, audio content, etc.

[0074] At 804, process 800 can, for each content item in the plurality of content items, mask a portion of the content item and a portion of an attribution map corresponding to the content item. Note that, prior to masking the portion of the content item, process 800 may generate a quantized embedding of the content item, which may serve as, e.g., the initial map of an image code, which may then be masked, as shown in and described above in connection with Figure 6. By masking the portion of the content item and the portion of the attribution map, process 800 may effectively “hide” a portion of the content item and the portion of the attribution map which is then to be predicted by the machine learning model.

[0075] At 806, process 800 can provide the masked content item and the masked attribution map to the generative machine learning model. In some implementations, the generative machine learning model may additionally be provided with a prompt, which may be text-based, spoken, etc.

[0076] At 808, process 800 can obtain, as an output of the generative machine learning model, a predicted content item and a predicted attribution map. Note that these may be generated concurrently by the generative machine learning model, e.g., as part of one iteration.

[0077] At 810, process 800 can update weights associated with the generative machine learning model based on a difference between the predicted content item and the content item and a difference between the predicted attribution map and the ground truth attribution map corresponding to the content item. The weights may be updated based on a loss. The loss may be a cross-entropy loss.

[0078] At 812, process 800 can determine whether training is complete. For example, process 800 may determine whether all training samples of the training set have been iterated through. As another example, process 800 may determine whether the machine learning model has achieved a target accuracy. In some implementations, process 800 may determine whether training is complete based on whether a fixed number of training epochs have been completed. In someembodiments, process 800 may determine that training is to be completed early (e.g., prior to the fixed number of training epochs being completed) . For example, process 800 may generate sample images after a predetermined number of training epochs (e.g., every 5 epochs, every 10 epochs, etc.). Responsive to determining that a target image quality has been achieved and / or that image quality is no longer improving by more than a predetermined threshold over successive training epochs, training may be determined to be complete even if the target number of epochs have not been completed.

[0079] Responsive to determining, at 812, that training is not complete (“no” at 812), process 800 can loop back to block 804 and can obtain another content item from the training set. Process 800 can then loop through blocks 804-812 until training is complete.

[0080] Conversely, if, at 812, process 800 determines that training is complete (“yes” at 812), process 800 can proceed to block 814 and can provide a trained generative machine learning model based on final weights assocaited with the generative machine learning model. As described above, the trained generative machine learning model is usable to generate a new content item not included in the training set a corresponding attribution map indicating sources of content items included in the training set on which the new content item is based.

[0081] It should be understood that in some embodiments, the model used to concurrently generate content items and attribution information may be a diffusion model. For example, a diffusion model may be a diffusion denoising probabilistic model (DDPM) or a diffusion denoising implicit model (DDIM). A diffusion model may work on image data by starting with a matrix of gaussian noise for each image channel to generate image content items. For example, a red-green-blue (RGB) image of size 256 x 256 pixels has three channels, and accordingly, the noise matrix is of size 256 x 256 x 3. At each iteration, an estimate of noise is calculating by the model, and a percentage of the noise is removed. This process repeats until the image content item is generated. Typically, a DDIM may implement about 50 iterations of noise removal, and a DDPM may implement about 1000 iterations of noise removal. To concurrently generate attribution information, the diffusion model may be modified to operate on a noise matrix that includes three RGB channels, and an additional X attribution channels, where the value of each X attribution channel represents percentage ownership of one of X owners. By way of example, to represent percentage ownership of one of 3 owners, X may be 3, and the size of the matrix may be 256 x 256 x 6 (where the 6 comprises 3 RGB channels, and 3 attribution channels corresponding to the 3 owners).

[0082] Figure 9A is a block diagram that shows examples of components of an apparatus capable of implementing various aspects of this disclosure. As with other figures provided herein, the types and numbers of elements shown in Figure 9A are merely provided by way of example. Other implementations may include more, fewer and / or different types and numbers of elements. According to some examples, the apparatus 900 may be configured for performing at least some of the methods disclosed herein. In some implementations, the apparatus 900 may be, or may include, a television, one or more components of an audio system, a mobile device (such as a cellular telephone), a laptop computer, a tablet device, a smart speaker, or another type of device.

[0083] According to some alternative implementations the apparatus 900 may be, or may include, a server. In some such examples, the apparatus 900 may be, or may include, an encoder. Accordingly, in some instances the apparatus 900 may be a device that is configured for use within an audio environment, such as a home audio environment, whereas in other instances the apparatus 900 may be a device that is configured for use in “the cloud,” e.g., a server.

[0084] In this example, the apparatus 900 includes an interface system 905 and a control system 910. The interface system 905 may, in some implementations, be configured for communication with one or more other devices of an audio environment. The audio environment may, in some examples, be a home audio environment. In other examples, the audio environment may be another type of environment, such as an office environment, an automobile environment, a train environment, a street or sidewalk environment, a park environment, etc. The interface system 905 may, in some implementations, be configured for exchanging control information and associated data with audio devices of the audio environment. The control information and associated data may, in some examples, pertain to one or more software applications that the apparatus 900 is executing.

[0085] The interface system 905 may, in some implementations, be configured for receiving, or for providing, a content stream. The content stream may include audio data. The audio data may include, but may not be limited to, audio signals. In some instances, the audio data may include spatial data, such as channel data and / or spatial metadata. In some examples, the content stream may include video data and audio data corresponding to the video data.

[0086] The interface system 905 may include one or more network interfaces and / or one or more external device interfaces (such as one or more universal serial bus (USB) interfaces). According to some implementations, the interface system 905 may include one or more wirelessinterfaces. The interface system 905 may include one or more devices for implementing a user interface, such as one or more microphones, one or more speakers, a display system, a touch sensor system and / or a gesture sensor system. In some examples, the interface system 905 may include one or more interfaces between the control system 910 and a memory system, such as the optional memory system 915 shown in Figure 9A. However, the control system 910 may include a memory system in some instances. The interface system 905 may, in some implementations, be configured for receiving input from one or more microphones in an environment.

[0087] The control system 910 may, for example, include a general purpose single- or multichip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, and / or discrete hardware components.

[0088] In some implementations, the control system 910 may reside in more than one device. For example, in some implementations a portion of the control system 910 may reside in a device within one of the environments depicted herein and another portion of the control system 910 may reside in a device that is outside the environment, such as a server, a mobile device (e.g., a smartphone or a tablet computer), etc. In other examples, a portion of the control system 910 may reside in a device within one environment and another portion of the control system 910 may reside in one or more other devices of the environment. For example, a portion of the control system 910 may reside in a device that is implementing a cloud-based service, such as a server, and another portion of the control system 910 may reside in another device that is implementing the cloud-based service, such as another server, a memory device, etc. The interface system 905 also may, in some examples, reside in more than one device. In some implementations, a portion of a control system may reside in or on an earbud.

[0089] In some implementations, the control system 910 may be configured for performing, at least in part, the methods disclosed herein. According to some examples, the control system 910 may be configured for implementing methods of generating content with corresponding attributions, training a model to generate such content, or the like.

[0090] Some or all of the methods described herein may be performed by one or more devices according to instructions (e.g., software) stored on one or more non-transitory media. Such non- transitory media may include memory devices such as those described herein, including but not limited to random access memory (RAM) devices, read-only memory (ROM) devices, etc. The one or more non-transitory media may, for example, reside in the optional memory system 915shown in Figure 9A and / or in the control system 910. Accordingly, various innovative aspects of the subject matter described in this disclosure can be implemented in one or more non-transitory media having software stored thereon. The software may, for example, generate content items and corresponding attributions, train a model to generate content items and corresponding attributions, etc. The software may, for example, be executable by one or more components of a control system such as the control system 910 of Figure 9A.

[0091] In some examples, the apparatus 900 may include the optional microphone system 920 shown in Figure 9A. The optional microphone system 920 may include one or more microphones. In some implementations, one or more of the microphones may be part of, or associated with, another device, such as a speaker of the speaker system, a smart audio device, etc. In some examples, the apparatus 900 may not include a microphone system 920. However, in some such implementations the apparatus 900 may nonetheless be configured to receive microphone data for one or more microphones in an audio environment via the interface system 910. In some such implementations, a cloud-based implementation of the apparatus 900 may be configured to receive microphone data, or a noise metric corresponding at least in part to the microphone data, from one or more microphones in an audio environment via the interface system 910.

[0092] According to some implementations, the apparatus 900 may include the optional loudspeaker system 925 shown in Figure 9A. The optional loudspeaker system 925 may include one or more loudspeakers, which also may be referred to herein as “speakers” or, more generally, as “audio reproduction transducers.” In some examples (e.g., cloud-based implementations), the apparatus 900 may not include a loudspeaker system 925. In some implementations, the apparatus 900 may include headphones. Headphones may be connected or coupled to the apparatus 900 via a headphone jack or via a wireless connection (e.g., BLUETOOTH).

[0093] Figure 9B illustrates a schematic block diagram of an example device architecture 901 (in this example, an apparatus 901) that may be used to implement various aspects of the present disclosure. The apparatus 901 of Figure 9B is an instance of the apparatus 900 of Figure 9A. Architecture 901 includes but is not limited to servers and client devices, systems, etc., which may be configured to perform the methods that are described with reference to any or all of Figures 7 and 8. As shown, the architecture 901 includes central processing unit (CPU) 941, which is capable of performing various processes in accordance with a program stored in, for example, read only memory (ROM) 942 or a program loaded from, for example, storage unit 948to random access memory (RAM) 943. The CPU 941 may be, for example, an electronic processor 941. In these examples, the CPU 941 is an instance of the control system 910 of Figure 9A and the ROM 942 and RAM 943 are instances of the memory system 915. In RAM 943, the data required when CPU 941 performs the various processes is also stored, as required. CPU 941, ROM 942, and RAM 943 are connected to one another via bus 944. Input / output (I / O) interface 945 is also connected to bus 944. The bus 944 and the I / O) interface 945 are instances of the interface system 905 of Figure 9A.

[0094] The following components are connected to I / O interface 945: input unit 946, that may include a keyboard, a mouse, or the like; output unit 947 that may include a display such as a liquid crystal display (LCD) and one or more speakers; storage unit 948 including a hard disk, or another suitable storage device; and communication unit 949 including a network interface card such as a network card (e.g., wired or wireless).

[0095] In some implementations, input unit 946 includes one or more microphones in different positions (depending on the host device) enabling capture of audio signals in various formats (e.g., mono, stereo, spatial, immersive, and other suitable formats).

[0096] In some implementations, output unit 947 include systems with various number of speakers. Output unit 947 (depending on the capabilities of the host device) can render audio signals in various formats (e.g., mono, stereo, immersive, binaural, and other suitable formats).

[0097] In some embodiments, communication unit 949 is configured to communicate with other devices (e.g., via a network). Drive 950 is also connected to I / O interface 945, as required. Removable medium 951, such as a magnetic disk, an optical disk, a magneto-optical disk, a flash drive or another suitable removable medium is mounted on drive 950, so that a computer program read therefrom is installed into storage unit 948, as required. A person skilled in the art would understand that although apparatus 901 is described as including the above-described components, in real applications, it is possible to add, remove, and / or replace some of these components and all these modifications or alteration all fall within the scope of the present disclosure.

[0098] In accordance with example embodiments of the present disclosure, the processes described above may be implemented as computer software programs or on a computer-readable storage medium. For example, embodiments of the present disclosure include a computer program product including a computer program tangibly embodied on a machine readablemedium, the computer program including program code for performing methods. In such embodiments, the computer program may be downloaded and mounted from the network via the communication unit 949, and / or installed from the removable medium 951, as shown in Figure 9B.

[0099] Figure 9C illustrates a schematic block diagram of an example CPU 941 implemented in the device architecture 901 of Figure 9B that may be used to implement various aspects of the present disclosure. The CPU 941 includes an electronic processor 960 and a memory 961. The electronic processor 960 is electrically and / or communicatively connected to the memory 961 for bidirectional communication. The memory 961 may store content generation software 962 and / or training software 563. The memory 961 may be, for example, a ROM, a RAM, or another non-transitory computer readable medium. The electronic processor 960 may implement the content generation software 962 stored in the memory 961 to perform, among other things, the method 700 of Figure 7. Additionally or alternatively, the electronic processor 960 may implement the training software 963 stored in the memory 961 to perform, among other things, the method 800 of Figure 8.

[0100] Generally, various example embodiments of the present disclosure may be implemented in hardware or special purpose circuits (e.g., control circuitry), software, logic or any combination thereof. For example, the units discussed above can be executed by control circuitry (e.g., CPU 941 in combination with other components of Figure 9B), thus, the control circuitry may be performing the actions described in this disclosure. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device (e.g., control circuitry). While various aspects of the example embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representation, it will be appreciated that the blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.

[0101] Additionally, various blocks shown in the flowcharts may be viewed as method steps, and / or as operations that result from operation of computer program code, and / or as a plurality of coupled logic circuit elements constructed to carry out the associated function(s). For example, embodiments of the present disclosure include a computer program product including a computerprogram tangibly embodied on a machine readable medium, the computer program containing program codes configured to carry out the methods as described above.

[0102] Some aspects of present disclosure include a system or device configured (e.g., programmed) to perform one or more examples of the disclosed methods, and a tangible computer readable medium (e.g., a disc) which stores code for implementing one or more examples of the disclosed methods or steps thereof. For example, some disclosed systems can be or include a programmable general purpose processor, digital signal processor, or microprocessor, programmed with software or firmware and / or otherwise configured to perform any of a variety of operations on data, including an embodiment of disclosed methods or steps thereof. Such a general purpose processor may be or include a computer system including an input device, a memory, and a processing subsystem that is programmed (and / or otherwise configured) to perform one or more examples of the disclosed methods (or steps thereof) in response to data asserted thereto.

[0103] Some embodiments may be implemented as a configurable (e.g., programmable) digital signal processor (DSP) that is configured (e.g., programmed and otherwise configured) to perform required processing on audio signal(s), including performance of one or more examples of the disclosed methods. Alternatively, embodiments of the disclosed systems (or elements thereof) may be implemented as a general purpose processor (e.g., a personal computer (PC) or other computer system or microprocessor, which may include an input device and a memory) which is programmed with software or firmware and / or otherwise configured to perform any of a variety of operations including one or more examples of the disclosed methods. Alternatively, elements of some embodiments of the inventive system are implemented as a general purpose processor or DSP configured (e.g., programmed) to perform one or more examples of the disclosed methods, and the system also includes other elements (e.g., one or more loudspeakers and / or one or more microphones). A general purpose processor configured to perform one or more examples of the disclosed methods may be coupled to an input device (e.g., a mouse and / or a keyboard), a memory, and a display device.

[0104] Example Embodiments:

[0105] Embodiment 1 : A method of generating content with attributions, the method comprising: receiving a request to generate a content item using a trained generative machine learning model; generating the content item using the trained generative machine learning model based at least in part on the request; and concurrently with generating the content item,generating an attribution map using the trained generative machine learning model, wherein the attribution map indicates particular sources of training samples used to generate the content item.

[0106] Embodiment 2: The method of embodiment 1, wherein the content item is an image comprising a plurality of patches of pixels, and wherein the attribution map indicates the sources of training samples on a patch-by-patch basis.

[0107] Embodiment 3 : The method of any one of embodiments 1 or 2, wherein the request comprises a prompt indicative of a type of content to be included in the content item.

[0108] Embodiment 4: The method of any one of embodiments 1-3, wherein the request comprises indications of one or more sources of training samples that are to be used to generate the content item, and wherein the trained generative machine learning model generates the content item based on training samples associated with at least one of the one or more sources of training samples.

[0109] Embodiment 5: The method of embodiment 4, wherein the one or more sources of training samples are specified in a partially filled attribution map, and wherein the attribution map generated by the trained generative machine learning model is a filled in version of the partially filled attribution map.

[0110] Embodiment 6: The method of any one of embodiments 1-5, wherein the request comprises indications of one or more sources of training samples that are not to be used to generate the content item, and wherein the trained generative machine learning model generates the content item without using training samples associated with the one or more sources.[OHl] Embodiment 7: The method of any one of embodiments 1-6, wherein the request comprises a partially generated content item, and wherein the content item generated by the trained generative machine learning model is a completed version of the partially generated content item.

[0112] Embodiment 8: The method of any one of embodiment 1-7, wherein the content item comprises video content.

[0113] Embodiment 9: The method of any one of embodiments 1-8, wherein the content item comprises audio content.

[0114] Embodiment 10: The method of any one of embodiments 1-9, wherein the trained generative machine learning model iteratively generates portions of the content item, and wherein the trained generative machine learning model concurrently generates portions of the attribution map.

[0115] Embodiment 11 : The method of embodiment 10, wherein iteratively generating the portions of the content item comprise generating a set of content item codes and selecting a subset of the generated set of content item codes based on confidence values associated with the set of content item codes, and wherein iteratively generating the portions of the attribution map comprise generating a set of attribution codes and selecting a subset of the set of attribution codes based on confidence values associated with the set of attribution codes.

[0116] Embodiment 12: The method of any one of embodiments 10 or 11, wherein the portions of the content item are discrete.

[0117] Embodiment 13: The method of embodiment 12, wherein the trained generative machine learning model utilizes a MaskGIT architecture.

[0118] Embodiment 14: The method of embodiment 10, wherein the portions of the content item are continuous.

[0119] Embodiment 15: The method of embodiment 14, wherein the trained generative machine learning model utilizes a diffusion model architecture.

[0120] Embodiment 16: The method of any one of embodiments 1-14, wherein the trained generative machine learning is a generative adversarial network (GAN).

[0121] Embodiment 17: A method of training a generative machine learning model, the method comprising: obtaining a training set, the training set comprising a plurality of content items and a corresponding plurality of attribution maps, wherein each attribution map of the plurality of attribution maps indicates at least one source of at least a portion of a corresponding content item; for each content item of the plurality of content items: masking a portion of the content item and a corresponding portion of an attribution map corresponding to the content item, providing the masked content item and the masked attribution map to the generative machine learning model, obtaining, as an output of the generative machine learning model, a predicted content item and a predicted attribution map; and, updating weights associated with the generative machine learning model based on a difference between the predicted content item andthe content item and a difference between the predicted attribution map and the attribution map corresponding to the content item; and providing a trained generative machine learning model based on final weights associated with the generative machine learning model, wherein the trained generative machine learning model is usable to generate a new content item not included in the training set and a corresponding attribution map indicating sources of content items included in the training set on which the new content item is based.

[0122] Embodiment 18: The method of embodiment 17, wherein the trained generative machine learning model utilizes a MaskGIT architecture.

[0123] Embodiment 19: The method of any one of embodiments 17 or 18, wherein the new content item is one of: a still image, a video, or audio content.

[0124] Embodiment 20: The method of any one of embodiments 17-19, wherein the new content item is a still image comprising a plurality of patches of pixels, and wherein the corresponding attribution map indicates sources of the content items included in the training set on a patch-by-patch basis.

[0125] Embodiment 21 : The method of any one of embodiments 17-20, wherein the weights associated with the generative machine learning model are updated using a cross-entropy loss function.

[0126] Embodiment 22: A system comprising: one or more processors; and a non-transitory computer-readable medium storing instructions that, upon execution by the one or more processors, cause the one or more processors to perform any of the operations of embodiments 1- 21.

[0127] Embodiment 23 : A non-transitory computer-readable medium storing instructions that, upon execution by one or more processors, cause the one or more processors to perform operations of any of embodiments 1-21.

[0128] While specific embodiments of the present disclosure and applications of the disclosure have been described herein, it will be apparent to those of ordinary skill in the art that many variations on the embodiments and applications described herein are possible without departing from the scope of the disclosure described and claimed herein. It should be understood that while certain forms of the disclosure have been shown and described, the disclosure is not to be limited to the specific embodiments described and shown or the specific methods described.

Claims

CLAIMS1. A computer-implemented method of generating content with attributions, the method comprising: receiving a request to generate a content item using a trained generative machine learning model; generating the content item using the trained generative machine learning model based at least in part on the request; and concurrently with generating the content item, generating an attribution map using the trained generative machine learning model, wherein the attribution map indicates particular sources of training samples used to generate the content item.

2. The method of claim 1, wherein the content item is an image comprising a plurality of patches of pixels, and wherein the attribution map indicates the sources of training samples on a patch-by-patch basis.

3. The method of any one of claims 1 or 2, wherein the request comprises a prompt indicative of a type of content to be included in the content item.

4. The method of any one of claims 1-3, wherein the request comprises indications of one or more sources of training samples that are to be used to generate the content item, and wherein the trained generative machine learning model generates the content item based on training samples associated with at least one of the one or more sources of training samples.

5. The method of claim 4, wherein the one or more sources of training samples are specified in a partially filled attribution map, and wherein the attribution map generated by the trained generative machine learning model is a filled in version of the partially filled attribution map.

6. The method of any one of claims 1-5, wherein the request comprises indications of one or more sources of training samples that are not to be used to generate the content item, and wherein the trained generative machine learning model generates the content item without using training samples associated with the one or more sources.

7. The method of any one of claims 1-6, wherein the request comprises a partially generated content item, and wherein the content item generated by the trained generative machine learning model is a completed version of the partially generated content item.

8. The method of any one of claims 1-7, wherein the content item comprises video content.

9. The method of any one of claims 1-8, wherein the content item comprises audio content.

10. The method of any one of claims 1-9, wherein the trained generative machine learning model iteratively generates portions of the content item, and wherein the trained generative machine learning model concurrently generates portions of the attribution map.

11. The method of claim 10, wherein iteratively generating the portions of the content item comprise generating a set of content item codes and selecting a subset of the generated set of content item codes based on confidence values associated with the set of content item codes, and wherein iteratively generating the portions of the attribution map comprise generating a set of attribution codes and selecting a subset of the set of attribution codes based on confidence values associated with the set of attribution codes.

12. The method of any one of claims 10 or 11, wherein the portions of the content item are discrete.

13. The method of claim 12, wherein the trained generative machine learning model utilizes a MaskGIT architecture.

14. The method of claim 10, wherein the portions of the content item are continuous.

15. The method of claim 11, wherein the trained generative machine learning model utilizes a diffusion model architecture.

16. The method of any one of claims 1-14, wherein the trained generative machine learning model is a generative adversarial network (GAN).

17. The method of any one of claims 1-16, wherein generating the content item comprises generating a map of image codes and wherein the map of image codes and the attribution map are concurrently generated according to an iterative process, each iteration comprising: generating predicted image codes using the trained generative machine learning model, the predicted image codes having associated confidence values; selecting a subset of image codes with the highest confidence values for use in the subsequent iteration; generating an attribution map using the trained generative machine learning model, each element of the attribution map having an associated confidence value; and selecting a second subset of attributions of the attribution map with the highest confidence values for use in the subsequent iteration.

18. The method of claim 17, wherein the generation of the content item is based on a partially filled initial map of image codes.

19. The method of claim 17, wherein the generation of the content item is based on an empty initial map of image codes.

20. A computer-implemented method of training a generative machine learning model, the method comprising: obtaining a training set, the training set comprising a plurality of content items and a corresponding plurality of attribution maps, wherein each attribution map of the plurality of attribution maps indicates at least one source of at least a portion of a corresponding content item; for each content item of the plurality of content items: masking a portion of the content item and a corresponding portion of an attribution map corresponding to the content item; providing the masked content item and the masked attribution map to the generative machine learning model; obtaining, as an output of the generative machine learning model, a predicted content item and a predicted attribution map; and updating weights associated with the generative machine learning model based on a difference between the predictedcontent item and the content item and a difference between the predicted attribution map and the attribution map corresponding to the content item; providing a trained generative machine learning model based on final weights associated with the generative machine learning model, wherein the trained generative machine learning model is usable to generate a new content item not included in the training set and a corresponding attribution map indicating sources of content items included in the training set on which the new content item is based.

21. The method of claim 20, wherein the trained generative machine learning model utilizes a MaskGIT architecture.

22. The method of any one of claims 20 or 21, wherein the new content item is one of: a still image, a video, or audio content.

23. The method of any one of claims 20-22, wherein the new content item is a still image comprising a plurality of patches of pixels, and wherein the corresponding attribution map indicates sources of the content items included in the training set on a patch-by-patch basis.

24. The method of any one of claims 20-23, wherein the weights associated with the generative machine learning model are updated using a cross-entropy loss function.

25. A system comprising: one or more processors; and a non-transitory computer-readable medium storing instructions that, upon execution by the one or more processors, cause the one or more processors to carry out operations of any of claims 1-25.

26. A non-transitory computer-readable medium storing instructions that, upon execution by one or more processors, cause the one or more processors to perform operations of any of embodiments 1-21.

27. An apparatus configured to perform the method of any one of claims 1-26.

Citation Information

Patent Citations

  • Identifying visual contents used for training of inference models

    US20230154153A1

  • Adjusting attribution for content generated by an artificial intelligence (AI)

    US20240193204A1