IP Library › Granted Patent US 8,812,418
Granted Patent B2
US 8,812,418 · App. 13/256,246 · Granted Aug 19, 2014

Memristive adaptive resonance networks

Inventor: Gregory S. Snider (Los Altos, CA)
Assignee: Hewlett-Packard Development Company, L.P.
G06N3/063
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 8,812,418
App. No.
13/256,246
Filed
Sep 13, 2011
Granted
Aug 19, 2014
Kind
B2
Art Unit
2129
USPC
706/27
Abstract

A method for implementing an artificial neural network includes connecting a plurality of receiving neurons to a plurality of transmitting neurons through memristive synapses. Each memristive synapse has a weight which is initialized into a conductive state. A binary input vector is presented through the memristive synapses to the plurality of receiving neurons and the state of one or more of the memristive synapses modified based on the binary input vector.

Claims (48)

1. A method for implementing an artificial neural network comprises:

connecting a plurality of receiving neurons to a plurality of transmitting neurons through memristive synapses, each memristive synapse having a weight;

initializing weights of the memristive synapses to a conductive state;

presenting a input vector through the memristive synapses to the plurality of receiving neurons; and

modifying the state of one or more of the memristive synapses based on the input vector.

2. The method according to claim 1 , further comprising:

forcing all transmitting neurons to spike unconditionally, thereby sending a high electrical pulse through all memristive synapses connected to a receiving neuron; and

summing the signals received by the receiving neuron to produce a magnitude of the synapse weights.

3. The method according to claim 2 , further comprising storing a representation of the magnitude of the synapse weights in a memristive device.

4. The method according to any of the above claims, in which the input vector is a complimentary coded binary input vector.

5. The method according to claim 4 , further comprising determining a magnitude of a complimentary coded input vector, the magnitude of the complimentary coded input vector remaining constant for a given synaptic configuration.

6. The method according to claim 5 , further comprising:

summing the signals received by a receiving neuron to produce an accumulated magnitude of the received signals;

calculating a match function by dividing the accumulated magnitude of the received signals by the magnitude of the complimentary coded input vector; and

calculating a choice function by dividing the accumulated magnitude of the received signals by the magnitude of the synapse weights.

7. The method according to claim 1 , further comprising operating the artificial neural network within a synchronously timed architecture.

8. The method according to claim 7 , further comprising:

calculating the magnitude of the synapse weights during a regulatory clock cycle;

calculating a winning neuron using a winner-take-all algorithm during an alternate clock cycle, in which the regulatory clock cycle and the alternative clock cycle are interleaved; and

modifying the state of the memristive synapses connected to the winning neuron by redistributing mobile dopants within the memristive synapses.

9. A method for implementing an artificial neural network comprises:

connecting a plurality of receiving neurons to a plurality of transmitting neurons through memristive synapses, each memristive synapse having a weight;

forcing all transmitting neurons to spike unconditionally, thereby sending a high electrical pulse through all memristive synapses connected to the plurality of receiving neurons; and

summing the signals received by the plurality of receiving neurons to produce a magnitude of the synapse weights for each of the plurality of receiving neurons.

10. The method according to claim 9 , further comprising storing a representation of the magnitude of the synapse weights for each receiving neuron in a separate memristive device.

11. The method according to any of claim 9 or 10 , further comprising

initializing weights of the memristive synapses to a conductive state;

presenting a binary input vector through the memristive synapses to the receiving neuron;

calculating a winning neuron using a winner-take-all algorithm; and

modifying the state of the memristive synapses connected to the winning neuron.

12. The method according to any of claim 9 , 10 or 11 , further comprising operating the artificial neural network within a synchronously timed architecture.

13. The method according to claim 12 , further comprising:

calculating the magnitude of the synapse weights during a regulatory clock cycle; and

calculating a winning neuron during an alternate clock cycle, the regulatory clock cycle and the alternative clock cycle being interleaved.

14. The method according to claim 13 , in which modifying the state of the memristive synapses connected to the winning neuron comprises increasing the electrical resistances of synapses between the winning neuron and transmitting neurons which did not transmit a signal during a current clock cycle.

15. A method for implementing an artificial neural network comprises:

connecting a receiving neuron to a plurality of transmitting neurons through memristive synapses;

determining a magnitude of a complimentary coded input vector;

initializing weights of the memristive synapses to a conductive state;

forcing all transmitting neurons to spike unconditionally, thereby sending a high electrical pulse through all memristive synapses connected to the receiving neuron;

summing the signals received by the receiving neuron to produce a magnitude of the synapse weights;

storing a representation of the magnitude of the synapse weights in a memristive device;

presenting a complimentary coded binary input vector through the memristive synapses to a receiving neuron;

summing the signals received by the receiving neuron to produce an accumulated magnitude of the received signals;

calculating a match function by dividing the accumulated magnitude of the received signals by magnitude of a complimentary coded input vector;

calculating a choice function by dividing the accumulated magnitude of the received signals by the magnitude of the synapse weights;

calculating a winning neuron using a winner-take-all algorithm; and

modifying the state of the memristive synapses connected to the winning neuron using a destructive interference of spikes between the plurality of transmitting neurons and the receiving neurons by decreasing the conductance of memristive synapses which are connected between the receiving neuron and non-spiking neurons.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2011
From: SNIDER, GREGORY STUART
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 027068/0064 →
Continuity (1)
Related Publication 20120016829A1 · Jan 19, 2012