Distributed memory-augmented neural network architecture

US11176043B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11176043-B2
Application numberUS-202016838294-A
CountryUS
Kind codeB2
Filing dateApr 2, 2020
Priority dateApr 2, 2020
Publication dateNov 16, 2021
Grant dateNov 16, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for using a distributed memory device in a memory augmented neural network system includes receiving, by a controller, an input query to access data stored in the distributed memory device, the distributed memory device comprising a plurality of memory banks. The method further includes determining, by the controller, a memory bank selector that identifies a memory bank from the distributed memory device for memory access, wherein the memory bank selector is determined based on a type of workload associated with the input query. The method further includes computing, by the controller and by using content based access, a memory address in the identified memory bank. The method further includes generating, by the controller, an output in response to the input query by accessing the memory address.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for using a distributed memory device in a memory augmented neural network system, the method comprising: receiving, by a controller, an input query to access data stored in the distributed memory device, the distributed memory device comprising a plurality of memory banks; determining, by the controller, a memory bank selector that identifies a memory bank from the distributed memory device for memory access, wherein the memory bank selector is determined based on a type of workload associated with the input query; computing, by the controller and by using content based access, a memory address in the identified memory bank; and generating, by the controller, an output in response to the input query by accessing the memory address. 2. The method of claim 1 , wherein the memory banks in the distributed memory device are heterogeneous, with a first memory bank in the distributed memory device having attributes that are distinct from those of a second memory bank in the distributed memory device. 3. The method of claim 1 , wherein the memory banks in the distributed memory device are homogenous, with the memory banks having substantially same attributes. 4. The method of claim 1 , wherein the computing the memory address comprises: sending the memory bank selector as an input signal to a multiplexer that couples the identified memory bank with a weighting unit that computes the memory address. 5. The method of claim 4 , wherein the weighting unit computes the memory address using a key strength parameter (β) and a key vector (k t ), both of which are computed by the controller based on the content based addressing. 6. The method of claim 4 , wherein the weighting unit computes a weight vector as Softmax(K[k t ⊙s t , ⊙s t ]·β), wherein K is a similarity function based on the key vector k t , a memory matrix of the identified memory bank, a key strength parameter β, and the memory bank selector s t . 7. The method of claim 1 , wherein each of the memory banks in the distributed memory device is represented by a distinct memory matrix . 8. A neural network system, comprising: a distributed memory device comprising a plurality of memory banks; and a controller coupled with the distributed memory device, the controller configured to perform a method to access data stored in the distributed memory device, the method comprising: receiving an input query to access data stored in the distributed memory device; determining a memory bank selector that identifies a memory bank from the distributed memory device for memory access, wherein the memory bank selector is determined based on a type of workload associated with the input query; computing, by using content based access, a memory address in the identified memory bank; and generating an output in response to the input query by accessing the memory address. 9. The neural network system of claim 8 , wherein the memory banks in the distributed memory device are heterogeneous, with a first memory bank in the distributed memory device having attributes that are distinct from those of a second memory bank in the distributed memory device. 10. The neural network system of claim 8 , wherein the memory banks in the distributed memory device are homogenous, with the memory banks having substantially same attributes. 11. The neural network system of claim 8 , wherein the computing the memory address comprises: sending the memory bank selector as an input signal to a multiplexer that couples the identified memory bank with a weighting unit that computes the memory address. 12. The neural network system of claim 11 , wherein the weighting unit computes the memory address using a key strength parameter (β) and a key vector (k t ), both of which are computed by the controller based on the content based addressing. 13. The neural network system of claim 11 , wherein the weighting unit computes a weight vector as Softmax(K[k t ⊙s t , ⊙s t ]·β), wherein K is a similarity function based on the key vector k t , a memory matrix of the identified memory bank identified, a key strength parameter β, and the memory bank selector s t . 14. The neural network system of claim 8 , wherein each of the memory banks in the distributed memory device is represented by a distinct memory matrix . 15. A memory address determination apparatus, comprising: a selection unit; and a weighting unit; wherein, the memory address determination apparatus is configured to perform a method to access data stored in a distributed memory device, the method comprising: receiving, by the selection unit, a memory bank selector that identifies a memory bank from the distributed memory device for a memory access, the memory bank selector determined based on a type of workload associated with an input query received by a controller of a neural network; and computing, by the weighting unit, a memory address, using content based access, in the memory bank identified, the memory address is used to access data from the distributed memory to generate an output in response to the input query. 16. The memory address determination apparatus of claim 15 , wherein the memory banks in the distributed memory device are heterogeneous, with a first memory bank in the distributed memory device having attributes that are distinct from those of a second memory bank in the distributed memory device. 17. The memory address determination apparatus of claim 15 , wherein the memory banks in the distributed memory device are homogenous, with the memory banks having substantially same attributes. 18. The memory address determination apparatus of claim 15 , wherein the computing the memory address comprises: sending the memory bank selector as an input signal to a multiplexer that couples the identified memory bank with a weighting unit that computes the memory address. 19. The memory address determination apparatus of claim 18 , wherein the weighting unit computes a weight vector as Softmax(K[k t ⊙s t , ⊙s t ]·β), wherein K is a similarity function based on the key vector k t , a memory matrix of the identified memory bank identified, a key strength parameter β, and the memory bank selector s t . 20. The memory address determination apparatus of claim 15 , wherein each of the memory banks in the distributed memory device is represented by a distinct memory matrix .

Assignees

Inventors

Classifications

  • Recurrent networks, e.g. Hopfield networks · CPC title

  • Combinations of networks · CPC title

  • characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU] · CPC title

  • using electronic means · CPC title

  • Learning methods · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11176043B2 cover?
A method for using a distributed memory device in a memory augmented neural network system includes receiving, by a controller, an input query to access data stored in the distributed memory device, the distributed memory device comprising a plurality of memory banks. The method further includes determining, by the controller, a memory bank selector that identifies a memory bank from the distri…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F12/0284. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 16 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).