Receptron

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

The receptron (short for "reservoir perceptron") is a neuromorphic data processing model — specifically neuromorphic computing — that generalizes the traditional perceptron, by incorporating non-linear interactions between inputs.[1][2][3] Unlike classical perceptron, which rely on linearly independent weights, the receptron leverages complexity in physical substrates,[4] such as the electric conduction properties of nanostructured materials or optical speckle fields, to perform classification tasks.[5][6] The receptron bridges unconventional computing and neural network principles,[7] enabling solutions that do not require the training approaches typical of artificial neural networks based on the perceptron model.[8]

Algorithm

[edit | edit source]

The receptron is an algorithm for supervised learning of binary classifiers, so a classification algorithm that makes its predictions based on a predictor function, combining a set of weights with the feature vector.[9] The mathematical model is based on the sum of inputs with non-linear interactions:

S=k=1nxjw~j(x)|SR      (1)

where j[1,n] and w~j are non-linear weight functions depending on the inputs, x. Nonlinearity will typically make the system extremely complex, and allowing for the solution of problems not solvable through the simpler rules of a linear system, such as the perceptron or McCulloch Pitts neurons, which is based on the sum of linearly independent weights:[10]

S=k=1nxjwjp     (2)

where wjare constant real values. A consequence of this simplicity is the limitation to linearly separable functions, which necessitates multi-layer architectures and training algorithms like backpropagation[11]

As in the perceptron case,[12] the summation in Eq. 1 origins the activation of the receptron output through the thresholding process,

Y(x1,...,xn)={1if S>th0if Sth (3)

where th is a constant threshold parameter. Equation 3 can be written by using the Heaviside step function.

The weight functions w~(x) can be written with a finite number of parameters wj1...jn, simplifying the model representation. One can Taylor-expand w~(x) and use the idempotency of Boolean variables (xj)q=xjq1 such that S=b+k=1nxjw~j(x) can be written as

S(x)=b+jwjxj+j<kwjkxjxk+j<k<lwjklxjxkxl+... (4)

where wj1...jn are independent parameters that can be seen as the components of a tensor W (“weight tensor”) of rank n and type (n,0).

The sum in Eq. [3] reduces to the perceptron case when off-diagonal terms of W vanish. If one considers n=2, one gets:

S(x)=b+x1w11+x2w22+x1x2w12 (5)

in the perceptron case, the vanishing of w12 implies linearity S(1,1)=S(0,1)+S(1,0). In the receptron case S(1,1)S(0,1)+S(1,0), meaning that the superposition principle is no longer valid, the latter terms being responsible of the more complex non-linear interaction between the inputs.

Design and implementations

[edit | edit source]

1. Electrical Receptron

[edit | edit source]

Substrate: Nanostructured and nanocomposite films (Au, Pt, Zr Au/Zr). These films form disordered networks of nanoparticles with resistive switching and non-linear electrical conduction.

2. Optical Receptron

[edit | edit source]

Substrate: Optical speckle fields generated by random interference of light emerging from a disordered medium illuminated by a laser or coherent radiation.[13]

Key features

[edit | edit source]

Physical Substrate Computing: The receptron does not require digital training; instead, it exploits the natural complexity of materials (e.g., nanowire networks, diffractive media) to perform computations.

Non-Linear Separability: Unlike traditional perceptrons, which fail on problems like the XOR function, the receptron can solve such tasks due to its inherent non-linearity.

Training-Free Operation: Classification is achieved through the physical system's response rather than iterative weight adjustments, reducing computational overhead.

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).