# US 2018/0322384 A1 · Post synaptic potential-based learning rule

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0322384 A1
- Document ID: US20180322384A1
- Status: Published application
- Kind: A1
- Application number: 15/584,510
- Filed: 2017-05-02
- Published: 2018-11-08
- Earliest claimed: 2017-05-02
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Charles Augustine; Somnath Paul; Sadique Ul Ameen Sheik; Muhammad M. Khellah
- Web page: https://patentgrep.com/patent/US20180322384A1

## CPC

- G06N 3/063: using electronic means
- G06N 3/049: Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A spike sent from a first artificial neuron in a spiking neural network (SNN) to a second artificial neuron in the SNN is identified, with the spike sent over a particular artificial synapse in the SNN. The membrane potential of the second artificial neuron at a particular time step, corresponding to sending of the spike, is compared to a threshold potential, where the threshold potential is set lower than a firing potential of the second artificial neuron. A change to the synaptic weight of the particular artificial synapse is determined based on the spike, where the synaptic weight is to be decreased if the membrane potential of the second artificial neuron is lower than the threshold potential at the particular time step and the synaptic weight is to be increased if the membrane potential of the second artificial neuron is higher than the threshold potential at the particular time step.

## Claims

### Claim 1

At least one machine accessible storage medium having instructions stored thereon, wherein the instructions when executed on a machine, cause the machine to:
identify a spike sent from a first artificial neuron in a spiking neural network (SNN) to a second artificial neuron in the SNN, wherein the SNN is implemented using a neuromorphic computing device, and the spike is sent over a particular artificial synapse connecting the first artificial neuron to the second artificial neuron in the SNN;
compare the membrane potential of the second artificial neuron at a particular time step, corresponding to sending of the spike, to a threshold potential, wherein the threshold potential is set lower than a firing potential of the second artificial neuron; and
determine a change to synaptic weight of the particular artificial synapse based on the spike, wherein the synaptic weight is to be decreased if the membrane potential of the second artificial neuron is lower than the threshold potential at the particular time step and the synaptic weight is to be increased if the membrane potential of the second artificial neuron is higher than the threshold potential at the particular time step.

### Claim 2 (depends on 1)

The storage medium of claim 1, wherein the instructions, when executed, further cause the machine to determine an amount of the change based on a degree to which the membrane potential of the second artificial neuron at the particular time step is higher or lower than the threshold potential.

### Claim 3 (depends on 1)

The storage medium of claim 1, wherein the synaptic weight is to be increased if the membrane potential of the second artificial neuron at the particular time step is both above the threshold potential and below the firing potential.

### Claim 4 (depends on 1)

The storage medium of claim 1, wherein the spike is sent in a first time step and the particular timestep comprises a timestep immediately after the first time step.

### Claim 5 (depends on 1)

The storage medium of claim 1, wherein the instructions, when executed, further cause the machine to change the synaptic weight of the particular artificial synapse on the neuromorphic computing device based on the change.

### Claim 6 (depends on 1)

The storage medium of claim 1, wherein the instructions, when executed, further cause the machine to provide a set of inputs to the SNN and train the SNN based on the set of inputs, wherein training comprises changing the synaptic weight of the particular artificial synapse based on the spike.

### Claim 7 (depends on 1)

The storage medium of claim 1, wherein the set of inputs comprises a first set of inputs and the instructions, when executed, further cause the machine to provide a second set of inputs to the SNN and generate an output based on the SNN trained according to the first set of inputs.

### Claim 8 (depends on 1)

The storage medium of claim 1, wherein the SNN comprises a particular SNN and the neuromorphic computing device comprises an interface to accept programming inputs to implement any one of a plurality of different spiking neural networks comprising the particular SNN.

### Claim 9 (depends on 8)

The storage medium of claim 8, wherein defining the particular SNN comprises:
generating a plurality of artificial neurons comprising the first and second artificial neurons;
defining artificial synapses to interconnect the plurality of artificial synapses, wherein the artificial synapses are defined in one or more routing tables; and
setting synaptic weight values for each of the plurality of artificial synapses to respective initial synaptic weight values.

### Claim 10 (depends on 9)

The storage medium of claim 9, wherein the neuromorphic computing device maintains respective membrane potential values for each of the plurality of artificial neurons and synaptic weights for each of the plurality of artificial synapses over a series of time steps comprising the particular time step.

### Claim 11

A method comprising:
identifying a spike sent from a first artificial neuron in a spiking neural network (SNN) to a second artificial neuron in the SNN, wherein the SNN is implemented using a neuromorphic computing device, and the spike is sent over a particular artificial synapse connecting the first artificial neuron to the second artificial neuron in the SNN;
comparing the membrane potential of the second artificial neuron at a particular time step, corresponding to sending of the spike, to a threshold potential, wherein the threshold potential is set lower than a firing potential of the second artificial neuron; and
determining a change to synaptic weight of the particular artificial synapse based on the spike, wherein the synaptic weight is to be decreased if the membrane potential of the second artificial neuron is lower than the threshold potential at the particular time step and the synaptic weight is to be increased if the membrane potential of the second artificial neuron is higher than the threshold potential at the particular time step.

### Claim 12

An apparatus comprising:
a neuromorphic computing device to implement an artificial spiking neural network (SNN), wherein the neuromorphic computing device comprises:
at least one neuromorphic core comprising:
an interface to receive at least one input; and
a learning core to:
identify a spike sent from a first artificial neuron in the SNN to a second artificial neuron in the SNN over a particular artificial synapse connecting the first artificial neuron to the second artificial neuron in the SNN, wherein the spike corresponds to the input;
compare the membrane potential of the second artificial neuron at a particular time step corresponding to the spike to a threshold potential, wherein the threshold potential is set lower than a firing potential of the second artificial neuron; and
determine a change to synaptic weight of the particular artificial synapse based on the spike, wherein a first change to the synaptic weight is to be made if the membrane potential of the second artificial neuron is lower than the threshold potential at the particular time step and a second, different change to the synaptic weight is to be made if the membrane potential of the second artificial neuron is higher than the threshold potential at the particular time step.

### Claim 13 (depends on 12)

The system of claim 12, wherein the learning core comprises at least one voltage comparator to compare the membrane potential of the second artificial neuron at a particular time step corresponding to the spike to a threshold potential.

### Claim 14 (depends on 12)

The system of claim 12, wherein the first change comprises a decrease in the synaptic weight and second change comprises an increase in the synaptic weight.

### Claim 15 (depends on 12)

The system of claim 12, wherein the neuromorphic core comprises a particular neuromorphic core, and the neuromorphic computing device comprises a plurality of neuromorphic cores and one or more routers to interconnect the plurality of neuromorphic cores.

### Claim 16 (depends on 15)

The system of claim 15, wherein the interface is to receive inputs from other neuromorphic cores in the plurality of neuromorphic cores and send outputs to other neuromorphic cores in the plurality of neuromorphic cores.

### Claim 17 (depends on 16)

The system of claim 16, wherein the interface is further to receive inputs from an input source system other than one of the plurality of neuromorphic cores.

### Claim 18 (depends on 15)

The system of claim 15, wherein the first artificial neuron is implemented on the particular neuromorphic core and the second artificial neuron is implemented on another one of the plurality of neuromorphic cores.

### Claim 19 (depends on 12)

The system of claim 12, wherein the neuromorphic core implements a plurality of artificial neurons in the SNN and the learning core determines changes to synaptic weights of a plurality of artificial synapses connecting the plurality of artificial neurons to other artificial neurons in the SNN.

### Claim 20 (depends on 19)

The system of claim 19, wherein the neuromorphic core further comprises:
synaptic weight memory to maintain synaptic weight values for each of the plurality of artificial synapses; and
a neuron state module to maintain membrane potential values for each of the plurality of artificial neurons.
