IP Library Patent Application 16002463
Patent Application
App. No. 16/002,463

Key-Value Memory Networks

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 None
App. No.
16/002,463
Abstract

In one embodiment, a computing system may generate a query vector representation of an input (e.g., a question). The system may generate relevance measures associated with a set of key-value memories based on comparisons between the query vector representation and key vector representations of the keys in the memories. The system may generate an aggregated result based on the relevance measures and value vector representations of the values in the memories. Through an iterative process that iteratively updates the query vector representation used in each iteration, the system may generate a final aggregated result using a final query vector representation. A combined feature representation may be generated based on the final aggregated result and the final query vector representation. The system may select an output (e.g., an answer to the question) in response to the input based on comparisons between the combined feature representation and a set of candidate outputs.

Claims (67)

1 . A method comprising, by a computing device:

receiving an input;

generating a first query vector representation that represents the input;

generating first relevance measures associated with a set of key-value memories that each has an associated key and an associated value, wherein the first relevant measures are generated based on comparisons between the first query vector representation and key vector representations that represent the keys associated with the set of key-value memories;

generating a first aggregated result based on (1) the first relevance measures for the set of key-value memories and (2) value vector representations that represent the values associated with the set of key-value memories;

generating, through an iterative process, a final aggregated result using a final query vector representation, wherein an initial iteration in the iterative process comprises:

generating a second query vector representation based on the first query vector representation, the first aggregated result, and a first machine-learning model;

generating second relevance measures associated with the set of key-value memories using the second query vector representation; and

generating a second aggregated result using the second relevance measures;

generating a combined feature representation based on the final aggregated result and the final query vector representation; and

selecting an output in response to the input based on comparisons between the combined feature representation and a set of candidate outputs.

2 . The method of claim 1 , wherein after the initial iteration, each subsequent iteration of the iterative process comprises:

generating a current-iteration query vector representation based on (1) an immediately-preceding-iteration query vector representation that is generated in an immediately-preceding iteration, (2) an immediately-preceding-iteration aggregated result that is generated in the immediately-preceding iteration, and (3) a current-iteration machine-learning model;

generating current-iteration relevance measures by comparing the current-iteration query vector representation with the key vector representations; and

generating a current-iteration aggregated result based on the current-iteration relevance measures and the value vector representation.

3 . The method of claim 2 ,

wherein the first machine-learning model and the current-iteration machine-learning model of each subsequent iteration of the iterative process are trained using a set of training samples that each comprises a training input and a target output.

4 . The method of claim 1 , wherein the input is a question and the output is an answer to the question.

5 . The method of claim 1 , further comprising:

selecting the set of key-value memories based on the input.

6 . The method of claim 1 , wherein each of the first query vector representation, the key vector representations, and the value vector representations is an embedding.

7 . The method of claim 1 ,

wherein the first query vector representation is generated using a second machine-learning model and the input;

wherein each of the key vector representations is generated using the second machine-learning model and the associated key; and

wherein each of the value vector representations is generated using the second machine-learning model and the associated value.

8 . The method of claim 7 ,

wherein the first machine-learning model and the second machine-learning model are iteratively trained using a set of training samples that each comprises a training input and a target output;

wherein for each training sample in the set of training samples, the first machine-learning model and the second machine-learning model are updated based on a comparison between (1) a training output selected in response to the training input of the training sample and (2) the target output of the training sample.

9 . The method of claim 7 , wherein the first machine-learning model or the second machine-learning model is a matrix generated using a machine learning algorithm.

10 . The method of claim 1 , wherein the first relevance measure for each key-value memory in the set of key-value memories is a probability.

11 . The method of claim 1 , wherein the first aggregated result is a weighted sum of the value vector representations weighted by their respective associated first relevance measures.

12 . The method of claim 1 , wherein the set of candidate outputs are each a vector representation, generated using a second machine-learning model, of an associated candidate text output.

13 . The method of claim 1 , wherein a first key-value memory in the set of key-value memories is associated with a knowledge base entry that comprises a subject, an object, and a first relation between the subject and the object, wherein the key of the first key-value memory represents the subject and the first relation, wherein the value of the first key-value memory represents the object.

14 . The method of claim 13 , wherein the key of a second key-value memory in the set of key-value memories represents the object and a second relation between the object and the subject, wherein the value of the second key-value memory represents the subject.

15 . The method of claim 1 ,

wherein a first key-value memory in the set of key-value memories is associated with a window of words in a document, wherein the key of the first key-value memory represents the window of words, wherein the value of the first key-value memory represents a center word in the window of words.

16 . The method of claim 15 , wherein a second key-value memory in the set of key-value memories is associated with the window of words in the document, wherein the key of the second key-value memory represents the window of words, wherein the value of the second key-value memory represents a title of the document.

17 . One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

receive an input;

generate a first query vector representation that represents the input;

generate first relevance measures associated with a set of key-value memories that each has an associated key and an associated value, wherein the first relevant measures are generated based on comparisons between the first query vector representation and key vector representations that represent the keys associated with the set of key-value memories;

generate a first aggregated result based on (1) the first relevance measures for the set of key-value memories and (2) value vector representations that represent the values associated with the set of key-value memories;

generate, through an iterative process, a final aggregated result using a final query vector representation, wherein an initial iteration in the iterative process comprises:

generate a second query vector representation based on the first query vector representation, the first aggregated result, and a first machine-learning model;

generate second relevance measures associated with the set of key-value memories using the second query vector representation; and

generate a second aggregated result using the second relevance measures;

generate a combined feature representation based on the final aggregated result and the final query vector representation; and

select an output in response to the input based on comparisons between the combined feature representation and a set of candidate outputs.

18 . The media of claim 17 , wherein after the initial iteration, each subsequent iteration of the iterative process comprises:

generate a current-iteration query vector representation based on (1) an immediately-preceding-iteration query vector representation that is generated in an immediately-preceding iteration, (2) an immediately-preceding-iteration aggregated result that is generated in the immediately-preceding iteration, and (3) a current-iteration machine-learning model;

generate current-iteration relevance measures by comparing the current-iteration query vector representation with the key vector representations; and

generate a current-iteration aggregated result based on the current-iteration relevance measures and the value vector representation.

19 . A system comprising: one or more processors and one or more computer-readable non-transitory storage media coupled to one or more of the processors and comprising instructions operable when executed by one or more of the processors to cause the system to:

receive an input;

generate a first query vector representation that represents the input;

generate first relevance measures associated with a set of key-value memories that each has an associated key and an associated value, wherein the first relevant measures are generated based on comparisons between the first query vector representation and key vector representations that represent the keys associated with the set of key-value memories;

generate a first aggregated result based on (1) the first relevance measures for the set of key-value memories and (2) value vector representations that represent the values associated with the set of key-value memories;

generate, through an iterative process, a final aggregated result using a final query vector representation, wherein an initial iteration in the iterative process comprises:

generate a second query vector representation based on the first query vector representation, the first aggregated result, and a first machine-learning model;

generate second relevance measures associated with the set of key-value memories using the second query vector representation; and

generate a second aggregated result using the second relevance measures;

generate a combined feature representation based on the final aggregated result and the final query vector representation; and

select an output in response to the input based on comparisons between the combined feature representation and a set of candidate outputs.

20 . The system of claim 19 , wherein after the initial iteration, each subsequent iteration of the iterative process comprises:

generate a current-iteration query vector representation based on (1) an immediately-preceding-iteration query vector representation that is generated in an immediately-preceding iteration, (2) an immediately-preceding-iteration aggregated result that is generated in the immediately-preceding iteration, and (3) a current-iteration machine-learning model;

generate current-iteration relevance measures by comparing the current-iteration query vector representation with the key vector representations; and

generate a current-iteration aggregated result based on the current-iteration relevance measures and the value vector representation.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2018
From: MILLER, ALEXANDER HOLDEN; FISCH, ADAM JOSHUA; DODGE, JESSE DEAN; KARIMI, AMIR-HOSSEIN; BORDES, ANTOINE; WESTON, JASON E.
To: FACEBOOK, INC.
Reel/Frame 046117/0754 →