Digital artificial neuron based on a probabilistic ram
First Claim
1. A device for use in a neural processing network comprising a memory having a plurality of storage locations at each of which a number representing a probability is stored;
- means for selectively addressing each of the storage locations to cause the contents of the location to be read to a comparator;
a noise generator for inputting to the comparator a random number representing noise; and
means for causing to appear at the output of the comparator an output signal having a first or second value depending on the values of the numbers received from the addressed storage location and the noise generator, the probability of the output signal having a given one of the first and second values being determined by the number at the addressed location.
1 Assignment
0 Petitions
Accused Products
Abstract
A neuron for use in a neural processing network, comprises a memory having a plurality of storage locations at each of which a number representing a probability is stored, each of the storage locations being selectively addressable to cause the contents of the location to be read to an input of a comparator. A noise generator inputs to the comparator a random number representing noise. At an output of the comparator an output signal appears having a first or second value depending on the values of the numbers received from the addressed storage location and the noise generator, the probability of the output signal having a given one of the first and second values being determined by the number at the addressed location. Preferably the neuron receives from the environment signals representing success or failure of the network, the value of the number stored at the addressed location being changed in such a way as to increase the probability of the successful action if a success signal is received, and to decrease the probability of the unsuccessful action if a failure signal is received.
27 Citations
13 Claims
-
1. A device for use in a neural processing network comprising a memory having a plurality of storage locations at each of which a number representing a probability is stored;
- means for selectively addressing each of the storage locations to cause the contents of the location to be read to a comparator;
a noise generator for inputting to the comparator a random number representing noise; and
means for causing to appear at the output of the comparator an output signal having a first or second value depending on the values of the numbers received from the addressed storage location and the noise generator, the probability of the output signal having a given one of the first and second values being determined by the number at the addressed location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
5. A device according to claim 4, modified in that the value of ρ
- is decremented at each successive training operation by an amount which progressively decreases.
-
6. A device according to claim 1, further comprising a real-number to digital converter which receives a plurality of real-valued numbers each in the range of 0 to 1 and produces at its output a corresponding plurality of synchronised parallel pulse trains which are applied to the respective address lines of the memory to define a succession of storage location addresses, the probability of a pulse representing a 1 being present in an address on a given address line being equal to the value of the real-valued number from which the pulse train applied to that address line was derived;
- and an integrator for integrating the output signals from the comparator.
-
7. A device according to claim 6, further comprising an output generator connected to the integrator and having an output at which a given one of two values appears as a function of the integrated value produced by the integrator.
-
8. A device according to claim 7, wherein the output generator contains a look-up table for generating the given one of the two values as a function of the integrated value produced by the integrator.
-
9. A device according to claim 1, wherein the memory is a random access memory.
- means for selectively addressing each of the storage locations to cause the contents of the location to be read to a comparator;
-
10. A device for use in a neural processing network, comprising a memory having a plurality of storage locations at each of which a number representing a probability is stored;
- a real-number to digital converter which receives a plurality of real-valued numbers each in the range 0 to 1 and produces at its output a corresponding plurality of synchronised parallel pulse trains which are applied to the respective address lines of the memory to define a succession of storage location addresses, the probability of a pulse representing a 1 being present in an address on a given address line being equal to the value of the real-valued number from which the pulse train applied to that address line was derived, and an address counter for counting the number of times each of the storage locations is addressed.
-
11. A device for use in a neural processing network, comprising a memory having a plurality of storage locations at each of which a number representing a probability is stored;
- a real-number to digital converter which receives a plurality of real-valued numbers each in the range 0 to 1 and produces at its output a corresponding plurality of synchronized parallel pulse trains which are applied to the respective address lines of the memory to define a succession of storage location addresses, the probability of a pulse representing a 1 being present in an address on a given address line being equal to the value of the real-valued number from which the pulse train applied to that address line was derived, and an address counter for counting the number of times each of the storage locations is addressed, and further comprising a comparator connected to the memory for receiving the contents of a location addressed by the real-number to digital converter;
a noise generator for inputting to the comparator a random number representing noise;
means for causing to appear at an output of the comparator an output signal having a first or second value depending on the values of the numbers received from the address storage location and the noise generator, the probability of the output signal having a given one of the first and second values being determined by the number at the addressed location; and
means for increasing or decreasing the values of the numbers stored at the addressed location in dependence on the number of times each of the storage locations is addressed, as counted by the address counter. - View Dependent Claims (12, 13)
- a real-number to digital converter which receives a plurality of real-valued numbers each in the range 0 to 1 and produces at its output a corresponding plurality of synchronized parallel pulse trains which are applied to the respective address lines of the memory to define a succession of storage location addresses, the probability of a pulse representing a 1 being present in an address on a given address line being equal to the value of the real-valued number from which the pulse train applied to that address line was derived, and an address counter for counting the number of times each of the storage locations is addressed, and further comprising a comparator connected to the memory for receiving the contents of a location addressed by the real-number to digital converter;
Specification