Method and system for interpreting embeddings
Generating natural language summaries for embeddings addresses the lack of transparency, facilitating improved debugging, evaluation, and user control in applications like autonomous vehicles and facial recognition.
Patent Information
- Application Number
- PCT/US2025/041048
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-09
- Filing Date
- 2025-08-07
- Publication Date
- 2026-02-12
AI Technical Summary
The lack of transparency and explainability in numerical embeddings hinders understanding and evaluation, leading to issues in user control and safety in applications like autonomous vehicles and facial recognition.
A method and system that generate natural language descriptions of embeddings, allowing users to modify and improve embeddings through user input, enhancing explainability and control.
Improves debugging and evaluation of embeddings, increases user control, and ensures safety by providing interpretable summaries and enabling modifications.
Smart Images

Figure US2025041048_12022026_PF_FP_ABST
Abstract
Description
Method and System for Interpreting EmbeddingsPRIORITY CLAIM
[0001] The present application is based on and claims priority to United States Provisional Application Number 63 / 681,581 having a filing date of August 9, 2024. The present application claims priority to and the benefit of each of such applications and incorporates all such applications herein by reference in their entirety.FIELD
[0002] The present disclosure relates generally to a method and system for interpreting numerical embeddings. More particularly, aspects of the present disclosure relate to machine-learned models which allow for interpretation of the information encoded within an embedding.BACKGROUND
[0003] Embeddings are numerical representations of information about a user or system, for example. However, the numerical values within the embedding do not directly correlate to a single piece of information. Therefore, it can be challenging to understand what information is represented by an embedding, which in turn makes evaluating or debugging embeddings difficult.
[0004] This is a well-known problem. Currently, engineers and researchers evaluate embeddings by using the embedding in another task and assessing the outcome. This can provide information about how the embedding is affecting the outcome of the task. However, it is well known that this approach does not actually explain what information is represented by the numerical values of the embedding.
[0005] This lack of understanding about what information is represented by the embedding means that, when the embedding is used as input to a subsequent task, it may not be clear why that task outputs particular decisions, services or recommendations. This can lead to an issue with explainability and / or transparency of that task and its output, and a lack of user control over the task.
[0006] With the use of Al and machine learning becoming more widespread in everyday systems and services (including, but not limited to, the control of machines and autonomous vehicles, facial recognition, image processing, provision of services to users, and recommendations for / about a user), such a lack of explainability and / or transparency ofmodels can be a problem. It can be a particular problem for control critical models, where transparency, explainability and user control of the model can be needed to help ensure user safety, for example.SUMMARY
[0007] Aspects of the present disclosure are set forth in the appended claims.
[0008] Disclosed herein is a method implemented by one or more processors, the method comprising: receiving an embedding, the embedding generated by encoding input data; processing, using a first trained model, the received embedding to generate corresponding output, the output comprising a natural language description of information encoded in the embedding; and generating, based on the natural language description, a modified embedding.
[0009] In some implementations, generating a modified embedding comprises: outputting the natural language description to a user; in response to the outputting, receiving user input indicative of an alteration to one or more values of the embedding; and altering, based on the user input, the one or more values of the received embedding to generate the modified embedding.
[0010] In some implementations, the embedding is generated by encoding the input data using a second trained model, and generating a modified embedding comprises: outputting the natural language description to a user; in response to the outputting, receiving user input indicative of an alteration to one or more parameters of the second trained model; altering, based on the user input, the one or more parameters of the second trained model to generated a modified second trained model; and generating a modified embedding by encoding the input data using the modified second trained model.
[0011] In some implementations, generating, based on the natural language description, a modified embedding, comprises: receiving user input to alter the natural language description; and generating the modified embedding based on the altered natural language description.
[0012] In some implementations, generating the modified embedding based on the altered natural language description comprises: generating the modified embedding by encoding the altered natural language description. In some other implementations, generating the modified embedding based on the altered natural language description comprises: altering the input data based on the altered natural language description; and generating the modified embedding by encoding the altered input data.
[0013] In some implementations, the method further comprises: transmitting, to one or more systems, the modified embedding; and causing, at each of the one or more systems, output to be generated based on processing the modified embedding. In some implementations, the one or more systems comprise one or more control systems, and the output comprises one or more control signals.
[0014] In some implementations, the method further comprises evaluating, using the natural language description, a correlation between the information encoded in the embedding and the input data. In some implementations, the modifying is further based on the correlation.
[0015] In some implementations, the method further comprises generating training data, the training data comprising a plurality of embedding and natural language description pairs. For each pair, the embedding is generated by encoding respective input data and the natural language description is generated by summarizing the respective input data.
[0016] In some implementations, the first trained model is trained by: training a generative model to provide, for each pair, an output indicative of the natural language description in response to receiving the embedding as an input.
[0017] In some implementations, the natural language description is generated by summarizing the respective input data using a second generative model.
[0018] In some implementations, the received embedding represents: represents the state of a physical machine; or an autonomous vehicle; or an image; or information about a user.
[0019] Also disclosed herein is a system comprising: at least one processor; and memory storing instructions that, when executed by the at least one processor, cause the at least one processor to: receive an embedding, the embedding generated by encoding input data; process, using a first trained model, the received embedding to generate corresponding output, the output comprising a natural language description of information encoded in the embedding; and generate, based on the natural language description, a modified embedding.
[0020] Also disclosed herein is a non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to: receive an embedding, the embedding generated by encoding input data; process, using a first trained model, the received embedding to generate corresponding output, the output comprising a natural language description of information encoded in the embedding; and generate, based on the natural language description, a modified embedding.
[0021] Also disclosed herein is a computer program product comprising instructions that, when executed by at least one processor, cause the at least one processor to: receive an embedding, the embedding generated by encoding input data; process, using a first trained model, the received embedding to generate corresponding output, the output comprising a natural language description of information encoded in the embedding; and generate, based on the natural language description, a modified embedding.
[0022] Also disclosed herein is a method of training a first model, comprising: obtaining training data, the training data comprising a plurality of embedding and natural language description pairs, wherein for each pair, the embedding is generated by encoding respective input data and the natural language description is generated by summarizing the respective input data; and training the first model to provide, for each pair, an output indicative of the natural language description in response to receiving the embedding as an input.
[0023] Obtaining training data can comprise receiving training data.
[0024] In some implementations, training the first model comprises, for each training pair: processing the embedding with the first model to generate a natural language description of the embedding; evaluating a loss function that evaluates a distance between the generated natural language description and the natural language description of the training pair; and modifying one or more values of one or more parameters of the first model based at least in part on the loss function.
[0025] Also disclosed herein is a system comprising: at least one processor; and memory storing instructions that, when executed by the at least one processor, cause the at least one processor to: obtain training data, the training data comprising a plurality of embedding and natural language description pairs, wherein for each pair, the embedding is generated by encoding respective input data and the natural language description is generated by summarizing the respective input data; and train the first model to provide, for each pair, an output indicative of the natural language description in response to receiving the embedding as an input. Obtaining training data can comprise receiving training data.
[0026] Also disclosed herein is a non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to: obtain training data, the training data comprising a plurality of embedding and natural language description pairs, wherein for each pair, the embedding is generated by encoding respective input data and the natural language description is generated by summarizing the respective input data; and train the first model to provide, for each pair, anoutput indicative of the natural language description in response to receiving the embedding as an input. Obtaining training data can comprise receiving training data.
[0027] Also disclosed herein is a computer program product comprising instructions that, when executed by at least one processor, cause the at least one processor to: obtain training data, the training data comprising a plurality of embedding and natural language description pairs, wherein for each pair, the embedding is generated by encoding respective input data and the natural language description is generated by summarizing the respective input data; and train the first model to provide, for each pair, an output indicative of the natural language description in response to receiving the embedding as an input. Obtaining training data can comprise receiving training data.
[0028] Also disclosed herein is a method implemented by one or more processors, the method comprising: receiving an embedding, the embedding generated by encoding input data; processing, using a first trained model, the received embedding to generate corresponding output, the output comprising a natural language description of information encoded in the embedding; and outputting the natural language description.
[0029] In some example implementations, the method further comprises evaluating, using the natural language description, a correlation between the information encoded in the embedding and the input data. Optionally, the method further comprises evaluating a second trained model used to generate the embedding (by encoding the input data) based on the correlation. In some examples, the method further comprises updating the second trained model based on the evaluating.
[0030] In some example implementations, the method further comprises generating, based on the natural language description, a modified embedding.
[0031] Also disclosed herein is a method of generating training data, the training data comprising a plurality of embedding and natural language description pairs. For each pair, the embedding is generated by encoding respective input data and the natural language data is generated by summarizing the respective input data.
[0032] Also disclosed herein is a method of training a machine-learned embedding interpretation model. The method comprises: obtaining a numerical embedding that encodes one or more input data; processing the embedding with a machine-learned embedding interpretation model to generate a natural language summary of the embedding; evaluating a loss function that evaluates a distance between the generated natural language summary and a ground truth natural language summary obtained from the one or more input data; andmodifying one or more values of one or more parameters of the machine-learned embedding interpretation model based at least in part on the loss function.
[0033] Also disclosed herein is a method of training a machine-learned embedding interpretation model. The method comprises: obtaining training data, the training data comprising a plurality of embedding and natural language description pairs, wherein for each pair, the embedding is generated by encoding respective input data and the natural language description is generated by summarizing the respective input data; and training the machine learned model to provide, for each pair, an output indicative of the natural language description in response to receiving the embedding as an input.
[0034] In some example implementations, the methods of training a machine-learned embedding interpretation model further comprise outputting one or more parameters indicative of the trained model. In some example implementations, the trained embedding interpretation model is a generative model, optionally a large language model or LLM. In some example implementations, the natural language description is generated by summarizing the input data using a second generative mode.
[0035] Other aspects of the present disclosure are directed to various systems, apparatuses, non-transitory computer-readable media, electronic devices, user interfaces and computer program products for implementing the methods described herein.
[0036] These and other features and examples of the present disclosure will become better understood with reference to the following description. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate example embodiments of the present disclosure and, together with the description, serve to explain the related principles.BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Detailed discussion of embodiments directed to one of ordinary skill in the art is set forth in the specification, which makes reference to the appended figures, in which:
[0038] Figure 1 A depicts a block diagram of an example system for generating a first component of training data for training a machine-learned embedding interpretation model according to examples of the present disclosure.
[0039] Figure IB depicts a block diagram of an example system for generating a second component of training data for training a machine-learned embedding interpretation model according to examples of the present disclosure.
[0040] Figure 1C depicts a block diagram of example training data as generated in accordance with Figures 1 A and IB.
[0041] Figure 2 depicts a block diagram of an example computing device that performs training of a machine learned embedding interpretation model and for performing machine-learned embedding interpretation according to examples of the present disclosure
[0042] Figure 3 depicts a flow chart diagram of an example method to perform training of a machine-learned embedding interpretation model according to examples of the present disclosure.
[0043] Figure 4 depicts a data flow diagram for performing embedding interpretation with a machine-learned embedding interpretation model according to some examples of the present disclosure.
[0044] Figure 5 depicts a flow chart diagram of an example method to perform embedding interpretation with a machine-learned embedding interpretation model according to examples of the present disclosure.
[0045] Reference numerals that are repeated across plural figures are intended to identify the same features in various implementations.DETAILED DESCRIPTIONOverview
[0046] Aspects of the present disclosure are directed to the technical task of interpreting numerical embeddings. More particularly, the present disclosure relates to machine-learned models for generating user interpretable summaries of the information encoded within a numerical embedding. These user interpretable summaries can then be used to interpret and / or modify the embedding. The user interpretable summaries can be natural language summaries.
[0047] Generating user interpretable summaries of information encoded within an embedding comprises three separate aspects: generating training data; using the training data to train a model; and using the trained model on an unseen embedding. These different aspects can be performed at different times and / or by different systems or apparatus, and will each be described below in more detail.
[0048] In one example aspect, training data is generated. A training data pair comprises an embedding generated by encoding input data (A, B, C, D) and a natural language summary of the input data (A, B, C, D). In one example, the input data can be (machine name, temperature, time, date) and the natural language summary can be “themachine A was at temperature B at time C on date D”. In another example, the input data can be (activity, data, location, associated user) and the natural language summary can be “the user did A on date B at location C with user D”. The natural language summary can be generated manually for a given embedding, and provides a user interpretable description of what information is contained within the embedding.
[0049] In another example aspect, the training data pairs are used to train a model. The model is trained to generate a natural language summary as output when given an embedding as input. The trained model can be a machine-learned generative model.
[0050] In another example aspect, the trained model is used to generate a natural language summary for an unseen embedding. For example, if an unseen embedding is generated by encoding input data (A, C, E, F), the trained model will output a natural language summary of (A, C, E, F). In one example, the input data can be (machine name, temperature, time, date) and the natural language summary can be “the machine A was at temperature C at time E on date F”. In another example, the input data can be (preference, activity, date, location) and the natural language summary can be “the user likes A and did C on date E at location F”.
[0051] The natural language summary of the unseen embedding can be provided to a user. The user can modify the summary if the information is incorrect or they are unhappy with the information it contains.
[0052] For example, the natural language summary may say “the machine is at temperature B” but other control measurements indicate that the machine is at temperature C. The user can modify the natural language summary to provide the correct machine temperature. This modified version of the natural language summary can be used to update the embedding to reflect the correct temperature and / or the summary can be used to evaluate the reliability of the model generating the embedding. In another example, the natural language summary may say “the user likes cats” but in fact the user likes dogs instead. The user can modify the natural language summary to say “the user likes dogs”. This modified version of the natural language can be used to update the embedding to reflect that the user likes dogs and not cats.
[0053] By providing user interpretable summaries of the information encoded within an embedding, users / operators can better understand the information contained within the embedding. This can provide a number of technical effects and benefits.
[0054] As one example technical effect and benefit, the technical task of debugging and evaluating the initial generation of the embedding may be facilitated. By debuggingand / or evaluating the generation of an embedding, improved embeddings may be created which more accurately reflect the state of a system. This can improve the reliability and safety of models which use said embeddings.
[0055] As another example technical effect and benefit, the provision of a user interpretable summary of an embedding can allow a user / operator to better understand the output of a model which takes the embedding as input. By comparing the output of a model to the model input to the model, the explainability and / or transparency of said model can be improved. This can improve user control over the model and its output, which is of particular importance in e.g. safety critical use cases. User control can be further increased by allowing the user to alter or correct the information contained within the embedding.
[0056] As another example technical effect and benefit, providing a natural language summary of an unseen embedding can allow different operators / users to understand the information contained within the embedding, without the operators / users having access to the initial input data used to generate the embedding. The security and privacy of the input data can therefore be improved.
[0057] The approaches described herein and their associated benefits are applicable to any embedding, including but not limited to embeddings for use in the control of machines and autonomous vehicles, facial recognition, image processing, provision of services to users, and recommendations for / about a user.
[0058] With reference now to the Figures, example embodiments of the present disclosure will be discussed in further detail.Training Data for Training a Machine Learned Model
[0059] A bridge can be built between embeddings and natural language by creating associated pairs of embeddings and natural language summaries. By associating each embedding with a human interpretable description, these pairs can be used as training data to train a machine learned model to interpret new, unseen, embeddings.
[0060] Figure 1 A depicts a block diagram of an example system for generating training data. A trained model 50 receives as input each of a plurality of input data 52a . . . 52n, wherein the trained model 50 is configured to generate embeddings 54a . . . 54n as output; for example, input data 52a is used to generate embedding 54a, input data 52b is used to generated embedding 54b, etc. The embeddings are each generated from the known input data by encoding the input data with the trained model 50. Any suitable trained model 50 canbe used, as will be understood by the person skilled in the art. The input data 52 can be any suitable type of input data for input to said model 50 for generating output embeddings 54.
[0061] Natural language summaries of the input data 52a . . . 52n can then be generated, as shown in the example block diagram Figure IB. The input data 52 can be input to a natural language, or NL, generator 60. The generator can automatically generate natural language summaries of input data 52 and provide natural language summary 62 as output; for example, input data 52a is used to generate natural language summary 62a, input data 52b is used to generate natural language summary 62b, etc. In some examples, the NL generator 60 is a trained generative model, optionally an LLM. In other examples, the natural language summaries 62 may be manually generated by an operator / user. For example, the user may manually create a natural language summary 62n for input data 52n.
[0062] As can be seen, each embedding 54n and natural language summary 62n are associated with same set of input data 52n: the embedding 54n is an encoding of the input data 52n and comprises numerical values, and the natural language summary 62n is a textual, user interpretable, summary of the same input data 52n. Each embedding and natural language summary pair (54n, 62n) forms one pair of a set of training data 162, as shown in Figure 1C. In this way, training data can be generated, the training data comprising a plurality of embedding and natural language description pairs; for each pair, the embedding is generated by encoding respective input data and the natural language description is generated by summarizing the respective input data.
[0063] The training data 162 is used in the training of a machine learned model for interpreting the information encoded within the embedding, optionally for training a machine learned generative model. In particular, the input data can be the training input or training example, and the natural language summary can be the ground truth data against which the output of the model is evaluated during training. In other words, a machine learned model for interpreting embeddings can be trained to provide, for each pair, an output indicative of the natural language description in response to receiving the embedding as an input. The training of the machine learned model for interpreting embeddings is discussed below in more detail with reference to Figures 2 and 3.Training a Machine Learned Embedding Interpretation Model
[0064] Figure 2 depicts a block diagram of an example computing system 100 that generates a trained machine learned model for use in interpreting numerical embeddings according to example embodiments of the present disclosure. The system 100 includes a usercomputing device 102, a server computing system 130 and a training computing system 150 that are communicatively coupled over a network 180.
[0065] The user computing device 102 can be any type of computing device, such as, for example, a personal computing device (e.g., laptop or desktop), a mobile computing device (e.g., smartphone or tablet), a gaming console or controller, a wearable computing device, an embedded computing device, or any other type of computing device.
[0066] The user computing device 102 includes one or more processors 112 and a memory 114. The one or more processors 112 can be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, a microcontroller, etc.) and can be one processor or a plurality of processors that are operatively connected. The memory 114 can include one or more non -transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, etc., and combinations thereof. The memory 114 can store data 116 and instructions 118 which are executed by the processor 112 to cause the user computing device 102 to perform operations.
[0067] In some implementations, the user computing device 102 can store or include one or more machine-learned embedding interpretation models 120. For example, the machine-learned embedding interpretation models 120 can be or can otherwise include various machine-learned models such as neural networks (e.g., deep neural networks) or other types of machine-learned models, including non-linear models and / or linear models. Neural networks can include feed-forward neural networks, recurrent neural networks (e.g., long short-term memory recurrent neural networks), convolutional neural networks or other forms of neural networks. Some example machine-learned models can leverage an attention mechanism such as self-attention. For example, some example machine-learned models can include multi-headed self-attention models (e.g., transformer models). In some examples, the machine learned model is a generative model.
[0068] Additionally or alternatively, one or more machine-learned embedding interpretation models 140 can be included in or otherwise stored and implemented by the server computing system 130 that communicates with the user computing device 102 according to a client-server relationship. For example, the machine-learned embedding interpretation models 140 can be implemented by the server computing system 140 as a portion of a web service (e.g., an embedding evaluation service, etc.). Thus, one or more models 120 can be stored and implemented at the user computing device 102 and / or one or more models 140 can be stored and implemented at the server computing system 130.
[0069] The user computing device 102 can also include one or more user input components 122 that receives user input. For example, the user input component 122 can be a touch-sensitive component (e.g., a touch-sensitive display screen or a touch pad) that is sensitive to the touch of a user input object (e.g., a finger or a stylus). The touch-sensitive component can serve to implement a virtual keyboard. Other example user input components include a microphone, a traditional keyboard, or other means by which a user can provide user input.
[0070] The server computing system 130 includes one or more processors 132 and a memory 134. The one or more processors 132 can be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, a microcontroller, etc.) and can be one processor or a plurality of processors that are operatively connected. The memory 134 can include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, etc., and combinations thereof. The memory 134 can store data 136 and instructions 138 which are executed by the processor 132 to cause the server computing system 130 to perform operations.
[0071] In some implementations, the server computing system 130 includes or is otherwise implemented by one or more server computing devices. In instances in which the server computing system 130 includes plural server computing devices, such server computing devices can operate according to sequential computing architectures, parallel computing architectures, or some combination thereof.
[0072] As described above, the server computing system 130 can store or otherwise include one or more machine-learned embedding interpretation models 140. For example, the models 140 can be or can otherwise include various machine-learned models. Example machine-learned models include neural networks or other multi-layer non-linear models. Example neural networks include feed forward neural networks, deep neural networks, recurrent neural networks, and convolutional neural networks. Some example machine- learned models can leverage an attention mechanism such as self-attention. For example, some example machine-learned models can include multi-headed self-attention models (e.g., transformer models). In other examples, the model is a machine learned generative model.
[0073] The user computing device 102 and / or the server computing system 130 can train the models 120 and / or 140 via interaction with the training computing system 150 that is communicatively coupled over the network 180. The training computing system 150 can beseparate from the server computing system 130 or can be a portion of the server computing system 130.
[0074] The training computing system 150 includes one or more processors 152 and a memory 154. The one or more processors 152 can be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, a microcontroller, etc.) and can be one processor or a plurality of processors that are operatively connected. The memory 154 can include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, etc., and combinations thereof. The memory 154 can store data 156 and instructions 158 which are executed by the processor 152 to cause the training computing system 150 to perform operations. In some implementations, the training computing system 150 includes or is otherwise implemented by one or more server computing devices.
[0075] The training computing system 150 can include a model trainer 160 that trains the machine-learned models 120 and / or 140 stored at the user computing device 102 and / or the server computing system 130 using various training or learning techniques, such as, for example, backwards propagation of errors. For example, a loss function can be backpropagated through the model(s) to update one or more parameters of the model(s) (e.g., based on a gradient of the loss function). Various loss functions can be used such as mean squared error, likelihood loss, cross entropy loss, hinge loss, and / or various other loss functions. Gradient descent techniques can be used to iteratively update the parameters over a number of training iterations.
[0076] In some implementations, performing backwards propagation of errors can include performing truncated backpropagation through time. The model trainer 160 can perform a number of generalization techniques (e.g., weight decays, dropouts, etc.) to improve the generalization capability of the models being trained.
[0077] In particular, the model trainer 160 can train the machine-learned embedding interpretation models 120 and / or 140 based on a set of training data 162. The training data 162 can include a plurality of pairs of embeddings 54 and associated natural language summaries 62, as discussed above with reference to Figures 1A, IB and 1C. For example, in some embodiments, the training data 162 can include a corpus of embedding data. The corpus of embedding data can be associated with a single technical field or use case, for example the control of an autonomous vehicle, or may comprise training data pairs from a plurality of technical fields (including e.g. image processing, facial recognition, control of one or more technical machines or systems, etc.).
[0078] For example, a plurality of users may each provide input data to an associated machine learned model and generate an output embedding associated with the input data. The corpus of embedding data can indicate the embedding and the associated natural language summary of the embedding, generated from or based on the same input data. One user may provide an embedding (1, 0.5, 0.3) and a natural language summary of “the car air conditioner was at 25 degrees Celsius at 2pm” to the corpus. One user may provide an embedding (0.7, 0.2, 1) and natural language summary of “the car air conditioner was at 15 degrees Celsius at 7pm” to the corpus. Each embedding and associated natural language summary can be collectively included within the training data 162 as a training example for training of the machine-learned embedding interpretation model 120 / 140 by the model trainer 160. In such fashion, a corpus of embedding data can be leveraged to generate a plurality of training examples (training data pairs) for inclusion within the training data 162 for training of the machine-learned embedding interpretation model 120.
[0079] In one particular example, the machine learned embedding interpretation model 120 / 140 is a generative model, optionally a large language model or LLM. As described herein, the input to the machine-learned generative model(s) of the present disclosure is a numerical embedding. The machine-learned generative model(s) can process the numerical embedding to generate an output. The machine-learned generative model(s) can process the numerical embedding to generate a natural language output (e.g., a natural language summary of the input encoded within the embedding).
[0080] Generative models such as LLMs typically undergo a first phase of pretraining followed by a second phase of fine-tuning. In general, a generative model is pretrained on large amounts of data including data from, but not limited to, webpages, electronic books, software code, electronic news articles, and machine translation data. The generative model can be pre-trained using unsupervised or self-supervised learning. For example, the generative model can be pre-trained on a next token prediction task and / or a masked token prediction task. Pre-training on large quantities of diverse data can provide an LLM generative model with remarkable natural language reasoning capabilities. This can be advantageous in the current implementation, where natural language summaries are required to be generated.
[0081] Following pre-training, a generative model can undergo fine-tuning to improve the model’s ability to respond to user prompts and queries. One example type of fine-tuning technique is supervised fine-tuning (SFT).
[0082] In SFT, a high-quality dataset including examples of inputs and corresponding outputs are used. This data is typically generated by human annotators. The training data 162 can be an example of such a dataset. The generative model can be trained using supervised learning to generate the corresponding natural language summaries from the input embedding. SFT requires a much smaller amount of data than used in pre-training, so can be achieved with a reasonable sized corpus of embedding data. This approach can allow the generative model, optionally the LLM, to generate meaningful descriptions or summaries for new, unseen, embeddings, effectively interpreting the information encoded within the numerical embedding in a human-understandable manner. This is just one example of finetuning the machine learned generative embedding interpretation model 120 / 140. Any other suitable fine-tuning techniques could also be used. Such fine-tuning techniques can be performed by the model trainer 160 using the training examples 162.
[0083] In some implementations, if the user has provided consent, the training examples 162 can be provided by the user computing device 102. Thus, in such implementations, the model 120 provided to the user computing device 102 can be trained by the training computing system 150 on user-specific embedding data received from the user computing device 102. In some instances, this process can be referred to as personalizing the model.
[0084] The model trainer 160 includes computer logic utilized to provide desired functionality. The model trainer 160 can be implemented in hardware, firmware, and / or software controlling a general purpose processor. For example, in some implementations, the model trainer 160 includes program files stored on a storage device, loaded into a memory and executed by one or more processors. In other implementations, the model trainer 160 includes one or more sets of computer-executable instructions that are stored in a tangible computer-readable storage medium such as RAM, hard disk, or optical or magnetic media.
[0085] The network 180 can be any type of communications network, such as a local area network (e.g., intranet), wide area network (e.g., Internet), or some combination thereof and can include any number of wired or wireless links. In general, communication over the network 180 can be carried via any type of wired and / or wireless connection, using a wide variety of communication protocols (e.g., TCP / IP, HTTP, SMTP, FTP), encodings or formats (e.g., HTML, XML), and / or protection schemes (e.g., VPN, secure HTTP, SSL).
[0086] Figure 2 illustrates one example computing system that can be used to implement the present disclosure. Other computing systems can be used as well. For example, in some implementations, the user computing device 102 can include the modeltrainer 160 and the training dataset 162. In such implementations, the models 120 can be both trained and used locally at the user computing device 102. In some of such implementations, the user computing device 102 can implement the model trainer 160 to personalize the models 120 based on user-specific data.
[0087] Figure 3 illustrates a flow diagram of an example method 300 to perform training of a machine-learned embedding interpretation model for generating natural language summaries according to some embodiments of the present disclosure. Although Figure 3 depicts steps performed in a particular order for purposes of illustration and discussion, the methods of the present disclosure are not limited to the particularly illustrated order or arrangement. The various steps of method 300 can be omitted, rearranged, combined, and / or adapted in various ways without deviating from the scope of the present disclosure. The steps of method 300 can be performed by model trainer 160 and / or by any other suitable computing device or system.
[0088] At 302, a computing system can obtain a numerical embedding. Specifically, the computing system can obtain a numerical embedding 54n which encodes input data 52n. In some embodiments, the embedding 54n can be obtained from a corpus of embedding data, along with the associated ground truth natural language summary 62n. The obtained embedding 54n and natural language summary 62n are an example training pair or training example of training data 162.
[0089] At 304, the computing system can process the embedding. Specifically, the computing system can process the embedding with a machine-learned embedding interpretation model 120 / 140 to generate a natural language summary of the embedding.
[0090] At 306, the computing system can evaluate a loss function. Specifically, the computing system can evaluate a loss function that evaluates a distance between the generated natural language summary and a ground truth natural language summary 62n obtained from the input data 52n. In some examples, the computing system can evaluate a loss function that evaluates a distance between an embedding of the generated natural language summary and an embedding for the ground truth natural language summary. The loss function can be evaluated by a loss function evaluator of the model trainer 160, or by any other component.
[0091] At 308, the computing system can modify one or more values of one or more parameters of the machine-learned embedding interpretation model 120 / 140 based at least in part on the loss function. The parameters of the model can be modified by a modification determinator of the model trainer 160, or by any other component. The process may thenreturn to step 302, where a new training example comprising an embedding and natural language summary pair is obtained.
[0092] In some implementations, one or more parameters indicative of the modified model can be output, for example at the end of the training process. In this way, the trained model 120 / 140 can be stored at one or more systems or devices, such as user computing device 102 and / or server computing system 130 for later use of the trained machine learned embedding interpretation model.Use of a Trained Machine Learned Embedding Interpretation Model
[0093] Once a trained machine learned embedding interpretation model 120 / 140 has been obtained, optionally in accordance with the training discussed above with reference to Figures 2 and 3, the model(s) 120 / 140 may be used for evaluating, assessing and debugging new, unseen, embeddings.
[0094] Figure 4 depicts data flow diagram 400 for processing inputs for a machine- learned embedding interpretation model for interpreting numerical embeddings according to some embodiments of the present disclosure.
[0095] Specifically, a numerical embedding 406 is obtained. In some embodiments, a machine-learned encoding model 404 can process input data 402 to generate the embedding 406. For example, the machine-learned model 404 may be a model trained to generate embeddings by encoding input data. The model 404 may be trained to encode input data in a particular technical field (including, but not limited to, image analysis, facial recognition, control of an autonomous vehicle, etc.). The processing of input data 402 can happen during data flow 400 or at a previous time point.
[0096] The embedding 406 is processed by a trained machine-learned embedding interpretation model 120 / 140. The embedding interpretation model generates an output based on the input embedding 406. The output comprises a natural language description 408 of information encoded in the embedding. In some examples, the output is a natural language, or NL, summary 408. The NL summary or description 408 is representative of the input data 404 encoded within the embedding 406 and provides a human interpretable description of the information contained within the numerical values of the embedding.
[0097] The output natural language description can be provided to a user as output. For example, the natural language description 408 can be displayed on a display of a computing system or device, or otherwise communicated to a user to cause a device of the user to display the natural language description.
[0098] In some optional implementations, the NL description 408 can be used to generate a modified embedding 410. The modified embedding 410 may be generated in a plurality of different ways, as discussed below in more detail.
[0099] In one example, the user can provide one or more inputs 412 indicative of an alteration to one or more values of the embedding. In other words, the user input can be used to directly modify the (numerical values of the) embedding. The input 412 can indicate changes to the content of the natural language description, which content can be associated with a specific numerical value of the numerical embedding 460 by the trained machine learned embedding interpretation model 120 / 140. In other words, during training of the model 120 / 140, the embedding and generative natural language text training pairs can allow to find connections not only between the input data and what is encoded within the embedding, but what is encoded within specific parts of the embedding.[000100] By knowing what is encoded within specific parts of the embedding, i.e., how a specific numerical value is influenced by changes in the input data, the embedding can be edited directly to change the information it contains. The modified embedding 410 can be generated by altering, based on the user inputs 142, one or more values of the initially obtained embedding 406. This approach can be facilitated by the specific choice of training data 162; for example, a plurality of input data examples can be used in which a single variable or value is incrementally changed, and the effect of such an incremental change on the numerical values of the embedding can then be determined. This approach can provide an efficient and direct way to modify an embedding, which can be more computationally efficient than modifying and re-encoding the input data.[000101] In another example, the user can provide one or more inputs 416 indicative of an alteration to one or more parameters of the first trained model, i.e., the machine learned encoding model 404. In other words, the user input can be used to modify the parameters or values of the parameters of the model 404. For example, it may be recognized that the encoding model 404 is not appropriately or accurately reflecting the input data in the embedding, and the model 404 may subsequently be retrained or the weights, parameters and / or values adjusted. For example, the natural language summary may state that “the user likes cats”, but the input data used to generate the embedding includes data indicating that the user likes dogs but not cats. One or more weights or parameters associated with the model 404 may be adjusted or altered to change the output of the model 404 accordingly. The modified embedding 410 can then be generated by re-encoding the input data 402 using the modified or updated machine learned encoding model 404’. This can improve thegeneration of embeddings over time, allowing the encoding model itself to be evaluated and debugged.[000102] In another example, user input 418 can be received, the user input 418 comprising one or more alterations to the natural language description 408 itself. The natural language description can be altered to generate an altered natural language description 408’. For example, the natural language summary or description 408 may state “the machine is at temperature B” but other control measurements indicate to the user that the machine is at temperature F. The user can modify the natural language description 408 to provide the correct machine temperature in an altered natural language description 408’. This modified version of the natural language summary can then be used to generate a modified embedding 410.[000103] In one implementation, the modified version of the natural language summary 408’ can be used to generate a modified embedding 410 by directly altering the input data to reflect the changes made to the natural language summary. For example, the input data can be (A, B, C, D), corresponding to values for each of (machine name, temperature, time, date). In response to the user input 418 changing the B to F, a corresponding change may be propagated through to the input data 402. For example, the input data can be modified to (A, F, C, D) to reflect the correct temperature F and remove the incorrect temperature B. The modified embedding 410 can then be generated by re-encoding the updated input data using the existing encoding model 404. This approach can improve the transparency of the model, and provide more user control over the embeddings that are generated from said model. The reliability of the embedding can therefore be improved, which can be important when the embedding is used in downstream systems.[000104] In another implementation, the modified or altered natural language description 408’ can be encoded using the first trained model 404 to generate the modified embedding. For example, the encoding model 404 (or a separate encoding model) may be trained in reverse to directly encode the natural language summary, rather than the input data 402, into an embedding 410. In this way, the modified embedding can be generated quickly and efficiently, without the need to propagate user changes through different systems and data.[000105] Regardless of the manner in which a modified embedding 410 is generated, said modified embedding 410 may be transmitted to one or more different (optionally remote) systems. Transmitting of the modified embedding can cause, at each of the one or more systems, output to be generated based on processing the modified embedding. Thisapproach allows for a central, controllable, modification of the embedding 406 into modified embedding 410, which can be more computationally efficient than separately modifying the original embedding 406 at each of the one or more systems. In another example, the modified natural language description may be transmitted to one or more systems, instead of the modified embedding. The modified natural language description 408’ can then be used by said systems to generate a modified embedding 410 in any of the ways described herein. [000106] In other implementations, the natural language description 408 can be used to evaluate a correlation between the information encoded in the embedding and the input data 402. In other words, the machine-learned encoding model 404 can be evaluated by assessing or determining how representative of the input data 402 (or of a state represented by the input data) the embedding 406 is. By identifying correlations and / or differences between the encoding and the input data, the encoding model 404 can be adjusted or updated to more accurately reflect the input data in the embedding. In some examples, a modified embedding 410 may be generated based on the correlation / differences.[000107] Figure 5 depicts a flow chart diagram of an example method 500 to perform embedding interpretation with a machine-learned embedding interpretation model 120 / 140 according to example embodiments of the present disclosure. Although Figure 5 depicts steps performed in a particular order for purposes of illustration and discussion, the methods of the present disclosure are not limited to the particularly illustrated order or arrangement. The various steps of method 500 can be omitted, rearranged, combined, and / or adapted in various ways without deviating from the scope of the present disclosure. The steps of method 500 can be performed by user computing device 102 and / or by server computing system 130 and / or by any other suitable computing device or system.[000108] At 502, a computing system can receive an embedding. The embedding can be provided by a user. The embedding can be generated by encoding input data, for example using a machine learned encoding model such as model 404. The embedding can be the state of a technical system, for example representing control parameters of an industrial process or a state of an autonomous vehicle. In other examples, the embedding can represent information about a user, and may be used for providing one or more recommendations for / about a user. The embedding can represent any information which it is desirable to evaluate or debug.[000109] At 504, the computing system can process the embedding using a first trained model. The embedding can be provided as input to the first trained model. The first trainedmodel can comprise, as an example, the machine learned embedding interpretation model 120 / 140 described herein. Optionally the first trained model is a generative model.[000110] At 506, the computing system can generate output from the first trained model, the output corresponding to the input embedding. The output can comprise a natural language description of information encoded in the embedding. This natural language summary can be used to evaluate or debug the embedding. In this way, transparency and explainability of models or services which make use of the embedding can be improved. [000111] At 508, the computing system can generate, based on the natural language description, a modified embedding. By allowing the initial embedding to be modified based on the natural language description, transparency and user control may be improved. This can be important for e.g. regulatory reasons where the encoding model is used in safety critical applications.Example Use Cases[000112] A received embedding may represent the state of a physical machine or control process, such as an industrial control process. The natural language summary can provide an operator with an indication of the current state in a user interpretable form. The operator can assess the validity or reliability of the encoding model by comparing the natural language summary to a current state as determined by one or more sensors or measurements. The operator can thus evaluate the encoding model and is able to transparently understand the output from said model before the embedding is used in one or more downstream control systems.[000113] A received embedding may represent the state of an autonomous vehicle, which is an example of a physical machine.[000114] A received embedding may represent an image, and the natural language summary can describe what is in the image. The summary can be used by a user to determine how representative of the original image the information in the embedding is. This information can be used to evaluate or debug a variety of image processing models which use such embeddings, including, for example, facial recognition software. In this way, more accurate image recognition may be provided.[000115] A received embedding may represent information about a user. The natural language summary of that information allows a user to see what information is being held / used in relation to them. The user can then adjust or alter the information, through themechanisms described herein. Providing such control to a user can improve user privacy and improve transparency over how, and what, user information is used in the provision of one or more services.[000116] A received embedding may represent information about a user and a query received from the user. The natural language summary can allow a reviewer (e.g., the user themselves or some other individual) to determine how relevant a response to answer to the query is, and how personalized the answer is. The effectiveness of recommendation systems that provide recommendations for / about the user can therefore be assessed.[000117] A received embedding may represent a document, and a natural language summary of the document can be generated by the first trained model 120 / 140. The NL summary can be used to find semantically similar documents; this can allow to find related documents which may not appear similar in embedding space, or filter nearest neighbor embeddings from the same domain in embedding space to find the most semantically similar documents.[000118] In some implementations, the received embedding (or any other generated embedding) can be moved in different directions within embedding space. A new natural language summary can be generated for each location of the embedding within said space by inputting the embedding to the first trained model 120 / 140. By determining how changes in the location of the embedding affect the natural language summary generated by the model 120 / 140, the approach described herein can help to interpret different dimensions of the embedding space, which in turn can reveal underlying relationships between data points, uncovering hidden patterns or similarities that might not be readily apparent from the embeddings themselves.[000119] This approach can be helpful in tasks like clustering or recommendation systems, where understanding the 'meaning' of proximity in the embedding space is key. This approach can also help identify less informative dimensions in embedding space, enabling more efficient and effective dimensionality reduction techniques.[000120] In addition, by providing a way to interpret the dimensions of embedding space, it is possible to generate or modify data in a controlled way along those dimensions. This can be useful for augmenting datasets for training or creating counterfactual examples to test the robustness of a model, without the need to generate new embeddings by encoding input data. The approach described herein can therefore facilitate a quicker and more resource efficient generation of data sets for training of one or more machine learned models.Additional Disclosure[000121] The technology discussed herein makes reference to servers, databases, software applications, and other computer-based systems, as well as actions taken and information sent to and from such systems. The inherent flexibility of computer-based systems allows for a great variety of possible configurations, combinations, and divisions of tasks and functionality between and among components. For instance, processes discussed herein can be implemented using a single device or component or multiple devices or components working in combination. Databases and applications can be implemented on a single system or distributed across multiple systems. Distributed components can operate sequentially or in parallel.[000122] While the present subject matter has been described in detail with respect to various specific examples thereof, each example is provided by way of explanation, not limitation of the disclosure. Those skilled in the art, upon attaining an understanding of the foregoing, can readily produce alterations to, variations of, and equivalents to such embodiments. Accordingly, the subject disclosure does not preclude inclusion of such modifications, variations and / or additions to the present subject matter as would be readily apparent to one of ordinary skill in the art. For instance, features illustrated or described as part of one embodiment can be used with another embodiment to yield a still further embodiment. Thus, it is intended that the present disclosure covers such alterations, variations, and equivalents.[000123] The following numbered clauses are also disclosed:[000124] Clause 1. A method implemented by one or more processors, the method comprising: receiving an embedding, the embedding generated by encoding input data; processing, using a first trained model, the received embedding to generate corresponding output, the output comprising a natural language description of information encoded in the embedding; and generating, based on the natural language description, a modified embedding.[000125] Clause 2. The method of clause 1, wherein generating a modified embedding comprises: outputting the natural language description to a user; in response to the outputting, receiving user input indicative of an alteration to one or more values of the embedding; and altering, based on the user input, the one or more values of the received embedding to generate the modified embedding.[000126] Clause 3. The method of clause 1, wherein the embedding is generated by encoding the input data using a second trained model, and wherein generating a modifiedembedding comprises: outputting the natural language description to a user; in response to the outputting, receiving user input indicative of an alteration to one or more parameters of the second trained model; and altering, based on the user input, the one or more parameters of the second trained model to generated a modified second trained model; and generating a modified embedding by encoding the input data using the modified second trained model. [000127] Clause 4. The method of clause 1, wherein generating, based on the natural language description, a modified embedding, comprises: receiving user input to alter the natural language description; and generating the modified embedding based on the altered natural language description.[000128] Clause 5. The method of clause 4, wherein generating the modified embedding based on the altered natural language description comprises: generating the modified embedding by encoding the altered natural language description.[000129] Clause 6. The method of clause 4, wherein generating the modified embedding based on the altered natural language description comprises: altering the input data based on the altered natural language description; and generating the modified embedding by encoding the altered input data.[000130] Clause 7. The method of any preceding clause, further comprising: transmitting, to one or more systems, the modified embedding; and causing, at each of the one or more systems, output to be generated based on processing the modified embedding.[000131] Clause 8. The method of clause 7, wherein the one or more systems comprise one or more control systems, and the output comprises one or more control signals. [000132] Clause 9. The method of any preceding clause, further comprising: evaluating, using the natural language description, a correlation between the information encoded in the embedding and the input data.[000133] Clause 10. The method of clause 9, wherein the modifying is further based on the correlation.[000134] Clause 11. The method of any preceding clause, the method comprising: generating training data, the training data comprising a plurality of embedding and natural language description pairs, wherein for each pair, the embedding is generated by encoding respective input data and the natural language description is generated by summarizing the respective input data.[000135] Clause 12. The method of clause 11, wherein the first trained model is trained by: training a generative model to provide, for each pair, an output indicative of the natural language description in response to receiving the embedding as an input.[000136] Clause 13. The method of clause 11 or clause 12, wherein the natural language description is generated by summarizing the respective input data using a second generative model.[000137] Clause 14. The method of any preceding clause, wherein the received embedding represents: represents the state of a physical machine; or an autonomous vehicle; or an image; or information about a user.[000138] Clause 15. A method of training a first model, comprising: obtaining training data, the training data comprising a plurality of embedding and natural language description pairs, wherein for each pair, the embedding is generated by encoding respective input data and the natural language description is generated by summarizing the respective input data; and training the first model to provide, for each pair, an output indicative of the natural language description in response to receiving the embedding as an input.[000139] Clause 16. The method of clause 15, wherein training the first model comprises, for each training pair: processing the embedding with the first model to generate a natural language description of the embedding; evaluating a loss function that evaluates a distance between the generated natural language description and the natural language description of the training pair; and modifying one or more values of one or more parameters of the first model based at least in part on the loss function.[000140] Clause 17. A system comprising: at least one processor; and memory storing instructions that, when executed by the at least one processor, cause the at least one processor to be operable to perform the method of any one of clauses 1 to 16.[000141] Clause 18. A non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to be operable to perform the method of any one of clauses 1 to 16.[000142] Clause 19. A computer program product comprising instructions that, when executed by at least one processor, cause the at least one processor to perform the method of any one of clauses 1 to 16.
Claims
CLAIMS1. A method implemented by one or more processors, the method comprising: receiving an embedding, the embedding generated by encoding input data; processing, using a first trained model, the received embedding to generate corresponding output, the output comprising a natural language description of information encoded in the embedding; and generating, based on the natural language description, a modified embedding.
2. The method of claim 1, wherein generating a modified embedding comprises: outputting the natural language description to a user; in response to the outputting, receiving user input indicative of an alteration to one or more values of the embedding; and altering, based on the user input, the one or more values of the received embedding to generate the modified embedding.
3. The method of claim 1, wherein the embedding is generated by encoding the input data using a second trained model, and wherein generating a modified embedding comprises: outputting the natural language description to a user; in response to the outputting, receiving user input indicative of an alteration to one or more parameters of the second trained model; altering, based on the user input, the one or more parameters of the second trained model to generated a modified second trained model; and generating a modified embedding by encoding the input data using the modified second trained model.
4. The method of claim 1, wherein generating, based on the natural language description, a modified embedding, comprises: receiving user input to alter the natural language description; and generating the modified embedding based on the altered natural language description.
5. The method of claim 4, wherein generating the modified embedding based on the altered natural language description comprises:generating the modified embedding by encoding the altered natural language description.
6. The method of claim 4, wherein generating the modified embedding based on the altered natural language description comprises: altering the input data based on the altered natural language description; and generating the modified embedding by encoding the altered input data.
7. The method of any preceding claim, further comprising: transmitting, to one or more systems, the modified embedding; and causing, at each of the one or more systems, output to be generated based on processing the modified embedding.
8. The method of claim 7, wherein the one or more systems comprise one or more control systems, and the output comprises one or more control signals.
9. The method of any preceding claim, further comprising: evaluating, using the natural language description, a correlation between the information encoded in the embedding and the input data.
10. The method of claim 9, wherein the modifying is further based on the correlation.
11. The method of any preceding claim, the method comprising: generating training data, the training data comprising a plurality of embedding and natural language description pairs, wherein for each pair, the embedding is generated by encoding respective input data and the natural language description is generated by summarizing the respective input data.
12. The method of claim 11, wherein the first trained model is trained by: training a generative model to provide, for each pair, an output indicative of the natural language description in response to receiving the embedding as an input.
13. The method of claim 11 or claim 12, wherein the natural language description is generated by summarizing the respective input data using a second generative model.
14. The method of any preceding claim, wherein the received embedding represents: represents the state of a physical machine; or an autonomous vehicle; or an image; or information about a user.
15. A method of training a first model, comprising: obtaining training data, the training data comprising a plurality of embedding and natural language description pairs, wherein for each pair, the embedding is generated by encoding respective input data and the natural language description is generated by summarizing the respective input data; and training the first model to provide, for each pair, an output indicative of the natural language description in response to receiving the embedding as an input.
16. The method of claim 15, wherein training the first model comprises, for each training pair: processing the embedding with the first model to generate a natural language description of the embedding; evaluating a loss function that evaluates a distance between the generated natural language description and the natural language description of the training pair; and modifying one or more values of one or more parameters of the first model based at least in part on the loss function.
17. A system comprising: at least one processor; and memory storing instructions that, when executed by the at least one processor, cause the at least one processor to be operable to perform the method of any one of claims 1 to 16.
18. A non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to be operable to perform the method of any one of claims 1 to 16.
19. A computer program product comprising instructions that, when executed by at least one processor, cause the at least one processor to perform the method of any one of claims 1 to 16.
Citation Information
Patent Citations
Co-disentagled series / text multi-modal representation learning for controllable generation
US20230109729A1
US202463681581P