US Pat. No. 9,384,443

ROBOTIC TRAINING APPARATUS AND METHODS

BRAIN CORPORATION, San D...

1. A computerized controller apparatus configured to effectuate control of a robotic device, the controller apparatus comprising:
one or more processors configured to execute computer program modules to cause the one or more processors to:
(1) during a first training trial of a plurality of trials:
determine a first signal based on a characteristic of an input provided to the controller apparatus by the robotic device;
and

cause the robotic device to perform a first action based on a first control signal, the first control signal being determined
based on the first signal and a first user input, the first action being characterized by a first performance measure; and

(2) during a second training trial of the plurality of trials, the second training trial being subsequent to the first training
trial:

determine a second signal based on the characteristic of the input and a first error, the first error being determined based
on a proximity measure between the first action and a target action, the first error being greater than a third error corresponding
to a third action performed by the robotic device responsive to a third control signal configured based solely on the first
user input; and

cause the robotic device to perform a second action based on a second control signal, the second control signal being determined
based on the second signal and a second user input, the second action being characterized by a second error, the second error
being determined based on a proximity measure between the second action and the target action;

wherein:
the second error is smaller than the first error.

US Pat. No. 9,189,730

MODULATED STOCHASTICITY SPIKING NEURON NETWORK CONTROLLER APPARATUS AND METHODS

Brain Corporation, San D...

1. A non-transitory computer-readable storage medium having instructions embodied thereon, the instructions being executable
by one or more processors to perform a control of an exploration by a spiking neuron, the instructions when executed, configured
to cause the one or more processors to:
operate the spiking neuron in accordance with a reinforcement learning process characterized by a stochasticity level and
a response generation probability;

evaluate a performance metric of the reinforcement learning process, the performance metric being indicative of a relation
between a present process outcome and a target outcome; and

based on the performance metric, adjust the stochasticity level to effectuate the control of the exploration;
wherein:
the performance metric comprises a distance measure between the present process outcome and the target outcome;
the evaluation of the performance metric comprises a comparison of the performance metric to a performance value; and
the adjustment of the stochasticity level comprises a decrease in the stochasticity level when the performance metric is above
the performance value.

US Pat. No. 9,111,215

CONDITIONAL PLASTICITY SPIKING NEURON NETWORK APPARATUS AND METHODS

BRAIN CORPORATION, San D...

1. A method of operating a connection configured to communicate an input to an artificial spiking neuron, said method comprising:
determining an efficiency associated with operating said connection in accordance with a first plasticity mechanism; and
based at least in part on an indication, operating said connection in accordance with a second plasticity mechanism;
wherein:
said indication is based at least in part on a comparison of said efficiency to a target efficiency;
said first plasticity mechanism comprises a common portion and a first adjustable portion;
said second plasticity mechanism comprises said common portion and a second adjustable portion; and
said second adjustable portion comprises a time-shifted version of said first adjustable portion.

US Pat. No. 9,183,493

ADAPTIVE PLASTICITY APPARATUS AND METHODS FOR SPIKING NEURON NETWORK

Brain Corporation, San D...

1. Computerized spiking neuron apparatus comprising a non-transitory computer readable storage medium, the storage medium
comprising a plurality of executable instructions configured to, adjust an efficacy of an interface of the neuron, the plurality
of executable instructions are configured to. when executed, cause the computerized spiking neuron apparatus to:
adjust a neuron excitability based on one or more pre-synaptic inputs;
store one or more pre-synaptic times associated with the one or more pre-synaptic inputs; and
when the neuron excitability is above a threshold:
generate a post-synaptic output;
determine a similarity measure between a neuron output signal, comprising a response, and the one or more pre-synaptic inputs;
determine a long term potentiation (LTP) component of an adaptive plasticity based on the determined similarity measure; and
determine a long term depression (LTD) component of the adaptive plasticity based on a parameter associated with the LTP;
wherein the post-synaptic output comprises a response generated by the neuron based on the one or more pre-synaptic inputs.

US Pat. No. 9,426,946

COMPUTERIZED LEARNING LANDSCAPING APPARATUS AND METHODS

BRAIN CORPORATION, San D...

1. A computerized motorized robotic apparatus, comprising:
a platform comprising a propulsion component;
a shaping component comprising a plurality of end effectors, where at least one individual end effector is operable to extend
and retract; and

a controller component configured to:
operate the propulsion component to navigate the platform along a trajectory proximate a landscaping arrangement; and
operate the plurality of end effectors to produce a three dimensional pattern in the landscaping arrangement.

US Pat. No. 9,208,432

NEURAL NETWORK LEARNING AND COLLABORATION APPARATUS AND METHODS

Brain Corporation, San D...

1. A non-transitory computer readable medium configured to store at least one computer program thereon, the computer program
comprising a plurality of instructions configured to when executed:
establish a data connection to a synaptic device;
receive status information from the synaptic device;
issue a command to the synaptic device, the synaptic device being configured to execute an action based at least in part on
the command;

receive feedback input from a user; and
forward the feedback input to the synaptic device via the data connection;
wherein:
the forwarding of the feedback input causes the synaptic device to alter a behavioral trait;
the alteration of the behavioral trait comprises an adjustment of a configuration of an artificial neural network disposed
at least in part on the synaptic device, the artificial neural network being comprised of a plurality of spiking neurons;
and

the alteration of the behavioral trait comprises at least one of (i) a potentiation or (ii) a depression of a subset of the
plurality of spiking neurons.

US Pat. No. 9,248,569

DISCREPANCY DETECTION APPARATUS AND METHODS FOR MACHINE LEARNING

Brain Corporation, San D...

1. A robotic apparatus, comprising:
a platform comprising a controllable actuator;
a sensor module configured to provide environmental information associated with an environment of the platform; and
a controller configured to:
provide a control instruction for the controllable actuator, the control instruction configured to cause the platform to execute
an action to accomplish a target task in accordance with the environmental information;

determine a predicted outcome of the action;
determine a discrepancy signal based on an actual outcome of the action and the predicted outcome; and
determine a repeat indication responsive to the discrepancy being within a range of a target value associated with the target
task;

wherein the repeat indication is configured to cause the robot to execute a second action to achieve the target task.

US Pat. No. 9,242,372

ADAPTIVE ROBOTIC INTERFACE APPARATUS AND METHODS

Brain Corporation, San D...

1. A non-transitory machine-readable storage medium having instructions embodied thereon, the instructions being executable
to perform a method for controlling a robotic apparatus, the method comprising:
establishing a data connection to the robotic apparatus;
receiving information related to a phenotype of the robotic apparatus; and
issuing a command to a user interface apparatus, the user interface apparatus executing an action based on the command, the
command indicative of at least one configuration associated with the information;

wherein:
the user interface apparatus comprises a display apparatus comprising at least one control configured to relay user input
to the robotic apparatus;

executing the action causes the user interface apparatus to alter a representation of the at least one control consistent
with the information;

the phenotype is characterized by one or both of (i) a hardware configuration of the robotic apparatus or (ii) an operational
configuration of the robotic apparatus;

the information is based on a statistical parameter related to a plurality of actions executed by the robotic apparatus responsive
to a plurality of user commands relayed by the control; and

individual ones of the plurality of actions are determined based on one or both of the hardware configuration of the robotic
apparatus or the operational configuration of the robotic apparatus.

US Pat. No. 9,224,090

SENSORY INPUT PROCESSING APPARATUS IN A SPIKING NEURAL NETWORK

Brain Corporation, San D...

1. Computer readable apparatus comprising a non-transitory storage medium, said non-transitory storage medium comprising a
plurality of instructions to implement adjustment of a weight of a connection of a spiking neuronal network, the instructions
configured to, when executed:
increase the weight based at least on a response generated by at least one neuron of the network prior to receipt of an input
signal; and

reduce said weight based on said input signal preceding said response;
wherein said connection is configured to communicate said input signal to said at least one neuron;
the input signal is configured to convey information related to a context, the context comprising a feedback provided by another
neuron of the network; and

wherein said reduction and said increase of said connection weight cooperate to effect control of context-based response generation
by said at least one neuron.

US Pat. No. 9,152,915

APPARATUS AND METHODS FOR ENCODING VECTOR INTO PULSE-CODE OUTPUT

Brain Corporation, San D...

1. A computer-implemented method of encoding a displacement vector using an artificial spiking neuron network, the method
being performed by one or more processors configured to execute computer program modules, the method comprising:
encoding a first component of the vector into a first pulse, and a second component of the vector into a second pulse;
coupling the first pulse to a plurality of detectors via a first plurality of connections, and the second pulse to the plurality
of detectors via a second plurality of connections, the plurality of detectors including a first detector; and

providing a detection signal responsive to a simultaneous arrival of the first pulse and the second pulse at the first detector,
the detection signal being provided by the first detector;

wherein:
the first detector comprises a spiking neuron, the spiking neuron being characterized by an excitability;
arrival of the first pulse at the spiking neuron is effectuated via a first connection of the first plurality of connections,
the first connection being characterized by a first inhibitory efficacy, the first inhibitory efficacy being associated with
a first inhibitory time interval;

arrival of the second pulse at the spiking neuron is effectuated via a second connection of the second plurality of connections,
the second connection being characterized by a second inhibitory efficacy, the second inhibitory efficacy being associated
with a second inhibitory time interval; and

the encoding results in the simultaneous arrival of the first pulse and the second pulse at the spiking neuron by causing
an overlap between the first inhibitory time interval and the second inhibitory time interval.

US Pat. No. 9,122,994

APPARATUS AND METHODS FOR TEMPORALLY PROXIMATE OBJECT RECOGNITION

Brain Corporation, San D...

1. Apparatus configured for object recognition, the apparatus comprising:
a receiving module configured to receive a first plurality of frames relating to an object undergoing a transformation;
an encoder configured to encode at least a portion of a frame within the first plurality of frames into a group of pulses;
and

at least one detector in communication with the encoder and configured to receive the group of pulses, and to generate a first
signal based at least in part on the group of pulses;

wherein:
at least a subset of the first plurality of frames comprises a plurality of views of the object undergoing the transformation;
the apparatus is configured to recognize the object in a view of the plurality of views invariantly with respect to the transformation;
the at least one detector is adjustable from a first regime to a second regime responsive to a second signal;
the second signal comprises a detection signal generated in response to a first frame of the first plurality of frames; and
the first regime comprises a first excitability parameter of the at least one detector and the second regime comprises a second
excitability parameter of the at least one detector, the second excitability parameter being different than the first excitability
parameter at least until a second frame of the first plurality of frames is received, the second frame being generated subsequent
to the first frame of the first plurality of frames.

US Pat. No. 9,098,811

SPIKING NEURON NETWORK APPARATUS AND METHODS

Brain Corporation, San D...

1. A method for increasing receptive field diversity in a neural network having a plurality of neurons, the method comprising
a heterosynaptic approach including:
for at least a first one of said plurality of neurons that respond to a stimulus, applying a first plasticity mechanism; and
for a second and at least portion of other ones of said plurality of neurons that respond to said stimulus, applying a second
plasticity mechanism different than the first plasticity mechanism;

where at least one of the first or second plasticity mechanisms is based at least in part on a Neighbor Activity Trace (NAT)
parameter corresponding to one or more activities of a neighbor neuron competing for features.

US Pat. No. 9,239,985

APPARATUS AND METHODS FOR PROCESSING INPUTS IN AN ARTIFICIAL NEURON NETWORK

Brain Corporation, San D...

1. A method of operating a node of network, the method comprising:
scaling individual inputs of a plurality of inputs received by the node via a plurality of connections, the scaling using
at least a transformation to produce a plurality of scaled inputs; and

updating a state of the node based on at least combining the plurality of scaled inputs, the updating configured to cause
the node to generate a response based on at least the updated state of the node breaching a threshold;

wherein:
the individual inputs of the plurality of inputs comprise a first value, and the plurality of scaled inputs comprise a second
value that is larger than the first value; and

the transformation comprises a concave function of the plurality of inputs, the concave function configured to increase the
first value to produce a third value, and to decrease the second value to produce a fourth value.

US Pat. No. 9,123,127

CONTRAST ENHANCEMENT SPIKING NEURON NETWORK SENSORY PROCESSING APPARATUS AND METHODS

Brain Corporation, San D...

1. A computerized apparatus comprising a storage medium, the storage medium comprising a plurality of computer-readable instructions
configured to, when executed, detect an object in a sensory input by at least:
based on at least one feed-forward signal, generate an inhibitory signal configured to suppress generation of a secondary
feed-forward signal, thereby enabling the object detection;

wherein:
the at least one feed-forward signal comprises one or more pulses generated based on a portion of the sensory input comprising
a representation of the object;

the secondary feed-forward signal corresponds to a portion of the sensory input proximate the representation of the object;
and

the representation of the object being characterized by a parameter having a value that is different from a parameter value
associated with the portion of the sensory input.

US Pat. No. 9,111,226

MODULATED PLASTICITY APPARATUS AND METHODS FOR SPIKING NEURON NETWORK

Brain Corporation, San D...

1. A method of object recognition by a computerized spiking neuron network comprising first and second spiking neurons, the
method comprising, for a signal comprising first and second representations of first and second objects, respectively:
based on a first response by the first neuron to a representation of at least one of the first and the second objects:
potentiating a first feed-forward connection delivering the signal to the first neuron; and
incrementing an inhibition indication for the second neuron; and
based on a second response by the second neuron to the representation of at least one of the first and the second objects:
depressing a second feed-forward connection delivering the signal to the second neuron; and
incrementing an inhibition indication for the first neuron.

US Pat. No. 9,071,639

UNAUTHORIZED APPLICATION DETECTION SYSTEM AND METHOD

SECUREBRAIN CORPORATION, ...

8. A method of detecting a malicious application installed on a terminal using the terminal on which a user is able to properly
install an application and a fraud detection server for detecting a malicious action of the application installed on the terminal,
wherein the method comprises:
an installation state detection step of detecting a change in an installation state of the application installed on the terminal;
an installation notification step of notifying the fraud detection server of information about the installed application when
the installation state is changed;

a feature value transmission step of notifying the fraud detection server of a specific feature value based on a file of the
application or element files that form a package of the application;

a fraud detection result recording step of registering the feature value, associated with the information about the malicious
action, with an application DB;

a fraud detection information transmission step of sending fraud detection information to the terminal when the malicious
action of the application is detected at least; and

a fraud countermeasures processing step of performing specific countermeasures in the terminal when the fraud detection information
is received.

US Pat. No. 9,412,041

RETINAL APPARATUS AND METHODS

Brain Corporation, San D...

1. A sensory processing system, comprising:
an encoder apparatus comprising:
a plurality of sensing elements, each of said plurality of sensing elements being configured to receive one or more sensory
stimulus; and

a plurality of output nodes, each configured to generate an output based on said one or more sensory stimulus; and
a detector apparatus coupled to said encoder apparatus;
wherein:
a coupling of each output node of said plurality of output nodes to one and only one sensing element of said plurality of
sensing elements via a single connection is configured to cause a generation of said output by said each output node;

said each output node is characterized by a spatial sensitivity to said one or more sensory stimulus, said spatial sensitivity
being configured based on a summation of a plurality of responses from a subset of elements of said plurality of sensing elements;

said plurality of responses is characterized by:
a first Gaussian spatial distribution having a first width parameter and positive weights associated therewith; and
a second Gaussian spatial distribution having a second width parameter and negative weights associated therewith; and
said first Gaussian distribution and said second Gaussian distributions cooperate to effectuate a difference of Gaussians
(DoG) spatial response sensitivity to said one or more sensory stimulus by said output node, said response sensitivity being
characterized by an effective width.

US Pat. No. 9,364,950

TRAINABLE MODULAR ROBOTIC METHODS

Brain Corporation, San D...

7. A method of providing for cost-efficient ownership and operation of a plurality of robotic apparatus, each of the plurality
of robotic apparatus having a different configuration and capability set, the method comprising:
providing a unitary control module configured to interface with each of the plurality of robotic apparatus singularly, the
unitary control module configured to learn at least one behavior specific to each of the plurality of robotic apparatus, and
thereby control at least one aspect of an operation of each of respective ones of the plurality of robotic apparatus when
the unitary control module has been interfaced with respective ones of the plurality of robotic apparatus;

wherein each of the plurality of robotic apparatus is configured to be inoperative without the unitary control module; and
whereby use of the unitary control module with the plurality of robotic apparatus reduces a cost of ownership and operation
as compared to use of a dedicated control module for each of the plurality of robotic apparatus.

US Pat. No. 9,296,101

ROBOTIC CONTROL ARBITRATION APPARATUS AND METHODS

Brain Corporation, San D...

1. A controller apparatus of a robot, comprising:
one or more processors configured to execute computer program modules, the computer program modules comprising:
a first predictor module operable in accordance with a first learning process configured to provide a first and a second predicted
action indication configured based on a context, the first predicted action indication being configured to cause the robot
to execute a first action, the second predicted action indication being configured to cause the robot to execute a second
action;

a second predictor module operable in accordance with a second learning process configured to provide a predicted control
output configured based on the context and an input signal, the predicted control output being configured to cause the robot
to execute one of the first action or the second action; and

an arbitrator module configured to provide one of the first and the second predicted action indication as the input signal
to the second predictor module;

wherein, based on a determination by the arbitrator module that there is no conflict between the first action and the second
action, execute the first action and the second action contemporaneously.

US Pat. No. 9,186,793

APPARATUS AND METHODS FOR CONTROLLING ATTENTION OF A ROBOT

Brain Corporation, San D...

1. A computer-implemented method for providing contextual instruction to a robotic apparatus, the method being performed by
one or more processors configured to execute computer program modules, the method comprising:
transmitting a signal using a carrier of first variety, the signal being configured to irradiate an object; and
transmitting an indication using a carrier of second variety to the robotic apparatus, the second variety being distinct from
the first variety, the indication conveying whether detection of the first variety carrier is to be performed;

wherein:
the signal and the indication provide the contextual instruction, the contextual instruction being configured to cause the
robotic apparatus to commence a task associated with a context;

the carrier of the first variety includes one or both of (i) a visible spectrum carrier having a bandwidth associated therewith
or (ii) a radio spectrum carrier having a multiple access sub-channel associated therewith;

the bandwidth is different from another bandwidth associated with another signal comprising the carrier of the first variety;
the another signal and another indication provide another context capable of causing another robotic apparatus to perform
another task associated with the another context; and

the indication is capable of being provided to the another robotic apparatus.

US Pat. No. 9,373,038

APPARATUS AND METHODS FOR TEMPORAL PROXIMITY DETECTION

Brain Corporation, San D...

1. A non-transitory computer-readable storage medium having instructions embodied thereon, the instructions being executable
to perform a method of detecting a temporally persistent pattern in a sequence of image frames, the method comprising:
encoding individual frames of the sequence of image frames into spike packets using a sparse transformation, the sparse transformation
being characterized by an information reduction parameter;

determining a first spike within the spike packets, the first spike being associated with a first representation of the pattern,
the first spike being characterized by a first time and a first ID;

determining a second spike within the spike packets, the second spike being associated with a second representation of the
pattern, the second spike being characterized by a second time and a second ID;

determining a similarity matrix comprising a plurality of elements, individual elements of the similarity matrix being configured
to be determined based on a comparison of the first ID and the second ID and a comparison of the first time and the second
time;

selecting a first vector from the similarity matrix, the first vector being associated with the first ID; and
assigning the first vector to a category based on a distance measure from the first vector to one or more other vectors of
the similarity matrix;

wherein the assignment of the first vector and one or more other vectors of the similarity matrix to the category indicates
the first representation being temporally proximate to the second representation.

US Pat. No. 9,311,593

APPARATUS AND METHODS FOR POLYCHRONOUS ENCODING AND MULTIPLEXING IN NEURONAL PROSTHETIC DEVICES

Brain Corporation, San D...

1. An apparatus configured to transmit a signal to a vertebrate nervous system, the apparatus comprising:
a processor configured to receive an input signal representative of at least a portion of a visual frame;
an encoder configured to encode the input signal into a plurality of pulses; and
a plurality of stimulating electrodes;
wherein:
at least a subset of the plurality of pulses is configured in a polychronous pattern comprising at least two non-synchronous
pulses;

information related to the at least the portion of the visual frame is encoded by the processor into the polychronous pattern;
the polychronous pattern is characterized by a group delay that is common to all pulses within the plurality of pulses, the
group delay being determined by a spatiotemporal filter applied to the input signal; and

wherein the polychronous pattern is adapted for transmission via the plurality of stimulating electrodes operably coupled
to the vertebrate nervous system.

US Pat. No. 9,311,594

SPIKING NEURON NETWORK APPARATUS AND METHODS FOR ENCODING OF SENSORY DATA

Brain Corporation, San D...

1. A computerized spiking neuron signal processing apparatus, the apparatus comprising:
one or more processors configured to execute computer program modules, the computer program modules being executable to effectuate
spiking neurons, the spiking neurons comprising:

a first spiking neuron configured to encode a signal into a first output, the first spiking neuron being characterized by
a first receptive field, the first output being characterized by a transient response, the transient response being associated
with a first response duration; and

a second spiking neuron configured to encode a signal into a second output, the second spiking neuron being characterized
by a second receptive field, the second output being characterized by a sustained response, the sustained response being associated
with a second response duration;

wherein the second response duration is greater than the first response duration.

US Pat. No. 9,218,563

SPIKING NEURON SENSORY PROCESSING APPARATUS AND METHODS FOR SALIENCY DETECTION

Brain Corporation, San D...

1. A method of updating an efficacy of inhibitory connections of a spiking neuron network, the method comprising, for an input
signal:
based on a first rule, potentiating a first plurality of inhibitory connections associated with a first portion the network,
individual ones of the first plurality of inhibitory connections and a second plurality of inhibitory connections configured
to provide inhibitory signals to neurons of the first and the second portions, respectively; and

based on a second rule, potentiating the second plurality of inhibitory connections;
wherein:
the neurons of the first portion are configured to respond to a first feature;
the neurons of the second portion are configured to respond to a second feature;
the first rule is configured to cause a first inhibitory signal;
the second rule is configured to cause a second inhibitory signal that is smaller than the first inhibitory signal; and
the first rule and the second rule cooperate to suppress the neurons of the first portion from response to the first feature.

US Pat. No. 9,129,221

SPIKING NEURAL NETWORK FEEDBACK APPARATUS AND METHODS

Brain Corporation, San D...

6. A computer implemented method for providing a context in a computerized spiking network, the network comprising a first
and a second spiking neuron and a context connection, the method comprising:
providing an indication of said context via the context connection; and
depressing said context connection based at least in part on said indication temporally preceding a response by the first
spiking neuron, said response based at least in part on a feed-forward input associated with said context;

potentiating the context connection when the response precedes the indication;
wherein the potentiating the context connection is configured to increase a connection efficacy;
wherein the depressing the context connection is configured to reduce the connection efficacy;
wherein said depressing said context connection decreases a probability of forming a positive feedback within a loop associated
with said first spiking neuron; and

wherein said indication comprises an input received from another neuron associated with said context connection representing
a state of said second neuron;

wherein the increase of the connection efficacy is characterized by a first time-dependent function having at least a first
time window associated therewith;

wherein the reduction of the connection efficacy is characterized by a second time dependent function having at least a second
time window associated therewith;

wherein the response is characterized by a firing time, and the input is characterized by a context time;
wherein at least one of the first and the second time windows is selected based at least in part on the firing time and the
context time;

wherein an integration of the first time-dependent function is characterized by a greater latency of the input associated
with the context over the first window generates a positive value; and

wherein the integration of the second time-dependent function is characterized by a greater latency of the response over the
second window generates a negative value.

US Pat. No. 9,082,079

PROPORTIONAL-INTEGRAL-DERIVATIVE CONTROLLER EFFECTING EXPANSION KERNELS COMPRISING A PLURALITY OF SPIKING NEURONS ASSOCIATED WITH A PLURALITY OF RECEPTIVE FIELDS

BRAIN CORPORATION, San D...

1. A proportional-integral-derivative controller apparatus, the apparatus comprising:
one or more processors configured to execute computer program modules, the computer program modules being executable to effectuate
an encoder block comprising an expansion kernel, the expansion kernel comprising:

a plurality of spiking neurons, individual ones of the plurality of spiking neurons being associated with a plurality of receptive
fields, the encoder block being configured to encode an input into a spiking output using the expansion kernel;

wherein the plurality of receptive fields comprises:
an integrating operator associated with an integrating gain, the integrating operator being configured to produce a first
output based on a time integral of the input;

a differentiating operator associated with a differentiating gain, the differentiating operator being configured to produce
a second output based on a time derivative of the input; and

a proportional operator associated with a proportional gain, the proportional operator being configured to produce a third
output, the third output being proportional to the input; and

wherein the spiking output comprises a weighted sum of the first output, the second output, and the third output.

US Pat. No. 9,436,909

INCREASED DYNAMIC RANGE ARTIFICIAL NEURON NETWORK APPARATUS AND METHODS

Brain Corporation, San D...

1. An electronic device having computerized logic, the computerized logic configured to be placed in operation with a network
node of a network in order to:
evaluate a value of an input into the network node;
when the evaluation indicates that the input value is above a threshold, generate a scaled input using a concave function
of the input; and

when the evaluation indicates that the input value is not above the threshold, generate a bypass input;
wherein the scaled input is characterized by a magnitude that is lower than a magnitude of the input value.

US Pat. No. 9,405,975

APPARATUS AND METHODS FOR PULSE-CODE INVARIANT OBJECT RECOGNITION

Brain Corporation, San D...

1. An apparatus, comprising:
an encoder configured to receive and encode a first input representative of a feature into a plurality of pulses, the plurality
of pulses being transmitted along a plurality of channels, wherein:

the first input representative of the feature comprises a visual image of the feature;
information related to an identity of the feature is encoded into a pattern of latencies of the plurality of pulses relative
to one another; and

a parameter associated with the feature is encoded into a group delay that is (i) common to all pulses within the plurality
of pulses and (ii) common to all channels within the plurality of channels.

US Pat. No. 9,275,326

RATE STABILIZATION THROUGH PLASTICITY IN SPIKING NEURON NETWORK

Brain Corporation, San D...

6. A neural network system, comprising:
a neuron configured to generate an excitatory output;
one or more inhibitory neurons configured to provide an inhibitory input, the one or more inhibitory neurons operatively coupled
to the neuron via one or more inhibitory connections; and

a processor comprising a plurality of instructions configured to, when executed, cause the processor to:
based on the generation of the excitatory output by the neuron, increase an efficacy of the one or more inhibitory connections,
the one or more inhibitory connections configured to provide the inhibitory input to the neuron; and

based on a receipt of the inhibitory input, reduce the efficacy of the one or more inhibitory connections;
wherein the increase and the reduction of the efficacy are configured to modify the efficacy of individual ones of the one
or more inhibitory connections.

US Pat. No. 9,156,165

ADAPTIVE CRITIC APPARATUS AND METHODS

Brain Corporation, San D...

1. An adaptive apparatus for use in a computerized controller, the computerized controller configured to optimize control
of a functional apparatus, the adaptive apparatus comprising:
a first logic configured to receive at a first time a context value comprising a context vector;
a second logic configured to determine a value of a performance signal of the computerized controller that corresponds to
the first time, the determination based at least in part on the context value; and

a third logic configured to provide a reinforcement indication adapted to cause a modification of at least one control parameter
of the computerized controller, the modification configured to minimize an error value associated with the performance signal;

wherein:
the adaptive apparatus is further configured to receive a plant state from a plant block in communication with the adaptive
apparatus;

the adaptive apparatus is further configured to provide the reinforcement indication to an actor block in communication with
the adaptive apparatus, the reception of the reinforcement indication configured to cause a modification of at least one control
parameter associated with control of the functional apparatus so as to effect optimized control of the functional apparatus;

the reinforcement indication is determined based at least in part on the value of the performance signal;
the context value comprises a first value of a reference signal that corresponds to the first time, and a first value of the
plant state that corresponds to the first time;

a past context vector comprises a second value of the reference signal that corresponds to a second time, and a second value
of the plant state that corresponds to the second time; and

a past value of the performance signal that is configured based at least in part on:
(i) the first value of the plant state being within a first predetermined threshold from the second value of the plant state;
(ii) the first value of the reference signal being within a second predetermined threshold from the second value of the reference
signal;

(iii) the value of the performance signal; and
(iv) the past value of the performance signal determined at the second time based at least in part on the second value of
the reference signal and the second value of the plant state.

US Pat. No. 9,358,685

APPARATUS AND METHODS FOR CONTROL OF ROBOT ACTIONS BASED ON CORRECTIVE USER INPUTS

BRAIN CORPORATION, San D...

1. A method for controlling actions of robots, the method comprising:
identifying, at a device that includes a processor, a first context-variable value for a context variable detected by a robot
at a first sensory-detection time;

accessing, at the device, a policy comprising one or more parameters configured to map the context variable to a robot action
variable;

determining that a first robot action characterized by a first value of the robot action variable was performed at an action
time in response to detection of the first context-variable value, the first robot action being in accordance with application
of the policy;

determining that a user input was received at an input time corresponding to the action time, wherein user input data derived
from the user input at least partly defines a corrective command that specifies a corrective robot action for physical performance,
the user input being indicative of at least partial dissatisfaction with the first robot action;

modifying the policy based on the corrective command and the first context-variable value; and
causing the modified policy to be used to:
determine a second robot action characterized by a second value of the robot action variable based on a second context-variable
value for the context variable detected at a second sensory-detection time; and

initiate performance of the second robot action in accordance with the second value of the robot action variable.

US Pat. No. 9,346,167

TRAINABLE CONVOLUTIONAL NETWORK APPARATUS AND METHODS FOR OPERATING A ROBOTIC VEHICLE

Brain Corporation, San D...

1. A method of operating a robotic device by a computerized neuron network comprising an input layer, an intermediate layer
and an output layer of neurons, the method comprising:
during one operation of a plurality of operations:
causing the robotic device to execute an action along a first trajectory in accordance with a first control signal determined
based on a sensory input;

determining, by the output layer, a performance measure based on an evaluation of the first trajectory and indication related
to a target trajectory provided by a trainer;

conveying information related to the performance measure to the input layer; and
updating one or more learning parameters of the input layer in accordance with the information; and
during a subsequent operation of a plurality of operations:
causing the robotic device to execute the action along a second trajectory in accordance with a second control signal determined
based on the sensory input;

wherein:
the execution of the action along the second trajectory is characterized by a second performance measure; and
the updating is configured to displace the second trajectory closer towards the target trajectory relative to the first trajectory.

US Pat. No. 9,367,798

SPIKING NEURON NETWORK ADAPTIVE CONTROL APPARATUS AND METHODS

BRAIN CORPORATION, San D...

1. An adaptive controller apparatus, the apparatus comprising:
one or more computer-readable storage media configured to store an encoder block, the encoder block comprising a continuous-to-spiking
expansion kernel, the expansion kernel comprising a plurality of spiking neurons, individual ones of the plurality of spiking
neurons including a plurality of receptive fields associated therewith, the encoder block being configured to encode a continuous
input signal into a spiking output signal using the expansion kernel; and

a spiking neuron network configured to receive the spiking output from the plurality of spiking neurons via one or more connections,
the spiking neuron network being further configured to generate a control signal using a reinforcement learning process and
an external signal;

wherein:
individual ones of the plurality of receptive fields are characterized by an input range associated with the continuous input
signal;

individual ones of the plurality of spiking neurons are configured to generate one or more spikes based on at least a portion
of the continuous input signal corresponding to respective individual ones of the plurality of receptive fields;

the spiking output signal comprises the one or more spikes; and
the spiking neuron network is characterized by a first plasticity mechanism modulated by the external signal.

US Pat. No. 9,146,546

SYSTEMS AND APPARATUS FOR IMPLEMENTING TASK-SPECIFIC LEARNING USING SPIKING NEURONS

Brain Corporation, San D...

1. Stochastic spiking neuron signal processing system configured to implement task-specific learning, the system comprising:
a physical controller apparatus configured to generate an output control signal y based at least in part on an input signal,
said controller apparatus characterized by a controller state parameter, and a control parameter; and

a physical learning apparatus configured to:
generate an adjustment signal based at least in part on said input signal, said controller state parameter, and said output
control signal; and

provide said adjustment signal to said controller apparatus, thereby effecting said learning;
wherein:
said control parameter is configured in accordance with a task;
said adjustment signal is configured to modify said control parameter based at least in part on said input signal and said
output control signal;

said output control signal comprises a spike train configured based at least in part said adjustment signal;
said learning apparatus comprises:
a task-specific block, configured independent from the controller state parameter, the task-specific block configured to implement
said task-specific learning; and

a controller-specific block, configured independent from said task-specific learning; and
said task-specific learning is characterized by a performance function, said performance function configured to effect at
least an unsupervised learning rule.

US Pat. No. 9,104,186

STOCHASTIC APPARATUS AND METHODS FOR IMPLEMENTING GENERALIZED LEARNING RULES

BRAIN CORPORATION, San D...

1. A stochastic signal processing system configured to implement task-specific learning, the system comprising:
a controller apparatus configured to generate an output control signal based on an input signal, the controller apparatus
being characterized by a controller state parameter and a control parameter; and

a learning apparatus configured to:
generate an adjustment signal based on the input signal, the controller state parameter, and the output control signal; and
provide the adjustment signal to the controller apparatus, thereby effectuating learning;
wherein:
the control parameter is configured in accordance with a task;
the adjustment signal is configured to modify the control parameter based on the input signal and the output control signal;
the adjustment signal is determined as a product of a controller performance function with a gradient of a per-stimulus entropy
parameter, the gradient being determined based on the control parameter;

the per-stimulus entropy parameter h is configured to characterize a dependence of the output control signal on (i) the input
signal and (ii) the control parameter; and

the per-stimulus entropy parameter is determined based on a natural logarithm of p(y|x,w), where p denotes a conditional probability
of the output control signal y given the input signal x with respect to the control parameter w.

US Pat. No. 9,213,937

APPARATUS AND METHODS FOR GATING ANALOG AND SPIKING SIGNALS IN ARTIFICIAL NEURAL NETWORKS

BRAIN CORPORATION, San D...

1. A computer-implemented method of synaptic gating in a network, the method being performed by one or more processors configured
to execute computer program modules, the method comprising:
generating an output at a node of the network, the output configured to inhibit a gating unit of the network;
based on at least one spiking input signal, at least one continuous input signal and a teaching signal, pausing generation
of the output; and

based on the pausing, activating the gating unit, thereby effectuating the synaptic gating;
wherein:
generation of the output is characterized by an active node state configured in accordance with a supervised learning process;
the pausing of the output generation is characterized by an inactive node state configured based on the teaching signal; and
the teaching signal comprises one or more spikes configured to transition the node into the inactive state.

US Pat. No. 9,193,075

APPARATUS AND METHODS FOR OBJECT DETECTION VIA OPTICAL FLOW CANCELLATION

Brain Corporation, San D...

1. A computer-implemented method of cancelling optical flow induced by a motion of a robotic apparatus using an artificial
spiking neuron network, the method being performed by one or more processors configured to execute computer program modules,
the method comprising:
obtaining an optical flow, the optical flow characterizing displacement associated with a plurality of pixels of an image,
the plurality of pixels representing at least one object; and

based on information characterizing the motion, encoding the optical flow into one or more latencies of one or more pulses;
wherein the encoding is configured to prevent generation of the one or more pulses based on the optical flow being based solely
on the motion of the robotic apparatus and in an absence of motion of the at least one object.

US Pat. No. 9,047,568

APPARATUS AND METHODS FOR ENCODING OF SENSORY DATA USING ARTIFICIAL SPIKING NEURONS

BRAIN CORPORATION, San D...

1. A computer-implemented method of generating a response by a spiking neuron visual encoder apparatus, the method being performed
by one or more processors configured to execute computer program modules, the method comprising:
scaling excitability of the spiking neuron based on a value of a statistical parameter of visual input;
adjusting scaled excitability of the spiking neuron in accordance with the visual input;
comparing the adjusted excitability to a threshold; and
responsive to the adjusted excitability breaching the threshold, generating the response and adjusting the threshold.

US Pat. No. 9,552,546

APPARATUS AND METHODS FOR EFFICACY BALANCING IN A SPIKING NEURON NETWORK

Brain Corporation, San D...

1. An apparatus configured for sensory input processing within a spiking neuron network, comprising:
a first plurality of nodes configured to generate a spiking signal based at least on the sensory input;
a second plurality of nodes configured to generate one or more output spikes based at least on receipt of the spiking signal
via a plurality of connections; and

a logic module configured to evaluate an efficacy of the plurality of connections, and to modulate an adjustment of the efficacy
of the plurality of connections based at least on the efficacy evaluation;

wherein:
the efficacy of individual ones of the plurality of connections comprises a weight applied to a process of a given neuron
based on a receipt of the one or more output spikes; and

the efficacy evaluation comprises a determination of a percentile rank of values of the weight for the plurality of connections
over a time interval prior to the adjustment modulation.

US Pat. No. 9,390,369

MULTITHREADED APPARATUS AND METHODS FOR IMPLEMENTING PARALLEL NETWORKS

Brain Corporation, San D...

10. An apparatus configured to operate a network comprising a plurality of connections between a plurality of nodes, the apparatus
comprising:
a first memory and a second memory; and
a non-transitory computer-readable medium configured to store at least one computer program thereon, the computer program
comprising a plurality of instructions configured to, when executed:

partition the plurality of nodes into at least a first node portion and a second node portion;
operate a first portion of the plurality of connections and the first node portion, the operation of the first portion comprising
first and second operation stages configured to be executed immediately sequentially with each other;

operate a second portion of the plurality of connections and the second node portion, the operation of the second portion
comprising third and fourth operation stages configured to be executed immediately sequentially with each other; and

operate a combination of the first and second operation stages in parallel with a combination of the third and fourth operation
stages;

wherein for a given iteration of a plurality of iterations:
the operation of the first node portion is based on first data configured to be stored in the first memory, the first data
being based on the operation of the second node portion during a preceding iteration of the plurality of iterations; and

the operation of the second node portion comprises storage of second data in the second memory, the second data being configured
to be used during the operation of the first node portion during a subsequent iteration of the plurality of iterations.

US Pat. No. 9,195,934

SPIKING NEURON CLASSIFIER APPARATUS AND METHODS USING CONDITIONALLY INDEPENDENT SUBSETS

Brain Corporation, San D...

1. A computer-implemented method for detecting an object in a digital image, the method being performed by one or more processors
configured to execute computer program modules, the method comprising:
receiving a spiking input comprising a vector of features representing the object;
inverting the spiking input to produce an inverted spiking signal;
selecting subsets of the vector of features including a first subset, the first subset including one or more of the vector
of features;

providing a portion of the spiking input and a portion of the inverted spiking signal to a first sub-classifier of a plurality
of sub-classifiers, the portion of the spiking input and the portion of the inverted spiking signal being associated with
the first subset, the first sub-classifier comprising a plurality of spiking neurons;

based on the provided portion of the spiking input and the provided portion of the inverted spiking signal, providing a first
sub-classification output by the first sub-classifier;

combining outputs of individual ones of the plurality of sub-classifiers associated with respective ones of the subsets of
the vector of features to provide a classification output, the classification output being configured to indicate a presence
or an absence of the object in the digital image; and

updating states of individual ones of the plurality of spiking neurons based on at least one feature present within the provided
portion of the spiking input and the provided portion of the inverted spiking signal;

wherein the first sub-classification output is provided based on the updated states.

US Pat. No. 9,314,924

PREDICTIVE ROBOTIC CONTROLLER APPARATUS AND METHODS

Brain Corporation, San D...

1. A method of training a computerized robotic apparatus having motorized operational elements to perform a target action
based on a sensory context, the training being effectuated via a plurality of iterations, the method comprising:
during a first portion of the plurality of iterations:
causing the apparatus to perform a first action based on a first control signal generated based on a sensory context and a
target action indication provided by a user; and

causing the apparatus to adjust a controller learning parameter based on a first performance value determined based on the
first action and the target action; and

during a second portion of the plurality of iterations, the second portion being subsequent to the first portion:
causing the apparatus to generate an action signal based on the sensory context and the adjusted controller learning parameter,
the action signal generation occurring prior to a subsequent provision of the target action indication associated with a subsequent
iteration; and

causing the apparatus to perform a second action based on a second control signal generated based on the sensory context and
the action signal but absent the provision of the target action indication by the user; and wherein:

the action performance based on the second control signal is characterized by a second performance value, where the second
performance value is improved compared to the first performance value;

where the subsequent provision of the target action indication by the user during the subsequent iteration of the plurality
of iterations is configured to cause execution of another action characterized by a third performance value;

the third performance value is lower than the second performance value;
where the target action, the first action, the second action, and the another action, each comprise rotating of the motorized
operational elements of the computerized robotic apparatus; and

where the first, second, and third performance are determined based at least in part on the sensory context.

US Pat. No. 9,256,215

APPARATUS AND METHODS FOR GENERALIZED STATE-DEPENDENT LEARNING IN SPIKING NEURON NETWORKS

BRAIN CORPORATION, San D...

1. A computer-implemented method of implementing learning in a computerized spiking neuron, the method being performed by
one or more processors configured to execute computer program modules, the method comprising:
operating the neuron in accordance with a learning process configured to be updated at one or more time intervals, the learning
process update comprising:

retrieving prior values of first and second traces associated, respectively, with first and second connections that are capable
of providing spiking input into the neuron;

determining a rate of change of:
(i) the first trace based on (1) the prior value of the first trace and (2) a product of a neuron portion and a first connection
portion; and

(ii) the second trace based on (1) the prior value of the second trace and (2) a product of the neuron portion and a second
connection portion; and

determining an updated value of the first and second traces based on the respective rate of change;
wherein:
the prior values of the first and the second traces are associated with another update preceding the update,
the first connection portion and the second connection portion are based on one or more spikes of a spiking input being provided,
respectively, via the first and the second connections, the one or more spikes occurring within a time interval between the
another update and the update; and

the learning process is capable of causing the neuron to generate an output in accordance with the spiking input, the output
being characterized by a performance measure configured such that the update is capable of reducing the measure.

US Pat. No. 9,597,797

APPARATUS AND METHODS FOR HAPTIC TRAINING OF ROBOTS

Brain Corporation, San D...

1. A processor-implemented method of operating a robot, the method being performed by one or more processors configured to
execute computer program instructions, the method comprising:
during a first trial, operating, using one or more processors, the robot to perform a task characterized by a target trajectory;
and

responsive to observing a discrepancy between an actual trajectory and the target trajectory, adjusting the actual trajectory
with a robotic trainer with a physical contact with the robot;

wherein:
the performance of the task is configured based on a learning process configured to determine a first control signal at the
first trial;

the adjusting of the actual trajectory comprises modifying the learning process so as to determine a second control signal;
and

during a second trial subsequent to the first trial, the first and the second control signals cooperate to transition the
actual trajectory towards the target trajectory.

US Pat. No. 9,446,515

APPARATUS AND METHODS FOR CONTROLLING ATTENTION OF A ROBOT

Brain Corporation, San D...

1. A remote interface apparatus for a robot operable in an environment, the apparatus comprising:
a transmitter component configured to project a signal using a carrier of first variety, the signal being configured to irradiate
a portion of the environment; and

a tagging component configured to send a tag associated with the portion of the environment, where the tag is associated with
a task that was previously trained over a plurality of different contexts; and

a receiver component configured to receive an indication from the robot, the indication being based on a receipt of the tag;
wherein one or more of the tag, the irradiation of the portion of the environment, or an internal state of the robot are configured
to provide a specific robotic context, the specific robotic context being configured to cause the robot to perform the task
that was previously trained over the plurality of different contexts.

US Pat. No. 9,848,112

OPTICAL DETECTION APPARATUS AND METHODS

Brain Corporation, San D...

1. A method of navigating a trajectory by a robotic apparatus comprising a controller, an actuator and a sensor, the method
comprising:
obtaining at least one image associated with surroundings of the apparatus using the sensor, the sensor comprising two or
more discrete image detectors, each of the two or more discrete image detectors sharing a common lens and being associated
with respective two or more areas of focus, the two or more areas of focus corresponding to two or more respective extents
in the surroundings;

analyzing the at least one image to determine a contrast parameter of the at least one image;
detecting a presence of an object in the at least one image based at least in part on the contrast parameter meeting one or
more criteria;

during the navigating of the trajectory by the robotic apparatus, determining a distance to the object when the presence of
the object produces an in-focus representation within a given extent of the two or more extents in the surroundings; and

causing the controller to activate the actuator based on the detection of the presence of the object;
wherein the actuator activation is configured consistent with a characteristic of the object.

US Pat. No. 9,579,790

APPARATUS AND METHODS FOR REMOVAL OF LEARNED BEHAVIORS IN ROBOTS

Brain Corporation, San D...

15. A home automation apparatus, comprising:
a sensor component configured to provide a sensory input to a learning process;
a user interface configured to receive a plurality of action indications and an undo indication from a user;
a communications apparatus configured to provide a command of a plurality of commands to a remote device; and
a processing component configured to operate the learning process and to determine one or more context instances in the sensory
input;

wherein:
the learning process is operable to determine an association between a given context and a given action of the plurality of
actions, the given action having a respective command of the plurality of commands associated therewith; and

the processing component is configured to, based on detection of the undo indication, update a configuration of the learning
process to prevent transmission of at least one command of the plurality of commands during an interval subsequent to receipt
of the undo indication and in the given context corresponding to the respective command.

US Pat. No. 10,032,280

APPARATUS AND METHODS FOR TRACKING SALIENT FEATURES

BRAIN CORPORATION, San D...

1. A robotic apparatus configured to track a target object comprising:a camera; and
a non-transitory computer-readable medium having computer-readable instructions stored thereon, that when executed by at least one processor apparatus, configure the at least one processor apparatus to,
obtain a plurality of images via the camera while navigating a trajectory associated with a physical task;
identify a salient area in the plurality of images, the identification of the salient area being based at least on a contrast between (i) a relative motion associated with the target object and (ii) a relative motion associated with another object within a field of view of the camera, the target object being within the field of view, where the relative motion associated with the target object is determined from a combination of a motion component associated with a movement of the object and a motion component associated with the navigation of the trajectory of the robotic apparatus;
initialize an object tracking process based at least on the identification of the salient area, the object tracking process comprising a detection of the object from the salient area; and
adjust the trajectory associated with the physical task based on the detection of the object from the salient area.

US Pat. No. 9,613,310

NEURAL NETWORK LEARNING AND COLLABORATION APPARATUS AND METHODS

Brain Corporation, San D...

1. A method of behavioral programming in an artificial neural network, the method comprising:
generating a data link to at least one device configured to run the artificial neural network;
receiving one or more data elements indicating a current status associated with the artificial neural network;
causing display of information related to at least a portion of the one or more data elements;
receiving user input from a user interface;
generating one or more feedback elements based at least in part on the user input; and
transmitting the one or more feedback elements to the artificial neural network via the data link;
wherein the one or more feedback elements cause the artificial neural network to modify responses of a plurality of neurons
configured to develop receptive fields to a feature within an input, thereby reducing the number of neurons required to recognize
the feature.

US Pat. No. 9,604,359

APPARATUS AND METHODS FOR TRAINING PATH NAVIGATION BY ROBOTS

Brain Corporation, San D...

1. A method of determining a control signal for a robot, the method being performed by a special purpose computing platform
having one or more processors executing instructions stored by a non-transitory computer-readable storage medium, the method
comprising:
receiving first input features of a first type and second input features of a second type;
determining a subset of features by randomly selecting at least one of the first input features and at least one of the second
input features;

comparing individual features of the subset to corresponding features of a plurality of training feature sets, individual
ones of the plurality of training feature sets comprising a number of training features, the number being equal to or greater
than a quantity of features within the subset of features;

based on the comparison, determining a similarity measure for a given training set of the plurality of training feature sets,
the similarity measure characterizing a similarity between individual features of the subset and one or more features of the
given training set;

responsive to the similarity measure breaching a threshold, selecting one or more training sets from the plurality of training
feature sets;

determining one or more potential control signals for the robot, individual ones of the one or more potential control signals
being associated with a corresponding training set of the plurality of training feature sets; and

determining the control signal based on a transformation obtained from the one or more potential control signals;
wherein:
individual ones of the plurality of training feature sets comprise at least one feature of the first type and at least one
feature of the second type;

the individual ones of the plurality of training feature sets are obtained during a training operation of the robot, the training
operation being performed responsive to receiving a training signal from the robot; and

individual ones of the one or more potential control signals are determined based on the training signal and the one or more
features of the given training set.

US Pat. No. 9,579,789

APPARATUS AND METHODS FOR TRAINING OF ROBOTIC CONTROL ARBITRATION

Brain Corporation, San D...

1. A processor-implemented method of learning arbitration for two physical tasks by a controller of a robot, the method being
performed by one or more processors configured to execute computer program modules, the method comprising:
during a given training trial of a plurality of trials:
receiving a control signal configured to indicate a simultaneous execution of two physical tasks by the robot;
selecting one of the two physical tasks;
evaluating an error measure determined based on a target physical task and an execution of the selected one of the two physical
tasks by the robot, the two physical tasks comprising a first physical task and a second physical task;

based on the error measure being within a target range from a previous error measure obtained during a previous training trial
of the plurality of trials and prior to the given training trial, receiving a reinforcement signal comprising information
associated with the target physical task, and associating the target physical task to the selected one of the two physical
tasks; and

during a subsequent training trial of a plurality of trials:
based on the reinforcement signal, determining an association between a sensory context and the target physical task, and
when the association is determined, executing the target physical task via the robot based on (1) an occurrence of the sensory
context after the given training trial during the subsequent training trial of the plurality of trials, and (2) an absence
of receiving the reinforcement signal during the subsequent training trial.

US Pat. No. 9,862,092

INTERFACE FOR USE WITH TRAINABLE MODULAR ROBOTIC APPARATUS

Brain Corporation, San D...

1. An interface for use between components of a robotic apparatus, comprising:
a first interface portion comprising a shape; and
a second interface portion particularly adapted to interface only with other interface portions comprising the shape;
wherein the robotic apparatus comprises a controller apparatus and a robotic body, the robotic body being selected from a
plurality of robotic bodies compatible with the interface and the controller apparatus;

wherein the first and second interface portions are configured to animate the robotic body via at least a mechanical force
transferred over the first and second interface portions;

wherein the first and second interface portions are further configured to transmit first one or more electrical signals from
the robotic body to the controller apparatus, the first one or more electrical signals comprising first feedback from the
robotic body, the first feedback being configured to train the controller apparatus to control the at least one of the first
interface and the second interface portions so as to accomplish a first physical task via the animation of the robotic body;
and

wherein the first and second interface portions are further configured to transmit second one or more electrical signals from
another one of the plurality of robotic bodies compatible with the interface and the controller apparatus, the second one
or more electrical signals comprising second feedback from the other one of the plurality of robotic bodies, the second feedback
being configured to train the controller apparatus to control the at least one of the first interface and the second interface
portions to accomplish a second physical task via an animation of the other one of the plurality of robotic bodies.

US Pat. No. 9,717,387

APPARATUS AND METHODS FOR PROGRAMMING AND TRAINING OF ROBOTIC HOUSEHOLD APPLIANCES

Brain Corporation, San D...

1. A robotic apparatus comprising:
a processor apparatus;
a memory apparatus;
a sensor apparatus; and
a non-transitory computer-readable apparatus, the non-transitory computer-readable apparatus comprising a storage medium having
a plurality of instructions embodied thereon, the plurality of instructions being configured to, when executed by the processor
apparatus, cause the robotic apparatus to:

operate the robotic apparatus to produce, via the sensor apparatus, a map that correlates to an interior of a user premises;
store the produced map in the memory apparatus;
based on the map, identify a plurality of waypoint locations characterized by waypoint coordinates on the map;
navigate along a first trajectory comprising the plurality of waypoint locations;
navigate along a second trajectory, the navigation along the second trajectory being associated with user-guided coordinates
distinct from the waypoint coordinates; and

receive a set of training commands from a user during the navigation along the second trajectory;
wherein the set of training commands causes the robotic apparatus to record the plurality of user-guided coordinates associated
with the second trajectory, the recorded plurality of user-guided coordinates configured to enable the robotic apparatus to
subsequently navigate along the second trajectory in an absence of the set of training commands.

US Pat. No. 9,630,317

LEARNING APPARATUS AND METHODS FOR CONTROL OF ROBOTIC DEVICES VIA SPOOFING

Brain Corporation, San D...

20. A remote control apparatus configured to be coupled to a robot, the apparatus comprising:
a transceiver apparatus;
a sensor module configured to determine information related to a state of the robot;
electronic storage; and
one or more physical processor apparatus configured to execute computer program instructions to cause the one or more physical
processor apparatus to:

in response to an output by the sensor module, store, in the electronic storage, the information related to the state of the
robot;

store, in the electronic storage, a first control command, the first control command configured to occur temporally proximate
to the state; and

based on a determination that a current state of the robot matches the state, cause a provision of a second control command
via the transceiver apparatus;

wherein the storage of the information related to the state of the robot and the first control command is configured to characterize
a relationship between the state and the first control command and the provision of the second control command is based at
least in part on the relationship; and

wherein the determination that the current state of the robot matches the state is made via a detection threshold.

US Pat. No. 9,566,710

APPARATUS AND METHODS FOR OPERATING ROBOTIC DEVICES USING SELECTIVE STATE SPACE TRAINING

BRAIN CORPORATION, San D...

1. An adaptive controller apparatus comprising a plurality of computer readable instructions configured to, when executed,
cause a performance of a target task by a robot, the computer readable instructions configured to cause the adaptive controller
apparatus to:
during a first training trial comprising at least one action and performed without at least one second action, determine a
predicted signal configured in accordance with a sensory input, the predicted signal being configured to cause execution of
an action associated with the target task, the execution of the action associated with the target task being characterized
by a first performance;

during a second training trial, based on a teaching input and the predicted signal, determine a combined signal of the at
least one action and the at least one second action, the combined signal configured to cause the execution of the action associated
with the target task, the execution of the action associated with the target task during the second training trial being characterized
by a second performance; and

adjust a learning parameter of the adaptive controller apparatus based on the first performance and the second performance,
the adjustment of the learning parameter comprising one or more iterative adjustments of at least the first performance of
the first training trial and the second performance of the second training trial in alternation until the learning parameter
reaches a target threshold;

wherein the performance of the target task comprises the execution of the action associated with the target task and the at
least one second action contemporaneously.

US Pat. No. 10,055,850

SALIENT FEATURES TRACKING APPARATUS AND METHODS USING VISUAL INITIALIZATION

BRAIN CORPORATION, San D...

13. A method of providing a tracking indication to a tracking apparatus, the method comprising:initializing a navigation of a robotic apparatus along an initial trajectory associated with a given physical task of the robotic apparatus;
determining a pixel occurrence statistics parameter for an image comprising a plurality of pixels, each of the plurality of pixels being characterized by one or more pixel characteristics, based at least on an analysis of the one or more pixel characteristics;
determining a spatial saliency distribution of the plurality of pixels based on the pixel occurrence statistics parameter;
determining a location of a salient area in an image corresponding to saliency based on an aspect of a contiguous area of the saliency map meeting or exceeding a threshold that depends on the given physical task of the robotic apparatus;
providing the tracking indication to the tracking apparatus of the robotic apparatus, the tracking indication comprising information related to the salient area; and
based on the tracking indication, modifying the initial trajectory of the robotic apparatus associated with the given physical task of the robotic apparatus, the modified trajectory configured to improve upon the initial trajectory associated with the given physical task.

US Pat. No. 9,687,984

APPARATUS AND METHODS FOR TRAINING OF ROBOTS

BRAIN CORPORATION, San D...

1. A method of determining a control signal for a robot based on a random k-nearest neighbors (RKNN) learning process, the
method being performed by a computing platform having one or more processors executing instructions stored by a non-transitory
computer-readable storage medium, the method comprising:
receiving first input features of a first type and second input features of a second type;
determining a subset of features comprising a portion of the first input features and at least one feature from the second
input features, where the determining further comprises dynamically selecting a number of features in the subset based on
a speed of computation and an accuracy of a prediction;

comparing individual features of the subset to corresponding features of a plurality of training feature sets;
based on the comparison, determining a similarity measure for a given training set of the plurality of training feature sets,
the similarity measure characterizing a similarity between the individual features of the subset and features of the given
training set;

responsive to the similarity measure breaching a threshold, selecting one or more training sets from the plurality of training
feature sets;

determining one or more potential control signals for the robot, individual ones of the one or more potential control signals
being associated with a corresponding training set of the plurality of training feature sets; and

determining the control signal based on a RKNN transformation obtained from the one or more potential control signals;
wherein the control signal is configured to cause the robot to execute an action.

US Pat. No. 9,533,413

TRAINABLE MODULAR ROBOTIC APPARATUS AND METHODS

Brain Corporation, San D...

1. A learning controller apparatus configured to operate a robotic body, the learning controller apparatus comprising:
a processor configured to operate an adaptive learning process in order to execute a task, the adaptive learning process being
characterized by a plurality of trials;

an interface configured to provide at least one actuation output to the robotic body, the at least one actuation output comprising
first and second portions configured to effectuate movement of a first and a second controllable element of the robotic body,
respectively; and

a first actuator and a second actuator each in operable communication with the processor, the first and the second actuators
being configured to provide the first and the second portions of the at least one actuation output, respectively;

wherein:
the adaptive learning process is configured to determine, during a trial of the plurality of trials, the at least one actuation
output, the at least one actuation output having a first trajectory associated therewith;

the adaptive learning process is further configured to determine, during a subsequent trial of the plurality of trials, an
other actuation output having a second trajectory associated therewith, the second trajectory being closer to a target trajectory
of the task than the first trajectory;

the interface comprises:
a first interface portion comprising a shape; and
a second interface portion particularly adapted to interface only with other interface portions comprising the shape;
the first and second interface portions are mated together and are configured to animate the robotic body via at least a mechanical
force transferred over the mated first and second interface portions; and

where at least one electrical interface is configured to transfer electrical signals or power across the mated first and second
interface portions, and the shape comprises a substantially male feature.

US Pat. No. 9,613,308

SPOOFING REMOTE CONTROL APPARATUS AND METHODS

Brain Corporation, San D...

1. A learning apparatus configured to record and transmit remote control signals, the apparatus comprising:
a transceiver component comprising a receiver and a transmitter;
a sensor component configured to determine information related to a context of an environment of one or more remotely controlled
devices; and

one or more physical processor apparatus configured to execute computer program instructions to cause the one or more physical
processor apparatus to:

(1) during a first interval:
determine, via the receiver, a control signal provided by a user via a remote controller; and
store an association between the control signal provided by the user and the information related to the context of the environment
of at least one of the one or more remotely controlled devices; and

(2) during a second interval subsequent to the first interval:
responsive to a receipt of the information, automatically provide the control signal via the transmitter, the control signal
based at least in part on the stored association;

wherein the stored association is determined by logic comprising an adaptable predictor.

US Pat. No. 9,489,623

APPARATUS AND METHODS FOR BACKWARD PROPAGATION OF ERRORS IN A SPIKING NEURON NETWORK

BRAIN CORPORATION, San D...

1. A method of communicating feedback from one layer to an other layer of a multilayer spiking neuron network, the method
comprising:
determining the feedback based at least on an output from the one layer and a teaching input into the one layer;
encoding the feedback into a spike latency of a first spike and a second spike;
communicating the first and the second spikes to the other layer;
based on the first spike and the second spike, determining an error associated with an output of the other layer; and
adjusting an efficacy of an input connection into the other layer based on an input to the other layer and the error;
wherein the encoding further comprises a binary encoding comprising the step of determining a latency of the first spike based
at least on a first bit value associated with the feedback, and a latency of the second spike based at least on a second bit
value associated with the feedback.

US Pat. No. 9,821,457

ADAPTIVE ROBOTIC INTERFACE APPARATUS AND METHODS

Brain Corporation, San D...

1. A method of communicating an operational characteristic of a robot, the method comprising:
configuring the robot to detect the operational characteristic;
enabling communication by the robot of the operational characteristic, the robot comprising a motorized operational element;
communicating the operational characteristic to a user interface device configured to operate the robot, the communicating
comprising causing a disposition of a plurality of discretely operable control elements associated with the motorized operational
element on the user interface device;

configuring the robot to detect a modification of the operational characteristic, the modification producing a modified operational
characteristic;

responsive to the detected modification of the operational characteristic, communicating the modified operational characteristic
associated with the motorized operational element;

causing a modification of the plurality of discretely operable control elements consistent with the modified operational characteristic
to cause a disposition of a second plurality of discretely operable control elements on the user interface device, the second
plurality of discretely operable control elements comprising a plurality of modified discretely operable control elements
configured to manipulate the robot according to at least the modified operational characteristic; and

performing at least one training session for the robot, the performing of the at least one training session for the robot
comprising:

providing one or more training inputs via the second plurality of discretely operable control elements on the user interface
device;

based on the one or more training inputs, causing the robot to follow at least a portion of a trajectory using the motorized
operational element; and

determining a training performance measure based on a discrepancy between the trajectory and a target trajectory.

US Pat. No. 9,630,318

FEATURE DETECTION APPARATUS AND METHODS FOR TRAINING OF ROBOTIC NAVIGATION

Brain Corporation, San D...

1. A method of determining a motor control signal for a robot based on an analysis of a sensor input, the method comprising:
analyzing the sensor input based on a first transformation process applied based on a presence of one or more first features
present in the sensor input with a first characteristic;

analyzing the sensor input based on a second transformation process applied based on a presence of one or more second features
present in the sensor input with a second characteristic, the second characteristic being different from the first characteristic;

determining a feature history comprising a plurality of features determined based on at least the acts of analyzing the sensor
input based on the first transformation process over a first time interval and analyzing the sensor input based on the second
transformation process over a second time interval;

normalizing each of the plurality of features using a statistical parameter determined from the feature history;
providing a plurality of the normalized features to a classification process for detecting at least one relevant feature among
the plurality of the normalized features, the at least one relevant feature being characterized by a relevancy parameter that
is larger than a predetermined threshold;

selecting from a plurality of control signals a motor control signal associated with the at least one relevant feature; and
executing the selected motor control signal, thereby causing a target task to be performed by the robot;
wherein the act of selecting the motor control signal is effectuated based on a prior contemporaneous occurrence of the motor
control signal and the at least one relevant feature.

US Pat. No. 9,860,077

HOME ANIMATION APPARATUS AND METHODS

Brain Corporation, San D...

1. A home animation apparatus, comprising: a sensor interface configured to receive one or more sensor inputs;
a user interface configured to receive one or more user indications; and a processing component in communication with the
sensor interface and the user interface, the processing component configured to:

determine an action by a user of the home animation apparatus based on analysis of the one or more sensor inputs;
associate a context with the determined action by the user; and
based on an occurrence of the one or more user indications being provided by the user contemporaneous with the action by the
user, assign an action tag, the action tag configured to enable provision of a control instruction to a home appliance device
when a subsequent user action associated with the context is detected.

US Pat. No. 9,849,588

APPARATUS AND METHODS FOR REMOTELY CONTROLLING ROBOTIC DEVICES

Brain Corporation, San D...

1. A method of providing transmissions to a remotely controlled apparatus by a learning controller, the method comprising:
configuring the learning controller to monitor one or more sensors configured to provide information related to a state of
the remotely controlled apparatus disposed remotely from the learning controller;

enabling the learning controller to transmit a wireless command to the remotely controlled apparatus;
performing a plurality of training sessions, each of the plurality of training sessions comprising:
determining the state of the remotely controlled apparatus based on the information from the one or more sensors;
receiving an indication of an activation of a user command; and
incrementing an efficacy parameter corresponding to a contemporaneous occurrence of (i) the transmission of the wireless command
to the remotely controlled apparatus and (ii) the receiving of the identification of the activation of the user command;

based on the incrementing of the efficacy parameter corresponding to the contemporaneous occurrence, developing an association
between the wireless command and the information from the one or more sensors;

assigning a tag configured to identify the developed association between the wireless command and the information from the
one or more sensors; and

causing the remotely controlled apparatus to execute an action based on the assigned tag.

US Pat. No. 10,105,841

APPARATUS AND METHODS FOR PROGRAMMING AND TRAINING OF ROBOTIC DEVICES

Brain Corporation, San D...

1. An apparatus for controlling a robot, the apparatus comprising:a sensor interface configured to receive a first representation of an object associated with an environment of the robot;
a predictor component configured to determine a first control output, the first control output being configured to cause the robot to execute a task in accordance with the first representation of the object;
an input interface configured to receive a teaching input associated with a second representation of the object, the teaching input being configured to convey information related to a target trajectory associated with execution of the task by the robot;
an evaluation component configured to provide a second control output based on an evaluation of the first control output and the teaching input;
a learning predictor component configured to determine a third control output, the third control output being determined based on analysis of the first representation of the object and the second control output; and
a combiner configured to combine the first control output and the third control output to produce a fourth control output, the fourth control output being configured to cause the robot to execute the task in accordance with the first representation of the object;
wherein:
execution of the task based on the fourth control output produces a first trajectory that is closer to the target trajectory compared to a second trajectory associated with execution of the task based on the first control output.

US Pat. No. 9,713,982

APPARATUS AND METHODS FOR ROBOTIC OPERATION USING VIDEO IMAGERY

Brain Corporation, San D...

1. A method of determining a distance to an object by a robotic device, the method comprising:
interleaving left and right images of the device surroundings to produce an interleaved video stream;
evaluating the video stream to determine a distance to and a motion of an object in a visual scene associated with the surroundings
visual scene, the evaluating the video stream comprising encoding the video stream using an encoder process comprising:

motion estimation configured to provide information related to a first displacement of a first representation of the object
within a first image of the interleaved video stream relative to a second representation of the object within a second image
of the interleaved video stream; and

motion estimation configured to provide information related to a second displacement of the second representation of the object
within the second image of the interleaved video stream relative to a third representation of the object within a third image
of the interleaved video stream;

wherein the first displacement characterizes the distance to the object, and the second displacement characterizes the motion
of the object; and

producing an encoded frame stream resultant from the encoder process, the encoded frame stream comprising a sequence of encoded
frames associated with (i) the distance to the object and (ii) the motion of the object;

causing the robotic device to execute an action based at least in part on the distance;
wherein:
the left and the right images are provided by a left and right camera, respectively, the right camera disposed spatially from
the left camera on the device; and

the interleaving and the evaluating cooperate to effectuate a reduction in an energy use compared to executing the action
without the interleaving.

US Pat. No. 9,873,196

BISTATIC OBJECT DETECTION APPARATUS AND METHODS

Brain Corporation, San D...

1. A method for detecting an object by a computerized robotic apparatus configured to clean a surface, the method comprising:
configuring a reference pattern, the reference pattern comprising a persistent two-dimensional geometric pattern for display
on the surface during movement of the robotic apparatus along the surface, the reference pattern further comprising an object
detection portion and a second portion comprising information associated with one or more operational characteristics of the
movement of the robotic apparatus along the trajectory;

projecting the reference pattern onto a surface in front of the robotic apparatus using a light emitter component, the projecting
of the reference pattern comprising projecting (i) the object detection portion and (ii) the second portion comprising the
information associated with the one or more operational characteristics of the movement of the robotic apparatus;

detecting a reflected pattern by a camera component, the camera component being configured to produce a digital image;
analyzing the digital image to determine a parameter of the reflected pattern, the analyzing comprising determining a change
within the reflected pattern in comparison to the configured reference pattern; and

based on the parameter of the reflected pattern breaching a threshold, producing an indication of the object being present
in front of the robotic apparatus.

US Pat. No. 9,844,873

APPARATUS AND METHODS FOR HAPTIC TRAINING OF ROBOTS

Brain Corporation, San D...

1. A method of operating a robot comprising:
determining a first control signal associated with an environmental context of the robot;
causing, based at least in part on the determined first control signal, the robot to perform a task characterized by a target
trajectory; and

responsive to observing a discrepancy between an actual trajectory and the target trajectory, adjusting the actual trajectory
based at least in part on a physical contact by an operator with the robot, wherein adjusting of the actual trajectory comprises
determining a second control signal configured to cooperate with the first control signal to cause the robot to transition
the actual trajectory towards the target trajectory in a subsequent performance of the task in the environmental context.

US Pat. No. 9,840,003

APPARATUS AND METHODS FOR SAFE NAVIGATION OF ROBOTIC DEVICES

Brain Corporation, San D...

1. A computerized system configured to communicate a parameter related to a trajectory of a robot, the system comprising:
a non-transitory computer-readable storage medium comprising a plurality of computer executable instructions, the instructions,
when executed, being configured to determine the parameter;

a processing component configured to execute the plurality of computer executable instructions; and
a transmitter component in operable communication with the processing component, the transmitter being configured to transmit
a pattern comprising a graphical representation of the parameter;

a camera and/or audio sensor, the camera and/or audio sensor in combination with the processing component and the plurality
of computer executable instructions being configured to detect behavior characteristics associated with a human;

wherein:
the trajectory of the robot corresponds to a task being executed by the robot; and
the graphical representation of the parameter is configured to communicate human-readable information related to the trajectory
and further configured to change responsive to a change in the parameter, the communicated human-readable information further
configured to change based at least in part on the detected behavior characteristics associated with the human.

US Pat. No. 9,821,470

APPARATUS AND METHODS FOR CONTEXT DETERMINATION USING REAL TIME SENSOR DATA

Brain Corporation, San D...

22. A non-transitory computer-readable storage medium having instructions embodied thereon to determine an association between
a sensory context and an action indication for an appliance device, the instructions when executed by a processing apparatus
cause the processing apparatus to:
determine a first sensory context version based on a first sensory modality and a high pass filter operation version using
the first sensory modality, the high pass filter operation characterized by a decay time scale;

determine a second sensory context version based on a second sensory modality;
when the second sensory context version occurs within a first time window from occurrence of the first sensory context version,
assign the first sensory context version and the second context version as the sensory context; and

associate the sensory context with the action indication based on occurrence of the action indication within a second time
window from at least one of the first sensory context version or the second sensory context version;

wherein the association between the sensory context and the action indication for the appliance device is configured to enable
automatic provision of a command to the appliance device based on an occurrence of the sensory context, the command configured
to cause the appliance device to execute the action; and

wherein one or more data of the first sensory modality comprises a sequence of images, and the decay time scale is at least
five times longer than the second time window.

US Pat. No. 9,792,546

HIERARCHICAL ROBOTIC CONTROLLER APPARATUS AND METHODS

Brain Corporation, San D...

1. A method for controlling a robot to execute a task, the method comprising:
during a given trial of one or more training trials, based on a first indication received from a user, executing a plurality
of actions, individual ones of the plurality of actions being configured based on sensory input and a given user input of
a plurality of user inputs, where each one of the one or more training trials has a trial duration associated therewith, the
trial duration at least being configured to separate two or more activations of at least one actuator of the robot;

determining a performance measure associated with the executing of the plurality of actions, the performance measure being
based at least in part on a difference between target actions and the plurality of actions;

when the performance measure does not meet or exceed a target level, during a subsequent trial of the one or more training
trials, executing another plurality of actions based on a second indication received from the user, and determining another
performance measure associated with the executing of the other plurality of actions; and

when the performance measure meets or exceeds the target level, based on a third indication received from a user, associating
a control component with the task, the control component being configured to be activated by a presence of a user discernible
representation;

wherein:
the execution of the plurality of actions is configured to effectuate execution of the task by the robot; and
activation by the user of the control component using the user discernible representation is configured to cause the robot
to execute the task in a sequence corresponding to the plurality of actions that were executed based on the first indication
received from the user.

US Pat. No. 9,902,062

APPARATUS AND METHODS FOR TRAINING PATH NAVIGATION BY ROBOTS

Brain Corporation, San D...

1. A method for operating a robot comprising:
operating in a first mode in which the robot executes actions in accordance with a training input and associates a first sensory
context of a plurality of sensory contexts with a first behavior of a plurality of behaviors, the plurality of sensory contexts
detected by at least one of a plurality of sensors of the robot;

configuring a predictor to receive the plurality of sensory contexts and to determine one or more of the plurality of behaviors
of the robot based at least in part on detection of the plurality of sensory contexts, wherein the predictor outputs a control
signal based at least in part on priorities assigned to each of the plurality of behaviors for each of the plurality of sensory
contexts; and

operating in a second mode in which the robot executes actions based at least in part on an association made while the robot
operated in the first mode, wherein:

the robot detects: (1) the first sensory context with a first sensor of the plurality of sensors, and (2) a second sensory
context of the plurality of sensory contexts with a second sensor; and

the robot performs the first behavior based at least in part on the control signal outputted by the predictor upon receiving
the first sensory context and the second sensory context.

US Pat. No. 10,001,780

SYSTEMS AND METHODS FOR DYNAMIC ROUTE PLANNING IN AUTONOMOUS NAVIGATION

Brain Corporation, San D...

1. A robot comprising:one or more sensors configured to collect data about an environment including detected points on one or more objects in the environment; and
a controller configured to:
create a map of the environment based at least in part on the collected data;
determine a route in the map in which the robot will travel;
generate one or more route poses on the route, wherein each route pose comprises a footprint indicative of poses of the robot along the route and each route pose has a plurality of points disposed therein;
determine forces on each of the plurality of points of each route pose, the forces comprising repulsive forces from one or more of the detected points on the one or more objects and attractive forces from one or more of the plurality of points on others of the one or more route poses;
reposition one or more route poses in response to the forces on each point of the one or more route poses; and
perform interpolation between one or more route poses to generate a collision-free path between the one or more route poses for the robot to travel.

US Pat. No. 9,950,426

PREDICTIVE ROBOTIC CONTROLLER APPARATUS AND METHODS

Brain Corporation, San D...

1. A computerized method of training a robotic apparatus comprising:performing a physical training action in a context determined from at least one or more inputs from one or more sensors, the physical training action performed based on at least a training instruction provided by a user;
performing a first physical action in the context, the first physical action comprising a movement of the robotic apparatus along a first trajectory, the first physical action being determined by at least a user instruction and a first controller instruction indicative at least in part of a first predicted physical action determined from at least the context and the physical training action;
receiving a corrective input signal based on the performed first physical action; and
performing a second physical action in the context based on the corrective input signal, the second physical action comprising a movement of the robotic apparatus along a second trajectory, the second physical action further being determined by at least a second controller instruction generated from at least the first physical action, the physical training action, and a second predicted physical action determined from at least the context, wherein a deviation between performance measures of the second physical action and the physical training action is less than a deviation between performance measures of the first physical action and the physical training action.

US Pat. No. 9,870,617

APPARATUS AND METHODS FOR SALIENCY DETECTION BASED ON COLOR OCCURRENCE ANALYSIS

Brain Corporation, San D...

1. A non-transitory computer-readable storage medium having instructions embodied thereon, the instructions being executable
by a processing apparatus to configure a process enabled to track an object in a plurality of images each comprised of pixels,
wherein the instructions, when executed by the processing apparatus cause the process to:
evaluate a pixel chromaticity distribution for pixels of a given image of the plurality of images, the evaluation of the pixel
chromaticity distribution comprising a reconstruction of the given image and an assignment of a saliency value within the
reconstructed image;

based at least on the evaluation, identify a portion of pixels of the given image, the identification of the portion of pixels
being based on the assigned saliency value within the reconstructed image;

provide positions corresponding respectively to individual pixels of the portion to the process; and
based on the provided positions, navigate a robotic apparatus in communication with the processing apparatus;
wherein:
the portion of pixels corresponds to a representation of the object in the given image;
the provided positions are configured to enable the process to determine a location of the object in a subsequent image of
the plurality of images;

the evaluation of the pixel chromaticity distribution comprises a determination of a histogram of occurrence of pixel chromaticity
within the given image.

US Pat. No. 9,789,605

APPARATUS AND METHODS FOR CONTROL OF ROBOT ACTIONS BASED ON CORRECTIVE USER INPUTS

BRAIN CORPORATION, San D...

1. A method for performing robot actions by a robot, the method comprising:
defining a policy comprising a plurality of parameters for determining robot actions based at least in part on sensory-data
inputs, the defining of the policy comprising mapping the sensory-data inputs to robot actions;

receiving a first sensory-data input from a sensor;
performing a first robot action at a first action time, wherein the first robot action is determined based at least in part
on the first sensory-data input and application of the policy;

determining that a user input was received at an input time corresponding to the first action time, wherein a corrective command
at least partially derived from the user input specifies a corrective robot action for physical performance, the user input
being indicative of at least partial dissatisfaction with the first robot action; and

modifying the policy based on the corrective command and the first sensory-data input.

US Pat. No. 10,184,787

APPARATUS AND METHODS FOR DISTANCE ESTIMATION USING MULTIPLE IMAGE SENSORS

Brain Corporation, San D...

1. A method of determining distance to an object disposed within a visual scene, the method comprising:producing a video stream by interleaving images of a first plurality of images and a second plurality of images of the visual scene, the first plurality of images including a set of first individual images generated by a first camera and the second plurality of images including a set of second individual images generated by a different second camera, the second camera being spatially separated from the first camera;
encoding a plurality of frames from the video stream, the encoded plurality of frames comprising (i) at least one frame encoded with disparity information, (ii) at least one frame encoded with motion information, and (iii) at least one empty frame that is void with respect to disparity and motion information;
evaluating the encoded plurality of frames to determine a spatio-temporal pattern of movement associated with the object based on the disparity information;
evaluating the encoded plurality of frames to determine the distance to the object based on the spatio-temporal pattern of movement associated with the object; and
causing at least one processor in the device to execute an action based on a command signal generated based on the spatio-temporal pattern associated with the object.

US Pat. No. 10,016,896

SYSTEMS AND METHODS FOR ROBOTIC BEHAVIOR AROUND MOVING BODIES

BRAIN CORPORATION, San D...

1. A robot comprising:a first sensor configured to generate first sensor data indicative of a first portion of a moving body over a first plurality of times;
a second sensor configured to generate second sensor data indicative of a second portion of the moving body over a second plurality of times; anda processor configured to execute computer readable instructions to:detect motion of the moving body based at least on the first sensor data at a first time of the first plurality of times and the first sensor data at a second time of the first plurality of times;
determine that the moving body comprises a continuous form from at least the first sensor data and the second sensor data;
detect at least one characteristic of the moving body that is indicative of the moving body comprising a person from at least one of the first sensor data and the second sensor data, the at least one characteristic of the moving body corresponding to a gait pattern of the person, the gait pattern including at least one alternate swing between a first leg and a different second leg of the person;
identify the moving body as the person based at least on the detected at least one characteristic and the determination that the moving body comprises the continuous form; and
perform an action in response to the identification of the moving body as the person.

US Pat. No. 9,987,743

TRAINABLE MODULAR ROBOTIC APPARATUS AND METHODS

BRAIN CORPORATION, San D...

1. A modular robotic apparatus body, comprising:a first movable element and a second movable element;
at least one sensory interface; and
a mechanical interface configured to effectuate movement of the first and the second movable elements separately based on one or more actuation inputs from a control apparatus when the control apparatus is mated to the modular robotic apparatus body;
wherein the modular robotic apparatus body is configured to mate with the control apparatus via the mechanical interface, the control apparatus comprising a non-transitory computer-readable storage medium having a plurality of instructions thereon, the plurality of instructions being configured to, when executed by a processor apparatus, cause the control apparatus to:
generate an output signal based on a contextual signal obtained via the at least one sensory interface, the output signal being determined by a learning process;
causing an actuation of the modular robotic apparatus body based on the generated output signal;
receive feedback from a trainer via the modular robotic apparatus body when a discrepancy exists between the actuation of the modular robotic apparatus and a target actuation thereof; and
update the learning process based on the feedback from the trainer.

US Pat. No. 9,987,752

SYSTEMS AND METHODS FOR AUTOMATIC DETECTION OF SPILLS

BRAIN CORPORATION, San D...

1. A robot comprising:an actuator configured to move the robot between a plurality of locations;
a spill detector comprising at least one optical imaging device configured to capture a plurality of images of a scene containing a spill while the robot moves between the plurality of locations; and
a processor apparatus configured to identify the spill in the plurality of images, and generate an alert indicative at least in part of a recognition of the spill;
wherein:
the processor is further configured to determine a confidence measure in the identification of the spill;
the generation of the alert indicative at least in part of the recognition of the spill is based on the confidence measure meeting or exceeding a predetermined threshold, the confidence measure being determined based at least on a quantity of images containing at least a portion of the identified spill relative to a quantity of images captured over a predetermined time interval; and
the generation of the alert comprises a presentation of a plurality of user-selectable options associated with actions of the robot with respect to the identified spill.

US Pat. No. 9,939,253

APPARATUS AND METHODS FOR DISTANCE ESTIMATION USING MULTIPLE IMAGE SENSORS

BRAIN CORPORATION, San D...

1. A method of determining distance to an object disposed within a visual scene, the method comprising:producing a video stream by interleaving images of a first plurality of images and a second plurality of images of the visual scene, individual images of the first and second pluralities of images being provided by respective first and second cameras of a robot, the second camera being separated spatially from the first camera;
encoding a plurality of frames from the video stream, the encoded plurality of frames comprising (i) at least one frame encoded with disparity information corresponding to an image of the first plurality of images and an image of the second plurality of images, (ii) at least one frame encoded with motion information corresponding to the image of the second plurality of images and another image of the second plurality of images, and (iii) at least one empty frame that is void with respect to disparity and motion information;
evaluating the encoded plurality of frames to determine the distance to the object;
evaluating the encoded plurality of frames and the distance to the object to detect a spatio-temporal pattern of movement associated with at least the object; and
causing the robot to execute a physical action based on a command signal generated based on the spatio-temporal pattern associated with at least the object.

US Pat. No. 9,764,468

ADAPTIVE PREDICTOR APPARATUS AND METHODS

Brain Corporation, San D...

1. A method of predicting a plant control output by an adaptive computerized predictor apparatus, the method comprising:
configuring the adaptive computerized predictor apparatus, using one or more processors, to operate in accordance with a learning
process based on a teaching input;

at a first time instance, based on a sensory context, causing the adaptive computerized predictor apparatus to generate a
first predicted plant control output;

configuring the adaptive computerized predictor apparatus, using the one or more processors, to provide the first predicted
plant control output as the teaching input into the learning process;

at a second time instance subsequent to the first time instance, causing the adaptive computerized predictor apparatus to
generate a second predicted plant control output based on the sensory context and the teaching input;

adjusting the learning process based on a difference between the second predicted plant control output and the teaching input;
and

causing a plant to perform an action consistent with the sensory context and the adjusted learning process, the action being
in accordance with a defined target trajectory;

wherein the teaching input comprises the first predicted plant control output.

US Pat. No. 10,268,919

METHODS AND APPARATUS FOR TRACKING OBJECTS USING SALIENCY

Brain Corporation, San D...

1. A method of operating a robotic device, the method comprising:obtaining a plurality of input images of a visual scene during navigation of a trajectory by the robotic device;
determining a map of a back projected color histogram based upon a plurality of bins, a respective bin of the plurality of bins grouping a range of values corresponding to a difference between a first pixel and a second pixel in a respective input image of the plurality of input images, the second pixel corresponding to an average value of a plurality of pixels of the respective input image, the respective input image corresponding to a surrounding region of the visual scene;
determining a salient feature of a respective pixel of the respective input image based on evaluation of the map, the salient feature corresponding to a number of pixels representing the same exact value in remaining of the respective input image; and
adjusting the trajectory of the robotic device in accordance with a parameter associated with the salient feature.

US Pat. No. 10,241,514

SYSTEMS AND METHODS FOR INITIALIZING A ROBOT TO AUTONOMOUSLY TRAVEL A TRAINED ROUTE

Brain Corporation, San D...

1. An autonomously navigating robot comprising:a user interface configured to prompt a user to initiate navigation of the robot autonomously through one of a plurality of available learned routes from one of a plurality of starting locations, the plurality of starting locations being associated with respective ones of a plurality of initialization objects;
a camera configured to take a first image of an initialization object of the plurality of initialization objects while the robot is in a first location and a second image of the initialization object of the plurality of initialization objects while the robot is in a second location;
an odometry unit configured to determine positions of the robot with respect to the initialization object; and
a controller configured to:
initialize the odometry unit relative to the initialization object determined at least in part from the first image while the robot is in the first location;
learn a route by user demonstration, beginning from the first location, where the learned route associates actions of the robot with positions of the robot relative to the initialization object determined by the odometry unit, the plurality of available learned routes comprising the learned route;
detect, via the camera, the initialization object from an image, and associate the image with the second image, the association being indicative of the robot being in the second location;
autonomously select, by the controller, based on the initialization object detected from the associated image, the learned route from the plurality of available learned routes associated with the initialization object;
initialize the odometry unit relative to the initialization object determined at least in part from the second image; and
navigate the robot autonomously beginning from the second location through at least a portion of the selected learned route while instructing the robot to perform one or more associated actions based at least in part with positions of the robot relative to the initialization object determined by the odometry unit.

US Pat. No. 10,194,163

APPARATUS AND METHODS FOR REAL TIME ESTIMATION OF DIFFERENTIAL MOTION IN LIVE VIDEO

Brain Corporation, San D...

1. A video processing device of a robotic apparatus, comprising:a camera configured to generate a compressed video frame;
an input interface coupled to the camera and configured to receive the compressed video frame;
a video encoder configured to:
determine information associated with a portion of the compressed frame, the information corresponding to motion of one or more objects within the compressed frame;
evaluate the information for a pattern, the pattern comprising a temporal sequence of a first group of motion vectors and a subsequent second group of motion vectors; and
identify the one or more objects based at least in part on a salient feature in the pattern within the information and based on a determination that a residual motion vector associated with the portion of the compressed frame breaches a velocity threshold, the residual motion vector being derived relative to a prevailing motion vector within the portion of the compressed frame;
an output interface configured to communicate an indication based on the identification of the one or more objects;
wherein;
the one or more objects identified in the compressed frame correspond to a physical task of the robotic apparatus; and
the indication is configured to modify a trajectory of the robotic apparatus based on the identified one or more objects.

US Pat. No. 10,131,052

PERSISTENT PREDICTOR APPARATUS AND METHODS FOR TASK SWITCHING

Brain Corporation, San D...

1. A non-transitory machine-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to effectuate training of a learning component configured to operate a robotic apparatus, the instructions configured to, when executed cause the one or more processors to:provide a first control output, the first control output configured to cause the robotic apparatus to execute a first physical action;
receive a feature occurrence information comprising feedback via a sensor of the robotic apparatus;
cause production of a predicted output comprising a first vector from the learning component based on an occurrence of a feature in the received feature occurrence information, the predicted output configured to automatically cause the robotic apparatus to execute a second physical action based on one or more components of the first vector which is selected from a first range of values between a first value and a second value;
produce a training input indicative of a target physical action, the training input comprises one or more components of a second vector selected from a second range of values between a third and fourth value;
cause a combination of the training input and the predicted output via a combiner to produce a second control output comprising a third vector, the second control output configured to maintain execution of the first physical action by the robotic apparatus or execute the second physical action based on an analysis of one or more components of the third vector which is selected from a third range of values between the first value and the second value;
provide the second control output to the learning component; and
adapt the learning component in accordance with a discrepancy measure between the second control output and the predicted output;
wherein the adaptation of the learning configuration is configured to cause the learning component to produce the second control output upon the occurrence of the feature during execution of the first action.

US Pat. No. 10,282,849

SYSTEMS AND METHODS FOR PREDICTIVE/RECONSTRUCTIVE VISUAL OBJECT TRACKER

Brain Corporation, San D...

1. A visual system for tracking an object in a scene over time, comprising:a hierarchy of associative memory units, the hierarchy including levels progressing from lower levels to higher levels, the associative memory units in the same level of the hierarchy feed compressed predictions to other associative memory units in the same level of the hierarchy, and each of the associative memory unit is configured to:
receive a past signal and a present signal of the scene;
predict a future signal based at least on the present signal and an association between the past signal and the present signal;
send the compressed predictions to other associative memory units;
receive the compressed predictions from other associative memory units; and
produce a signal indicative of the presence of the tracked object based at least on the predictions.

US Pat. No. 10,274,325

SYSTEMS AND METHODS FOR ROBOTIC MAPPING

Brain Corporation, San D...

1. A method of generating a map by a robot, comprising:traveling, by the robot, in an environment;
generating a graph comprising a plurality of nodes, a respective node of the plurality of nodes corresponds to a scan generated by a sensor of the robot at a location in the environment;
performing scan matching on extended scan groups, the extended scan groups being determined in-part on at least two or more nodes of the plurality of nodes; and
constraining the graph between a start location and an end location, the start location and the end location being at a substantially similar location in the environment.

US Pat. No. 10,197,664

APPARATUS AND METHODS FOR DETECTION OF OBJECTS USING BROADBAND SIGNALS

Brain Corporation, San D...

1. A method for determining range to an object, comprising:transmitting, via a transmitter, a broadband signal, the transmitter including an electrically pumped semiconductor laser element,
producing, via a receiver, a sampled signal based on a sample of a reflected signal, the reflected signal including a reflection of the broadband signal off the object, the receiver including a photodetector;
determining, via execution of computer readable instructions stored on at least one processor, a time-reversed instance of the transmitted broadband signal, the at least one processor including computer readable instructions stored thereon;
determining, via execution of computer readable instructions stored on the at least one processor, one or more correlograms, a respective one of the one or more correlograms including a convolution of the time-reversed instance of the transmitted broadband signal and the sampled signal at a plurality of lags, the respective one of the one or more correlograms corresponding to a zero-mean signal by subtraction of a mean value from at least one of the transmitted broadband signal and the sampled signal, the respective one of the one or more correlograms including one or more values;
comparing, via execution of computer readable instructions stored on the at least one processor, the one or more correlogram values of the respective one of the one or more correlograms at the plurality of lags to a detection threshold; and
determining, via execution of computer readable instructions stored on the at least one processor, a range to the object based on the one or more values of the respective one of the one or more correlograms breaching the detection threshold, the range corresponding to a given lag of the plurality of lags, where the given lag is associated with the one or more values of the respective one of the one or more correlograms.

US Pat. No. 10,166,675

TRAINABLE MODULAR ROBOTIC APPARATUS

Brain Corporation, San D...

1. A robotic apparatus operable to conduct one or more assigned physical tasks, the robotic apparatus comprising:at least one processor; and
a non-transitory computer-readable storage medium having computer-readable instructions stored thereon, the computer-readable instructions being configured to cause, when executed by the at least one processor, a first controller of the robotic apparatus to:
produce an output signal based on a sensory input comprising an environmental characteristic and a learning process of the first controller, the first controller being configured to be coupled to a first robotic body of a plurality of robotic bodies via a first type of interface, the first robotic body including a first set of one or more degrees of freedom;
initialize a trajectory of the first robotic body of the plurality of robotic bodies based on the output signal;
receive a teaching signal in response to the initialized trajectory that teaches a target trajectory;
update the learning process of the first controller based on the received teaching signal; and
implement an adjusted trajectory for the first robotic body of the plurality of robotic bodies based on the updated learning process of the first controller;
store the adjusted trajectory in one or more trained robotic configurations; and
transfer the stored one or more trained robotic configurations to a second controller on a second robotic body of the plurality of robotic bodies via a second type of interface, the second robotic body including a second set of one or more degrees of freedom distinct from the first set of one or more degrees of freedom, the second type of interface being different from the first type of interface, the one or more trained robotic configurations comprising the updated learning process of the first controller;
wherein the transfer of the stored one or more trained robotic configurations to the second controller is configured to:
enable an implementation of the adjusted trajectory on the second robotic body of the plurality of robotic bodies via the transfer, the implementation of the adjusted trajectory on the second robotic body of the plurality of robotic bodies being based on the transferred one or more trained robotic configurations; and
enable the second controller of the second robotic body of the plurality of robotic bodies to update the updated learning process for use by one or more other controllers other than the second controller.

US Pat. No. 10,057,593

APPARATUS AND METHODS FOR DISTANCE ESTIMATION USING STEREO IMAGERY

BRAIN CORPORATION, San D...

10. An image processing system, comprising: an input interface configured to receive a stereo representation of a visual scene, the stereo representation comprising a first portion and a second portion; a logic component in communication with the input interface and configured to: arrange the first portion of the stereo representation with the second portion of the stereo representation into a concatenated frame; and form a sequence of concatenated frames by arranging first portions of the stereo representation and second portions of the stereo representation within a first concatenated frame in an alternate order relative to a preceding concatenated frame within the sequence, the first concatenated frame comprising a different size from either the first portion or the second portion of the stereo representation; wherein the sequence of concatenated frames further includes a first composite image and a second composite image; the first composite image of the sequence of concatenated frames is based on a combination of an image from the second sequence of images and a plurality of replicas of an image from the first sequence of images; the second composite image subsequent to the first composite image within the sequence of concatenated frames, the second composite image is based on a combination of another image from the second sequence of images and a plurality of replicas of another image from the first sequence of images;the another image from the second sequence of images is acquired contemporaneously with the image from the first sequence of images, and subsequent to the image from the second sequence of images; and the another image from the first sequence of images is acquired subsequent to the image from the first sequence of images;
a video encoder in data communication with the logic component and configured to encode the sequence of concatenated frames to produce a sequence of compressed frames; and a processor in data communication with the video encoder and configured to execute computer readable instructions to obtain motion information based on an evaluation of the compressed frames.