IP Library › Granted Patent US 11,222,262
Granted Patent B2
US 11,222,262 · App. 15/608,129 · Granted Jan 11, 2022

Non-Markovian control with gated end-to-end memory policy networks

Inventors: Julien Perez (Grenoble, FR); Tomi Silander (Grenoble, FR)
Assignee: Xerox Corporation
G06N3/08G05B13/027G06N3/006G06N3/0445G06N3/0454G06N7/005G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,222,262
App. No.
15/608,129
Filed
May 30, 2017
Granted
Jan 11, 2022
Kind
B2
Art Unit
2128
USPC
706/15
Abstract

A system and method for predicting a sequence of actions employ a Gated End-to-End Memory Policy Network (GMemN2NP), which includes a sequence of hop(s). Supporting memories of the hops include memory cells generated from observations made at different times. A sequence of actions is predicted, based on input agent-specific variables. For each action, the model, at each hop, outputs an updated controller state which is used as input to the next hop or, for the terminal hop, for computing the respective action. Each hop includes a transform gate mechanism which is used to control the influence of output of the supporting memories on the updated controller state. For the second and subsequent hops, respective actions are predicted, after using any intervening observations to update the supporting memories. The model is learned, on a training set of observations, to optimize the cumulative reward of a sequence of two or more actions.

Claims (80)

1. A method for predicting a sequence of actions for a dialog system comprising:

learning parameters of an end-to-end neural network model comprising a sequence of at least one hop, each hop including supporting memories, each supporting memory including memory cells generated from a set of observations for an environment at different times, at least some of the observations each comprising a representation of a sequence of utterances of a human user of the dialog system;

with a processor, predicting a sequence of actions to be performed by an agent, the sequence including at least a first and a second action, the first and a second actions comprising dialog acts of the agent, the predicting of the first of the sequence of actions, comprising:

receiving an agent input comprising a value for each of a set of agent-specific variables of a dialog state to be instantiated;

for each hop, computing an updated controller state comprising:

applying a gate mechanism to an input controller state to generate first and second gate transforms, wherein for a first of the sequence of hops, the input controller state is generated from the agent input and for a subsequent hop, the input controller state is the updated controller state of the preceding hop,

computing an output of the supporting memories based on the input controller state,

combining an elementwise product of the output of the supporting memories and first gate transform with an elementwise product of the input controller state and the second gate transform to generate the updated controller state;

predicting the first action be performed by the agent, based on the updated controller state of a terminal one of the hops, and

updating the values of the agent input based on the first action;

the predicting of the second of the sequence of actions to be performed by the agent comprising:

repeating the computing of an updated controller state for each hop, wherein for a first of the sequence of hops, the input controller state is generated from a previously generated updated agent input;

predicting the second action to be performed by the agent, based on the updated controller state of a terminal one of the hops; and

outputting the predicted second action.

2. The method of claim 1 , wherein the parameters of the end-to-end neural network model are learned to optimize a cumulative rewards, the cumulative reward being computed for a set of sequences of user actions.

3. The method of claim 1 , wherein the sequence of at least one hop comprises at least two hops.

4. The method of claim 1 , wherein the input controller state is generated from the agent input with an agent variable transformation in the form of a matrix.

5. The method of claim 1 , wherein the supporting memories comprise sets of input and output memory cells that are generated from respective observations with respective transformations.

6. The method of claim 5 , wherein an attention vector is composed of attention weights p i that are computed according to:

p i =softmax( u T m i )  (1)

and wherein the output of the supporting memories for each hop k is computed according to:

o

k

=

∑

i

⁢

p

i

⁢

c

i

,

(

2

)

where m i and c i are the respective input and output memory cells for an ith one of the observations.

7. The method of claim 1 , wherein for each hop k of the at least one hop, the first gate transform is computed according to:

T k ( u k )=σ( W T k u k +b T k )  (3)

and wherein the second gate transform is computed according to: 1−T 1 (u 1 ),

where: u k is the input controller state,

W T k and b T k are respectively a hop-specific parameter matrix and a bias term for the kth hop, and

σ denotes a sigmoid function.

8. The method of claim 1 , wherein the updated controller state u k+1 for a kth one of the hops is computed according to:

u k+1 =o k ⊙T k ( u k )+ u k ⊙(1− T k ( u k ))  (4),

where o k is the output of the supporting memories and T k (u k ) and 1−T k (u k ) are the first and second gate transforms for the kth hop.

9. The method of claim 7 , wherein 0<T k (u k )<1 for at least one of the hops.

10. The method of claim 1 , wherein the predicted action is sampled from a distribution:

â =softmax( W ( o K +U K )),  (5)

where â is the predicted action distribution, Wϵ do×d is a parameter matrix, and K is a total number of hops.

11. The method of claim 1 , wherein the method includes updating the supporting memories based on an observation received after the predicting of the first of the sequence of actions.

12. The method of claim 1 further comprising learning the model in an end-to-end manner by asynchronous Q-learning.

13. The method of claim 1 , wherein each of the observations is a vector.

14. The method of claim 1 , wherein each of the observations is a representation of a current state of an environment in which actions are taken.

15. The method of claim 1 , further comprising outputting at least one of:

the sequence of actions;

a cumulative reward for each of the actions; and

an updated set of values of the agent input.

16. The method of claim 1 , wherein the learning of the parameters of the end-to-end neural network model comprises:

receiving a set of sequences of observations, each sequence being associated with an agent input comprising a value for each of a set of agent-specific variables;

with a processor, for each of a plurality of hops of the model:

generating supporting memories based on the observations, including, for each observation, computing an input memory cell and an output memory cell; and

providing a transform gate which weights an output of the supporting memories, given an input controller state the input controller state is generated from the agent input and for a subsequent hop, the input controller state is the updated controller state of the preceding hop;

for each sequence and for each observation in the sequence, computing an action based on the updated controller state of a terminal one of the hops; and

updating parameters of the model to optimize a cumulative reward for the sequence of actions.

17. The method of claim 16 , wherein the parameters of the model include, for each hop, a hop-specific parameter matrix and a bias term for computing the transform gate.

18. A system for predicting a sequence of agent actions comprising:

memory which stores an end-to-end neural network model comprising a sequence of hops, each hop including supporting memories, each supporting memory including memory cells generated from a set of observations for an environment at different times, at least some of the observations each comprising a representation of a sequence of utterances of a human user;

instructions stored in memory and a processor in communication with the memory for executing the instructions for:

predicting a first of a sequence of actions to be performed by an agent, the first action comprising a dialog act of the agent, which is limited to a predefined set of dialog acts or types of dialog act, comprising:

receiving an agent input comprising a value for each of a predefined set of agent-specific variables to be instantiated with values;

for each hop, computing an updated controller state comprising:

applying a gate mechanism to an input controller state to generate first and second gate transforms, wherein for a first of the sequence of hops, the input controller state is generated from the agent input and for a subsequent hop, the input controller state is the updated controller state of the preceding hop,

computing an output of the supporting memories based on the input controller state,

combining an elementwise product of the output of the supporting memories and first gate transform with an elementwise product of the input controller state and the second gate transform to generate the updated controller state;

predicting the first action based on the updated controller state of a terminal one of the hops, and

updating the values of the agent input;

predicting at least a second of the sequence of actions to be performed by the agent, the second action comprising a dialog act of the agent, comprising:

repeating the computing of an updated controller state for each hop, wherein for a first of the sequence of hops, the input controller state is generated from a previously generated updated agent input; and

predicting the second action based on the updated controller state of a terminal one of the hops.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2025
From: XEROX CORPORATION
To: GENESEE VALLEY INNOVATIONS, LLC
Reel/Frame 073562/0677 →
SECOND LIEN NOTES PATENT SECURITY AGREEMENT Recorded Jul 2, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071785/0550 →
FIRST LIEN NOTES PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070824/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 062740/0214 Recorded May 18, 2023
From: CITIBANK, N.A., AS AGENT
To: XEROX CORPORATION
Reel/Frame 063694/0122 →
SECURITY INTEREST Recorded Nov 10, 2022
From: XEROX CORPORATION
To: CITIBANK, N.A., AS AGENT
Reel/Frame 062740/0214 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2017
From: PEREZ, JULIEN; SILANDER, TOMI
To: XEROX CORPORATION
Reel/Frame 042530/0801 →
Continuity (1)
Related Publication 20180348716A1 · Dec 6, 2018