Back propagation gates and storage capacitor for neural networks

US9779355B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9779355-B1
Application numberUS-201615266332-A
CountryUS
Kind codeB1
Filing dateSep 15, 2016
Priority dateSep 15, 2016
Publication dateOct 3, 2017
Grant dateOct 3, 2017

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.

Technical solutions are described for implementing a neural network. An example system includes a crosspoint array including a plurality of nodes, each node representing a weight assigned to a neuron of the neural network. The system also includes a capacitor associated with a set of nodes from the plurality of nodes, where the capacitor is configured to store a current value corresponding to a sum of outputs from each respective node from the set of nodes. The system also includes a clocking circuit that initiates a forward pass to propagate the current value stored in the capacitor to a subsequent layer of the neural network. The clocking circuit further initiates a backward pass to propagate the current value stored in the capacitor to a preceding layer of the neural network. The clocking circuit further initiates a weight-update pass to update the weights in the neural network.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for implementing a neural network, the system comprising: a crosspoint array comprising a plurality of nodes, each node representing a weight assigned to a neuron of the neural network; a capacitor associated with a set of nodes from the plurality of nodes, wherein the capacitor is configured to store a current value corresponding to a sum of outputs from each respective node from the set of nodes; and a clocking circuit comprises a first clocking device, a second clocking device, a third clocking device, and a fourth clocking device, wherein the clocking circuit is configured to: initiate a forward pass to propagate the current value stored in the capacitor to a subsequent layer of the neural network by setting the second clocking device and the third clocking device; initiate a backward pass to propagate the current value stored in the capacitor to a preceding layer of the neural network by setting the first clocking device and the third clocking device; and initiate a weight-update pass to update the weights in the neural network by setting the second clocking device and the fourth clocking device. 2. The system of claim 1 , wherein the capacitor stores the sum of outputs from each respective node from the set of nodes in response to a forward pass initiation. 3. The system of claim 1 , wherein the capacitor propagates the stored current value to the preceding layer of the neural network in response to the backward pass initiation. 4. The system of claim 1 , wherein the weights of the neural network are updated based on the value stored in the capacitor and an error signal received from the subsequent layer of the neural network. 5. The system of claim 1 , wherein the crosspoint array comprises: a set of conductive row wires; a set of conductive column wires configured to form a plurality of crosspoints at intersections between the set of conductive row wires and the set of conductive column wires; and a two-terminal RPU at each of the plurality of crosspoints. 6. The system of claim 5 , wherein the two-terminal RPU comprises: a first terminal; a second terminal; and an active region having a conduction state; wherein the active region is configured to effect a non-linear change in the conduction state based on at least one first encoded signal applied to the first terminal and at least one second encoded signal applied to the second terminal. 7. A crosspoint array for implementing a neural network, the crosspoint array comprising: a set of conductive row wires; a set of conductive column wires configured to form a plurality of crosspoints at intersections between the set of conductive row wires and the set of conductive column wires; a memristor at each of the plurality of crosspoints configured to store a weight of the neural network; a capacitor associated with a set of crosspoints from the crosspoint array, wherein the capacitor is configured to store a current value corresponding to a sum of outputs from each respective memristor from the set of crosspoints; and a clocking circuit, which comprises a first clocking device, a second clocking device, a third clocking device, and a fourth clocking device, wherein the clocking circuit is configured to: initiate a forward pass to propagate the current value stored in the capacitor to a subsequent layer of the neural network by setting the second clocking device and the third clocking device; initiate a backward pass to propagate the current value stored in the capacitor to a preceding layer of the neural network by setting the first clocking device and the third clocking device; and initiate a weight-update pass to update the weights in the neural network by setting the second clocking device and the fourth clocking device. 8. The crosspoint array of claim 7 , wherein the memristor comprises a two-terminal resistive processing unit (RPU). 9. The crosspoint array of claim 8 , the two-terminal RPU comprises: a first terminal; a second terminal; and an active region having a conduction state; wherein the active region is configured to effect a non-linear change in the conduction state based on at least one first encoded signal applied to the first terminal and at least one second encoded signal applied to the second terminal. 10. A non-transitory computer program product for implementing a neural network, the computer program product comprising a computer readable storage medium, the computer readable storage medium comprising computer executable instructions, wherein the computer readable storage medium comprises instructions to: set one or more clocking devices from a clocking circuitry of a crosspoint array, wherein the crosspoint array comprises: a set of conductive row wires; a set of conductive column wires configured to form a plurality of crosspoints at intersections between the set of conductive row wires and the set of conductive column wires; a plurality of memristors, wherein a memristor is at each of the plurality of crosspoints, and the memristor configured to store a weight of the neural network; and a plurality of capacitors, wherein a capacitor is associated with a corresponding set of crosspoints from the crosspoint array; and the clocking circuitry comprises a first clocking device, a second clocking device, a third clocking device, and a fourth clocking device, and wherein executing the instructions causes the clocking circuitry to: initiate a forward pass that comprises storing, in the capacitor, a current value corresponding to a sum of outputs from each respective memristor from the corresponding set of crosspoints, and propagating current values stored in the capacitor to a subsequent layer of the neural network by setting the second clocking device and the third clocking device. 11. The non-transitory computer program product of claim 10 , wherein the computer readable storage medium further comprises instructions to initiate a backward pass to propagate the current value stored in the capacitor to a preceding layer of the neural network by setting the first clocking device and the third clocking device. 12. The non-transitory computer program product of claim 10 , wherein the computer readable storage medium further comprises instructions to initiate a weight-update pass to update the weights in the memristors by setting the second clocking device and the fourth clocking device.

Assignees

Inventors

Classifications

  • Analogue means · CPC title

  • Feedforward networks · CPC title

  • Supervised learning · CPC title

  • Architecture, e.g. interconnection topology · CPC title

  • G06N3/084Primary

    Backpropagation, e.g. using gradient descent · 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 US9779355B1 cover?
Technical solutions are described for implementing a neural network. An example system includes a crosspoint array including a plurality of nodes, each node representing a weight assigned to a neuron of the neural network. The system also includes a capacitor associated with a set of nodes from the plurality of nodes, where the capacitor is configured to store a current value corresponding to a…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06N3/084. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 03 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).