Controlling interactive agents using multimodal input

Through the multimodal converter network and self-attention mechanism, image and natural language text embeddings are processed, combined with advanced control networks and policy networks, the control accuracy and efficiency problems of interactive agents in the prior art in multimodal input and complex environments are solved, and more accurate and efficient proxy action selection and execution are achieved.

JP7674599B2Active Publication Date: 2025-05-09ジーディーエム·ホールディング·エルエルシー
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024521004
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-12-07
Filing Date
2022-12-07
Publication Date
2025-05-09
Estimated Expiration
2042-12-07

AI Technical Summary

Technical Problem

The prior art is difficult to effectively control interactive agents in machine learning models, especially when dealing with multimodal inputs and complex environment tasks, it is difficult for the agent to accurately understand natural language instructions and perform corresponding actions.

Method used

A multimodal converter network is used to combine self-attention mechanisms to process images and natural language text embeddings, generate aggregate embeddings to guide agent action selection, and realize hierarchical selection of action sequences through advanced control networks and policy networks.

Benefits of technology

It improves the control accuracy and efficiency of the agent in multimodal input and complex environments, can execute natural language instructions more accurately, and shows good generalization capabilities in new tasks and unseen environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007674599000005
    Figure 0007674599000005
  • Figure 0007674599000006
    Figure 0007674599000006
  • Figure 0007674599000007
    Figure 0007674599000007
Patent Text Reader

Abstract

A method, system, and apparatus, including a computer program encoded on a computer storage medium, for controlling an interactive agent, in particular an interactive agent may be controlled based on multi-modal input including both observed images and natural language text sequences.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Application No. 63 / 286,999, filed December 7, 2021, the disclosure of which is incorporated herein in its entirety.

[0002] This specification relates to controlling agents using machine learning models. [Background technology]

[0003] A machine learning model receives inputs and generates an output, e.g., a predicted output, based on the received inputs. Some machine learning models are parametric models, which generate an output based on the received inputs and the values ​​of the parameters of the model.

[0004] Some machine learning models are deep models that employ multiple layers of models to generate an output for a received input. For example, a deep neural network is a deep machine learning model that includes an output layer and one or more hidden layers, each for applying a nonlinear transformation to a received input to generate an output. Summary of the Invention [Means for solving the problem]

[0005] This specification generally describes a system, implemented as a computer program on one or more computers at one or more locations, that controls interactive agents interacting in an environment by selecting actions to be performed by the agents and then causing the agents to perform the actions.

[0006] An agent is referred to as an "interactive" agent because, as part of interacting with the environment, the agent interacts with one or more other agents in the environment. The one or more other agents may include humans, other agents controlled by different computer systems, or both. An interactive agent interacts with other agents by receiving communications generated by the other agents and, optionally, generating text that is communicated to the other agents.

[0007] In particular, interactions with other agents provide an interactive agent with information about what tasks the agent should be performing in the environment at any given time.

[0008] In one aspect, a method for controlling an agent interacting with an environment comprises: receiving, at each of a plurality of time steps, an observed image characterizing a state of the environment at the time step; receiving a natural language text sequence for the time step characterizing a task being performed by the agent in the environment at the time step; processing the observed images using an image embedding neural network to generate a plurality of image embeddings representing the observed images; processing the natural language text sequence using the text embedding neural network to generate a plurality of text embeddings representing the natural language text sequence; processing the input comprising image embeddings and text embeddings using a multimodal transformer neural network to generate aggregate embeddings, the multimodal transformer neural network configured to (i) apply self-attention across at least the text embeddings and image embeddings to generate updated embeddings for the at least a plurality of text embeddings; and (ii) generate the aggregate embeddings from the at least each updated embedding for the text embeddings; selecting one or more actions to be performed by the agent in response to the observed images using the aggregate embeddings; and causing the agent to perform the one or more selected actions. Thus, to enable an agent to be effectively controlled given any of a variety of image and text inputs, e.g., to perform a task specified by a text input given an environment in a state characterized by the image input, the multimodal transformer effectively aggregates both image embeddings and text embeddings.

[0009] In some implementations, the multimodal transformer neural network comprises one or more self-attention layers, each having one or more self-attention heads, and applying self-attention comprises processing an input through the one or more self-attention layers.

[0010] In some implementations, inputs to the multimodal transformer neural network comprise image embeddings, text embeddings, and one or more proprietary embeddings.

[0011] In some implementations, applying self-attention comprises generating updated embeddings for the text embeddings and the dedicated embeddings, respectively, without updating the image embeddings.

[0012] In some implementations, each self-attention head of each self-attention layer is configured to receive a head input comprising (i) an image embedding generated by an image embedding neural network, and (ii) a respective current embedding for the text embedding and the dedicated embedding, generate a respective query corresponding to each text embedding and each dedicated embedding from the respective current embedding, generate a respective key corresponding to each image embedding, each text embedding, and each dedicated embedding from the image embedding and the respective current embedding, generate a respective value corresponding to each image embedding, each text embedding, and each dedicated embedding from the image embedding and the respective current embedding, and apply query key-value attention across the respective queries, keys, and values ​​to generate a respective initial updated embedding for each text embedding and each dedicated embedding without updating the image embedding. Thus, the transformer utilizes the image embeddings only to provide a "context" for updating the text and dedicated embeddings, thereby improving the ability of the transformer to accurately characterize a variety of different scenes and a variety of different text instructions while remaining computationally efficient.

[0013] In some implementations, generating the aggregated embeddings comprises aggregating the respective updated embeddings for the text embeddings and the dedicated embeddings to generate an initial aggregated embedding, and combining the respective updated embeddings for the dedicated embeddings with the initial aggregated embedding to generate the aggregated embedding.

[0014] In some implementations, the combining step comprises concatenating each respective updated embedding for each dedicated embedding and the initial aggregate embedding.

[0015] In some implementations, selecting one or more actions to be performed by the agent in response to the observed image using the aggregate embedding comprises generating a state representation from the aggregate embedding and selecting one or more actions using the state representation.

[0016] In some implementations, generating the state representation comprises processing the aggregate embedding using a memory neural network, which allows the state representation to be conditional on previously received observed images and natural language instructions, as well as observed images and natural language instructions received at the current time step.

[0017] In some implementations, the memory neural network is a recurrent neural network.

[0018] In some implementations, the method further comprises processing the state representation using a natural language generation neural network to generate an output text sequence for the time step. Thus, the system can also have the agent generate output text that is made available to other agents in the environment, for example to obtain clarification on how a task should be performed or to provide information to the other agents about the output of the task.

[0019] In some implementations, the natural language text sequence is generated by transcribing verbalized speech from another agent in the environment, and the method further comprises generating speech representing the output text sequence for the time step and having the agent verbalize the generated speech.

[0020] In some implementations, the method further comprises processing the state representation using a text no-op neural network to generate an indication of whether text should be generated at the time step, and processing the state representation for the time step using a natural language generation neural network to generate an output text sequence for the time step comprises generating the output text sequence only if the indication indicates that text should be generated at the time step.

[0021] In some implementations, selecting one or more actions using the state representation comprises processing the state representation using an action policy neural network to select a single action to be performed in response to observing the image.

[0022] In some implementations, selecting one or more actions using the state representation comprises processing the state representation to select a sequence of a plurality of actions to be performed in response to observing the image, the sequence comprising a respective action at each of a plurality of locations.

[0023] In some implementations, processing the state representation comprises processing the state representation using a high-level controller neural network to generate respective low-level inputs for each position in the sequence, and processing the respective low-level inputs for the positions using a policy neural network to select, for each position, an action to be performed by an agent at the position in the sequence.

[0024] In some implementations, the high-level controller neural network receives the state representation as input and then autoregressively generates respective low-level inputs for each position in the sequence.

[0025] In some implementations, the high-level controller neural network is a recurrent neural network.

[0026] In some implementations, the method further comprises processing the state representation using an action-free neural network to generate an indication of whether any actions should be performed at the time step, and causing the agent to perform one or more actions comprises causing the agent to perform the action only if the indication indicates that the action should be performed at the time step.

[0027] In some implementations, the natural language text sequences are generated by transcribing verbalized utterances from another agent in the environment.

[0028] In another aspect, another method for controlling an agent interacting with an environment comprises the steps of: receiving, at each of a plurality of time steps, an observational image for the time step characterizing a state of the environment at the time step; receiving a natural language text sequence for the time step characterizing a task being performed by the agent in the environment at the time step; processing the observational image and the natural language text sequence to generate a state representation for the time step; generating a plurality of sequences of actions to be performed by the agent in response to the observational image at the time step, the sequences comprising respective actions to be performed by the agent at each of a plurality of locations, the generating comprising: processing the state representation using a high-level controller neural network to generate respective low-level inputs for each location in the sequence, and processing the respective low-level inputs for the location using an action policy neural network to generate, for each location, an action to be performed by the agent at the location in the sequence; and causing the agent to perform the sequence of actions. Thus, for example, the system can effectively control the agent with reduced latency because multiple actions are performed in response to each observed image, the system can capture observed images at a reduced frequency, and fewer processing iterations are required to control the agent while still effectively controlling the agent due to the hierarchical nature of the action selection process.

[0029] In some implementations, the method further comprises processing the state representation for the time step using a natural language generation neural network to generate an output text sequence for the time step.

[0030] In some implementations, the natural language text sequence is generated by transcribing verbalized speech from another agent in the environment, and the method further comprises generating speech representing the output text sequence for the time step and having the agent verbalize the generated speech.

[0031] In some implementations, the method further comprises processing the state representation using a text-free neural network to generate an indication of whether text should be generated at the time step, and processing the state representation for the time step using a natural language generation neural network to generate an output text sequence for the time step comprises generating the output text sequence only if the indication indicates that text should be generated at the time step.

[0032] In some implementations, the method further comprises processing the state representation using an action-free neural network to generate an indication of whether any actions should be performed at the time step, and causing the agent to perform the sequence of actions comprises causing the agent to perform the sequence of actions only if the indication indicates that the actions should be performed at the time step.

[0033] In some implementations, the high-level controller neural network receives the state representation as input and then autoregressively generates respective low-level inputs for each position in the sequence.

[0034] In some implementations, the action policy neural network comprises a respective sub-network for each of the plurality of sub-actions, and processing each low-level input for the position using the action policy neural network to generate an action to be performed by the agent at the position in the sequence comprises, for each of the plurality of sub-actions, processing input comprising the respective low-level input for the position using a sub-network for the sub-action to select a value for the sub-action for the position.

[0035] In some implementations, for at least one of the sub-actions, the input comprises a selected value for one or more of the other sub-actions at the location.

[0036] In another aspect, a method is described for training a perceptual encoder neural network configured to receive as inputs observed images characterizing a state of an environment at a time step and natural language text sequences characterizing the environment and generate as outputs encoded representations for the time steps. The method comprises obtaining a plurality of training pairs, the plurality of training pairs comprising (i) a first pair comprising observed images and natural language text sequences both corresponding to the same time step, and (ii) one or more second pairs each comprising observed images and natural language text sequences corresponding to different time steps, processing each training pair with the perceptual encoder neural network to generate a respective encoded representation for each training pair, processing each encoded representation for each training pair with a discriminator neural network configured to process each encoded representation to generate a respective discriminator score for each training pair that represents a likelihood that the observed images and natural language text sequences in the pair from which the encoded representation was generated correspond to the same time step, and training the perceptual encoder neural network using a contrast learning loss based on the respective discriminator scores for each training pair.

[0037] In some implementations, the perceptual encoder neural network includes a text embedding neural network, an image embedding neural network, and a multimodal transformer neural network of any of the methods described above, and the encoded representation is an aggregate embedding generated by the multimodal transformer neural network. In other implementations, the perceptual encoder can be a different type of multimodal neural network, for example, a convolutional neural network or a recurrent neural network.

[0038] In some implementations, the control learning loss encourages each discriminator score to be larger for the first pair while encouraging each discriminator score to be smaller for the second pair.

[0039] In some implementations, the discriminator neural network is a feed-forward neural network that processes each encoded representation independently to generate a respective discriminator score for the corresponding training pair.

[0040] In some implementations, the method further comprises generating, from the encoded representation for the first training pair, respective probability distributions over the set of actions for each of the one or more positions in the action sequence using at least the policy neural network; obtaining data specifying respective ground truth actions to be performed by the expert agent at each of the one or more positions; and training at least the policy neural network and the perceptual encoder neural network based on a behavior cloning loss that measures, for each position in the action sequence, the probability of being assigned to a ground truth action at the position by the probability distribution over the position.

[0041] In some implementations, the method further comprises training the discriminator neural network to an objective function that measures, for each first training pair, an error between a respective discriminator score for the first training pair and a first score indicating that the observed image and text sequence in the pair correspond to the same time step, and, for each second training pair, an error between a respective discriminator score for the second training pair and a second score indicating that the observed image and text sequence in the pair do not correspond to the same time step.

[0042] Particular embodiments of the subject matter described in this specification can be implemented to realize one or more of the following advantages.

[0043] This specification generally describes techniques for controlling interactive agents to perform tasks specified by natural language instructions issued by other agents in an environment.

[0044] Controlling such agents can be particularly useful in many real-life tasks that require agents to perform a variety of tasks that are not fixed in advance, but are described by statements made by other agents, e.g., humans, or agents that are controlled using other policies. However, training data for these types of tasks can be difficult to collect and, due to the open-ended nature of the tasks, cannot encompass the wide variety of tasks that agents may be commanded to perform after training.

[0045] To enable the system to effectively control the agent even with these challenges, this specification describes a variety of techniques that can be used together or separately to improve interactive agent control, and to enable the system to effectively control the agent to perform new tasks not seen in the training data.

[0046] As an example, this specification describes a neural network (a "perceptual encoder") that effectively combines multimodal inputs to generate a coded representation of the environment. This allows the system to generate accurate representations of environmental conditions that generalize well to new tasks and result in more precise control.

[0047] As another example, this specification describes a hierarchical action selection policy (utilizing high-level controller and action policy neural networks) that allows the system to effectively select a sequence of multiple actions in response to a single observation. Accurately selecting multiple actions in response to an observation can improve agent performance. For example, by forcing the agent to act multiple times between adjacent observations, the adjacent observations become more visually distinct, which can aid learning (if the agent is forced to act more frequently, the opposite scenario is taken into account, i.e., adjacent observations will be nearly identical but will potentially have different target policies, which creates a daunting problem for learning). As another example, implementing hierarchical control can enable the system to learn useful hierarchical policies, where the low-level controller captures repeatable action sequences that simply need to be triggered by a higher-level controller.

[0048] As yet another example, we describe a multimodal contrastive loss that can be used as an auxiliary loss during training. Incorporating this contrastive loss into training can dramatically improve generalization after training, which is particularly important in interactive agent settings due to the wide variety of possible tasks and even wider variety of possible task-visual observation pairs.

[0049] The details of one or more embodiments of the subject matter herein are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, drawings, and claims. [Brief description of the drawings]

[0050] [Figure 1] FIG. 1 illustrates an exemplary action selection system. [Diagram 2]FIG. 1 is a flow diagram of an example process for controlling an agent at a time step. [Diagram 3] FIG. 13 is a flow diagram of an example process for generating an encoded representation at a time step. [Figure 4] FIG. 2 is a flow diagram of an example process for generating a sequence of multiple actions. [Diagram 5] FIG. 1 is a flow diagram of an example process for training using an auxiliary control loss. [Figure 6] FIG. 1 illustrates a particular exemplary architecture of a neural network used by the action selection system during inference and training. [Figure 7] 13A-13D illustrate the performance of different variations of the described techniques in different agent control tasks. [Figure 8A] FIG. 1 illustrates how much data is needed to learn how to interact with new, previously unseen objects in the environment. [Figure 8B] FIG. 1 illustrates how much data is needed to learn how to execute a new, previously unseen command in the environment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0051] Like reference numbers and designations in the various drawings indicate like elements.

[0052] 1 illustrates an exemplary action selection system 100. Action selection system 100 is an example of a system implemented as a computer program on one or more computers at one or more locations where the systems, components, and techniques described below are practiced.

[0053] The action selection system 100 controls an interactive agent 104 interacting with an environment 106 by selecting an action 108 to be performed by the agent 104 and then causing the agent 104 to perform the action 108 .

[0054] In particular, at each time step, the system 100 receives multimodal input, e.g., input including data of multiple modalities (e.g., data types), including at least observed images 110 that characterize the state of the environment at the time step, and natural language text sequences 130, and uses the multimodal input to control the agent 104.

[0055] Agent 104 is referred to as an "interactive" agent because, as part of interacting with the environment, agent 104 interacts with one or more other agents 107 in the environment. The one or more other agents 107 may include humans, other agents controlled by different computer systems, or both. Interactive agent 104 interacts with other agents 107 by receiving communications generated by the other agents 107 and, optionally, by generating text that is communicated to the other agents.

[0056] In particular, at each time step, the system 100 receives an observed image 110 that characterizes the state of the environment 106 at the time step. The observed image 110 may be captured, for example, by a camera sensor of the agent 104 or by another camera sensor located within the environment 106.

[0057] The system 100 also receives a natural language text sequence 130 for each time step. In particular, the natural language text sequence 130 may be the result of a communication from one of the other agents 107 in the environment 106. For example, another agent 107 may utter an utterance (e.g., audibly verbalize or express the utterance), and the interactive agent 104 or the system 100 may transcribe the utterance to generate the natural language text sequence 130.

[0058] In some cases, there may not be a new communication at every time step. In these cases, the system 100 may use the most recently received natural language text sequence as the text sequence 130 for the time step. That is, the system 100 may reuse the most recently received natural language text sequence until a new text sequence is received.

[0059] Generally, the natural language text sequence 130 provides information about the task that the agent 104 should be performing in the environment 106, e.g., about the goal that the agent 104 should be attempting to reach by acting in a time step. However, because the text is natural language text that may be generated by another agent 107, the content of the text may insufficiently specify the goal and may be ambiguous or require clarification as to which goal is to be reached. That is, the text sequence 130 may provide insufficient information for the agent 104 to perform the intended task.

[0060] The system 100 then processes at least the observed image 110 and the natural language text sequence 130 using the perceptual encoder neural network 122 to generate an encoded representation 124 for the time step, and then uses the encoded representation 124 to select one or more actions 108 to be performed by the agent in response to the observation, e.g., in response to the image 110 and the sequence 130.

[0061] In particular, in some implementations, the agent 104 performs a single action 108 in response to each observed image 110, e.g., such that a new observed image 110 is captured after each action the agent performs. In these implementations, the system 100 causes the agent to perform the single action, e.g., by providing instructions to the agent 104 that, when executed, cause the agent to perform the single action, by submitting control inputs directly to an appropriate controller of the agent 104, by providing data identifying the action to a control system for the agent 104, or using another suitable control technique.

[0062] In some other implementations, the agent 104 performs a sequence of multiple actions 108 in response to each observed image 110, for example, such that the multiple actions are performed by the agent before the next observed image 110 is captured. In these implementations, the system 100 generates a sequence of multiple actions 108 including respective actions 108 at multiple locations and causes the agent 104 to perform the sequence of actions 108 according to a sequence order, for example, by first performing the action at the first location, then the action at the second location, etc. The system 100 can cause the agent 104 to perform a given action as described above.

[0063] In general, the system 100 generates a state representation from the encoded representation 124 (also referred to below as an “aggregated embedding”) and then generates one or more actions 108 at a given time step by processing the state representation using a policy neural network 126. The state representation may be the same as the encoded representation 124 or may be generated by a memory neural network, e.g., a recurrent neural network, such that the state representation can incorporate information from previous environmental states.

[0064] In some implementations, in addition to or instead of performing one or more actions 108 in response to the observed images 110, the system 100 can use the encoded representations 124 at some or all of the time steps to generate output text sequences, which can be provided as output. In particular, the system 100 can use a natural language generation neural network to process inputs derived from the encoded representations 124, e.g., inputs including state representations, to generate the output text sequences at the time steps.

[0065] The system 100 can then generate speech representing the output text sequence and can cause the interactive agent 104 to play the speech or otherwise communicate the output text sequence to other agents 107 in the environment for the agent 104 to interact with the other agents 107. Interacting with the other agents 107 by generating text or speech or both can enable the interactive agent 104 to obtain additional information from the other agents 107 about how to perform a desired task, for example, by asking the other agents 107 questions or otherwise prompting the other agents 107 to provide additional information.

[0066] Processing input observations to generate actions and optionally output text sequences is described in more detail below with reference to FIGS.

[0067] Before using the perceptual encoder neural network 122, the policy neural network 126, and, when used, the memory neural network and / or the text generation neural network, to control an agent, a training system 190 trains the neural networks, for example to determine trained values ​​for the parameters of the neural networks.

[0068] In some implementations, the system 190 trains the neural network through imitation learning on ground truth data, e.g., generated by an expert agent. The ground truth data includes a set of observations, including observed images and natural language text sequences, in a sequence of time steps, and ground truth trajectories, each including one or more of ground truth actions or ground truth text outputs. A "ground truth" action is a target action to be performed by an agent at a given time step (or at a given position in a sequence of actions). Similarly, a "ground truth" text output is a target text output to be generated by the system at a given time step. For example, the ground truth action and the ground truth text output may be actual actions and text outputs performed or generated (e.g., spoken) (respectively) by an expert agent at a given time step. The expert agent may be, for example, an agent controlled by a human user, an agent controlled by an already learned policy, or an agent controlled by a hard-coded heuristic-based policy.

[0069] In some other implementations, the system 190 trains the neural network through reinforcement learning. For example, at each time step, the system 190 can receive a reward in response to an action taken in response to an observation at the time step, a text sequence generated as an output at the time step, or both, and can use the reward to train the neural network using off-policy reinforcement learning techniques.

[0070] In yet other implementations, the system 190 can first train the neural network through imitation learning and then fine-tune the neural network through reinforcement learning.

[0071] Optionally, in any of the above implementations, the system 190 can use an auxiliary control learning loss that employs cross-modality matching to improve the training of the neural network. For example, the system can pre-train the perceptual encoder 122 using an auxiliary control learning loss, or can train the neural network against a loss function that includes an imitation learning loss or a reinforcement learning loss and an auxiliary control learning loss.

[0072] Cross-modality matching refers to having a discriminator neural network predict whether a given observation and a given text sequence correspond to the same time step from the coded representation of the given observation-text sequence pair. An observation and a text sequence "correspond" to the same time step when the text sequence was the most recently received text sequence at the time step when the observed image was captured, e.g., when the text sequence and the observed image are temporally aligned.

[0073] Training using this auxiliary loss is described in more detail below with reference to FIG.

[0074] In some implementations, the environment is a real-world environment and the agent is a mechanical agent that interacts with the real-world environment, e.g., to perform one or more selected actions in the real-world environment. For example, the agent may be a robot that interacts with the environment to accomplish a goal, e.g., to locate an object of interest in the environment, to move the object of interest to a specified location in the environment, to physically manipulate the object of interest in the environment in a specified manner, or to direct navigation to a specified destination in the environment as specified by natural language input received from another agent, or the agent may be an autonomous or semi-autonomous ground, air, or sea vehicle that directs navigation through the environment to a specified destination in the environment.

[0075] An action may be a control input for controlling a mechanical agent, e.g., a robot, e.g., torques for the robot's joints or higher level control commands, or an autonomous or semi-autonomous ground or air or sea vehicle, e.g., torques to a control surface or other control element of the vehicle, or higher level control commands.

[0076] In other words, an action may include, for example, position, velocity, or force / torque / acceleration data for one or more joints of a robot or part of another mechanical agent. An action may additionally or alternatively include electronic control data, such as motor control data, or more generally, data for controlling one or more electronic devices in the environment, whose control has an effect on the observed state of the environment. For example, in the case of an autonomous or semi-autonomous ground, air, or sea vehicle, an action may include actions for controlling driving instructions, e.g., steering, and movement, e.g., braking and / or acceleration of the vehicle.

[0077] In some implementations, the environment is a simulated environment and the agent is implemented as one or more computer programs that interact with the simulated environment. For example, the environment can be a computer simulation of a real-world environment and the agent can be a simulated mechanical agent that directs navigation through the computer simulation.

[0078] For example, the simulated environment may be a motion simulation environment, such as a driving or flight simulation, and the agent may be a simulated vehicle that directs navigation through the motion simulation. In these implementations, the actions may be control inputs for controlling a simulated user or a simulated vehicle. As another example, the simulated environment may be a computer simulation of a real-world environment, and the agent may be a simulated robot that interacts with the computer simulation.

[0079] In general, when the environment is a simulated environment, the actions may include simulated versions of one or more of the actions or types of actions previously described.

[0080] In some cases, the system can be used to control an agent's interaction with a simulated environment, and the system can train parameters of neural networks (e.g., the perceptual encoder neural network 122, the policy neural network 126, and, when used, the language generation neural network) used to control the agent based on the agent's interaction with the simulated environment. After the neural networks are trained based on the agent's interaction with the simulated environment, the trained policy neural network can be used to control the real-world agent's interaction with the real-world environment, e.g., to control the agent that was being simulated in the simulated environment. Training a deep neural network based on the agent's interaction with a simulated environment (e.g., rather than the real-world environment) can avoid wear and tear on the agent and reduce the possibility that the agent may destroy itself or aspects of its environment by performing a poorly chosen action. In some cases, the system can be partially trained using a simulation as described above and then further trained in the real-world environment.

[0081] As another example, the environment may be a video game and the agent may be an agent within the video game that interacts with one or more other agents, e.g., agents controlled by one or more human users.

[0082] As yet another example, the environment may be an augmented or virtual reality representation of a real-world environment, and the agent may be an entity in the representation that interacts with one or more other agents, e.g., agents controlled by one or more human users. In the case of an augmented reality environment, the observation image may comprise image data that characterizes the real-world environment, e.g., including objects of interest in the environment. The agent may be a software agent configured to control electromechanical devices in the real-world environment to perform one or more selected actions in the real-world environment, such as manipulating, moving, fixing, and / or reconfiguring objects. The augmented reality environment may be displayed to the user, for example, through a head-mounted or head-up display.

[0083] As yet another example, the environment may be a computing environment, e.g., one or more computing devices optionally connected by a wired or wireless network, and the agent may be a software agent executing within the computing environment to interact with a user. For example, the agent may be digital assistant software that performs tasks designated by a user within the computing environment by performing actions that control one or more of the computing devices.

[0084] 2 is a flow diagram of an example process 200 for selecting one or more actions at a time step. For convenience, process 200 is described as being performed by one or more computer systems located at one or more locations. For example, an action selection system suitably programmed in accordance with this specification, such as action selection system 100 of FIG. 1, may perform process 200.

[0085] The system may execute the process 200 at each of a number of time steps to control an agent.

[0086] The system receives an observed image characterizing the state of the environment at a time step (step 202).

[0087] The system receives a natural language text sequence for a time step that characterizes a task being performed by an agent in the environment at the time step (step 204).

[0088] The system processes the observed image and the natural language text sequence using a perceptual encoder neural network to generate an encoded representation for the time step (step 206).

[0089] In some implementations, the perceptual encoder neural network includes an image embedding neural network that generates image embeddings representing the image observations, a text embedding neural network that generates text embeddings representing the image observations, and a multimodal transformer neural network that generates aggregate embeddings (which serve as the encoded representation).

[0090] An "embedding" as used herein is a vector of numerical values, e.g., floating point values ​​or other values, with a predetermined number of dimensions. The space of possible vectors with a predetermined number of dimensions is called the "embedding space." Image embeddings and text embeddings produced by image and text embedding neural networks are generally in the same embedding space.

[0091] Generating an encoded representation when the perceptual encoder neural network has the above architecture is described below with reference to FIG.

[0092] The system selects one or more actions to be performed by the agent in response to the observed image using the aggregate embedding (step 206), and causes the agent to perform the one or more selected actions (step 208).

[0093] In general, the system processes a state representation derived from an encoded representation using a policy neural network to select one or more actions.

[0094] That is, the system generates a state representation from the encoded representation and selects one or more actions using the state representation, e.g., by processing the state representation using a policy neural network. In some implementations, the state representation is the same as the encoded representation. In some other implementations, the system generates the state representation by processing the encoded representation using a memory neural network, e.g., a neural network that allows the state representation to incorporate information from previous time steps. For example, the memory neural network can be a recurrent neural network, e.g., a long short-term memory (LSTM) neural network, or a gated recurrent unit (GRU) neural network, to allow the state representation to incorporate information from previous time steps.

[0095] In some implementations, the system selects only a single action at each time step. In these implementations, the policy neural network may be, for example, a multi-layer perceptron (MLP) or other feed-forward neural network that generates a probability distribution over a set of actions, and the system may use the probability distribution to greedily select or sample an action. An alternative architecture for the policy neural network when a single action is selected is described below with reference to FIG. 4.

[0096] In some other implementations, the system selects a sequence of multiple actions at each time step, i.e., the system generates a sequence of multiple actions including respective actions at multiple locations, and has the agent perform the sequence of actions according to a sequence order, e.g., by first performing the action at the first location, then the action at the second location, etc. An example of an architecture for a policy neural network capable of generating a sequence of multiple actions is described below with reference to FIG.

[0097] In some implementations, the policy neural network includes an action-no operation neural network (e.g., an action "no operation" neural network, sometimes referred to as an "any-action" decision neural network) that the system uses to decide whether to have the agent perform any action at the time step. In particular, in these implementations, the system can process the state representation using the action-no operation neural network to generate an indication of whether any action should be performed at the time step. The system can then have the agent perform one or more actions only if the indication indicates that the action should be performed at the time step.

[0098] For example, an action-free neural network can be an MLP that processes the state representation to generate a score. If the score meets a threshold, the system can decide that no action should be taken at the time step.

[0099] In some implementations, to conserve computational resources, the system first processes the state representation using an action-operation-free neural network, and then performs the remainder of the processing of the policy neural network only if the action-operation-free neural network indicates that one or more actions should be performed at the time step.

[0100] As explained above, in some implementations, the system can also output natural language text sequences at some or all of the time steps.

[0101] In these implementations, the system can process the state representations using a natural language generation neural network to generate an output text sequence for a time step. For example, the natural language generation neural network can be a transformer that generates a sequence of text tokens conditional on the state representations. For example, the transformer can autoregressively generate the output text tokens while cross-attending into the state representations or using the state representations as prompts.

[0102] In some implementations, the system uses a text-arithmetic-free neural network (e.g., a text "arithmetic-free" neural network, sometimes referred to as a text generation decision neural network) to determine whether any output text should be generated at a given time step. In particular, in these implementations, the system can process the state representations using the text-arithmetic-free neural network to generate an indication of whether text should be generated at the time step. The system can then generate an output text sequence only if the indication indicates that text should be generated at the time step.

[0103] For example, a text-free neural network can be an MLP that processes the state representation to generate a score. If the score meets a threshold, the system can decide not to generate any text at the time step.

[0104] In some implementations, to conserve computational resources, the system first processes the state representation using a text-free neural network, and then processes the state representation using a language generation neural network only if the text-free neural network indicates that text should be generated at the time step.

[0105] Although this specification generally describes the observations as images, in some cases the observations may include additional data in addition to the image data, for example, proprioceptive data characterizing the agent, or other data captured by other sensors of the agent. In these cases, the other data may be jointly embedded with the observed image by an image embedding neural network.

[0106] 3 is a flow diagram of an exemplary process 300 for generating encoded representations at time steps using a perceptual encoder neural network. For convenience, the process 300 is described as being performed by one or more computer systems located at one or more locations. For example, an action selection system suitably programmed in accordance with this specification, such as the action selection system 100 of FIG. 1, may perform the process 300.

[0107] In the example of Figure 3, the perceptual encoder neural network includes an image embedding neural network that generates image embeddings representing the image observations, a text embedding neural network that generates text embeddings representing the image observations, and a multimodal transformer neural network that generates aggregate embeddings (which serve as the encoded representation).

[0108] More specifically, the system processes the observed image using an image embedding neural network to generate a plurality of image embeddings that represent the observed image (step 302). For example, the image embedding neural network may be a convolutional neural network, e.g., a ResNet or an Inception neural network, that processes the observed image to generate a feature map that includes a respective image embedding for each of a plurality of regions in the observed image. As another example, the image embedding neural network may be a Vision Transformer neural network that processes a sequence of patches from the observed image to generate a respective image embedding for each of the patches in the sequence.

[0109] The system processes the natural language text sequence using a text embedding neural network to generate a number of text embeddings that represent the natural language text sequence (step 304). For example, the text embedding neural network can use a trained embedding table to map text tokens, e.g., words or word fragments, in the text sequence to embeddings. As another example, the text embedding neural network can be an encoder-only transformer that processes the sequence of text tokens to generate a respective text embedding for each of the text tokens.

[0110] The system processes the input, including image embeddings and text embeddings, using a multi-modal transformer neural network to generate an aggregate embedding that serves as the encoded representation (step 306).

[0111] Transformer neural networks are called “multimodal” because they receive as input embeddings of multiple different modalities, for example embeddings of both natural language text and images.

[0112] In some other implementations, the perceptual encoder neural network can use different types of multi-modal neural networks, e.g., convolutional neural networks or recurrent neural networks, to generate the aggregate embeddings from at least the image embeddings and the text embeddings.

[0113] More specifically, the multi-modal transformer neural network is configured to (i) apply self-attention across at least the text embeddings and the image embeddings to generate updated embeddings for at least a plurality of text embeddings, respectively, and (ii) generate an aggregate embedding from the at least each updated embedding for the text embeddings.

[0114] In particular, the multimodal transformer includes one or more self-attention layers, each having one or more self-attention heads, such that, for example, "applying self-attention" includes processing the input through one or more self-attention layers. That is, each self-attention layer can either perform single-head self-attention, thus having only one attention head, or perform multi-head attention, thus having multiple heads each performing self-attention in parallel. The self-attention layer can then combine the outputs of the multiple heads to generate the output of the attention mechanism for the self-attention layer, for example, by adding, averaging, or concatenating the outputs and then optionally applying a linear transformation to the result. Each self-attention layer can also perform any of a variety of other operations, such as layer normalization, feedforward neural network computations per position, residual combination operations, etc.

[0115] Each head of each self-attention layer can apply any of a variety of self-attention mechanisms across inputs corresponding to at least image embeddings and text embeddings. Examples of such attention mechanisms are described next.

[0116] In this example, the inputs to the multimodal transformer neural network include image embeddings, text embeddings, and one or more dedicated embeddings. A "dedicated" embedding is an embedding that is the same at each time step and does not depend on the observations at the time step. For example, the dedicated embeddings may be learned during training of the neural network or may be fixed to a predetermined value.

[0117] The multimodal transformer then applies self-attention to generate updated embeddings for the text embeddings and private embeddings, respectively, without updating the image embeddings.

[0118] As an example of this, each self-attention head of each self-attention layer may be configured to receive head inputs including (i) image embeddings generated by the image embedding neural network, and (ii) current embeddings for the text embeddings and the dedicated embeddings, respectively. That is, if the head is not in the first self-attention layer, it still receives the original image embeddings, but it also receives the current embeddings for the text embeddings and the dedicated embeddings that have been updated by the preceding self-attention layer.

[0119] The head then generates a respective query from each current embedding, corresponding to each text embedding and each dedicated embedding, for example, by applying a learned query linear transformation to each current embedding.

[0120] The head also generates respective keys corresponding to each image embedding, each text embedding, and each dedicated embedding from the image embeddings and each current embedding, e.g., by applying a learned key linear transformation to each embedding.

[0121] The head also generates respective values ​​corresponding to each image embedding, each text embedding, and each dedicated embedding from the image embeddings and each current embedding, for example by applying a learned value linear transformation to each embedding.

[0122] The head then applies query key-value attention across each query, key, and value to generate respective initial updated embeddings for each text embedding and each dedicated embedding without updating the image embeddings, i.e., the head applies self-attention across the text embeddings and dedicated embeddings, but only "cross-attends" to the image embeddings (as the image embeddings are only used to generate keys and values, not queries).

[0123] When there are multiple heads, the self-attention layer can then combine each initial updated embedding as described above.

[0124] Self-attention and query key-value attention are described in more detail below.

[0125] Once the multimodal transformer has generated the respective updated embeddings for the text embedding and the private embedding, the transformer can generate an aggregate embedding from the respective updated embeddings.

[0126] As a particular example, the transformer can aggregate each updated embedding for the text embedding and the dedicated embedding to generate an initial aggregated embedding, and then combine each updated embedding for the dedicated embedding with the initial aggregated embedding to generate an aggregated embedding.

[0127] The transformer can apply any of a variety of aggregation operations, e.g., a pooling operation, to the respective updated embeddings for the text embedding and the dedicated embedding to generate the initial aggregated embeddings. For example, the transformer can apply feature-wise average pooling to the respective updated embeddings for the text embedding and the dedicated embedding to generate the initial aggregated embeddings.

[0128] The transformer can combine each updated embedding for the dedicated embedding with the initial aggregated embedding in any of a variety of ways to generate an aggregated embedding. As an example, the transformer can concatenate each dedicated embedding and each respective updated embedding for the initial aggregated embedding.

[0129] The system then uses the aggregate embedding as the state representation.

[0130] 4 is a flow diagram of an example process 400 for generating a sequence of multiple actions at a time step. For convenience, the process 400 is described as being performed by one or more computer systems located at one or more locations. For example, an action selection system suitably programmed in accordance with this specification, such as the action selection system 100 of FIG. 1, may perform the process 400.

[0131] The system receives an observed image for a time step, the observed image characterizing a state of the environment at the time step (step 402).

[0132] The system receives a natural language text sequence for a time step that characterizes a task being performed by an agent in the environment at the time step (step 404).

[0133] The system processes the observed images and the natural language text sequence to generate state representations for the time steps, step 406. For example, the system can generate the state representations as described above with reference to FIG. 2, or using a different set of neural networks having different architectures.

[0134] The system generates a sequence of a plurality of actions to be performed by the agent in response to the observed image at a time step. As explained above, the sequence has a respective action to be performed by the agent at each of a plurality of locations. In the example of FIG. 4, the policy neural network implements a hierarchical action selection scheme, e.g., a hierarchical control scheme, and thus includes a high-level controller neural network and an action policy neural network.

[0135] In particular, the system processes the state representation using a high-level controller neural network to generate respective low-level inputs for each position in the sequence (step 408). As a particular example, the high-level controller neural network may receive the state representation as input and then autoregressively generate respective low-level inputs for each position in the sequence. "Autoregressively" generating low-level inputs refers to generating inputs for each position conditional on inputs for all positions preceding the position in the sequence. For example, the high-level controller neural network may be a recurrent neural network, e.g., an LSTM or GRU, that receives as input the state representation at a first processing time step and receives as input the low-level inputs generated at the preceding processing time step at each subsequent processing time step.

[0136] For each position, the system processes each low-level input for the position using an action policy neural network to generate an action to be performed by the agent at the position in the sequence (step 410). In some implementations, each action consists of multiple sub-actions. For example, when the agent is a robot or other mechanical agent, the sub-actions can include two or more of a grab action that attempts to grab an object in the environment, a push / pull action that pushes or pulls an object in the environment, a rotate action that rotates one or more parts of the agent's body, a look action that changes the orientation of the agent's camera, and a move action that moves the agent through the environment. A control system for the agent can map these high-level actions to low-level commands, such as torques on the agent's joints or other forces to be applied to parts of the agent's body, in order to control the agent.

[0137] In these implementations, the action policy neural network can include a respective sub-network for each of the multiple sub-actions. Thus, for each of the multiple sub-actions, the action policy neural network processes inputs including the respective low-level inputs for the location using a sub-network for the sub-action to select a value for the sub-action for the location using the action policy neural network. For example, each sub-network can be configured to generate an output that defines a probability distribution over possible values ​​for the corresponding sub-action, and the system can either greedily select a value for the sub-action or sample the sub-actions using the probability distribution.

[0138] In some of these implementations, for at least one of the subactions, the input includes a selected value for one or more of the other subactions at the location, i.e., the value of at least one subaction at a given location can depend on the value of at least one other subaction at the given location.

[0139] When only a single action is selected per time step, the policy neural network may (i) include only a respective subnetwork for each of the multiple sub-actions, and the input to each subnetwork may include a state representation (rather than a low-level input), or (i) include a feedforward high-level controller that maps the state representation to a single low-level input for a single position.

[0140] As explained above, the policy neural network can also include an action-no-computation neural network that the system can use to prevent an agent from performing any action at a given time step.

[0141] 5 is a flow diagram of an exemplary process 500 for training using contrastive auxiliary losses. For convenience, process 500 is described as being performed by one or more computer systems located at one or more locations. For example, a training system suitably programmed in accordance with this specification, such as training system 190 of FIG. 1, may perform process 500.

[0142] The system can repeatedly run process 500 on different mini-batches of training data to train the neural network used by the action selection system for the contrast auxiliary loss.

[0143] As explained above, the system can pre-train the perceptual encoder neural network on the auxiliary loss. Alternatively, the system can train the perceptual encoder neural network while training all of the neural networks on the primary loss, e.g., the reinforcement learning loss or the imitation learning loss.

[0144] At each iteration of process 500, the system obtains a mini-batch containing multiple training pairs. The training pairs include (i) a first pair having an observed image and a natural language text sequence that both correspond to the same time step, and (ii) one or more second pairs, each including an observed image and a natural language text sequence that correspond to a different time step. An observation and a text sequence "correspond" to the same time step when the text sequence was the most recently received text sequence at the time step at which the observed image was captured, e.g., when the text sequence and the observed image are aligned in time. For example, a first portion of the pairs in the mini-batch may be "corresponding" pairs, and the rest may be "non-corresponding" pairs.

[0145] The system processes each training pair using a perceptual encoder neural network to generate a respective encoded representation for each training pair (step 504). For example, the perceptual encoder neural network may have any suitable architecture, such as one of the architectures described above with reference to Figures 1-4 and below with reference to Figure 6.

[0146] The system processes each encoded representation for each training pair using a discriminator neural network configured to process each encoded representation to generate, for each training pair, a respective discriminator score that represents the likelihood that the observed image and the natural language text sequence in the pair from which the encoded representation was generated correspond to the same time step (step 506). For example, the discriminator can be a feed-forward neural network, e.g., an MLP, that processes each encoded representation independently to generate a respective discriminator score for the corresponding training pair.

[0147] The system trains the perceptual encoder neural network using a loss based on the respective discriminator scores for each training pair (step 508). Such losses are sometimes described as contrastive learning losses. The contrastive learning losses are called "contrastive" learning losses because they are based on "contrasting" the discriminator scores for a first pair with one or more discriminator scores for one or more second pairs against each other.

[0148] In general, the contrastive learning loss encourages each discriminator score to be larger for the first pair while encouraging the second pair to have a smaller respective discriminator score relative to the first pair. That is, the contrastive learning loss encourages the perceptual encoder neural network to generate state representations for corresponding pairs that are mapped by the discriminator neural network to larger discriminator scores than state representations for non-corresponding pairs; for example, training the perceptual encoder neural network using the contrastive learning loss causes the perceptual encoder neural network to generate such state representations.

[0149] As a concrete example, the control learning loss is

[0150]

number

[0151] where B is the number of trajectories in the mini-batch, T is the number of time steps in each trajectory in the mini-batch, and

[0152]

number

[0153] is the observed image from time step t in the nth trajectory

[0154]

number

[0155] , and the text sequence from time step t in the nth trajectory

[0156]

number

[0157] where SHIFT(n) is the score produced by the discriminator from a pair containing n, n = n, ..., and SHIFT(n) is the nth index after a modular shift of the trajectory's index in the mini-batch (e.g., 1 is shifted to 2, ..., B-1 is shifted to B, ..., B is shifted to 1).

[0158] The system can train the perceptual encoder neural network using the contrastive learning loss by backpropagating the gradient of the contrastive learning loss through the discriminator neural network and into the perceptual encoder neural network.

[0159] In addition to training the perceptual encoder, the system also trains the discriminator for the objective of encouraging the discriminator to generate more accurate discriminator scores. In particular, the system trains the discriminator neural network for an objective function that measures, for each first training pair, the error between the respective discriminator score for the first training pair and a first score, e.g., 1, indicating that the observed image and text sequence in the pair correspond to the same time step, and, for each second training pair, the error between the respective discriminator score for the second training pair and a second score, e.g., negative 1 or 0, indicating that the observed image and text sequence in the pair do not correspond to the same time step.

[0160] When a contrastive loss is used as an auxiliary loss during training of a neural network, the system can also calculate the gradient of the primary loss.

[0161] For example, when the primary loss is an imitation learning loss, the system can generate respective probability distributions over the set of actions for each of one or more positions in the action sequence from the encoded representations for the first training pair and using at least a policy neural network, as described above.

[0162] The system also obtains data specifying respective ground truth actions to be performed by the expert agent at each of the one or more locations.

[0163] The system then trains at least a policy neural network and a perceptual encoder neural network based on a behavior cloning loss that measures, for each position in the action sequence, the probability of being assigned to a ground truth action at the position by a probability distribution over the position.

[0164] Figure 6 shows a particular example architecture of the neural network used by the action selection system during inference and training. In particular, in the example of Figure 6, the perceptual encoder includes an image embedding neural network 610, a text embedding neural network 620, and a multimodal transformer 630. Moreover, at each time step, the system can generate both multiple (8) action sequences and an output text sequence.

[0165] In particular, as shown in FIG. 6, the image embedding neural network 610 is a ResNet that generates a 24×16×256 feature map that is then flattened into a (24×16)256-dimensional embedding vector.

[0166] The text embedding neural network 620 tokenizes the input natural language text string and embeds it into a sequence of text embeddings using a trained embedding table.

[0167] The inputs to the multimodal transformer 630 include image embeddings, text embeddings, and two specialized embeddings. The multimodal transformer operates on these inputs with four self-attention layers, each of which uses a 512-dimensional embedding. As explained above, the image embeddings provide only the key K and the value V, while the text embeddings and specialized embeddings provide the key K, the value V, and the query Q. After the self-attention layers, the multimodal transformer 630 aggregates the resulting text embeddings and the specialized embeddings to generate an aggregated embedding (the "encoded representation").

[0168] After the aggregated embeddings are generated, a memory neural network 640 (in the example of FIG. 6, an LSTM neural network with four layers and using 1024-dimensional vectors) generates state representations from the aggregated embeddings.

[0169] The state representation is then provided to a policy neural network (“hierarchical traversal policy”) 650 and a language generation neural network (“language policy”) 660 .

[0170] When training uses imitation learning, the training system uses "teacher forcing" to score ground truth actions and ground truth text output using the respective policies. After training, or when training uses reinforcement learning, the system samples actions and text output using the respective policies and uses the sampled actions (and text output) to control the agent.

[0171] As can be seen in Figure 6, the language generation neural network 660 includes a transformer for generating linguistic output and a text-free neural network for determining whether any text should be generated at a given time step. The transformer uses the state representation to provide only the keys K and values ​​V to the causal attention mechanism.

[0172] As can also be seen in FIG. 6, the policy neural network 650 includes a high-level controller 670 (in the example of FIG. 6, an LSTM neural network with a single layer and a 512-dimensional vector), respective sub-networks for each of the five sub-actions, and a text-free neural network for determining whether any action should be executed at a time step.

[0173] FIG. 6 also illustrates the use of a contrast learning auxiliary loss 680 during training. As can be seen from FIG. 6, to train on this loss, the system receives a mini-batch of modality pairings, e.g., pairs including observed images and natural language text sequences. Some of the pairings in the mini-batch (e.g., 50% of the pairings) are within-sample pairings, and other pairings in the mini-batch (e.g., the other 50% of the pairings) are cross-sample modality pairings. If the observed images and the natural language text sequences correspond, the within-sample pairing is 1. If the observed images and the natural language text sequences do not correspond, the cross-sample pairing is 1.

[0174] The system processes each pairing using a perceptual encoder that includes a multimodal transformer to generate an encoded representation (an "aggregated embedding"), and then processes the encoded representation using a discriminator neural network to predict whether the observed image and the natural language text sequence correspond ("match" or "don't match"). These predictions can then be used to train both the discriminator neural network and the perceptual encoder.

[0175] FIG. 7 shows the performance of different variations of the described technique on different agent control tasks after a number of training steps have been performed.

[0176] In particular, FIG. 7 shows a first plot 710 showing the performance of the variant in a command-following task that requires the agent to move around an environment following verbal commands from one or more other agents, a second plot 720 showing the performance of the variant in a question-answering task that requires the agent to answer questions about the environment from one or more other agents, and a third plot 730 showing the performance of the variant in various other tasks.

[0177] In particular, each plot in FIG. 7 shows the performance of a variant of the described technique compared to a human-controlled agent (“human”) in the corresponding task in terms of success rate, i.e., what percentage of instances of the task the agent successfully completes after the associated neural network for the variant has been trained.

[0178] As can be seen in Figure 7, one of the variations is a MIA (Multimodal Interactive Agent) that uses a multimodal transformer and a hierarchical translation policy and is trained with imitation learning and auxiliary contrastive representation loss. All of the other variations are modifications of the MIA agent, e.g., to further downsample the observed images, to remove the contrastive loss, to remove the hierarchical translation, to remove the visual input (observed images), to remove the language input, etc.

[0179] As can be seen from Fig. 7, processing multimodal input as described above enables our technique to achieve a high success rate in language-specific tasks. Moreover, for some tasks, employing a hierarchical action selection policy significantly improves agent performance. Similarly, for some tasks, not training with a contrastive loss significantly negatively impacts agent performance.

[0180] Figure 8A shows how much data is needed to learn how to interact with a new, previously unseen object in the environment. In particular, Figure 8A includes a first plot 802 for the "What color is the drum?" task (a task in which the agent is asked what color a drum is in the environment and must locate the drum and output text specifying the color of the located drum), and a second plot 804 for the "Pick up the drum" task (a task in which the agent is asked to locate the drum in the environment and pick it up).

[0181] Both plots 802 and 804 show the performance in the corresponding tasks of an agent 806 that has been pre-trained as described above (specifically using imitation learning and auxiliary control learning objectives) on training data that does not contain any mention of the noun "drum" and in an environment where drums are not present. After pre-training, an agent 814 is trained on additional data that includes various amounts of training data (and optionally some or all of the original training data) in which a new object (drum) is present. The various amounts of training data are shown on the x-axis and expressed in terms of the expert agent's interaction time with the new object. Performance in the tasks is plotted on the y-axis in terms of the percentage of instances of the task that are successfully completed.

[0182] Both plot 802 and plot 804 also show the performance in the corresponding tasks of an agent 808 that has not been pre-trained and is trained from scratch on additional data including varying amounts of training data in which a new object (a drum) is present (and, optionally, some or all of the original training data in which the object is not present).

[0183] As can be seen from FIG. 8A, for a given amount of additional training data, the pre-trained agent 806 performs significantly better than the non-pre-trained agent 808, indicating that the described techniques enable the agent to “learn” behaviors that can be carried over into learning to interact with new objects in the environment.

[0184] Figure 8B shows how much data is needed to learn how to execute a new command not previously seen in the environment. In particular, Figure 8B includes a first plot 812 for the "clean table" task (where the agent is asked to remove all objects from the table) and a second plot 814 for the "clean shelf" task (where the agent is asked to remove all objects from the shelf).

[0185] Both plots 812 and 814 show the performance in the corresponding tasks of an agent 816 that has been pre-trained as described above (specifically using imitation learning and auxiliary control learning objectives) on training data that does not include any instructions for the agent to tidy up any work surfaces (hence "tidy up" is a new verb). After pre-training, agent 816 is trained on additional data that includes various amounts of training data (and optionally some or all of the original training data) in which the new verb ("tidy up") is present. The various amounts of training data are shown on the x-axis and are expressed in terms of the expert agent's interaction time with the new object. Performance in the tasks is plotted on the y-axis in terms of the percentage of instances of the task that are successfully completed.

[0186] Both plots 812 and 814 also show the performance in the corresponding tasks of an agent 818 that has not been pre-trained and is trained from scratch on additional data including varying amounts of training data in which the new verb ("tidy up") is present (and, optionally, some or all of the original training data in which the verb is not present).

[0187] As can be seen in FIG. 8B, for a given amount of additional training data, the pre-trained agent 816 performs significantly better than the non-pre-trained agent 818, indicating that the described techniques enable the agent to “learn” behaviors that can be carried over into learning to execute new commands in the environment.

[0188] As described herein, a transformer neural network ("transformer") may be a neural network characterized by having a series of attention neural network layers, in an implementation, a self-attention neural network layer. The transformer neural network is configured to apply a series of attention neural network layers to an input sequence to generate, for each element of the input sequence, an output sequence comprising a transformed input element. The attention neural network layers have an attention layer input for each element of the input sequence (e.g., input data such as image data and / or text sequences, e.g., embeddings of natural language text sequences) and are configured to apply an attention mechanism across the attention layer inputs to generate an attention layer output for each element of the input sequence. The attention layer inputs and the attention layer outputs may comprise vectors of the same dimension, and the attention neural network layers may have residual connections. The output of the attention mechanism may be further processed by one or more fully connected feedforward neural network layers.

[0189] In general, a self-attention neural network may be a neural network that applies an attention mechanism to elements of an embedding (e.g., input data) to update each element of the embedding, e.g., where the input embeddings are used to determine a query vector and a set of key-value vector pairs (query key-value attention), and the updated embedding comprises a weighted sum of values ​​weighted by a similarity function of the query to each respective key.

[0190] There are many different attention mechanisms that can be used. For example, the attention mechanism may be a dot-product attention mechanism that is applied by applying the query vector to each key vector to determine a respective weight for each value vector, and then combining the multiple value vectors using the respective weights to determine the attention layer output for each element of the input sequence.

[0191] In the implementation of the present disclosure, the sequence of attention neural network layers comprises a transformer neural network subsystem of different successive layers, each layer applying a different (trained) attention function. However, the same attention neural network layer may be applied over time, e.g., the same (trained) attention function may be applied multiple times, optionally a variable number of times. The attention mechanism may implement multi-head attention, i.e., multiple different attention mechanisms may be applied in parallel. Each of the multiple attention mechanisms may then be referred to as an attention head. These outputs may then be combined, e.g., concatenated, using a trained linear transformation applied to reduce to the original dimensionality if necessary. In general, the term "trained" herein refers to a function or value that is being adjusted during the training of the system.

[0192] In some implementations, the attention neural network layers of a transformer neural network map an input sequence of n elements (input embeddings / data) to an output sequence of n elements. The input sequences are received and processed in parallel by the attention neural network layers to generate an output sequence. For example, each attention neural network layer after the first attention neural network layer may have an attention layer input that includes a hidden state and may generate an attention layer output for the next attention neural network layer that comprises activations for the hidden state. The attention layer output of the final attention neural network layer may be used to generate the elements of the output sequence.

[0193] In some implementations, a Transformer Neural Network maps an input sequence of n elements to an intermediate sequence of n elements, and the elements of the intermediate sequence are then processed one at a time by an autoregressive decoder to generate an output sequence.

[0194] The observational images are obtained, for example, from a camera or other image sensor, e.g., a LIDAR sensor (as used herein, "image" includes point clouds). The camera or other image sensor may be mounted on the agent or may be located separately from the agent in the environment. The observations may also include other sensor data, such as object position data, data from distance or position sensors, data from actuators, or sensed electronic signals, such as motor currents or temperature signals. In the case of a robot, the observations may also include one or more of data characterizing the current state of the robot, e.g., joint positions, joint velocities, joint forces, torques or accelerations, e.g., gravity-compensated torque feedback, and global or relative poses of one or more parts of a member or agent held by the robot. Optionally, in any of the described implementations, the observations at any given time step may include data from previous time steps that may be useful in characterizing the environment.

[0195] In general, the environment may comprise a real-world environment, each observation may characterize a real-world environment, and / or the agent may be a mechanical agent that interacts with the real-world environment. The environment may comprise both a real-world environment and a simulated environment simultaneously, e.g., in the case of an augmented or extended reality application.

[0196] The coded representations output by a perceptual encoder as described herein may be used for a number of different applications involving observed images characterizing the state of an environment at different time steps and natural language text sequences characterizing the environment. In some implementations, after a method for training a perceptual encoder neural network as described herein has been performed, the coded representations output by the trained perceptual encoder neural network may be used to control a mechanical agent that interacts with a real-world environment, e.g., to select one or more actions for the mechanical agent to perform in the real-world environment using one or more coded representations output by the perceptual encoder neural network. The perceptual encoder neural network may be trained, for example, using observed images characterizing the real-world environment and / or a simulated environment. The simulated environment may be constructed using parameters derived from sensor data that characterize the real-world environment, such as data characterizing one or more objects in the real-world environment, e.g., respective positions and / or velocities of one or more objects in the real-world environment. The coded representations may alternatively or additionally be used to perform other tasks, e.g., image processing tasks. For example, the encoded representation may be used to perform a classification task, such as recognizing or identifying one or more objects and / or speakers in an environment. Alternatively or additionally, the encoded representation may be used to perform an object segmentation or scene decomposition task for an observed image, such as segmenting an observed image into multiple image segments that characterize a real-world scene of words, for example, for purposes of medical imaging or autonomous driving.

[0197] In implementations, the natural language text sequence may be provided by a user through a natural language text sequence input interface, such as a computer keyboard or transcription device configured to transcribe an audible utterance made by the user.

[0198] This specification uses the term "configured" with respect to systems and computer program components. A system of one or more computers configured to perform a particular operation or action means that the system has installed thereon software, firmware, hardware, or a combination thereof that, in operation, causes the system to perform the operation or action. A computer program or programs configured to perform a particular operation or action means that one or more programs contain instructions that, when executed by a data processing device, cause the device to perform the operation or action.

[0199] The embodiments and functional operations of the subject matter described herein may be implemented in digital electronic circuitry, in tangibly embodied computer software or firmware, in computer hardware including the structures disclosed herein and their structural equivalents, or in a combination of one or more of them. The embodiments of the subject matter described herein may be implemented as one or more computer programs, e.g., one or more modules of computer program instructions encoded on a tangible non-transitory storage medium for execution by a data processing device or for controlling the operation of a data processing device. The computer storage medium may be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them. Alternatively or additionally, the program instructions may be encoded in an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information for transmission to a suitable receiver device for execution by a data processing device.

[0200] The term "data processing apparatus" refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including, by way of example, a programmable processor, a computer, or multiple processors or computers. An apparatus may also be or further include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). An apparatus may optionally include, in addition to hardware, code that creates an execution environment for a computer program, e.g., code that constitutes a processor firmware, a protocol stack, a database management system, an operating system, or one or more combinations thereof.

[0201] A computer program, which may also be referred to or described as a program, software, software application, app, module, software module, script, or code, may be written in any type of programming language, including compiled or interpreted languages, or declarative or procedural languages, and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A program may, but need not, correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program, or in multiple cooperating files, e.g., files that store one or more modules, subprograms, or portions of code. A computer program may be deployed to be executed on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a data communication network.

[0202] The term "engine" is used broadly herein to refer to a software-based system, subsystem, or process that is programmed to perform one or more specific functions. Generally, an engine is implemented as one or more software modules or components installed on one or more computers at one or more locations. In some cases, one or more computers are dedicated to a particular engine, and in other cases, multiple engines can be installed and running on the same computer or multiple computers.

[0203] The processes and logic flows described herein may be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows may also be performed by special purpose logic circuitry, e.g., FPGAs or ASICs, or by a combination of special purpose logic circuitry and one or more programmed computers.

[0204] A computer suitable for executing a computer program can be based on a general-purpose or special-purpose microprocessor or both, or any other type of central processing unit. In general, the central processing unit receives instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions, and one or more memory devices for storing instructions and data. The central processing unit and memory may be augmented by or incorporated in special-purpose logic circuitry. In general, a computer also includes one or more mass storage devices, e.g., magnetic disks, magneto-optical disks, or optical disks, for storing data, or is operatively coupled to receive data from or transfer data to them, or both. However, a computer need not have such devices. Moreover, a computer may be incorporated within another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, such as a Universal Serial Bus (USB) flash drive, to name just a few.

[0205] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices including, by way of example, semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices, magnetic disks, e.g., internal hard disks or removable disks, magneto-optical disks, and CD-ROM disks and DVD-ROM disks.

[0206] To interact with a user, embodiments of the subject matter described herein may be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user, and a keyboard and pointing device, e.g., a mouse or trackball, by which the user can provide input to the computer. Other types of devices may also be used to interact with the user, e.g., feedback provided to the user may be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback, and input from the user may be received in any form, including acoustic input, speech input, or tactile input. In addition, the computer may interact with the user by sending documents to and receiving documents from devices used by the user, e.g., by sending a web page to a web browser on the user's device in response to a request received from the web browser. The computer may also interact with the user by sending text messages or other forms of messages to a personal device, e.g., a smartphone running a messaging application, and receiving a response message from the user in return.

[0207] A data processing device for implementing machine learning models may also include, for example, a dedicated hardware accelerator unit for handling common computationally intensive parts, e.g., inference, workloads, of machine learning training or production.

[0208] The machine learning model may be implemented and deployed using a machine learning framework, for example, the TensorFlow framework or the Jax framework.

[0209] An embodiment of the subject matter described herein may be implemented in a computing system that includes back-end components, e.g., as a data server, or includes middleware components, e.g., an application server, or includes front-end components, e.g., a client computer having a graphical user interface, a web browser, or an app through which a user can interact with an implementation of the subject matter described herein, or any combination of one or more such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), e.g., the Internet.

[0210] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, a server sends data, e.g., HTML pages, to a user device, e.g., to display data to and receive user input from a user interacting with the device acting as a client. Data generated at the user device, e.g., a result of user interaction, may be received at the server from the device.

[0211] Although this specification contains many specific implementation details, these should not be interpreted as limitations on the scope of any invention or what may be claimed, but rather as descriptions of features that may be specific to a particular embodiment of a particular invention. Some features described in the context of a separate embodiment may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented separately in multiple embodiments or in any suitable subcombination. Moreover, although features may be described above as functioning in some combinations and may even be initially claimed as such, one or more features from a claimed combination may in some cases be deleted from the combination, and the claimed combination may be subject to a subcombination or a variation of the subcombination.

[0212] Similarly, although operations are shown in the figures and recited in the claims in a particular order, this should not be understood as requiring such operations to be performed in the particular order or sequential order shown, or that all of the illustrated operations be performed to achieve a desired result. In some environments, multitasking and parallel processing may be advantageous. Moreover, the separation of various system modules and components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the program components and systems described can generally be integrated together in a single software product or packaged in multiple software products.

[0213] Specific embodiments of the present subject matter have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. By way of example, the processes depicted in the accompanying figures do not necessarily require the particular order depicted, or sequential order, to achieve desirable results. In some cases, multitasking and parallel processing may be advantageous. [Explanation of symbols]

[0214] 100 Action Selection System 104 Interactive Agents 106 Environment 107 Other Agents 108 Action 110 Observation Images 122 Perceptual Encoder Neural Network 124 encoded representation 126 Policy Neural Networks 130 Natural Language Text Sequences 190 Training System 610 Image Embedding Neural Network 620 Text Embedding Neural Network 630 Multimodal Transformer 640 Memory Neural Network 650 Policy Neural Network 660 Language Generation Neural Network 670 High Level Controller 680 Contrastive Learning Aid Loss

Claims

1. 1. A method for controlling an agent interacting with an environment, executed by one or more computers, comprising: receiving an observed image characterizing a state of the environment at the time step; receiving a natural language text sequence for the time step, the natural language text sequence characterizing a task being performed by the agent in the environment at the time step; processing the observed images using an image embedding neural network to generate a plurality of image embeddings representing the observed images; processing the natural language text sequence using a text embedding neural network to generate a plurality of text embeddings representing the natural language text sequence; processing an input comprising the image embeddings and the text embeddings using a multimodal transformer neural network to generate aggregate embeddings, the multimodal transformer neural network being configured to (i) apply self-attention across at least the text embeddings and the image embeddings to generate updated embeddings for at least the plurality of text embeddings, and (ii) generate the aggregate embeddings from the updated embeddings for at least the text embeddings; selecting, using the aggregate embedding, one or more actions to be performed by the agent in response to the observed image; causing the agent to perform the one or more selected actions; A method comprising:

2. 2. The method of claim 1 , wherein the multimodal transformer neural network comprises one or more self-attention layers, each having one or more self-attention heads, and wherein applying self-attention comprises processing the input through the one or more self-attention layers.

3. 3. The method of claim 2, wherein the inputs to the multimodal transformer neural network comprise the image embeddings, the text embeddings, and one or more proprietary embeddings.

4. 4. The method of claim 3, wherein applying self-attention comprises generating updated embeddings for the text embeddings and the dedicated embeddings, respectively, without updating the image embeddings.

5. Each self-attention head in each self-attention layer receiving a head input comprising: (i) the image embeddings generated by the image embedding neural network; and (ii) current embeddings for the text embeddings and the dedicated embeddings, respectively; generating a respective query corresponding to each text embedding and each dedicated embedding from the respective current embeddings; generating a respective key corresponding to each image embedding, each text embedding, and each dedicated embedding from the image embedding and the respective current embedding; generating a respective value corresponding to each image embedding, each text embedding, and each dedicated embedding from the image embedding and the respective current embedding; applying query key-value attention across the respective queries, keys, and values ​​to generate respective initial updated embeddings for each text embedding and each dedicated embedding without updating the image embeddings; The method of claim 3 , configured to:

6. 4. The method of claim 3, wherein generating the aggregate embedding comprises: aggregating the respective updated embeddings for the text embedding and the private embedding to generate an initial aggregated embedding; combining the respective updated embeddings for the private embeddings with the initial aggregated embeddings to generate the aggregated embeddings; The method of claim 3 comprising:

7. 7. The method of claim 6, wherein the combining step comprises concatenating each dedicated embedding and each respective updated embedding for the initial aggregate embedding.

8. selecting one or more actions to be performed by the agent in response to the observed image using the aggregate embedding, generating a state representation from the aggregate embedding; selecting the one or more actions using the state representation; The method of claim 1 , comprising:

9. 9. The method of claim 8, wherein generating the state representation comprises processing the aggregated embeddings using a memory neural network.

10. The method of claim 9 , wherein the memory neural network is a recurrent neural network.

11. processing the state representations using a natural language generation neural network to generate an output text sequence for the time step. The method of claim 8, further comprising:

12. The natural language text sequences are generated by transcribing verbalized utterances from another agent in the environment, the method comprising: generating a speech representing the output text sequence for the time step; having the agent verbalize the generated speech; The method of claim 11 , further comprising:

13. processing the state representation using a text-free neural network to generate an indication of whether text should be generated at the time step; processing the state representation for the time step using a natural language generation neural network to generate an output text sequence for the time step; generating said output text sequence only if said indication indicates that text should be generated at said time step. The method of claim 11 comprising:

14. selecting the one or more actions using the state representation, 9. The method of claim 8, comprising processing the state representation using an action policy neural network to select a single action to be performed in response to an image observation.

15. selecting the one or more actions using the state representation, 9. The method of claim 8, comprising processing the state representation to select a sequence of a plurality of actions to be performed in response to an image observation, the sequence comprising a respective action at each of a plurality of locations.

16. The step of processing the state representation comprises: processing the state representation using a high-level controller neural network of the higher level to generate, for each position in the sequence, a low-level input for each of the lower levels in a hierarchy including the lower level and the higher level; processing the respective low-level inputs for the positions using a policy neural network to select, for each position, the action to be performed by the agent at the position in the sequence; The method of claim 15 comprising:

17. 17. The method of claim 16, wherein the high-level controller neural network receives the state representation as an input and then autoregressively generates the respective low-level inputs for each position in the sequence.

18. 20. The method of claim 17, wherein the high-level controller neural network is a recurrent neural network.

19. processing the state representation using an action-free neural network to generate an indication of whether any action should be performed at the time step; causing the agent to perform one or more actions, causing the agent to perform the action only if the indication indicates that the action should be performed at the time step. The method of claim 8 comprising:

20. The method of claim 1 , wherein the natural language text sequences are generated by transcribing verbalized utterances from another agent in the environment.

21. 1. A method for controlling an agent interacting with an environment, executed by one or more computers, comprising: receiving an observed image for the time step, the observed image characterizing a state of the environment at the time step; receiving a natural language text sequence for the time step, the natural language text sequence characterizing a task being performed by the agent in the environment at the time step; processing the observed images and the natural language text sequence to generate a state representation for the time step; generating a sequence of a plurality of actions to be performed by the agent in response to the observed image at the time step, the sequence comprising a respective action to be performed by the agent at each of a plurality of locations, the generating step comprising: processing the state representation using a high-level controller neural network of the higher level to generate, for each position in the sequence, a low-level input for each of the lower levels in a hierarchy including the lower level and the higher level; processing the respective low-level inputs for said positions using an action policy neural network to generate, for each position, the action to be performed by the agent at said position in the sequence; causing the agent to execute the sequence of actions; A method comprising:

22. processing the state representation for the time step using a natural language generation neural network to generate an output text sequence for the time step.

22. The method of claim 21, further comprising:

23. The natural language text sequences are generated by transcribing verbalized utterances from another agent in the environment, the method comprising: generating a speech representing the output text sequence for the time step; having the agent verbalize the generated speech; 23. The method of claim 22, further comprising:

24. processing the state representation using a text-free neural network to generate an indication of whether text should be generated at the time step; processing the state representation for the time step using a natural language generation neural network to generate an output text sequence for the time step; generating said output text sequence only if said indication indicates that text should be generated at said time step.

23. The method of claim 22, comprising:

25. processing the state representation using an action-free neural network to generate an indication of whether any action should be performed at the time step; causing the agent to execute the sequence of actions, causing the agent to perform the sequence of actions only if the indication indicates that an action should be performed at the time step. The method of claim 21 , comprising:

26. 22. The method of claim 21, wherein the high-level controller neural network receives the state representation as an input and then autoregressively generates the respective low-level inputs for each position in the sequence.

27. the action policy neural network comprising a respective sub-network for each of a plurality of sub-actions, processing the respective low-level inputs for the location using an action policy neural network to generate the action to be performed by the agent at the location in the sequence, comprising: for each of said plurality of sub-actions, processing an input comprising said respective low-level input for said location using said sub-network for said sub-action to select a value for said sub-action for said location. The method of claim 21 , comprising:

28. 28. The method of claim 27, wherein for at least one of the sub-actions, the input comprises the value selected for one or more of the other sub-actions at the location.

29. 1. A method for training a perceptual encoder neural network configured to receive as inputs observed images characterizing a state of an environment at a time step and a natural language text sequence characterizing said environment, and to generate as output an encoded representation for said time step, comprising: Obtaining a plurality of training pairs, the plurality of training pairs comprising: (i) a first pair comprising an observed image and a natural language text sequence, both corresponding to the same time step; and (ii) providing one or more second pairs, each pair comprising an observed image and a natural language text sequence corresponding to a different time step; processing each training pair using said perceptual encoder neural network to generate a respective encoded representation for each training pair; processing each coded representation for each training pair using a discriminator neural network configured to process each coded representation to generate, for each training pair, a respective discriminator score that represents the likelihood that the observed image and the natural language text sequence in the pair from which the coded representation was generated correspond to the same time step; training the perceptual encoder neural network using a contrast learning loss based on the respective discriminator scores for each training pair; A method comprising:

30. 30. The method of claim 29, wherein the perceptual encoder neural network comprises a text embedding neural network, an image embedding neural network, and a multimodal transformer neural network as claimed in any one of claims 1 to 28, and the encoded representation is the aggregate embedding of claim 1 generated by the multimodal transformer neural network.

31. 30. The method of claim 29, wherein the control learning loss encourages the respective discriminator scores for the first pair to be larger while encouraging the respective discriminator scores for the second pair to be smaller.

32. 30. The method of claim 29, wherein the discriminator neural network is a feed-forward neural network that processes each encoded representation independently to generate the respective discriminator score for the corresponding training pair.

33. generating respective probability distributions over a set of actions for each of one or more positions in a sequence of actions from the encoded representations for a first training pair using at least a policy neural network; obtaining data specifying a respective ground truth action to be performed by an expert agent at each of the one or more locations; training at least the policy neural network and the perceptual encoder neural network based on a behavior cloning loss that measures, for each position in the sequence of actions, the probability of being assigned to the ground truth action at the position by the probability distribution over the positions; 30. The method of claim 29, further comprising:

34. training the discriminator neural network against an objective function that measures, for each first training pair, an error between the respective discriminator score for the first training pair and a first score indicating that the observed image and text sequence in the pair correspond to the same time step, and, for each second training pair, an error between the respective discriminator score for the second training pair and a second score indicating that the observed image and text sequence in the pair do not correspond to the same time step.

30. The method of claim 29, further comprising:

35. A system comprising one or more computers and one or more storage devices storing instructions that, when executed by the one or more computers, cause the one or more computers to perform a respective method according to any one of claims 1 to 34.

36. One or more computer-readable storage media storing instructions that, when executed by one or more computers, cause the one or more computers to perform a respective method as recited in any one of claims 1 to 34.

Citation Information

Patent Citations

  • Cooking robot, cooking robot control device and control method

    JP2020075302A

  • Optimizing Policy Controllers for Robotic Agents Using Image Embedding

    JP2020530602A

  • Image description position determination method and device, electronic device, and storage medium

    JP2021509979A

  • Memory in embodied agents

    WO2021005540A2

  • Planning for agent control using learned hidden states

    WO2021152515A1