Analog system using equilibrium propagation for learning
A system for performing learning is described. The system includes a linear programmable network layer and a nonlinear activation layer. The linear programmable network layer includes inputs, outputs and linear programmable network components interconnected between the inputs and the outputs. The nonlinear activation layer is coupled with the outputs. The linear programmable network layer and the nonlinear activation layer are configured to have a stationary state at a minimum of a content of the system.
1 . A system for performing learning, comprising:
a linear programmable network layer including a plurality of inputs, a plurality of outputs and a plurality of linear programmable network components interconnected between the plurality of inputs and the plurality of outputs;
a nonlinear activation layer coupled with the plurality of outputs, wherein the nonlinear activation layer further includes:
a nonlinear activation module; and
a regeneration module coupled with the plurality of outputs and with the nonlinear activation module, the regeneration module being configured to scale a plurality of output signals from the plurality of outputs, wherein the regeneration module includes a bidirectional amplifier, wherein the regeneration module scales voltage in a forward direction towards output voltages or a next layer by a gain factor of G, wherein the regeneration module scales current in a reverse direction towards input voltages by a gain factor of 1/G, and wherein in the event that G is equal to 1, the regeneration module behaves as a short circuit and maintains a minimum of a content for the system such that in response to the input voltages, the output voltages have a stationary state at the minimum of the content for the linear programmable network layer and the nonlinear activation layer; and
an additional linear programmable layer including an additional plurality of inputs, an additional plurality of outputs, and an additional plurality of linear programmable network components interconnected between the additional plurality of inputs and the additional plurality of outputs, the nonlinear activation layer coupled to the additional plurality of inputs,
wherein the linear programmable network layer, the nonlinear activation layer, and the additional linear programmable layer are configured to have the stationary state at the minimum of the content for the system, the content for the system corresponding to a pseudo-power for electrical characteristics of the system,
wherein a plurality of input signals provided to the plurality of inputs result in a plurality of output signals at the plurality of outputs, result in an additional plurality of output signals at the additional plurality of outputs, and correspond to the stationary state, and
wherein the plurality of additional outputs are configured to receive a plurality of perturbations that results in a plurality of perturbation output signals at the plurality of outputs, the plurality of outputs including a plurality of nodes configured to measure the plurality of perturbation output signals, a gradient for the plurality of linear programmable network components of the linear programmable network layer being based on the plurality of perturbation output signals and the plurality of output signals, at least one of the plurality of linear programmable network components in the linear programmable network layer being configured to be reprogrammed based on the gradient.
2 . The system of claim 1 , wherein the linear programmable network layer includes a programmable resistive network layer.
3 . The system of claim 2 , wherein the programmable resistive network layer includes a fully connected programmable resistive network layer.
4 . The system of claim 3 , wherein the fully connected programmable resistive network layer includes a crossbar array including a plurality of programmable resistors.
5 . The system of claim 4 , wherein the plurality of programmable resistors includes a plurality of memristors.
6 . The system of claim 2 , wherein the programmable resistive network layer includes a sparsely connected programmable resistive network layer.
7 . The system of claim 6 , wherein the programmable resistive network layer includes a partially connected crossbar array.
8 . The system of claim 6 , wherein the programmable resistive network layer includes:
a plurality of nanofibers, each of the plurality of nanofibers having a conductive core and a memristive layer surrounding at least a portion of the conductive core; and
a plurality of electrodes, a portion of the memristive layer being between the conductive core of the plurality of nanofibers and the plurality of electrodes.
9 . The system of claim 6 , wherein the programmable resistive network layer includes:
a plurality of nanofibers, each of the plurality of nanofibers having a conductive core and an insulating layer surrounding at least a portion of the conductive core, the insulating layer having a plurality of apertures therein;
a plurality of memristive plugs for the plurality of apertures, at least a portion of each of the plurality of memristive plugs residing in each of the plurality of apertures; and
a plurality of electrodes, the plurality of memristive plugs being between the conductive core and the plurality of electrodes.
10 . The system of claim 1 , wherein the nonlinear activation layer includes a plurality of diodes.
11 . The system of claim 1 , wherein the linear programmable network layer includes one or more components having linear impedances.
12 . The system of claim 1 , wherein the nonlinear activation layer includes one or more diodes used for creating a sigmoid nonlinearity as activation function.
13 . A system, comprising:
a plurality of linear programmable network layers, each of the plurality of linear programmable network layers including a plurality of inputs, a plurality of outputs, and a plurality of linear programmable network components interconnected between the plurality of inputs and the plurality of outputs; and
at least one nonlinear activation layer interposed between the plurality of linear programmable network layers, each of the at least one nonlinear activation layer coupled with the plurality of outputs of a linear programmable network layer of the plurality of linear programmable network layers and coupled with the plurality of inputs of a next linear programmable network layer of the plurality of network layers, each of the at least one nonlinear activation layer including a nonlinear activation module and a regeneration module configured to scale a plurality of output signals from the plurality of outputs, the plurality of linear programmable network layers and the at least one nonlinear activation layer being configured to minimize a content for the system, the content for the system corresponding to a pseudo-power for electrical characteristics of the system, wherein the regeneration module includes a bidirectional amplifier, wherein the regeneration module scales voltage in a forward direction towards output voltages or a next layer by a gain factor of G, wherein the regeneration module scales current in a reverse direction towards input voltages by a gain factor of 1/G, and wherein in the event that G is equal to 1, the regeneration module behaves as a short circuit and maintains a minimum of the content for the system such that in response to the input voltages, the output voltages have a stationary state at the minimum of the content for the linear programmable network layer and the nonlinear activation layer;
wherein a plurality of input signals is provided to the plurality of inputs of a first linear programmable network layer of the plurality of linear programmable network layers, the plurality of input signals resulting in a plurality of final output signals at the plurality of outputs of a final linear programmable network layer of the plurality of linear programmable network layers and corresponding to a stationary state of the system, and
wherein the plurality of outputs of the final linear programmable network layer are configured to receive a plurality of perturbations that results in a plurality of perturbation output signals at the plurality of outputs of each remaining linear programmable network layer of the plurality of linear programmable network layers, the plurality of outputs of each remaining linear programmable network layer of the plurality of linear programmable network layers having a plurality of nodes for measuring the plurality of perturbation output signals, a gradient for each remaining linear programmable network layer of the plurality of linear programmable network components of the linear programmable network layer being based on the plurality of perturbation output signals and the plurality of final output signals, at least one of the plurality of linear programmable network components in the linear programmable network layer being configured to be reprogrammed based on the gradient.
14 . The system of claim 13 , wherein each of the plurality of linear programmable network layers includes a programmable resistive network layer.
15 . The system of claim 14 , wherein the programmable resistive network layer includes a fully connected programmable resistive network layer.
16 . The system of claim 14 , wherein the programmable resistive network layer includes a sparsely connected programmable resistive network layer.
17 . The system of claim 14 , wherein the programmable resistive network layer includes a plurality of memristive devices.
18 . A method, comprising:
providing a plurality of input signals to a learning system including a plurality of linear programmable network layers and at least one nonlinear activation layer, each of the plurality of linear programmable network layers including a plurality of inputs, a plurality of outputs, and a plurality of linear programmable network components interconnected between the plurality of inputs and the plurality of outputs, the at least one nonlinear activation layer interposed between the plurality of linear programmable network layers, each of the at least one nonlinear activation layer coupled with the plurality of outputs of a linear programmable network layer of the plurality of linear programmable network layers and coupled with the plurality of inputs of a next linear programmable network layer of the plurality of network layers, the plurality of linear programmable network layers and the at least one nonlinear activation layer being configured to have a stationary state at a minimum of a content of the learning system, the plurality of input signals resulting in a plurality of output signals corresponding to the stationary state, the content for the learning system corresponding to a pseudo-power for electrical characteristics of the system, wherein the at least one nonlinear activation layer further includes a nonlinear activation module and a regeneration module, wherein the regeneration module is coupled with the plurality of outputs and with the nonlinear activation module, the regeneration module being configured to scale a plurality of output signals from the plurality of outputs, wherein the regeneration module includes a bidirectional amplifier, wherein the regeneration module scales voltage in a forward direction towards output voltages or a next layer by a gain factor of G, wherein the regeneration module scales current in a reverse direction towards input voltages by a gain factor of 1/G, and wherein in the event that G is equal to 1, the regeneration module behaves as a short circuit and maintains the minimum of the content of the learning system such that in response to the input voltages, the output voltages have the stationary state at the minimum of the content for the linear programmable network layer and the nonlinear activation layer;
perturbing the plurality of outputs for a first linear programmable network layer of the plurality of linear programmable network layers to provide a plurality of perturbation output signals at the plurality of inputs of a second linear programmable network layer of the plurality linear programmable network layers;
determining a gradient for the plurality of linear programmable network components of the second linear programmable network layer based on the plurality of perturbation output signals and the plurality of output signals, the determining the gradient including measuring the plurality of perturbation output signals; and
reprogramming at least one of the plurality of linear programmable network components in the second linear programmable network layer based on the gradient.
19 . The method of claim 18 , wherein the perturbing further includes:
providing a plurality of perturbation input signals to the plurality of outputs of the first linear programmable network layer, the plurality of perturbation input signals corresponding to a second plurality of outputs closer to a plurality of target outputs than the plurality of output signals.
20 . The method of claim 18 , further comprising:
iteratively performing the providing the input signals, perturbing the plurality of outputs, determining the gradient and reprogramming.