A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Disclosure
The present disclosure relates to implementing generalized learning rules in stochastic systems.
2. Description of Related Art
Adaptive signal processing systems are well known in the arts of computerized control and information processing. One typical configuration of an adaptive system of prior art is shown in
Although there are numerous models of adaptive systems, these typically implement a specific set of learning rules (e.g., supervised, unsupervised, reinforcement). Supervised learning may be the machine learning task of inferring a function from supervised (labeled) training data. Reinforcement learning may refer to an area of machine learning concerned with how an agent ought to take actions in an environment so as to maximize some notion of reward (e.g., immediate or cumulative). Unsupervised learning may refer to the problem of trying to find hidden structure in unlabeled data. Because the examples given to the learner are unlabeled, there is no external signal to evaluate a potential solution.
When the task changes, the learning rules (typically effected by adjusting the control parameters w={w1, w2, . . . , wn}) may need to be modified to suit the new task. Hereinafter, the boldface variables and symbols with arrow superscripts denote vector quantities, unless specified otherwise. Complex control applications, such as for example, autonomous robot navigation, robotic object manipulation, and/or other applications may require simultaneous implementation of a broad range of learning tasks. Such tasks may include visual recognition of surroundings, motion control, object (face) recognition, object manipulation, and/or other tasks. In order to handle these tasks simultaneously, existing implementations may rely on a partitioning approach, where individual tasks are implemented using separate controllers, each implementing its own learning rule (e.g., supervised, unsupervised, reinforcement).
One conventional implementation of a multi-task learning controller is illustrated in
Artificial neural networks may be used to solve some of the described problems. An artificial neural network (ANN) may include a mathematical and/or computational model inspired by the structure and/or functional aspects of biological neural networks. A neural network comprises a group of artificial neurons (units) that are interconnected by synaptic connections. Typically, an ANN is an adaptive system that is configured to change its structure (e.g., the connection configuration and/or neuronal states) based on external or internal information that flows through the network during the learning phase.
A spiking neuronal network (SNN) may be a special class of ANN, where neurons communicate by sequences of spikes. SNN may offer improved performance over conventional technologies in areas which include machine vision, pattern detection and pattern recognition, signal filtering, data segmentation, data compression, data mining, system identification and control, optimization and scheduling, and/or complex mapping. Spike generation mechanism may be a discontinuous process (e.g., as illustrated by the pre-synaptic spikes sx(t) 220, 222, 224, 226, 228, and post-synaptic spike train sy(t) 230, 232, 234 in
Even when a neural network is used as the computational engine for these learning tasks, individual tasks may be performed by a separate network partition that implements a task-specific set of learning rules (e.g., adaptive control, classification, recognition, prediction rules, and/or other rules). Unused portions of individual partitions (e.g., motor control when the robotic device is stationary) may remain unavailable to other partitions of the network that may require increased processing resources (e.g., when the stationary robot is performing face recognition tasks). Furthermore, when the learning tasks change during system operation, such partitioning may prevent dynamic retargeting (e.g., of the motor control task to visual recognition task) of the network partitions. Such solutions may lead to expensive and/or over-designed networks, in particular when individual portions are designed using the “worst possible case scenario” approach. Similarly, partitions designed using a limited resource pool configured to handle an average task load may be unable to handle infrequently occurring high computational loads that are beyond a performance capability of the particular partition, even when other portions of the networks have spare capacity.
By way of illustration, consider a mobile robot controlled by a neural network, where the task of the robot is to move in an unknown environment and collect certain resources by the way of trial and error. This can be formulated as reinforcement learning tasks, where the network is supposed to maximize the reward signals (e.g., amount of the collected resource). While in general the environment is unknown, there may be possible situations when the human operator can show to the network desired control signal (e.g., for avoiding obstacles) during the ongoing reinforcement learning. This may be formulated as a supervised learning task. Some existing learning rules for the supervised learning may rely on the gradient of the performance function. The gradient for reinforcement learning part may be implemented through the use of the adaptive critic; the gradient for supervised learning may be implemented by taking a difference between the supervisor signal and the actual output of the controller. Introduction of the critic may be unnecessary for solving reinforcement learning tasks, because direct gradient-based reinforcement learning may be used instead. Additional analytic derivation of the learning rules may be needed when the loss function between supervised and actual output signal is redefined.
While different types of learning may be formalized as a minimization of the performance function F, an optimal minimization solution often cannot be found analytically, particularly when relationships between the system's behavior and the performance function are complex. By way of example, nonlinear regression applications generally may not have analytical solutions. Likewise, in motor control applications, it may not be feasible to analytically determine the reward arising from external environment of the robot, as the reward typically may be dependent on the current motor control command and state of the environment.
Moreover, analytic determination of a performance function F derivative may require additional operations (often performed manually) for individual new formulated tasks that are not suitable for dynamic switching and reconfiguration of the tasks described before.
Some of the existing approaches of taking a derivative of a performance function without analytic calculations may include a “brute force” finite difference estimator of the gradient. However, these estimators may be impractical for use with large spiking networks comprising many (typically in excess of hundreds) parameters.
Derivative-free methods, specifically Score Function (SF), also known as Likelihood Ratio (LR) method, exist. In order to determine a direction of the steepest descent, these methods may sample the value of F(x,y) in different points of parameter space according to some probability distribution. Instead of calculating the derivative of the performance function F(x,y), the SR and LR methods utilize a derivative of the sampling probability distribution. This process can be considered as an exploration of the parameter space.
Although some adaptive controller implementations may describe reward-modulated unsupervised learning algorithms, these implementations of unsupervised learning algorithms may be multiplicatively modulated by reinforcement learning signal and, therefore, may require the presence of reinforcement signal for proper operation.
Many presently available implementations of stochastic adaptive apparatuses may be incapable of learning to perform unsupervised tasks while being influenced by additive reinforcement (and vice versa). Many presently available adaptive implementations may be task-specific and implement one particular learning rule (e.g., classifier unsupervised learning), and such devices invariably require retargeting (e.g., reprogramming) in order to implement different learning rules. Furthermore, presently available methodologies may not be capable of implementing generalized learning, where a combination of different learning rules (e.g., reinforcement, supervised and supervised) are used simultaneously for the same application (e.g., platform motion stabilization), thereby enabling, for example, faster learning convergence, better response to sudden changes, and/or improved overall stability, particularly in the presence or noise.
Where certain elements of these implementations can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the present disclosure will be described, and detailed descriptions of other portions of such known components will be omitted so as not to obscure the disclosure.
Learning rules used with spiking neuron networks may be typically expressed in terms of original spike trains instead of their secondary features (e.g., the rate or the latency from the last spike). The result is that a spiking neuron operates on spike train space, transforming a vector of spike trains (input spike trains) into single element of that space (output train). Dealing with spike trains directly may be a challenging task. Not every spike train can be transformed to another spike train in a continuous manner. One common approach is to describe the task in terms of optimization of some function and then use gradient approaches in the parameter space of the spiking neuron. However gradient methods on discontinuous spaces such as spike trains space are not well developed. One approach may involve smoothing the spike trains first. Here output spike trains are smoothed with introduction of probabilistic measure on a spike trains space. Describing the spike pattern from a probabilistic point of view may lead to fruitful connections with the huge amount of topics within information theory, machine learning, Bayesian inference, statistical data analysis etc. This approach makes spiking neurons a good candidate to use SF/LR learning methods.
One technique frequently used when constructing learning rules in a spiking network, comprises application of a random exploration process to a spike generation mechanism of a spiking neuron. This is often implemented by introducing a noisy threshold: probability of a spike generation may depend on the difference between neuron's membrane voltage and a threshold value. The usage of probabilistic spiking neuron models, in order to obtain gradient of the log-likelihood of a spike train with respect to neuron's weights, may comprise an extension of Hebbian learning framework to spiking neurons. The use of the log-likelihood gradient of a spike train may be extended to supervised learning. In some approaches, information theory framework may be applied to spiking neurons, as for example, when deriving optimal learning rules for unsupervised learning tasks via informational entropy minimization.
An application of the OLPOMDM algorithm to the solution of the reinforcement learning problems with simplified spiking neurons has been done. Extending of this algorithm to more plausible neuron model has been done. However no generalizations of the OLPOMDM algorithm have been done in order to use it unsupervised and supervised learning in spiking neurons. An application of reinforcement learning ideas to supervised learning has been described, however only heuristic algorithms without convergence guarantees have been used.
For a neuron, the probability of an output spike train, y, to have spikes at times t_f with no spikes at the other times on a time interval [0, T], given the input spikes, x, may be given by the conditional probability density function p(y|x) as:
p(y|x)=Πt
where λ(t) represents an instantaneous probability density (“hazard”) of firing.
The instantaneous probability density of the neuron can depend on a neuron's state q(t): λ(t)≡λ(q(t)). For example, it can be defined according to its membrane voltage u(t) for continuous time chosen as an exponential stochastic threshold:
λ(t)=λoeκ(u(t)−θ) (Eqn. 2)
where u(t) is the membrane voltage of the neuron, θ is the voltage threshold for generating a spike, K is the probabilistic parameter, and λ0 is the basic (spontaneous) firing rate of the neuron.
Some approaches utilize sigmoidal stochastic threshold, expressed as:
or an exponential-linear stochastic threshold:
λ(t)=λ0 ln(1+eκ(u(t)−θ) (Eqn. 4)
where λ0, κ, θ are parameters with a similar meaning to the parameters in the exponential threshold model Eqn. 2.
Models of the stochastic threshold exist comprising refractory mechanism that modulate the instantaneous probability of firing after the last output spike λ(t)={circumflex over (λ)}(t)R(t, tlastout), where {circumflex over (λ)}(t) is the original stochastic threshold function (such as exponential or other) and R(tlastout-t) is the dynamic refractory coefficient that depends on the time since the last output spike tlastout.
For discrete time steps, an approximation for the probability Λ(u(t))ε(0,1] of firing in the current time step may be given by:
Λ(u(t))=1−e−λ(u(t))Δt (Eqn. 5)
where Δt is the time step length.
In one dimensional deterministic spiking models, such as Integrate-and-Fire (IF), Quadratic Integrate-and-Fire (QIF) and others, membrane voltage u(t) is the only one state variable (q(t)≡u(t)) that is “responsible” for spike generation through deterministic threshold mechanism. There also exist plenty of more complex multidimensional spiking models. For example, a simple spiking model may comprise two state variables where only one of them is compared with a threshold value. However, even detailed neuron models may be parameterized using a single variable (e.g., an equivalent of “membrane voltage” of biological neuron) and use it with a suitable threshold in order to determine the presence of spike. Such models are often extended to describe stochastic neurons by replacing deterministic threshold with a stochastic threshold.
Generalized dynamics equations for spiking neurons models are often expressed as a superposition of input, interaction between the input current and the neuronal state variables, and neuron reset after the spike as follows:
where: is a vector of internal state variables (e.g., comprising membrane voltage); Iext is external input to the neuron; V is the function that defines evolution of the state variables; G describes the interaction between the input current and the state variables (for example, to model synaptic depletion); and R describes resetting the state variables after the output spikes at tout.
For example, for IF model the state vector and the state model may be expressed as:
{right arrow over (q)}≡u(t);V({right arrow over (q)})=−Cu;R({right arrow over (q)})=ures−u;G({right arrow over (q)})=1, (Eqn. 7)
where C is a membrane constant, ures is a value to which voltage is set after output spike (reset value). Accordingly, Eqn. 6 becomes:
For some simple neuron models, Eqn. 6 may be expressed as:
and a, b, c, d are parameters of the model.
Many presently available implementations of stochastic adaptive apparatuses may be incapable of learning to perform unsupervised tasks while being influenced by additive reinforcement (and vice versa). Furthermore, presently available methodologies may not provide for rapid convergence during learning, particularly when generalized learning rules, such as, for example comprising a combination of reinforcement, supervised and supervised learning rules, are used simultaneously and/or in the presence of noise.
Accordingly, there is a salient need for machine learning apparatus and methods to implement improved learning in stochastic systems configured to handle any learning rule combination (e.g., reinforcement, supervised, unsupervised, online, batch) and is capable of, inter alia, dynamic reconfiguration using the same set of network resources while providing for rapid convergence during learning.
The present disclosure satisfies the foregoing needs by providing, inter alia, apparatus and methods for implementing generalized probabilistic learning configured to handle simultaneously various learning rule combinations.
One aspect of the disclosure relates to one or more computerized apparatus, and/or computer-implemented methods for effectuating a spiking network stochastic signal processing system configured to implement task-specific learning. In one implementation, the apparatus may comprise a storage medium comprising a plurality of instructions configured to, when executed, accelerate convergence of a task-specific stochastic learning process towards a target response by at least at time determine response of the process to (i) input signal, the response having a present performance associated therewith, the performance configured based at least in part on the response, the input signal and a deterministic control parameter; determine a time-averaged performance based at least in part on a plurality of past performance values, each of the past performance values having been determined over a time interval prior to the time; and adjust the control parameter based at least in part on a combination of the present performance and the time-averaged performance, and the combination is configured to effectuate the accelerate convergence characterized by a shorter convergence time compared to parameter adjustment configured based solely on the present performance.
In some implementations, the adjustment of the control parameter may be configured to transition the response to another response, the transition having a performance measure associated therewith; the response having state of the process associated therewith; the another response having another state of the process associated therewith; the target response may be characterized by a target state of the process; and a value of the measure, comprising a difference between the target state and the another state may be smaller compared to another value of the measure, comprising a difference between the target state and the state; and the combination may comprise a difference between the present performance and the time-averaged performance.
In some implementations, the response may be configured to be updated at a response interval; the time averaged performance may be determined with respect to a time interval, the time interval being greater that the response interval.
In some implementations, a ratio of the time interval to the response interval may be in the range between 2 and 10000.
In some implementations, the control parameter may be configured in accordance with the task; and the adjustment the control parameter may be configured based at least in part on the input signal and the response.
In another aspect a method of implementing task learning in a computerized stochastic spiking neuron apparatus, may comprise: operating the apparatus in accordance with a stochastic learning process characterized by a deterministic learning parameter, the process configured, based at least in part, on an input signal and the task; configuring performance metric based at least in part on (i) a response of the process to the signal and the learning parameter, and (ii) the input; applying a monotonic transformation to the performance metric, the monotonic transformation configured to produce transformed performance metric; determining an adjustment of the learning parameter based at least in part on an average of the transformed performance metric, and applying the adjustment to the stochastic learning process, the applying may be configured to reduce time required to achieve desired response by the apparatus to the signal; and wherein the transformation may be configured to accelerate the task learning.
In some implementations, the process may be characterized by (i) a present state having present value of the learning parameter and a present value of the performance metric associated therewith; and target state having target value of the learning parameter and a target value of the performance metric associated therewith; and the learning may comprise minimizing the performance metric such that the target value of the performance metric may be less than the present value of the performance metric.
In some implementations, the minimizing the performance metric may comprise transitioning the present state towards the target state, the transitioning effectuated by at least the applying the adjustment to the stochastic learning process; and accelerate of the learning may be characterized by a convergence time interval that may be smaller when compared to parameter adjustment configured based solely on the performance metric.
In some implementations, the stochastic learning process may be characterized by a residual error of the performance metric; and the application of the transformation may be configured to reduce the residual error compared to another residual error associated with the process being operated prior to the applying the transformation.
In some implementations the process may comprise: minimization of the performance metric with respect to the learning parameter; the monotonic transformation may comprise an additive transformation comprising a transform parameter; and the transformed performance metric may be free from systematic deviation.
In some implementations the transform parameter may comprise a constant configured to enable changes in parameters that are not associated with value of the performance function.
In some implementations, the process may comprise: minimization of the performance metric with respect to the learning parameter; the monotonic transformation may comprise an exponential transformation comprising an exponent parameter and an offset parameter; and the transformed performance metric may be free from systematic deviation.
In some implementations, a computerized spiking network apparatus may comprise one or more processors configured to execute one or more computer program modules, wherein execution of individual ones of the one or more computer program modules may cause the one or more processors to reduce convergence time of a process effectuated by the network by at least: operate the process according to a hybrid learning rule configured to generate an output signal based on an input spike train and a teaching signal; transform a performance measure associated with the process to obtain a transformed performance measure; generate an adjustment signal based at least in part on the transformed performance; and wherein applying the adjustment signal to the process may be configured to achieve the desired output in a shorter period of time compared to applying one other adjustment signal, generate based at least in part on the performance.
In some implementations, the hybrid learning rule comprising a combination of reinforcement, supervised and unsupervised learning rules effectuated simultaneous with one another.
In some implementations, the hybrid learning rule may be configured to simultaneously effect reinforcement learning rule and supervised learning rule.
In some implementations, the teaching signal r may comprise a reinforcement spike train determined based at least in part on a comparison between present output, associated with the transformed performance, and the output signal; and the transformed performance measure may be configured to effect a reinforcement learning rule, based at least in part on the reinforcement spike train.
In some implementations, applying the adjustment signal to the process may comprise modifying a control parameter associated with the process; the transformed performance may be based at least in part on adjustment of the control parameter from a prior state to present state; the reinforcement may be positive when the present output may be closer to the output signal, and the reinforcement may be negative when the present output may be farther from the output signal.
In some implementations, the adjustment signal may be configured to modify a learning parameter, associated with the process; the adjustment signal may be determined based at least in part on a product of the transformed performance with a gradient of per-stimulus entropy parameter h, the gradient may be determined with respect to the learning parameter; and the per-stimulus entropy parameter may be configured to characterize dependence of the signal on (i) the input signal; and (ii) the learning parameter.
In some implementations, the per-stimulus entropy parameter may be determined based on a natural logarithm of p(y|x,w), where p denotes conditional probability of the output signal y given the input signal x with respect to the learning parameter w.
These and other objects, features, and characteristics of the present disclosure, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the disclosure. As used in the specification and in the claims, the singular form of “a”, “an”, and “the” include plural referents unless the context clearly dictates otherwise.
All Figures disclosed herein are ® Copyright 2012 Brain Corporation. All rights reserved.
Exemplary implementations of the present disclosure will now be described in detail with reference to the drawings, which are provided as illustrative examples so as to enable those skilled in the art to practice the disclosure. Notably, the figures and examples below are not meant to limit the scope of the present disclosure to a single implementation, but other implementations are possible by way of interchange of or combination with some or all of the described or illustrated elements. Wherever convenient, the same reference numbers will be used throughout the drawings to refer to same or similar parts.
Where certain elements of these implementations can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the present disclosure will be described, and detailed descriptions of other portions of such known components will be omitted so as not to obscure the disclosure.
In the present specification, an implementation showing a singular component should not be considered limiting; rather, the disclosure is intended to encompass other implementations including a plurality of the same component, and vice-versa, unless explicitly stated otherwise herein.
Further, the present disclosure encompasses present and future known equivalents to the components referred to herein by way of illustration.
As used herein, the term “bus” is meant generally to denote all types of interconnection or communication architecture that is used to access the synaptic and neuron memory. The “bus” may be optical, wireless, infrared, and/or another type of communication medium. The exact topology of the bus could be for example standard “bus”, hierarchical bus, network-on-chip, address-event-representation (AER) connection, and/or other type of communication topology used for accessing, e.g., different memories in pulse-based system.
As used herein, the terms “computer”, “computing device”, and “computerized device “may include one or more of personal computers (PCs) and/or minicomputers (e.g., desktop, laptop, and/or other PCs), mainframe computers, workstations, servers, personal digital assistants (PDAs), handheld computers, embedded computers, programmable logic devices, personal communicators, tablet computers, portable navigation aids, J2ME equipped devices, cellular telephones, smart phones, personal integrated communication and/or entertainment devices, and/or any other device capable of executing a set of instructions and processing an incoming data signal.
As used herein, the term “computer program” or “software” may include any sequence of human and/or machine cognizable steps which perform a function. Such program may be rendered in a programming language and/or environment including one or more of C/C++, C#, Fortran, COBOL, MATLAB™, PASCAL, Python, assembly language, markup languages (e.g., HTML, SGML, XML, VoXML), object-oriented environments (e.g., Common Object Request Broker Architecture (CORBA)), Java™ (e.g., J2ME, Java Beans), Binary Runtime Environment (e.g., BREW), and/or other programming languages and/or environments.
As used herein, the terms “connection”, “link”, “transmission channel”, “delay line”, “wireless” may include a causal link between any two or more entities (whether physical or logical/virtual), which may enable information exchange between the entities.
As used herein, the term “memory” may include an integrated circuit and/or other storage device adapted for storing digital data. By way of non-limiting example, memory may include one or more of ROM, PROM, EEPROM, DRAM, Mobile DRAM, SDRAM, DDR/2 SDRAM, EDO/FPMS, RLDRAM, SRAM, “flash” memory (e.g., NAND/NOR), memristor memory, PSRAM, and/or other types of memory.
As used herein, the terms “integrated circuit”, “chip”, and “IC” are meant to refer to an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material. By way of non-limiting example, integrated circuits may include field programmable gate arrays (e.g., FPGAs), a programmable logic device (PLD), reconfigurable computer fabrics (RCFs), application-specific integrated circuits (ASICs), and/or other types of integrated circuits.
As used herein, the terms “microprocessor” and “digital processor” are meant generally to include digital processing devices. By way of non-limiting example, digital processing devices may include one or more of digital signal processors (DSPs), reduced instruction set computers (RISC), general-purpose (CISC) processors, microprocessors, gate arrays (e.g., field programmable gate arrays (FPGAs)), PLDs, reconfigurable computer fabrics (RCFs), array processors, secure microprocessors, application-specific integrated circuits (ASICs), and/or other digital processing devices. Such digital processors may be contained on a single unitary IC die, or distributed across multiple components.
As used herein, the term “network interface” refers to any signal, data, and/or software interface with a component, network, and/or process. By way of non-limiting example, a network interface may include one or more of FireWire (e.g., FW400, FW800, etc.), USB (e.g., USB2), Ethernet (e.g., 10/100, 10/100/1000 (Gigabit Ethernet), 10-Gig-E, etc.), MoCA, Coaxsys (e.g., TVnet™), radio frequency tuner (e.g., in-band or OOB, cable modem, etc.), Wi-Fi (802.11), WiMAX (802.16), PAN (e.g., 802.15), cellular (e.g., 3G, LTE/LTE-A/TD-LTE, GSM, etc.), IrDA families, and/or other network interfaces.
As used herein, the terms “node”, “neuron”, and “neuronal node” are meant to refer, without limitation, to a network unit (e.g., a spiking neuron and a set of synapses configured to provide input signals to the neuron) having parameters that are subject to adaptation in accordance with a model.
As used herein, the terms “state” and “node state” is meant generally to denote a full (or partial) set of dynamic variables used to describe node state.
As used herein, the term “synaptic channel”, “connection”, “link”, “transmission channel”, “delay line”, and “communications channel” include a link between any two or more entities (whether physical (wired or wireless), or logical/virtual) which enables information exchange between the entities, and may be characterized by a one or more variables affecting the information exchange.
As used herein, the term “Wi-Fi” includes one or more of IEEE-Std. 802.11, variants of IEEE-Std. 802.11, standards related to IEEE-Std. 802.11 (e.g., 802.11a/b/g/n/s/v), and/or other wireless standards.
As used herein, the term “wireless” means any wireless signal, data, communication, and/or other wireless interface. By way of non-limiting example, a wireless interface may include one or more of Wi-Fi, Bluetooth, 3G (3GPP/3GPP2), HSDPA/HSUPA, TDMA, CDMA (e.g., IS-95A, WCDMA, etc.), FHSS, DSSS, GSM, PAN/802.15, WiMAX (802.16), 802.20, narrowband/FDMA, OFDM, PCS/DCS, LTE/LTE-A/TD-LTE, analog cellular, CDPD, satellite systems, millimeter wave or microwave systems, acoustic, infrared (i.e., IrDA), and/or other wireless interfaces.
The present disclosure provides, among other things, improved computerized apparatus and methods for obtaining faster convergence when using stochastic learning rules. In one implementation of the disclosure, adaptive stochastic signal processing apparatus may employ a learning rule comprising non-associative transformation of the cost function, associated with the rule. In some implementations, the cost function may comprise a time-average performance function and the transformation may comprise an addition (or a subtraction) of a constant term. When utilized in conjunction with gradient optimization methods, constant term addition may not bias the performance function gradient, on a long-term averaging scale, and may shift the gradient on short term time scale. Such shift may advantageously enable stochastic drift thereby facilitating exploration leading to faster convergence of learning process. When applied to spiking learning networks, transforming the performance function using a constant term, may lead to non-associative increase (and/or decrease) of synaptic connection efficacy thereby providing additional exploration mechanisms.
In one or more implementations, the transformation may comprise addition (or subtraction) of a baseline performance function. The baseline performance may be configured using interval average or running average, according to one or more implementations.
In some implementations, the performance function transformation may comprise any monotonous transform that does not change the location of the performance function local extremum. Performance function configurations comprising such monotonous transformations may advantageously provide for faster convergence and better accuracy of learning.
The generalized learning framework described herein advantageously provides for learning implementations that do not affect regular operation of the signal system (e.g., processing of data). Hence, a need for a separate learning stage may be obviated so that learning may be turned off and on again when appropriate.
One or more generalized learning methodologies described herein may enable different parts of the same network to implement different adaptive tasks. The end user of the adaptive device may be enabled to partition network into different parts, connect these parts appropriately, and assign cost functions to each task (e.g., selecting them from predefined set of rules or implementing a custom rule). A user may not be required to understand detailed implementation of the adaptive system (e.g., plasticity rules, neuronal dynamics, etc.) nor may he be required to be able to derive the performance function and determine its gradient for each learning task. Instead, the users are able to operate generalized learning apparatus of the disclosure by assigning task functions and connectivity map to each partition.
Detailed descriptions of various implementations of apparatuses and methods of the disclosure are now provided. Although certain aspects of the disclosure may be understood in the context of robotic adaptive control system comprising, for example a spiking neural network, the disclosure is not so limited. Implementations of the disclosure may also be used for implementing a variety of stochastic adaptive systems, such as, for example, signal prediction (e.g., supervised learning), finance applications, data clustering (e.g., unsupervised learning), inventory control, data mining, and/or other applications that do not require performance function derivative computations.
Implementations of the disclosure may be, for example, deployed in a hardware and/or software implementation of a neuromorphic computer system. In some implementations, a robotic system may include a processor embodied in an application specific integrated circuit, which can be adapted or configured for use in an embedded application (e.g., a prosthetic device).
The input signal x(t) may comprise data used for solving a particular control task. In one or more implementations, such as those involving a robotic arm or autonomous robot, the signal x(t) may comprise a stream of raw sensor data (e.g., proximity, inertial, terrain imaging, and/or other raw sensor data) and/or preprocessed data (e.g., velocity, extracted from accelerometers, distance to obstacle, positions, and/or other preprocessed data). In some implementations, such as those involving object recognition, the signal x(t) may comprise an array of pixel values (e.g., RGB, CMYK, HSV, HSL, grayscale, and/or other pixel values) in the input image, and/or preprocessed data (e.g., levels of activations of Gabor filters for face recognition, contours, and/or other preprocessed data). In one or more implementations, the input signal x(t) may comprise desired motion trajectory, for example, in order to predict future state of the robot on the basis of current state and desired motion.
The control block 310 of
P=p(y|x,w) (Eqn. 11)
In Eqn. 11, the parameter w may denote various system parameters including connection efficacy, firing threshold, resting potential of the neuron, and/or other parameters. The analytical relationship of Eqn. 1 may be selected such that the gradient of ln[p(y|x,w)] with respect to the system parameter w exists and can be calculated. The framework shown in
In some implementations, the control performance function may be configured to reflect the properties of inputs and outputs (x,y). The values F(x,y,r) may be calculated directly by the learning block 320 without relying on external signal r when providing solution of unsupervised learning tasks.
In some implementations, the value of the function F may be calculated based on a difference between the output y of the control block 310 and a reference signal yd characterizing the desired control block output. This configuration may provide solutions for supervised learning tasks, as described in detail below.
In some implementations, the value of the performance function F may be determined based on the external signal r. This configuration may provide solutions for reinforcement learning tasks, where r represents reward and punishment signals from the environment.
The learning block 320 may implement learning framework according to the implementation of
In one or more implementations the learning block 320 may optimize performance of the control system (e.g., the system 300 of
where:
−ln(p(y|x,w))=h(y|x,w) (Eqn. 13)
is the per-stimulus entropy of the system response (or ‘surprisal’). The probability of the external signal p(r|x,y) may be characteristic of the external environment and may not change due to adaptation. That property may allow omission of averaging over external signals r in subsequent consideration of learning rules.
As illustrated in
The learning block may estimate changes of the system parameters w that minimize the performance function F, and may provide the parameter adjustment information Δw to the control block 310, as indicated by the arrow 306 in
By separating learning related tasks into a separate block (e.g., the block 320 in
The detailed structure of the learning block 420 is shown and described with respect to
The GD block may be configured to determine the score function g by, inter alia, computing derivatives of the logarithm of the conditional probability with respect to the parameters that are subjected to change during learning based on the current inputs x, outputs y, and state variables S, denoted by the arrows 402, 408, 410, respectively, in
In order to apply SF/LR methods for spiking neurons, a score function
may be calculated for individual spiking neurons parameters to be changed. If spiking patterns are viewed on finite interval length T as an input x and output y of the neuron, then the score function may take the following form:
where time moments tl belong to neuron's output pattern yT (neuron generates spike at these time moments).
If an output of the neuron at each time moment is considered (e.g., whether there is an output spike or not), then an instantaneous value of the score function may be calculated that is a time derivative of the interval score function:
where tl is the times of output spikes, and δ(t) is the delta function.
For discrete time the score function for spiking pattern on interval T may be calculated as:
where tlεyT denotes time steps when neuron generated a spike.
Instantaneous value of the score function in discrete time may equals:
Where tl is the times of output spikes, and δ(t) is the Kronecker delta.
In order to calculate the score function,
may be calculated, which is a derivative of the instantaneous probability density with respect to some neurons parameter wi. Without loss of generality, two cases of learning are considered below: input weights learning (synaptic plasticity) and stochastic threshold tuning (intrinsic plasticity). A derivative of other less common parameters of the neuron model (e.g., membrane, synaptic dynamic, and/or other constants) may be calculated.
The neuron may receive n input spiking channels. External current to the neuron Iext in the neuron's dynamic equation Eqn. 6 may be modeled as a sum of filtered and weighted input spikes from all input channels:
where: i is the index of the input channel; xi is the stream of input spikes on the i-th channel; tji is the times of input spikes in the i-th channel; wi is the weight of the i-th channel; and ε(t) is a generic function that models post-synaptic currents from input spikes. In some implementations, the post-synaptic current function may be configured as: ε(t)≡δ(t), ε(t) e−t/t
A derivative of instantaneous probability density with respect to the i-th channel's weight may be taken using chain rule:
where
is a vector of derivatives of instantaneous probability density with respect to the state variable; and
S
i(t)=∇w
is the gradient of the neuron internal state with respect to the ith weight (also referred to as the i-th state eligibility trace). In order to determine the state eligibility trace of Eqn. 20 for generalized neuronal model, such as, for example, described by equations Eqn. 6 and Eqn. 18, derivative with respect to the learning weight wi may be determined as:
The order in which the derivatives in the left side of the equations are taken may be changed, and then the chain rule may be used to obtain the following equations (arguments of evolution functions are omitted):
where JF, JR, JG are Jacobian matrices of the respective evolution functions V, R, G.
As an example, evaluating Jacobean matrices IF neuron may produce:
J
V
=−C;J
R=−1;G({right arrow over (q)})=1;JG=0, (Eqn. 23)
so Eqn. 22 for the i-th state eligibility trace may take the following form:
where uw
A solution of Eqn. 24 may represent post-synaptic potential for the i-th unit and may be determined as a sum of all received input spikes at the unit (e.g., a neuron), where the unit is reset to zero after each output spike:
where α(t) is post-synaptic potential (PSP) from the jth input spike.
Applying the framework of Eqn. 22-Eqn. 25 to a previously described neuronal (hereinafter IZ neuronal), the Jacobian matrices of the respective evolution functions F, R, G may be expressed as:
The IZ neuronal model may further be characterized using two first-order nonlinear differential equations describing time evolution of synaptic weights associated with each pre-synaptic connection into a neuron, in the following form:
When using the exponential stochastic threshold configured as:
λ=λ0eκ(v(t)−θ), (Eqn. 28)
Then the derivative of the IPD for IZ neuronal neuron becomes:
If we use the exponential stochastic threshold Eqn. 2, the final expression for the derivative of instantaneous probability
for IF neuron becomes:
Combining Eqn. 30 with Eqn. 15 and Eqn. 17 we obtain score function values for the stochastic Integrate-and-Fire neuron in continuous time-space as:
and in discrete time:
In one or more implementations, the gradient determination block may be configured to determine the score function g based on particular pre-synaptic inputs into the neuron(s), neuron post-synaptic outputs, and internal neuron state, according, for example with Eqn. 15. Furthermore, in some implementations, using the methodology described herein and providing description of neurons dynamics and stochastic properties in textual form, as shown and described in detail with respect to
The PD block may be configured to determine the performance function F based on the current inputs x, outputs y, and/or training signal r, denoted by the arrow 404 in
In some implementations, the PD block may transmit the external signal r to the learning block (as illustrated by the arrow 404_1) so that:
F(t)=r(t), (Eqn. 33)
where signal r provides reward and/or punishment signals from the external environment. By way of illustration, a mobile robot, controlled by spiking neural network, may be configured to collect resources (e.g., clean up trash) while avoiding obstacles (e.g., furniture, walls). In this example, the signal r may comprise a positive indication (e.g., representing a reward) at the moment when the robot acquires the resource (e.g., picks up a piece of rubbish) and a negative indication (e.g., representing a punishment) when the robot collides with an obstacle (e.g., wall). Upon receiving the reinforcement signal r, the spiking neural network of the robot controller may change its parameters (e.g., neuron connection weights) in order to maximize the function F (e.g., maximize the reward and minimize the punishment).
In some implementations, the PD block may determine the performance function by comparing current system output with the desired output using a predetermined measure (e.g., a distance d):
F(t)=d(y(t),yd(t)), (Eqn. 34)
where y is the output of the control block (e.g., the block 310 in
In some implementations, such as when characterizing a control block utilizing analog output signals, the distance function may be determined using the squared error estimate as follows:
F(t)=(y(t)−yd(t))2. (Eqn. 35)
In some implementations, such as those applicable to control blocks using spiking output signals, the distance measure may be determined using the squared error of the convolved signals y, yd as follows:
F=[(y*α)−(yd*β)]2, (Eqn. 36)
where α, β are finite impulse response kernels. In some implementations, the distance measure may utilize the mutual information between the output signal and the reference signal.
In some implementations, the PD may determine the performance function by comparing one or more particular characteristic of the output signal with the desired value of this characteristic:
F=[ƒ(y)−ƒ1(y)]2, (Eqn. 37)
where ƒ is a function configured to extract the characteristic (or characteristics) of interest from the output signal y. By way of example useful with spiking output signals, the characteristic may correspond to a firing rate of spikes and the function ƒ(y) may determine the mean firing from the output. In some implementations, the desired characteristic value may be provided through the external signal as
r=ƒ
1(y). (Eqn. 38)
In some implementations, the ƒ1(y) may be calculated internally by the PD block.
In some implementations, the PD block may determine the performance function by calculating the instantaneous mutual information i between inputs and outputs of the control block as follows:
F=i(x,y)=−ln(p(y))+ln(p(y|x), (Eqn. 39)
where p(y) is an unconditioned probability of the current output. It is noteworthy that the average value of the instantaneous mutual information may equal the mutual information I(x,y). This performance function may be used to implement ICA (unsupervised learning).
In some implementations, the PD block may determines the performance function by calculating the unconditional instantaneous entropy h of the output of the control block as follows:
F=h(x,y)=−ln(p(y)). (Eqn. 40)
where p(y) is an unconditioned probability of the current output. It is noteworthy that the average value of the instantaneous unconditional entropy may equal the unconditional H(x,y). This performance function may be used to reduce variability in the output of the system for adaptive filtering.
In some implementations, the PD block may determine the performance function by calculating the instantaneous Kullback-Leibler divergence dKL between the output probability distribution p(y|x) of the control block and some desired probability distribution θ(y|x) as follows:
F=d
KL(P,θ)=ln(p(y|x))−ln(θ(y|x)). (Eqn. 41)
The average value of the instantaneous Kulback-Leibler divergence may be referred to as the Kulback-Leibler divergence DKL(p, θ). The performance function of Eqn. 41 may be applied in unsupervised learning tasks in order to restrict a possible output of the system. For example, if θ(y) is a Poisson distribution of spikes with some firing rate R, then minimization of this performance function may force the neuron to have the same firing rate R.
In some implementations, the PD block may determine the performance function for the sparse coding. The sparse coding task may be an unsupervised learning task where the adaptive system may discover hidden components in the data that describes data the best with a constraint that the structure of the hidden components should be sparse:
F=∥x−A(y,w)∥2+∥y∥2, (Eqn. 42)
where the first term quantifies how close the data x can be described by the current output y, where A(y,w) is a function that describes how to decode an original data from the output. The second term may calculate a norm of the output and may imply restrictions on the output sparseness.
A learning framework of the present innovation may enable generation of learning rules for a system, which may be configured to solve several completely different tasks-types simultaneously. For example, the system may learn to control an actuator while trying to extract independent components from movement trajectories of this actuator. The combination of tasks may be done as a linear combination of the performance functions for each particular problem:
F=C(F1,F2, . . . ,Fn), (Eqn. 43)
where: F1, F2, . . . , Fn are performance function values for different tasks; and C is a combination function.
In some implementations, the combined performance function C may comprise a weighted linear combination of individual cost functions corresponding to individual learning tasks:
C(F1,F1, . . . ,F1)=ΣkakFk, (Eqn. 44)
where ak are combination weights.
It is recognized by those killed in the arts that linear performance function combination described by Eqn. 44 illustrates one particular implementation of the disclosure and other implementations (e.g., a nonlinear combination) may be used as well.
In one or more implementations, a monotonic transformation may be used in conjunction with the performance function described for example, by Eqn. 33-Eqn. 48 above. In one such realization, the transformation may comprise an addition of a constant term to the
where F0 comprises a transformation parameter. In some implementations, the transformation parameter F0 may be configured to be constant over averaging time scale Tav of Eqn. 45. The time scale Tav may be configured longer, compared to the network update time scale, so that when the transformed performance function is averaged according, for example to Eqn. 45, the result may be free from systematic deviation (i.e., bias). In some implementations, the network update timescale may be selected between 1 ms and 20 ms. In some implementations, the transformation parameter may be configured to vary slowly over the time scale Tav such that when averaged it may be characterized by a constant value <F0>. In other words, the performance function transformation, when constructed as described above, may not bias the performance gradient on the time scale that is longer compared to the update time scale.
In one or more implementations, an arbitrary monotonous transformation ℑ(F) may be applied to the performance function, provided it does not affect the position of its extremum (with respect to the parameters x, y, w).
In some implementation, when F is positive, then the transformation may comprise ℑ(F)=F2, ℑ(F)=√{square root over (F)}, ℑ(F)=log(F), ℑ(F)=eF, and/or ℑ(F)=Fn, n≠0.
In one or more implementations, the performance F may comprise positive reward signal R+ (e.g., such as the distance between the desired and actual vehicle position) and the transformation ℑ(F) may be used, for example, to normalize the reward as follows:
ℑ(F)=1−e−kR
where k is the scale parameter determined. The transformation of Eqn. 46 normalizes the reward into a range between 0 to 1, thereby limiting the maximum changes to the learning parameter w when the reward is large. By way of illustration, if the reward value is equal to 10,000, the transformed reward is merely 0.0003. Hence, the transformation alleviates the need to modify learning parameter (e.g., the parameter γ in Eqn. 57). Instead, the normalization of the reward aids the gradient descend method by, inter alia, providing appropriate small increment in the learning parameter w.
In one or more implementations, the transformation may be applied to the distance between teacher output and system output that may be defined in accordance with Eqn. 35.
The learning implementation comprising performance function transformations, such as, for example, those described by Eqn. 45 shift gradient of the performance function in a particular direction on the time scale, that is smaller than the averaging time scale but may be comparable to the update time scale. Such shift may advantageously lead to stochastic drift of parameters and may enhance exploration capabilities of the adaptive controller apparatus (e.g., the apparatus 320 of
In one or more implementations, learning speed of the learning apparatus may be increased by subtracting a baseline performance from instantaneous performance function estimates Fcur. In one such implementation, the PD block (e.g., the block 424 of
F(t)=F(t)cur−F
(Eqn. 47)
where:
Fcur(t)—is the current value of the performance function; and
F
—is time average of the performance function (interval average or running average).
In some implementations, the time average of the performance function may comprise an interval average, where learning occurs over a predetermined interval. A current value of the performance function may be determined at individual steps within the interval and may be averaged over all steps.
In some implementations, the time average of the performance function may comprise a running average, where the current value of the cost function may be low-pass filtered according to:
thereby producing a running average output.
Referring now to
F
sur
=aF
sup
+bF
reinf
+c(−Funsup) (Eqn. 49)
where Fsup is described by, for example, Eqn. 34, Funsup is the cost function for the unsupervised learning tasks, and a, c are coefficients determining relative contribution of each cost component to the combined cost function. By varying the coefficients a, c during different simulation runs of the spiking network, effects of relative contribution of individual learning methods on the network learning performance may be investigated.
The PD blocks 444, 445, may implement the reinforcement (R) learning rule. The output 448 of the block 444 may be determined based on the output signal y(t) 418 and the reinforcement signal r(t) 446. In one or more implementations, the output 448 of the RSUPD block may be determined in accordance with Eqn. 38. The performance function output 449 of the block 445 may be determined based on the input signal x(t), the output signal y(t), and/or the reinforcement signal r(t).
The PD block implementation denoted 454, may be configured to implement supervised (S) learning rules to generate performance function F_S 458 that is dependent on the output signal y(t) value 418 and the teaching signal yd(t) 456. In one or more implementations, the output 458 of the PD 454 block may be determined in accordance with Eqn. 34-Eqn. 37.
The output performance function 468 of the PD block 464 implementing unsupervised learning may be a function of the input x(t) 412 and the output y(t) 418. In one or more implementations, the output 468 may be determined in accordance with Eqn. 39-Eqn. 42.
The PD block implementation denoted 474 may be configured to simultaneously implement reinforcement and supervised (RS) learning rules. The PD block 474 may not require the input signal x(t), and may receive the output signal y(t) 418 and the teaching signals r(t), yd(t) 476. In one or more implementations, the output performance function F RS 478 of the PD block 474 may be determined in accordance with Eqn. 43, where the combination coefficient for the unsupervised learning is set to zero. By way of example, in some implementations reinforcement learning task may be to acquire resources by the mobile robot, where the reinforcement component r(t) provides information about acquired resources (reward signal) from the external environment, while at the same time a human expert shows the robot what should be desired output signal yd(t) to optimally avoid obstacles. By setting a higher coefficient to the supervised part of the performance function, the robot may be trained to try to acquire the resources if it does not contradict with human expert signal for avoiding obstacles.
The PD block implementation denoted 475 may be configured to simultaneously implement reinforcement and supervised (RS) learning rules. The PD block 475 output may be determined based the output signal 418, the learning signals 476, comprising the reinforcement component r(t) and the desired output (teaching) component y (t) and on the input signal 412, that determines the context for switching between supervised and reinforcement task functions. By way of example, in some implementations, reinforcement learning task may be used to acquire resources by the mobile robot, where the reinforcement component r(t) provides information about acquired resources (reward signal) from the external environment, while at the same time a human expert shows the robot what should be desired output signal yd(t) to optimally avoid obstacles. By recognizing obstacles, avoidance context on the basis of some clues in the input signal, the performance signal may be switched between supervised and reinforcement. That may allow the robot to be trained to try to acquire the resources if it does not contradict with human expert signal for avoiding obstacles. In one or more implementations, the output performance function 479 of the PD 475 block may be determined in accordance with Eqn. 43, where the combination coefficient for the unsupervised learning is set to zero.
The PD block implementation denoted 484 may be configured to simultaneously implement reinforcement, and unsupervised (RU) learning rules. The output 488 of the block 484 may be determined based on the input and output signals 412, 418, in one or more implementations, in accordance with Eqn. 43. By way of example, in some implementations of sparse coding (unsupervised learning), the task of the adaptive system on the robot may be not only to extract sparse hidden components from the input signal, but to pay more attention to the components that are behaviorally important for the robot (that provides more reinforcement after they can be used).
The PD block implementation denoted 494, which may be configured to simultaneously implement supervised and unsupervised (SU) learning rules, may receive the input signal x(t) 412, the output signal y(t) 418, and/or the teaching signal yd(t) 436. In one or more implementations, the output performance function F_SU 438 of the SU PD block may be determined in accordance with:
F
su
=aF
sup
+c(−Funsup). (Eqn. 50)
where Fsup is described by, for example, Eqn. 34, Funsup is the cost function for the unsupervised learning tasks, and a, c are coefficients determining relative contribution of each cost component to the combined cost function. By varying the coefficients a, c during different simulation runs of the spiking network, effects of relative contribution of individual learning methods on the network learning performance may be investigated.
In order to describe the cost function of the unsupervised learning, a Kullback-Leibler divergence between two point processes may be used:
F
unsup=ln(p(t))−ln(pd(t)) (Eqn. 51)
where p(t) is probability of the actual spiking pattern generated by the network, and pd(t) is the probability of a spiking pattern generated by Poisson process. The unsupervised learning task may serve to minimize the function of Eqn. 51 such that when the two probabilities p(t)=pd(t) are equal at all times, then the network generates output spikes according to Poisson distribution.
The composite cost function for simultaneous unsupervised and supervised learning may be expressed as a linear combination of Eqn. 34 and Eqn. 51:
By the way of example, the stochastic learning system (that is associated with the PD block implementation 494) may be configured to learn to implement unsupervised data categorization (e.g., using sparse coding performance function), while simultaneously receiving external signal that is related to the correct category of particular input signals. In one or more implementations such reward signal may be provided by a human expert.
In one or more implementations of reinforcement learning, the PD block (e.g., the block 424 of
In one or more implementations related to analog reward signal, in order to reduce computational load on the PA block related to application of weight changes, the PD block may transform the analog reward r(t) into spike form.
In one or more implementations of supervised learning, the current performance F may be determined based on the output of the neuron and the external reference signal (e.g., the desired output yd(t)). For example, a distance measure may be calculated using a low-pass filtered version of the desired yd(t) and actual y(t) outputs. In some implementations, a running distance between the filtered spike trains may be determined according to:
where:
with y(t) and yd(t) being the actual and desired output spike trains; δ(t) is the Dirac delta function; tiout, tjd are the output and desired spike times, respectively; and a(t), b(t) are positive finite-response kernels. In some implementations, the kernel a(t) may comprise an exponential trace: a(t)=e−t/τ
In some implementations of supervised learning, spiking neuronal network may be configured to learns to minimize a Kullback-Leibler distance between the actual and desired output:
F(x(t),y(t))=DKL(y(t)∥r(t)). (Eqn. 54
In some implementations, if r(t) is a Poisson spike train with a fixed firing rate, the DKL learning may enable stabilization of the neuronal firing rate.
In some implementations of supervised learning, referred to as the “information bottleneck”, the performance maximization may comprise minimization of the mutual information between the actual output y(t) and some reference signal r(t). For a given input and output, the performance function may be expressed as:
F(x(t),y(t))=I(y(t),r(t)). (Eqn. 55)
In one or more implementations of unsupervised learning, the cost function may be obtained by a minimization of the conditional informational entropy of the output spiking pattern:
F(x,y)=H(y|x) (Eqn. 56)
so as to provide a more stable neuron output y for a given input x.
The parameter changing PA block (the block 426 in
Several exemplary implementations of PA learning algorithms applicable with spiking control signals are described below. In some implementations, the PA learning algorithms may comprise a multiplicative online learning rule, where control parameter changes are determined as follows:
Δ(t)=γF(t)
(t) (Eqn. 57)
where γ is the learning rate configured to determine speed of learning adaptation. The learning method implementation according to (Eqn. 57) may be advantageous in applications where the performance function F(t) may depend on the current values of the inputs x, outputs y, and/or signal r.
In some implementations, the control parameter adjustment Δw may be determined using an accumulation of the score function gradient and the performance function values, and applying the changes at a predetermined time instance (corresponding to, e.g., the end of the learning epoch):
where: T is a finite interval over which the summation occurs; N is the number of steps; and Δt is the time step determined as T|N. The summation interval T in Eqn. 58 may be configured based on the specific requirements of the control application. By way of illustration, in a control application where a robotic arm is configured to reaching for an object, the interval may correspond to a time from the start position of the arm to the reaching point and, in some implementations, may be about 1 s-50 s. In a speech recognition application, the time interval T may match the time required to pronounce the word being recognized (typically less than 1 s-2 s). In some implementations of spiking neuronal networks, Δt may be configured in range between 1 ms and 20 ms, corresponding to 50 steps (N=50) in one second interval.
The method of Eqn. 58 may be computationally expensive and may not provide timely updates. Hence, it may be referred to as the non-local in time due to the summation over the interval T. However, it may lead to unbiased estimation of the gradient of the performance function.
In some implementations, the control parameter adjustment Δwi may be determined by calculating the traces of the score function ei(t) for individual parameters wi. In some implementations, the traces may be computed using a convolution with an exponential kernel β as follows:
{right arrow over (e)}(t+Δt)=β{right arrow over (e)}(t)+{right arrow over (g)}(t), (Eqn. 59)
where β is the decay coefficient. In some implementations, the traces may be determined using differential equations:
The control parameter w may then be adjusted as:
{right arrow over (Δw)}(t)=γF(t){right arrow over (e)}(t), (Eqn. 61)
where γ is the learning rate. The method of Eqn. 59-Eqn. 61 may be appropriate when a performance function depends on current and past values of the inputs and outputs and may be referred to as the OLPOMDP algorithm. While it may be local in time and computationally simple, it may lead to biased estimate of the performance function. By way of illustration, the methodology described by Eqn. 59-Eqn. 61 may be used, in some implementations, in a rescue robotic device configured to locate resources (e.g., survivors, or unexploded ordinance) in a building. The input x may correspond to the robot current position in the building. The reward r (e.g., the successful location events) may depend on the history of inputs and on the history of actions taken by the agent (e.g., left/right turns, up/down movement, and/or other actions taken by the agent).
In some implementations, the control parameter adjustment Δw determined using methodologies of the Eqns. 16, 17, 19 may be further modified using, in one variant, gradient with momentum according to:
Δ(t)
μΔ
(t−Δt)+Δ
(t), (Eqn. 62)
where μ is the momentum coefficient. In some implementations, the sign of gradient may be used to perform learning adjustments as follows:
In some implementations, gradient descend methodology may be used for learning coefficient adaptation.
In some implementations, the gradient signal g, determined by the PD block 422 of
Δ=
·
T
x,y−1·
·F
x,y (Eqn. 64)
where {right arrow over (g)}{right arrow over (g)}T
x,y is the Fisher information metric matrix. Applying the following transformation to Eqn. 21:
Δ
TΔ
−F)
x,y=0, (Eqn. 65)
natural gradient from linear regression task may be obtained as follows:
GΔ{right arrow over (w)}={right arrow over (F)} (Eqn. 66)
where G=[{right arrow over (g0T)}, . . . , {right arrow over (gnT)}] is a matrix comprising n samples of the score function g, {right arrow over (FT)}=[F0, . . . , Fn] is the a vector of performance function samples, and n is a number of samples that should be equal or greater of the number of the parameters wi. While the methodology of Eqn. 64-Eqn. 66 may be computationally expensive, it may help dealing with ‘plateau’-like landscapes of the performance function.
In one or more implementations, the generalized learning framework described supra may enable implementing signal processing blocks with tunable parameters w. Using the learning block framework that provides analytical description of individual types of signal processing block may enable it to automatically calculate the appropriate score function
for individual parameters of the block. Using the learning architecture described in
It will be appreciated by those skilled in the arts that the reinforcement learning configuration of the generalized learning controller apparatus 520 of
A user of the adaptive controller 520_4 of
Once the user specifies the learning type(s) associated with each task (unsupervised, supervised, and reinforcement, respectively) the controller 520_4 of
At another instance in a different application, illustrated in
Similarly to the implementation of
Generalized learning methodology described herein may enable the learning apparatus 620_4 to implement different adaptive tasks, by, for example, executing different instances of the generalized learning method, individual ones configured in accordance with the particular task (e.g., tasks 550_1, 550_2, 550_3, in
Referring now to
The following signal notation may be used in describing operation of the network 700, below:
denotes the output spike pattern, corresponding to the output signal 708 produced by the control block 710 of
denotes the teaching spike pattern, corresponding to the desired (or reference) signal that is part of external signal 404 of
denotes the reinforcement signal spike stream, corresponding to signal 304 of
In some implementations, the neuron 730 may be configured to receive training inputs, comprising the desired output (reference signal) yd(t) via the connection 704. In some implementations, the neuron 730 may be configured to receive positive and negative reinforcement signals via the connection 704.
The neuron 730 may be configured to implement the control block 710 (that performs functionality of the control block 310 of
where wi wi represents weights of the input channels, tik represents input spike times, and α(t)=(t/τα)e1−(t/τ
In one or more implementations, learning implementation may comprise an addition (or subtraction) of a constant term to the performance function of a spiking neurons, in accordance, for example, with Eqn. 45, that may lead to non-associative potentiation (or depression) of synaptic connections (e.g., the connections 714 in
Referring now to
At step 802 of method 800 the input information may be received. In some implementations (e.g., unsupervised learning) the input information may comprise the input signal x(t), which may comprise raw or processed sensory input, input from the user, and/or input from another part of the adaptive system. In one or more implementations, the input information received at step 802 may comprise learning task identifier configured to indicate the learning rule configuration (e.g., Eqn. 43) that should be implemented by the learning block. In some implementations, the indicator may comprise a software flag transited using a designated field in the control data packet. In some implementations, the indicator may comprise a switch (e.g., effectuated via a software commands, a hardware pin combination, or memory register).
At step 804, learning framework of the performance determination block (e.g., the block 424 of
At step 808, the status of the learning indicator may be checked to determine whether performance transformations are to be performed at step 810. In one or more implementations, these transformations may comprise, for example, the manipulations described with respect to Eqn. 46-Eqn. 48 above.
At step 812, the value of the present performance may be computed using the performance function F(x,y,r) configured at the prior step. It will be appreciated by those skilled in the arts, that when performance function is evaluated for the first time (according, for example to Eqn. 35) and the controller output y(t) is not available, a pre-defined initial value of y(t) (e.g., zero) may be used instead.
At step 814, gradient g(t) of the score function (logarithm of the conditional probability of output) may be determined according by the GD block (e.g., The block 422 of
At step 816, learning parameter w update may be determined by the Parameter Adjustment block (e.g., block 426 of
At step 818, the control output y(t) of the controller may be updated using the input signal x(t) (received via the pathway 820) and the updated learning parameter Δw.
At step 822 of the method 820, instantaneous performance F(t) of the learning process be computed.
At step 824, it is determined whether the performance transformation is to be applied. In some implementations, the determination of the step 824 may comprise an evaluation of a hardware or software flag (e.g., a memory register). In one or more implementations, the performance function may be configured to comprise the transformation and the step 824 may, therefore, be effectuated implicitly.
If the transformation is enabled, the baseline performance FB of the process is determined at step 826. In one or more implementations, the baseline performance may comprise interval average, running average, weighted moving average, and/or other averages.
At step 828, the instantaneous performance, obtained at step 822, is transformed by removing the baseline estimate from the instantaneous performance F(t)-FB.
At step 832 baseline determination method may be established. In some implementations, the determination of the step 824 may comprise an evaluation of a hardware or software flag (e.g., a memory register). In one or more implementations, the performance function may be configured to comprise the appropriate baseline determination process and the step 834 may, therefore, be effectuated implicitly.
When running mean baseline is selected at step 834, the method may proceed to step 838 where the performance baseline may be determined using for example Eqn. 47, in one implementation.
When interval average baseline is selected at step 834, the method may proceed to step 836 where the performance baseline may be determined using for example Eqn. 48, in one implementation.
When moving average mean baseline is selected at step 834, the method may proceed to step 840 where the performance baseline may be determined using any applicable methodologies.
At step 842, the instantaneous performance obtained at step 832 may be transformed by removing the baseline estimate from the instantaneous performance F(t)-FB.
The curve 902 in
Contrast the data of Curve 910 with the data of curve 910 in
Generalized learning framework apparatus and methods of the disclosure may allow for an improved implementation of single adaptive controller apparatus system configured to simultaneously perform a variety of control tasks (e.g., adaptive control, classification, object recognition, prediction, and/or clasterisation). Unlike traditional learning approaches, the generalized learning framework of the present disclosure may enable adaptive controller apparatus, comprising a single spiking neuron, to implement different learning rules, in accordance with the particulars of the control task.
In some implementations, the network may be configured and provided to end users as a “black box”. While existing approaches may require end users to recognize the specific learning rule that is applicable to a particular task (e.g., adaptive control, pattern recognition) and to configure network learning rules accordingly, a learning framework of the disclosure may require users to specify the end task (e.g., adaptive control). Once the task is specified within the framework of the disclosure, the “black-box” learning apparatus of the disclosure may be configured to automatically set up the learning rules that match the task, thereby alleviating the user from deriving learning rules or evaluating and selecting between different learning rules.
Even when existing learning approaches employ neural networks as the computational engine, each learning task is typically performed by a separate network (or network partition) that operate task-specific (e.g., adaptive control, classification, recognition, prediction rules, etc.) set of learning rules (e.g., supervised, unsupervised, reinforcement). Unused portions of each partition (e.g., motor control partition of a robotic device) remain unavailable to other partitions of the network even when the respective functionality of not needed (e.g., the robotic device remains stationary) that may require increased processing resources (e.g., when the stationary robot is performing recognition/classification tasks).
When learning tasks change during system operation (e.g., a robotic apparatus is stationary and attempts to classify objects), generalized learning framework of the disclosure may allow dynamic re-tasking of portions of the network (e.g., the motor control partition) at performing other tasks (e.g., visual pattern recognition, or object classifications tasks). Such functionality may be effected by, inter alia, implementation of generalized learning rules within the network which enable the adaptive controller apparatus to automatically use a new set of learning rules (e.g., supervised learning used in classification), compared to the learning rules used with the motor control task. These advantages may be traded for a reduced network complexity, size and cost for the same processing capacity, or increased network operational throughput for the same network size.
Generalized learning methodology described herein may enable different parts of the same network to implement different adaptive tasks (as described above with respect to
Furthermore, the learning framework described herein may enable learning implementation that does not affect normal functionality of the signal processing/control system. By way of illustration, an adaptive system configured in accordance with the present disclosure (e.g., the network 600 of
In one or more implementations, the generalized learning apparatus of the disclosure may be implemented as a software library configured to be executed by a computerized neural network apparatus (e.g., containing a digital processor). In some implementations, the generalized learning apparatus may comprise a specialized hardware module (e.g., an embedded processor or controller). In some implementations, the spiking network apparatus may be implemented in a specialized or general purpose integrated circuit (e.g., ASIC, FPGA, and/or PLD). Myriad other implementations may exist that will be recognized by those of ordinary skill given the present disclosure.
Advantageously, the present disclosure can be used to simplify and improve control tasks for a wide assortment of control applications including, without limitation, industrial control, adaptive signal processing, navigation, and robotics. Exemplary implementations of the present disclosure may be useful in a variety of devices including without limitation prosthetic devices (such as artificial limbs), industrial control, autonomous and robotic apparatus, HVAC, and other electromechanical devices requiring accurate stabilization, set-point control, trajectory tracking functionality or other types of control. Examples of such robotic devices may include manufacturing robots (e.g., automotive), military devices, and medical devices (e.g., for surgical robots). Examples of autonomous navigation may include rovers (e.g., for extraterrestrial, underwater, hazardous exploration environment), unmanned air vehicles, underwater vehicles, smart appliances (e.g., ROOMBA®), and/or robotic toys. The present disclosure can advantageously be used in other applications of adaptive signal processing systems (comprising for example, artificial neural networks), including: machine vision, pattern detection and pattern recognition, object classification, signal filtering, data segmentation, data compression, data mining, optimization and scheduling, complex mapping, and/or other applications.
It will be recognized that while certain aspects of the disclosure are described in terms of a specific sequence of steps of a method, these descriptions are only illustrative of the broader methods of the invention, and may be modified as required by the particular application. Certain steps may be rendered unnecessary or optional under certain circumstances. Additionally, certain steps or functionality may be added to the disclosed implementations, or the order of performance of two or more steps permuted. All such variations are considered to be encompassed within the disclosure disclosed and claimed herein.
While the above detailed description has shown, described, and pointed out novel features of the disclosure as applied to various implementations, it will be understood that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made by those skilled in the art without departing from the disclosure. The foregoing description is of the best mode presently contemplated of carrying out the invention. This description is in no way meant to be limiting, but rather should be taken as illustrative of the general principles of the invention. The scope of the disclosure should be determined with reference to the claims.
This application is related to a co-owned and co-pending U.S. patent application Ser. No. 13/______ entitled “STOCHASTIC APPARATUS AND METHODS FOR IMPLEMENTING GENERALIZED LEARNING RULES” [attorney docket 021672-0405921, client reference BC201202A], filed contemporaneously herewith, co-owned U.S. patent application Ser. No. 13/______ entitled “STOCHASTIC SPIKING NETWORK LEARNING APPARATUS AND METHODS”, [attorney docket 021672-0407107, client reference BC201203A], filed contemporaneously herewith, and co-owned U.S. patent application Ser. No. 13/______ entitled “DYNAMICALLY RECONFIGURABLE STOCHASTIC LEARNING APPARATUS AND METHODS”, [attorney docket 021672-0407729, client reference BC201211A], filed contemporaneously herewith, each of the foregoing incorporated herein by reference in its entirety.