[go: up one dir, main page]

WO2025196083A1 - A self-learning artificial neural network and related aspects - Google Patents

A self-learning artificial neural network and related aspects

Info

Publication number
WO2025196083A1
WO2025196083A1 PCT/EP2025/057423 EP2025057423W WO2025196083A1 WO 2025196083 A1 WO2025196083 A1 WO 2025196083A1 EP 2025057423 W EP2025057423 W EP 2025057423W WO 2025196083 A1 WO2025196083 A1 WO 2025196083A1
Authority
WO
WIPO (PCT)
Prior art keywords
ann
activity
node
self
acting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/EP2025/057423
Other languages
French (fr)
Inventor
Henrik JÖRNTELL
Udaya Bahskar Rongala
Linus MÅRTENSSON
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intuicell AB
Original Assignee
Intuicell AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB2403877.0A external-priority patent/GB202403877D0/en
Priority claimed from GBGB2403874.7A external-priority patent/GB202403874D0/en
Priority claimed from GBGB2403950.5A external-priority patent/GB202403950D0/en
Priority claimed from GBGB2501253.5A external-priority patent/GB202501253D0/en
Application filed by Intuicell AB filed Critical Intuicell AB
Publication of WO2025196083A1 publication Critical patent/WO2025196083A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs

Definitions

  • the disclosed technology relates to the field of artificial neural networks for implementing a form of artificial intelligence, in particular but not exclusively, to a self-learning artificial neural network, or SL-ANN.
  • a SL-ANN forming part of a computational brain model for adapting the state of a physical entity or system towards a goal or target state.
  • the computational brain model may be configured to act on more than one mode of sensory data generated by detecting or sensing a state of the physical entity or system and uses activity driven internally by nodes, referred to herein as self-acting nodes, when there is no sensory data input to the SL-ANN to drive weight learning.
  • Feature abstraction and feature extraction using ANN-based systems are well known in the art.
  • feature extraction, and abstraction are performed by training an ANN using a set of data so that the ANN learns to decompose subsequent data and how to weight the features which result from such decomposition.
  • the training data set needs to have sufficiently similar features to the subsequent operational data set which is to be analysed.
  • the ANN must be trained to appropriately perform feature extraction using the training data set, so that subsequent data input to the ANN can be usefully analysed by the ANN to extract similar features.
  • the ANN output comprising the extracted features found in the subsequent data may then processed by a data processing system, for example, another ANN, to form inferences which are consistent with those formed for the training data set.
  • a computer system comprising an ANN can be used to analyse subsequent similar data and form appropriate inferences or predictions about such subsequent data.
  • Generalised Al, or artificial general intelligence, models have code architectures which allow the Al system to be adapted to a variety of different types of data and use contexts.
  • Such Al systems can be used to analyse include data with very different types of features as their Al architectures are configured to breakdown data input to allow for more generalised or abstract feature extraction.
  • the formation of an abstract representation of input data removes redundancy and irrelevant features from the input data and as such provides a form of data compression.
  • an ANN may be layered with each ANN layer comprising nodes which use non-linear activation functions to allow them to learn to represent input data in an increasingly more abstract and complex way the deeper the layer resides in the ANN.
  • lower layers of such ANNs learn to detect simple features and higher layers learn to combine the features extracted from lower layers to generate more complex patterns and structures.
  • known ANNs may be configured to automatically learn hierarchical representations of input data where different levels of feature abstraction are implemented within different layers of the network.
  • not all tasks are well-suited to being handled using such hierarchical abstractions.
  • training such ANNs may be very time-consuming and require large volumes of training data if the ANNs are to have more versatility in the tasks they are used for.
  • JEPA hierarchical system
  • JEPA still requires a hierarchical model architecture where separate predictors are configured to receive representations with different levels of abstraction based on autoencoder generated representations of a sequence of input variables.
  • the number of generated state trajectories grows exponentially. If each latent variable used in the prediction model has k possible discrete values, the number of possible trajectories will grow as kt, where t is the number of time steps of the prediction model.
  • t is the number of time steps of the prediction model.
  • optimal action sequences can be computed using the JEPA model to minimize the average cost, or a combination of average and variance of the cost so as to minimize risk.
  • JEPA model Given a sample of all the latent variables, k, optimal action sequences at every level can be inferred by the model, however, to cover all plausible outcomes, a hierarchical JEPA-based prediction process may need to be repeated for multiple drawings of latent as in hidden variables. This all results in an inference process which is computationally extremely complex as multiple hierarchical layers are needed to form inferences and as such utilise a large number of computational resources to generate inferences from their input. Moreover, such inferences are limited by the model's training and transfer learning capabilities.
  • the disclosed technology relates to a self-learning ANN configured with one or more inter-connected nodes, of which at least one node is a directly self-acting node, also referred to herein as a DSA node.
  • a DSA node comprises a self-acting base function, SABF, which is configured to ongoingly generate so-called perpetual base-function internal activity, PBFIA even when there is no activity, in other words data, forming primary input to the SL-ANN.
  • Activity propagating within or output from the SL-ANN not driven by primary input to the SL-ANN is referred to herein as spontaneously output node activity, SONA.
  • An SL-ANN has spatiotemporal patterns of node activity formed across the SL-ANN as the SL-ANN learns both from primary inputs to the SL-ANN received for the purposes of decoding information and from any SONA produced at times when there is no primary input driving activity within the SL-ANN.
  • the SL-ANN of the disclosed technology is configured to learn from primary inputs comprising time-varying data suitable representations for solving over time whatever problem the primary input represents. After a solution is found, the primary input will accordingly cease but in the DSA node(s) of the SL-ANN, the PBFIA continues.
  • the resulting SONA within the SL-ANN modifies the SL-ANN network state from the state that represented a solution to the last primary input. As time goes on without further primary input, the SL-ANN state will continue to evolve and the network state becomes become more and more abstracted from the form it had when it last acted on primary input.
  • a benefit of a SL-ANN according to the disclosed technology is that it is able to continue to train on SONA even in the absence of primary input to the SL-ANN.
  • the SL-ANN is accordingly less reliant on primary input for weight training to some extent as the nodes of the SL-ANN continue to update their weights as a result of the SABF PBFIA output internally driving weight updates in DSA nodes and as a result of the SABF PBFIA driving SONA within the network to other DSA nodes and also I DSA nodes.
  • Another benefit is that learning in the absence of any primary input to the SL-ANN results in increasingly abstract versions of the internal network state representations of previous primary input(s) being generated as time passes since the last primary input(s). This may better condition the SL-ANN to address any problems presented by subsequent primary input.
  • Another benefit is this may allow some form of accelerated learning in the sense that the ANN may learn even when there is intermittent primary input, without waiting for subsequent primary input. This may also allow a smaller data set of primary input to be used to train the SL-ANN in real-time using real-world data than would be otherwise possible in the absence of primary input(s).
  • the SL-ANN By pre-processing sensory data to determine how it deviates from one or more set-points associated with the sensed entity having a goal or target state or states and based on the deviation generating primary input comprising one or more data feeds to the SL-ANN, the SL-ANN is provided with an error metric for the effectiveness of the ANN output in causing the sensed entity to updates its state towards the goal or target state(s)
  • the primary input to the SL-ANN comprises sensory data is closest or at the current set-point, the result will be minimal or no activity being driven into the SL-ANN.
  • the SL-ANN will at this point in time have a network state which results in output which has resolved, solved, or otherwise optimally mitigated or obviated, the problem(s) presented by that sensory data derived primary input in relation to the sensed entity/system.
  • the activity driven by the primary input to the SL-ANN will be close or at zero, the activity circulating or percolating between the nodes of the SL-ANN will primarily be driven by SONA from nodes with SABFs.
  • the propagation of SONA to other nodes depends on the current active connection network topology and neuron models of the nodes making up the SL-ANN.
  • the dynamic core activity of the SL-ANN will evolve over time to provide increasingly more abstract representations of previous primary input to the SL-ANN. If primary input to the SL-ANN later resumes as the sensed entity state changes or if the target or goal state for the sensed entity changes, the evolved SL-ANN state may represent latent solutions which anticipates what would be slightly different primary input. This may enable the SL-ANN to provide ANN output which resolves, solves, or optimally mitigates or obviates, the inherent problem(s) that the primary input now represents faster than would otherwise be possible.
  • the SL-ANN may need less time to retrain before it generates ANN output that resolves the problem(s) presented by subsequent primary input.
  • the SL-ANN disclosed herein may act as a self-acting ANN at times.
  • FIG. 2A shows schematically how the CBM of Figure 1 processes system input and generates system output according to some embodiments of the disclosed technology
  • Figure 3A shows schematically an example node in a SL-ANN of a CBM according to some embodiments of the disclosed technology
  • Figure 3B shows schematically more detail what contributes to weight learning by the example node of Figure 3A according to some embodiments of the disclosed technology
  • Figure 5A shows how shows schematically how SONA may be generated by the SABF of the DSA node of Figure 4 at time T1 >T0 when there is no incoming activity according to some embodiments of the disclosed technology;
  • Figure 6B shows schematically how SONA received from a DSA node may result in the IDSA of Figure 6A updating its weights according to some embodiments of the disclosed technology
  • Figure 11 A shows schematically a flow-chart illustrating how a SABF processes incoming activity input to generate SONA according to some example embodiments of the disclosed technology
  • Figure 1 1 B illustrates schematically in more detail how input other than the output from a SABF is used by one or more learning functions to generate weight updates in the method 1 100 shown in Figure 11A;
  • Figure 12A shows schematically how the SABF generates BFOA to form SONA when no node input activity is received according to some example embodiments of the disclosed technology
  • Figure 18 shows schematically another example computer-program product for implementing the method shown in Figure 17 according to some embodiments of the disclosed technology
  • Figure 19 shows schematically another example method performed by a computer according to some embodiments of the disclosed technology
  • Figure 20 shows schematically another example computer-program product for implementing the method shown in Figure 19 according to some embodiments of the disclosed technology
  • Figure 21 shows schematically another example method performed by a computer according to some embodiments of the disclosed technology
  • Figure 22 shows schematically an example computer-program product for implementing the method shown in Figure 21 according to some embodiments of the disclosed technology
  • Figure 23 shows schematically an example embodiment of a SL-ANN 200 according to some embodiments of the disclosed technology.
  • Figure 24 shows schematically how inhibitory and excitatory learning functions are used by nodes of an SL-ANN according to some embodiments of the disclosed technology.
  • Self-acting computer system A computer system configured with a computational brain model capable of spontaneously generating output without external input being provided to drive activity at that time.
  • CBM A model implemented on a computer system that simulates aspects of brain function, including at least one self-learning artificial neural network.
  • SL-ANN Self-learning artificial neural network
  • SL-ANN An artificial neural network capable of updating its own weights and connections based on both external input and internally generated activity.
  • Directly self-acting, DSA, node A node in the SL-ANN capable of autonomously generating ongoing internal activity and spontaneous output.
  • PBFIA Ongoing internal activity generated by a DSA node's self- acting base function, SABF.
  • SONA Activity output by a node that is not directly driven by external input to the SL-ANN.
  • Incoming activity/incoming activity input Activity received by a node from other nodes in the network or from a primary input source. The activity may be driven by primary input to the SL-ANN or by SONA within the SL-ANN.
  • Primary input Input from a source external to the SL-ANN, which may be from a pre-processor hosted on or off the self-acting computer system.
  • the primary input provided to the SL-ANN may comprise sensed data about an external entity or system.
  • IDSA node A node that generates spontaneous activity in response to receiving SONA from other nodes.
  • Dynamic core A time-varying spatial region within the SL-ANN where spontaneous activity, also referred to as SONA 400, 610 may be dominant and ongoing even when there is no primary input being processed by the SL- ANN.
  • ANN output 220 The output generated by the SL-ANN, which may be spontaneous or driven by primary input to the SL-ANN.
  • Computer system output 112 Output generated by the computer system based on the ANN output, which can cause updates to a system external to the SL-ANN such as external system 202.
  • SABF Self-acting base function
  • Multi-state system or entity A system or entity external to the SL-ANN 200, such as external system 202, with multiple possible states that can be sensed and influenced by the self-acting computer system.
  • the multi-state system or entity may comprise an external system which is independent physically from the self-acting computer system in some embodiments. References herein to an external system or entity refer to a multi-state system or entity and vice versa unless the context clearly implies otherwise.
  • Sensor system A system of one or more sensors that generate sensory data about the physical state(s) of a sensed entity or system such as external system 202 examples of which are described in more detail later below.
  • Actuator A component in a multi-state entity or system, such as an external system 202, that can effect changes to the entity or system's state in response to computer system output.
  • Set point A reference value for sensory data associated with sensing a desired or target state of the multistate entity or system, used for comparing with sensory data.
  • a group of nodes in the SL-ANN sharing certain features and/or characteristics may be grouped according to the activity, for example, inhibitory or excitatory, that they produce.
  • a population of nodes may be organized and connected in a specific manner in some embodiments.
  • Recursive or recurrent network architecture A network structure where connections between nodes allow information to flow in loops or cycles.
  • Weight A parameter in the neural network that determines the strength of connection between nodes and is updated during learning.
  • ANN artificial neural network
  • An ANN takes its usual meaning in the art, for example a network of nodes representing processing functions inter-connected by connections along which data flows across the ANN. The data flows are referred to herein as activity.
  • An ANN is implemented using a computer model or programme and may be executed as software and/or as hardware as circuitry or programmable hardware.
  • a model of an ANN may be represented or modelled as a graph comprising a plurality of nodes inter-connected by connections which can be represented as directional edges defining the direction along which activity is transferred from one node to another node.
  • connection may be used interchangeably with, and refer to, a directed edge according to its context of use implying directionality of activity along the connection in this disclosure.
  • An ANN may be a recursive or recurrent ANN.
  • each node may be capable of being connected to every other node of the ANN. This provides each node with the capability of providing input to every other node in the ANN.
  • the current topology of the ANN will determine which potential directional edges/connections are active in the sense activity is being transferred between nodes in that time-step or iteration of the ANN algorithm.
  • the ANN may be a weightless network where connections between nodes may be activated or deactivated to change the topology of the ANN architecture, and thus the network state of the ANN, with each iteration of the ANN.
  • the magnitude of any data values being input to, processed by, transferred between, or output from nodes of an ANN is referred to herein as activity.
  • One or more connections of the ANN may be designated for transferring activity representing or derived from negative values of primary input to the ANN.
  • the term primary input as used herein refers to the activity values input to the ANN network which drives activity across the nodes of the ANN.
  • the primary input to the ANN is dispersed within the ANN network and processed by multiple nodes within the ANN before forming the ANN output.
  • An ANN as disclosed herein may be configured in conjunction with an external sensory source configured to provide one or more time-series of time-varying sensor data as primary input to the ANN.
  • the ANN output iteratively over time may result in changes to its primary input.
  • the ANN may comprise a self-learning ANN, SL-ANN such as SL-ANN 200 according to the disclosed technology which comprises at least one directly self-acting, DSA, node 400.
  • a node as used in a computational context of an ANN takes its conventional meaning in the art.
  • a node comprises a processing element of the ANN where the processing is based on a neuron model of a computational brain model comprising at least one ANN according to the disclosed technology.
  • the neuron model may comprise at least one or more processing function(s) performed by the node which may evolve over time in some embodiments.
  • the ANN network topology and neuron model(s) of the ANN determines for each iteration of the ANN algorithm which connections a node receives and outputs activity on, the type of activity (whether it represents positive or negative values for example).
  • the output(s) of a node may be buffered before it is transferred to form input to another node or contribute to the ANN output in some embodiments.
  • self-acting node refers to a node or an ANN capable of generating an activity which is not driven solely by primary input received by the ANN, in other words, which does not need to result from primary input, a term used herein to refer to any input derived from a source external (to the ANN) and which may be also referred to herein also as system input in some contexts. In some embodiments, however, primary input may comprise modified system input.
  • the action by the self-acting node or self-learning or self-acting ANN is spontaneous and automatic in the sense it is not driven by primary input to the ANN at that time.
  • self-acting node may refer to a directly self-acting node or an indirectly self-acting node.
  • a directly self-acting, DSA, node such as node 400 described later below comprises a node with a self-acting base function, SABF, which generates spontaneous activity.
  • Spontaneous activity may comprise SONA 412 from a DSA node 400 or SONA 610 from an indirectly self-acting, I DSA, node 600 in some embodiments. Both types of SONA are described in more detail later below.
  • An indirectly self-acting, IDSA, node 600 is any type of node in the SL-ANN which generates spontaneous activity as a result of receiving spontaneous activity from another self-acting node in the ANN.
  • An IDSA node may have no base function component in some embodiments.
  • an IDSA node may comprise a suitable transfer function or activation function.
  • a self-acting base function refers to a base function, for example, SABF 404 described later below, configured to iteratively generate spontaneous activity in each iteration of the base function algorithm for a node.
  • the execution of the base function node algorithm may be synchronised in some embodiments with the execution of the algorithm implementing the SL-ANN on a computer system, however in some embodiments it may be asynchronously executed.
  • a self-acting base function, SABF is accordingly a function that generates activity within a node based on recirculating its previous output in one iteration to form input to the SABF in a subsequent iteration, where it may be combined with input derived from the weighted inputs received as incoming activity along a connection or edge by the DSA node 400.
  • the incoming activity may include spontaneous activity generated by another DSA node 400 or another IDSA node 600
  • the SABF may continue to produce base function output activity, BFOA, such as the BFOA 314 described later below, even when there is no primary input to the SL-ANN 200.
  • the SABF 404 may be considered to perpetually generate internal activity and activity which may be spontaneously output as node output activity 318 to the other nodes of the SL-ANN 200 or contribute to the output of the SL-ANN 200 in some embodiments.
  • connection or edge to a node receiving incoming activity, IA, as input may be referred to as an incoming activity, IA
  • connection or incoming edge and the IA received by the node may be referred to as incoming activity input, IA input, or incoming activity or IA.
  • output connection for example, output connection 320 as shown in Figure 3A and 3B.
  • the BFOA forming node output activity, NOA, output along an output connection towards other nodes 216 of the SL-ANN may be referred to herein also as inter-nodal activity, for example, inter-nodal activity 322 as shown in Figures 3A and 3B described in more detail later below.
  • NOA output from one node as inter-nodal activity 322 towards another node will form incoming activity, IA, input at the receiving other node.
  • the computer system on which the ANN is executing receives system input for processing by the ANN.
  • System input refers to time-varying data input from at least one data-feed or data stream source external to the SL- ANN executing on the computer system. This system input may also be generated onboard the same device or on an apparatus hosting the computer system on which the ANN is executing in some embodiments.
  • System input may be provided directly as primary input to an ANN, or it may be pre-processed before forming one or more primary inputs to the ANN.
  • Such preprocessing may include modifying values or modifying the number of data feeds or streams so that there may not be a one-to-one correspondence between the number of data feeds or streams forming system input and the number of time-varying data feeds or streams forming primary input to the ANN.
  • System input may be modified by one or more pre-processor(s) or a pre-processing system located on the computer system in some embodiments or adjusted at the source of the system input.
  • the pre-processing for a SL- ANN according to the disclosed technology may in some embodiments be performed by another ANN of a computational brain model according to the disclosed technology.
  • the other ANN may or may not be another SL-ANN.
  • primary input refers to direct input to the SL-ANN.
  • primary input is provided directly to all of the nodes forming the SL-ANN.
  • the SL-ANN may comprise a set or group of input nodes configured to receive the primary input which then transfer this to the other internal nodes of the SL-ANN.
  • the SL-ANN output is used to form system output from the computer system hosting the SL-ANN.
  • the SL- ANN output may be post-processed on the computer system before forming the system output, for example, it may be post-processed by another ANN of the computational brain mode.
  • the ANN output may be post- processed to form system output used to provide or comprising control activities for one or more actuators for one or more actuatable parts or objects of an external system in some embodiments.
  • a single source of data feed or stream of sensory data may be pre-processed to form multiple primary inputs in some embodiments.
  • the multiple primary inputs to the ANN may have different characteristics, for example, different frequency bands or be associated with differently signed deviations of the system input from one or more set-points.
  • the set-points may represent values for system input associated with a target or goal state of an entity such as an external system goal or target state.
  • Primary input may be generated using multiple different sensors and data sources and may comprise modified sensor data.
  • each primary input may comprise time-varying sensor data values adjusted based on the absolute value of the sensory data from a set-point.
  • one primary input stream may represent positive deviations from the set-point and another primary input stream may represent negative deviations from the same setpoint.
  • a SL-ANN such as SL-ANN 200 illustrated in the accompanying Figures and described in more detail below according to the disclosed technology comprises an ANN including one or more self-acting nodes.
  • a directly self-acting node also referred to here as a DSA node, comprises a self-acting base function, SABF, which produces node output activity, NOA which may from time to time be spontaneous output node activity or SONA if it occurs when there is no primary input to the SL-ANN 400 to drive it.
  • Other nodes of the SL-ANN may from time-to-time act as indirectly self- acting nodes, also referred to herein as a IDSA node.
  • a self-acting base-function, SABF operates on its own perpetually circulating base-function internal activity, also referred to herein as perpetual base function internal activity, PBFIA, and on activity derived from the incoming activity input received by the DSA node along its connections.
  • PBFIA perpetual base function internal activity
  • the PBFIA will still continue to be generated by the SABF and the resulting base-function output activity, also referred to herein as BFOA, may form NOA.
  • This NOA may be referred to as SONA - spontaneously output node activity if it occurs when there is primary input to the ANN.
  • a node which does not have a SABF may act as an IDSA node if it generates activity as a result of receiving SONA from a DSA node.
  • the IDSA NOA also forms SONA when this happens (in the absence of primary input to the SL-ANN).
  • DSA and IDSA nodes accordingly are capable of producing NOA which is driven at times by primary input to the SL-ANN and at other times produce SONA driven by the PBFIA of DSA nodes forming BFOA and/or driven by receiving SONA from another node of the SL-ANN.
  • the BFOA of DSA and IDSA nodes causes these nodes to update their weights and may determine which connections within the ANN with that node are active accordingly also at times when there is no primary input to the SL-ANN driving the weight updates.
  • This causes the ANN architecture and activity states of the nodes to redefine the SL-ANN state. If the state of the ANN at one point in time resulted from a solution being found to a problem posed by previous primary input to the ANN 200, the result of SONA circulating within the SL-ANN. The result is the SL-ANN network state evolves over time based on ongoing spontaneous activity generated by the one or more self-acting nodes even when there is no primary input being received by the ANN.
  • Some embodiments of the disclosed technology may comprise a self-learning or self-acting ANN which has a recurrent neural network architecture.
  • Some other embodiments of the disclosed technology may comprise a selflearning and/or self-acting ANN which has a recursive architecture, preferably a fully or globally recursive ANN architecture.
  • a recursive SL-ANN and/or a recursive self-acting ANN may operate in a hierarchical manner by combining child representations into parent representations in some embodiments of self-learning and/or self-acting.
  • the term learning function refers to a function applied by a learning component, module, or unit, associated with each node which governs how the internal activity updates the weights applied by that node to activities received from outside the node (and/or to system input).
  • Each node of a self-learning ANN performs local learning, in other words, the weights associated with IA connections to a node are updated independently of the updates applied to other nodes in the self-learning ANN. Each weight may be updated by a different amount by the learning function of a node. Different populations of nodes may have different learning functions.
  • Node-independent learning is applied to each IA connection, in other words to each edge connection of the node when modelled using a directional graph, individually.
  • a learning function or rule of a node in an SL-ANN may act on, for example, compare, the activity of each individual IA connection along which incoming activity, IA, is received against its own internal activity (for example, based on the weighted input combiner and the base function response) and provides a weight update activity to a weight update unit configured to update the weight of that individual IA connection based on the comparison or based on a combination in some embodiments.
  • the learning rule applied when the incoming activity received along of each individual IA connection of a node is compared against its own internal activity is different depending on whether that connection is receiving excitatory or inhibitory input.
  • connections to a node may be assigned to different categories, for example, categories associated with populations of nodes, and each connection belonging to a different category may be assigned a different learning function for updating the weights to be applied to incoming, outgoing or both directions of activities.
  • learning functions will also be different for determining for each node which connections are to be active when forming activity pathways from and to that node.
  • references herein to a particular function may be a reference to a functional element comprising computational code and/or circuitry configured to implement that function, which may be implemented as a separate module or algorithm in some embodiments or embedded within a larger body of code, and vice versa.
  • references to base function may refer to the base function algorithm code component implementing the mathematical base function, as would be apparent to anyone of ordinary skill in the art.
  • the learning functions for populations of nodes may be independently administered by individual nodes in a self-learning ANN where local learning is used.
  • global learning rules may also be used in some embodiments of the disclosed technology.
  • the learning functions may be deterministic and rule based, independent or dependent on the weight-learning functions.
  • the learning functions(s) of a node of the SL-ANN may in part seek to update the weights that node applies to activities received along IA connection connections and may reduce and/or remove a node from focussing on incoming activity along connections which carry redundant information. Redundant information in this context for example is any incoming activity which does not contributing towards the selflearning ANN generating a system output which results in system input to the self-learning ANN indicating that the selflearning ANN'S output is a desired output.
  • the learning functions for populations determine which connections (also referred to herein as edges, and which form IA connections when conveying activity towards a node) are made by different populations of nodes.
  • connections also referred to herein as edges, and which form IA connections when conveying activity towards a node
  • the projection rules for activities to be shared between populations of nodes by may be governed by learning rules, and each population may have different learning functions which determine those rules.
  • excitatory activity received along a I A connection by one node will be associated with one or more different learning functions independent of, and which may accordingly be capable of being independently updated from, the learning functions applied to inhibitory activity received along the same, for example, in a different time step of the executing ANN algorithm, or different IA connections received, for example, in the same time-step, by the same node.
  • the activity received along connections with a node may be from one or more activity sources, including activity sources internal to the ANN, for example, from other nodes of the ANN, sources external to the ANN which inject activity to the ANN 200, and a node may receive both types of activity at the same time-step of the ANN algorithm in some embodiments.
  • Populations of nodes may accordingly be distinguished according to the learning rules and activity projections both internally and/or externally of the nodes that make up the population.
  • the disclosed example embodiments of an ANN 200 comprise at least one population of nodes which may include one or more self-acting nodes comprising a self-acting base function.
  • at least one population of nodes of the ANN are configured to function as an excitatory population of nodes and at least one population of nodes of the ANN are configured to act as an inhibitory population of nodes.
  • a BF of a node 216 of an SL-ANN disclosed herein which is not a DSA node 400 may comprise a transfer function which transforms an input activity to an output activity and may provide a unitary transform in some embodiments.
  • an input node in some embodiments may be provided with a BF which is unitary or alternatively omitted.
  • the activity which forms the output of a BF may be used in combination with a thresholding node output function 316 of the node if it is to provide node output activity, NOA 318.
  • a BF 312 may be configured to provide an activation function for a node 216. Examples of suitable transfer or activation functions which may be provided by a BF 312 in some embodiments of the disclosed technology include a unit step threshold function, a sigmoid transfer function, and a Gaussian function.
  • the DSA nodes 400 of the disclosed SL-ANN 200 use different BFs, referred to herein as self-acting BFs or SABFs, such as SABF 404 also described later below, which have a different internal structure from the BFs of indirectly self-acting nodes, IDSA nodes 600 or any other type of non-self-acting nodes 216 of the SL-ANN 200.
  • Some IDSA nodes 600 which receive input from other nodes may even omit BFs in some embodiments.
  • BF accumulator for example, the BF accumulator of a SABF self-acting BF as shown in Figure 9A or Figure 9B and described later below, refers to refers to a processing element within the BF of a node which provide a form of a state memory for the BF.
  • Some embodiments of the BF accumulator determine a level of inhibition in the BF output activity and also affect the duration of and/or the rate of inhibition applied over time within the BF of the node. If a node is inhibited so its activity declines and is low over time, the accumulator will grow stronger over time, and as such the BF accumulator acts as a strong activity inverter on the output of a self-acting BF.
  • a BF accumulator accordingly represents an internal state memory in a node as how much this is charged will determine how it is discharged and when it discharges, which affects the processing of the BF.
  • Any suitable form of integrator such as a leaky integrator may be used as an accumulator in some embodiments of a SABF according to the disclosed technology.
  • DSA nodes 400 may comprise more than one BF accumulators.
  • the SABF 404 of a DSA node 400 comprises three accumulators which may have different discharge time constants. Each accumulator needs a trigger event to discharge.
  • a trigger event may be a relative decrease in activity.
  • a trigger event may comprise an inhibitory activity received along an IA connection, or the trigger may be an IA connection excitation activity, or it may be an activity representing a change in intrinsic internal activity of the BF such as when the automatic termination effect wears off. These are all factors which can generate a change in the internal neuron activity that may have a sufficiently large derivative with respect to time to discharge the accumulator. The amount of discharge in turn depends on the magnitude of the time derivative.
  • a trigger event refers herein to any and all factors which can generate a change in the internal BF activity of a directly self-acting node may form a trigger event if it has a sufficiently large positive derivative to discharge the BF accumulator.
  • the trigger event may comprise a relative decrease in inhibitory activities, in other words, activities associated with a negative sign, or in a relative increase of excitatory activity, in other words activity associated with a positive activity, being received by the node along connections.
  • a change in the intrinsic internal activity of the BF of the self-acting node may occur such as when the automatic termination effect wears off, in other words, when self-inhibition ceases.
  • Such factors may also or instead comprise any input to a self-acting node which has a sufficient large positive change with respect to time derivative to discharge the accumulator of the self-acting BF.
  • any primary input activity to the self- learning ANN which, when directly or indirectly received by a self-acting node which triggers subsequent internal BF activity by that self-acting node and so activates the self-acting node to function as a directly self-acting node may be referred to herein as a trigger event.
  • the trigger event may also be considered to trigger spontaneous activity in other directly self-acting nodes and indirectly self-acting nodes and spontaneous activity in populations of the self-acting nodes, and to trigger the selflearning ANN to which the activated self-acting node belongs to be self-acting.
  • a DSA node may also be programmed to have its SABF triggered at a particular point in time when the ANN algorithm is executing, for example, when the self-learning ANN is initially executed or a slightly later point, or automatically whenever the self-learning ANN first receives primary input.
  • references herein to the self-learning ANN primary input not needing to occur at the same time as spontaneous activity is output by the self-learning ANN does not mean historic primary input to the self-learning ANN is not needed.
  • Historic primary input comprises primary input made several iterations of the self-learning ANN algorithm previously, for example, primary input occurring at a time longer in the past than the minimum time taken for primary input to the self-learning ANN to cause the self-learning ANN to generate output.
  • Examples of historic primary input include the original trigger event causing a self-acting node to generate on-going, that is to say perpetually or semi-perpetually repeated, activity using its BF, and any other subsequent primary input events to the self-learning ANN which may be made several seconds, minutes, hours or even days earlier. These subsequent primary input events may be referred to herein as subsequent training events in some embodiments.
  • state memory of a node refers to that node's history of activity which will impact its future activity, independently of the incoming activities that the node receives.
  • BF self- regulation is provided in some embodiments of the disclosed technology and refers to automatic termination of the positive amplification within the BF component.
  • combiner function refers to a processing element of or function performed by a node which processes multiple inputs received based on a combiner function.
  • Examples of a combiner function which may be used in some embodiments include a summation of all the weighted incoming activities received by a node of a particular type and/or a summation of all types of weighted incoming activities.
  • Each internal node of a self-learning ANN has a combiner that acts on weighted input activities received via IA connections with other nodes in the network.
  • Input nodes of a self-learning ANN may in addition have connections with primary input sources external to the self-learning ANN system, also referred to herein as external system primary input source(s).
  • the combiner combines, for example, sums, all weighted inhibitory activity received by a node separately from combining all of the weighted excitatory inhibitory activity received by a node of the self-learning ANN.
  • the disclosed embodiments of a SABF also comprise a combiner 918 which acts on at least excitatory activity and inhibitory activity.
  • leaky integrator refers to a suitable time-varying leaky integratorfu notion applied internally by a node on activities.
  • a leaky integrator function takes an integral (for example, by performing a summation) of the input and leaks some of the summation of the input out over time at a particular time-rate. In this manner it may be considered similar to a low pass filter with a time-constant up to some scaling of the input.
  • the self-acting base function for example as shown in one of Figures 4, 5A, 5B, 9A and 9B described later below, may comprise at least one leaky integrator function in some embodiments.
  • a leaky integrator may form part of the combiner function 918 or the negative activity accumulator 922 or an output function of the node.
  • Each leaky integrator may have the same or a different a time-constant or be off-set in its discharge cycle from the other leaky integrators in embodiments where more than one leaky integrator is provided.
  • An output function in a node comprises a function which generates an activity output by that node which is provided along one or more connections from that node to one or more other nodes and/or provided as a contributory activity to the self-learning ANN activity output activity. If the output function of a node is non-linear it diversifies the state space of the network.
  • An output function may comprise a threshold function in addition or a threshold function may be provided separately in some embodiments.
  • a population of nodes as mentioned above refers to a plurality of nodes (e.g., nodes) which can be distinguished from at least one other node in the network by having at least one differing processing behavioural characteristic.
  • Each node belonging to a population of nodes has at least one processing behaviour in common with other nodes in that population. Examples include a population of inhibitory nodes and a population of excitatory nodes. Different populations of nodes may have different learning functions.
  • the term projection refers to the projection of the output of an individual node or of a population of nodes or nodes to one or more other nodes or population of nodes in the ANN. Projection rules reduce the number of learnable parameters in the ANN.
  • a self-acting node comprises a SABF which is iteratively executed regardless of whether there is any primary input from an external source to drive incoming activity to that node or any other nodes of the SL-ANN.
  • a SABF causes on-going activity to circulate internally within a self-acting node and may also causes spontaneous activity to be output from time to time or continuously by the self-acting node to other nodes of the SL-ANN and/or to contribute to the ANN output.
  • Which nodes and how the activity of the self-acting node contributes to the ANN output is dependent on the ANN active connection topology in that timestep or iteration of the SL-ANN.
  • a self-acting node may output spontaneous activity with each iteration of the ANN or from time to time depending on the neuron model of the self-acting node is referred to herein as spontaneously output node activity, or SONA and what, if any, output functions or thresholds may be applied.
  • spontaneously output node activity or SONA and what, if any, output functions or thresholds may be applied.
  • the primary input(s) to the SL-ANN may comprise or be derived from sensory data in some embodiments which has been (pre-)processed before forming a primary input so that the amplitude of the sensory data values are zero when the sensory data represents a solution has been found by the SL-ANN 200 to restore a sensed state of an physical entity such as an external system to a goal or target state.
  • a source of sensory data may generate sensory data so that a primary input represents a sensed problem state of the physical entity which is resolved or solved by the SL-ANN when the physical entity regains a previous goal or target state or adopts a new goal or target state.
  • the sensory data may be mono- or multi-modal and may comprise sensor readings from multiple different sensors of the same type that may have known spatial relationships to each other.
  • Examples of sensory data accordingly may comprise audio data, image or video data or data comprising a time-series of images, and may include images or a series of images obtained using conventional cameras and imaging systems, stereoscopic or other types of depth cameras or imaging systems, or another type of sensed physical characteristic such as temperature, ambient light, pressure, etc.
  • each primary input may comprise a data stream or feed comprising a time-series of sensory data, which may be generated by the sensor data source(s) in realtime or near real-time.
  • Each primary input drives activity across the SL-ANN, with the output from internal nodes driving incoming activity inputs along their connections to be received by the other nodes.
  • the ANN may be a fully connected or connectable recurrent network of nodes in some embodiments.
  • Primary input may be continuously input until the ANN output has resulted in the sensed entity or system attaining a state which results in primary input ceasing, or it may be intermittent. Whenever there is no primary input, the SL-ANN is assumed to have adopted a network state indicative of its ANN output providing a solution to whatever problem(s) was(were) presented by the primary input(s).
  • a SABF will only act on its internal spontaneous activity supplemented by incoming activity input to its self-acting node which is driven by the spontaneous activity of other directly and indirectly self-acting nodes output in previous iterations or time-steps.
  • nodes in a SL-ANN may still continue to learn new weight updates in the absence of primary input to the ANN.
  • This causes the SL-ANN to have a dynamically evolving network state which is maintained for a number of iterations after the iteration during which there was the last primary input.
  • This provides the SL-ANN with a form of dynamic memory.
  • the weights and activity derived from self-acting nodes causing SONA to propagate within the SL-ANN will deviate more from those associated with the last primary input of the SL-ANN.
  • the result is the SL-ANN state representations will become increasing more abstract representations of its state when the previous problem posed by the primary inputs was resolved, in other words, a form of dynamic memory is provided within the SL-ANN.
  • the SONA also enables weight learning within the SL-ANN to occur without primary input may enable abstractions to be learnt more quickly and/or from a reduced volume of data.
  • the SL-ANN may learn using intermittently generated primary inputs in some embodiments.
  • the SL-ANN connection topology and node activity levels may pre-condition the SL-ANN to be better capable of handling subsequent primary input.
  • a self-acting node in a time-step however, there will be no output additional activity generated by a conventional activity or transfer function of such a node as there is no activity for a conventional activity or transfer function to act on in that time-step whereas the self-acting base function may still generate activity which may be output by the self-acting node.
  • the self-acting base function is configured to act on its own activity output from a previous iteration. In some embodiments, however, the self-acting base function, in addition to its own internal activity, will also act on incoming activity.
  • the output activity of the self- acting node may initially be dominated by such incoming activity. Over time, however, if sensory input providing the incoming activity diminishes, spontaneous self-generated activity from the self-acting base function may start to dominate the output of the self-acting node.
  • This self-generated or spontaneous internal activity may be influenced at least initially by the last primary input, in other words, the last system input sensory activity processed by the self-acting node and as such provides a representation of the last system input sensory activity.
  • the spontaneous internal activity generated by the one or more self-acting nodes configures the self-learning ANN to be better capable of abstracting representations of system input comprising a data activity input to the selflearning ANN from an external source.
  • a self-acting base function is implemented on a computer system using an algorithm configured to receive input comprising its output in a previous iteration that has circulated within the node.
  • Spontaneous activity accordingly refers to activity automatically generated by a self-acting base function in each iteration of executing that node's base-station algorithm and/or each iteration of the executing ANN algorithm regardless of whether the ANN receives any system input from a source external to the computer system on which it is executing and regardless of whether the node generating the spontaneous activity receives any incoming activity.
  • Spontaneous activity may refer to any of the following types of spontaneous activities: the spontaneous activity generated within a self-acting node 400 by that node's self-acting base function 404, to a spontaneous activity generated by a node's self-acting base function which propagates within the ANN as incoming activity to one or more other nodes, and to the spontaneous activity from the ANN, in other words the ANN output 220 will form or contribute to the system output 112 provided by the computer systeml 10 on which the ANN 200 is executing to one or more other systems, for example, external system 202 as shown in Figures 2A, 2B, or 2C for example which are described later below.
  • the spontaneous activity however is not just activity derived from or provided by the self-acting base function 404 acting on its own perpetual base function internal activity 406.
  • the base function activity 314 will also contain a component of activity derived from a weighted combination of the incoming activity 302 that a self-acting node 400 receives along its IA connections 300.
  • system input 108 may form primary input 214 without any pre-processing in some embodiments.
  • the sensor system 204 is configured to implement the pre-processing, then the sensory data 206 by the sensor system 204 may form the system input 108.
  • system input 108 comprises input to the computer system 1 10, which may not be the same as the primary input 214 to the self-learning ANN 200 if the computer system 110 in all embodiments.
  • external input data source(s) 212 which include one or more pre-processors may perform some pre-processing of the sensory data to provide system input 108.
  • the system input 108 comprises the primary input 214 to the self-learning ANN 200.
  • the pre-processing may be performed by one or more sensors providing sensory data 206.
  • the sensor data 206 forms both the system input 108 to computer system 110 and the primary input 214 to the self-learning ANN 200 of the computational brain model 102 running on the computer system 110.
  • an input stream or feed of sensory data 206 is compared to one or more set-point(s) and the result comprises both positive and negative values relative to the one or more set-point(s) which is then processed to form two separate streams of sensory data primary input 214, one representing positive values from the comparison and one negative values from the comparison.
  • the system input may be sensory data input by one or more sensors and is provided as input to the network of nodes making up the ANN.
  • the system input may be time-varying data feed or stream in some embodiments which provides a time-series of data.
  • the time-series data may comprise time-varying sensor data.
  • a time-series data may refer to an activity comprising data which is sequentially fed into and/or processed internally and/or fed-out of, the network of nodes in some embodiments.
  • Examples of time-series data include data streams which are fed into the computer system 110. Such streams may be provided as time-varying continuous data feed but in some embodiments may represent a stream of data derived by sequential reading of a data file.
  • a file which represents a static sensed event such as a static activity reading or image may be sufficiently large to be provided as a sequence of inputs to the ANN 200.
  • the time-series data may comprise values, meta-data such as units and/or source indicators. Time-series data may be provided with timestamps or other timing indicators or be associated with a source configured to generate data at predetermined times. In some embodiments, the time-series data may be continuous or non-continuous and/or generated at regular or irregular intervals of time.
  • System output 1 12 refers to the output of the computer system 110 which comprises or is formed from the ANN output 220 of the self-learning ANN 200 or another ANN connected to the self-learning ANN 200.
  • the system output 1 12 of the computer system 110 is provided to one or more other, external, systems referred to as external system 202 as they are not part of the computational brain model 102 comprising the at least one self-learning ANN 200 executing on the computer system 110.
  • System output 112 may include spontaneous output comprising or derived from the self-learning ANN 200 generating spontaneous ANN output 220 in some embodiments.
  • a computer system disclosed herein on which a computational brain model comprising a self-learning ANN may be implemented according to the disclosed technology accordingly may be provided some embodiments as a distributed system or implemented partially or wholly as a cloud-based system in some embodiments.
  • edge computing may be used, in other words, at least one ANN of the computational brain model may be implemented on a source for the primary data however, in some embodiments, a client-server system architecture may be used in some embodiments.
  • Some embodiments of the self-learning ANN disclosed herein may be used to form a self-acting ANN, which comprises a self-learning ANN configure in addition to generate output from a computer system in some embodiments.
  • the self-learning, or self-acting, ANN comprises a plurality of interconnected nodes, or neurons, at least one node being a self-acting node having a self-acting base function.
  • a self-acting node comprises a computer program component which may be capable of spontaneously generating an activity to drive learning within the ANN on an ongoing basis as the ANN algorithm iteratively executes, even though no primary input from an external source is being received at that time by the ANN.
  • the spontaneous activity of the self-acting nodes may drive the self-learning ANN to function as a self-acting ANN by outputting spontaneous activity.
  • the spontaneous activity output by the ANN in turn may drive the computer system on which the self-acting ANN is executing to perform some action.
  • the ANN may be a globally connected recurrent or recursive ANN where either all nodes are globally directly connected to each other across the ANN or where nodes are organised into groups or populations which are connected in a manner which allows all nodes to be directly or indirectly connected to each other.
  • a globally connected recurrent or recursive network architecture enables spontaneous activity, generated by one or more nodes with self-acting base functions, to onwardly propagate via nodes which receive the spontaneous activity but do not have self-acting base functions throughout the ANN.
  • the spontaneous activity may propagate in a non-hierarchical manner throughout the self-learning ANN according to which connections between nodes are currently active and the current weight functions each node applies to activity input and/or output along connection pathways.
  • the nodes of the disclosed self-learning ANNs are organised into groups or populations which may have their own learning rules and connection rules, the spatial region within the ANN where spontaneous activity occurs and/or is dominant over activity injected into the ANN from an external source moves over time. This region may be considered and is referred to herein as a dynamic core of the self-learning ANN.
  • the self-learning ANN may receive sensory data as time-varying continuous or intermittent input for a duration of time (also referred to herein as an input event).
  • the sensory data received by the self-learning ANN may causes one or more or all of: a) the weights applied to input along a connection with a node of the self-learning ANN, b) the weights applied to output along a connection by that node, c) the activation status of one or more connections to or from that node, and d) the learning rules/connection rules for how the weights/connections are updated, to change over time both for individual node and for organised groups or populations of nodes of the disclosed ANNs.
  • a self-learning ANN comprises a dynamic core where nodes (also referred to herein as neurons) spontaneously generate activity. This spontaneous activity will, over repeated iterations of the ANN algorithm, will become less prevalent when external input events occur.
  • nodes also referred to herein as neurons
  • the activities which are generated by nodes of the self-learning ANN responsive to the external input activity will be more synchronised within the self-learning ANN than when they are dominantly driven by asynchronous spontaneous activity by self-acting nodes.
  • the self-learning ANN when a real-world event produces some form of sensory data input which is suitably processed and provided as activity input to the self-learning ANN, the activity within the self-learning ANN will become more synchronised by the input activity. Over time, the spontaneous activity in combination with the evolving active connection architecture may cause the self-learning ANN to adopt a different state space at any given time depending on the location of its dynamic core at that time.
  • FIG. 1 a block diagram is shown of a computational brain model, CBM, 102 according to an embodiment of the disclosed technology which comprises at least one artificial neural network, ANN executing on a computer system 110.
  • At least one ANN of the CBM 102 comprises a self-learning ANN, SL-ANN 200, according to the disclosed technology. Examples of a SL-ANN 200 according to some embodiments of the disclosed technology are described later below.
  • the CBM 102 is part of a larger computer system 110 that receives a system input 108 and processes it to generate a system output 112 according to the state of one or more brain sub-system(s) 104 of the CBM 102.
  • One or more ANNs may form a brain model sub-system 104 in some embodiments of the disclosed technology, of which only one or more may be a SL-ANN 200.
  • Each SL-ANN 200 of a brain sub-system 104 may comprise a plurality of nodes configured according to one or more, as in different, neuron models 106.
  • Each neuron model 106 defines the processing functions performed by a node 216 of an ANN of the CBM 102 when the CBM algorithm executes.
  • the neuron model(s) and/or the ANN model(s) of some embodiments of the disclosed CBM 102 may define the following: what active connections are to be formed and when with the other node(s) or node population(s) of the ANN, or provided as a contribution to the ANN output, a node classification based on the node processing functionality and/or a type of NOA.
  • An SL-ANN 200 according to the disclosed technology may comprise, but is not necessarily limited to, nodes classified as inhibitory or as excitatory based on their output being inhibitory or excitatory, respectively.
  • a neuron model may define the functional node architecture of the node as a sequence of one or more functions to be applied to activity derived either from input to the node and/or to activity generated internally within the node independent of any input to the ANN driving input presented to the node.
  • the neuron mode as implemented in an ANN model of the CBM 102 may also define what weights are to be applied to activity input received along connections by the node as a result of the ANN algorithm executing, what learning function(s) are to be applied and to what inputs, the base-function or transfer function of that node, and defined zero or more output functions, for example, threshold functions, which act on the base-function output activity, BFOA, 314 of that node 216 in some embodiments.
  • the BFOA 314 is used to form the node output activity, or NOA, of the node, however, a node’s NOA may not be used immediately as input to other nodes in some embodiments.
  • This latency or delay may be modelled by the ANN or by the neuron model.
  • a neuron model for a node 216 of a SL-ANN 200 determines which connections are active, what weights (including initial weights) are to be used as the ANN executes, and also the latencies for the NOA 318 produced by that node 216.
  • Initial values for weights and also if the SABF is to be initially triggered by default to produce PBFIA may also be defined in some embodiments either as part of a neuron model or set via an ANN model of the CBM 102.
  • one or more or all weights may be initialised to zero, however, if other values of weights are used, over time, they will adapt to suitable weight values.
  • the SL-ANN is not overly sensitive to particular initial values of weights being used and these may be set randomly or otherwise arbitrarily.
  • the weight values may be reset from time to time.
  • Examples of brain regions which may be modelled according to some embodiments of the disclosed technology include at least the cortex and may also include the interaction of the cortex with one or more other areas of a brain, for example, a thalamus, a spinal cord, and a cuneate nucleus in some embodiments.
  • the diagram of Figure 1 illustrates schematically the functional relationships between the various elements that contribute to the processing capabilities of the CBM 102 within the computer system 110 to provide a data processing functionality.
  • the CBM 102 may seek to replicate, simulate or otherwise emulate information processing along the lines such processing may be performed one or more biology sub-systems or parts of a biological brain 100 in some embodiments.
  • the computer system 1 10 comprises a number of functional and physical components. As shown in Figure 1 , these components include, but are not necessarily limited to, memory 114 which stores computer code 120a to process system input 108 received by the computer system 110 using the CBM 102 in order to generate system output 112.
  • Data is received and/or output via an I/O unit or module 118.
  • Communication with external system components and devices by sending and receiving data activities may be facilitated using a suitable wireless communications protocol in some embodiments by using a transceiver or separate transmitter/receiver(s), shown as TX/RX 122.
  • TX/RX 122 a transceiver or separate transmitter/receiver(s), shown as TX/RX 122.
  • TX/RX 122 transmitter/receiver
  • Not shown in Figure 1 are any other internal system components which may be used in some embodiments where hardware control may be facilitated via one or more controller module(s) and/or a control bus as would be apparent to anyone of ordinary skill in the art.
  • Any suitable communications protocol may be used by the computer system 110 to send or receive data from an external system s in some embodiments. In some embodiments this may include wireless and/or wired data communications protocols. It will be apparent to anyone of ordinary skill in the art that the computer system 110 may also need to include suitable antenna and/orother hardware components to facilitate wireless communications in some embodiments.
  • An example of such an external system may comprise an actuator control system for robotic plant machinery, warehouse machinery, robotic arms, robots, and the like.
  • the disclosed technology may be implemented using hardware such as electronic control circuitry, for example, field programmable gate arrays or GPUs may be programmed to implement part or all of the computer system.
  • a sensor system 204 comprising one or more sensors is configured to sense a state of the external system 202 and thus generates sensory data 206.
  • At least two primary inputs 214 are generated for each data feed or stream of sensory data 206 in some embodiments as one primary input 214 represents positive deviations from set-point(s) and the other primary input 214 representing negative deviations from set-point(s).
  • Primary input may comprise time-series time-varying sensory data which may be continuous over a period of time or be intermittent and which may discontinue from time to time. The primary input may occur intermittently relative to the number of times the SL-ANN iterates.
  • references herein to the external data input source(s) 212 may refer to one or more pre-processors configured to condition sensory data 206 for the SL-ANN 200 and/or to the source of the set-point data for the preprocessing.
  • Ingestion also implies ingestion into the computational brain model implies ingestion to the SL-ANN 200 unless the context clearly requires otherwise.
  • Figures 3A and 3B illustrate schematically in more detail examples of how each respective node 216 of the SL-ANN independently adjusts its individual weights applied to each incoming activity input 302 received by that respective node in a time-step or iteration of the SL-ANN 200.
  • Primary input 214 is driven across the nodes 216 of the SL-ANN 200 as incoming activity input to the nodes 216 of the SL-ANN which then drives the node output activity, NOA, 318 which contributes eventually to the ANN output 220.
  • the ANN output 220 is processed by and/or is provided by the computer system 1 10 as system output 112 back to the external system(s) 202 which were being sensed.
  • a SL-ANN is thus capable of being a self-acting ANN 200, if the ANN output 220 is provided in a time-step or iteration of the ANN algorithm when no primary input 214 drives the ANN output 220.
  • the external system 202 responds to the input it receives from the computer system 110 by altering its state, it is possible to use the computer system 110 to control the state of the external system based on the sensory data provided in some embodiment.
  • the SL-ANN 200 is configured to process data in such a manner that it generates ANN output 220 based on determining a minimum activity state has been reached internally by its nodes 216. For example, a threshold level of minimum activity may have been maintained for a predetermined period of time. The time duration and maximum activity permitted for the minimum activity state to be recognized may be configured by a user in some embodiments.
  • a SL-ANN 200 may comprises one or more node populations 218, each population comprising a group of nodes 216.
  • groups of nodes 216 into populations of nodes in some embodiments of the disclosed technology, the number of connections between nodes 216 in the SL-ANN 200 can be reduced to a more manageable number.
  • each individual node 216 may also be regarded as a population 218 which comprises that single node 216 in some embodiments, it is by limiting the number of connections between populations comprising a plurality of nodes that computational resource benefits may be achieved by forming a more sparsely connected SL-ANN 200. This may also allow the CBM 102 to be more scalable and reduce internal latency as the number of nodes 216 in each of the one or more ANNs that form a particular computational brain sub-system increases, whether it is a SL-ANNs 200 or any other type of ANN.
  • Figure 2B shows schematically how the CBM 102 of Figure 2A may be used to generates system output 112 for controlling an external system 202 capable of adopting multiple states according to some embodiments of the disclosed technology.
  • Figure 2B retains the numbering scheme of Figure 2A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 2A unless this is explicitly stated to have changed.
  • Figure 2B shows how the CBM 102 may be used to provide control activities to an example external system 202 comprising one or more actuators 203, each actuator 203 being configured to control the one or more actuatable components 205.
  • the system output 112 of the computer system 110 may comprise the ANN output 220 of one or more of its SL-ANN(s) 200 or be derived from the ANN output 220.
  • the system output 112 may be converted by the receiving external system 202 into one or more control activities in some embodiments or be used directly as control activities in some embodiments.
  • the control activities cause one or more or all of the actuators 203 actuate one or more of the one or more actuatable component(s) 205 of the external system 202.
  • sensors which comprise sensor actuators may be configured to respond directly to the system output 112 in some embodiments of the disclosed technology.
  • Figure 2C shows schematically yet anotherexample of an external system 202 which may be controlled using an embodiment of the CBM 102 illustrated schematically in Figures 1 , 2A and 2B.
  • Figure 2C retains the numbering scheme of Figures 2A and 2B for like elements which retain the same functional purpose and relationship to other elements as described in the embodiments shown in Figures 2A and 2B unless this is explicitly stated to have changed.
  • the example embodiment of the external system 202 shown in Figure 2C differs from that shown in Figure 2B as it incorporates one or more sensors of the sensor system 204 onboard the external system as sensor actuators.
  • at least one sensor of the sensor system 204 comprises as one or more actuators 203 configured to provide control activities to actuate the one or more actuatable component(s) 205 of the external system 202.
  • an actuatable component 205 may comprise a component of an articulated robotic limb on which actuators 203 and one or more sensors of the sensor system 204 are provided, in some embodiments as combined as sensor actuators 203.
  • the sensor actuators 203 which form sensor system 204 in Figure 2C are configured to monitor and control the poise and position of each of the one or more actuatable components 205 whose collective movement articulates the robotic limb.
  • the state of the robot limb accordingly changes whenever its position changes and by sensing this moving, new sensory data 206 is provided to the computer system 1 10 pre-processor and used to form new primary input 214 to the SL-ANN 200.
  • one or more other sensors may be used in addition to provide primary input 214 to the SL-ANN.
  • a sensor may be used to generate a temperature time-series which comprises temperature readings of the motors driving movement of the limb component.
  • Another sensor may provide primary input comprising the stability of the robot (e.g. by sensing vibrational movements).
  • One or more acoustic sensors may also be provided to assess if any parts are wearing or not performing optimally in some embodiments as well.
  • Each type of sensory data 206 will have its own set-point associated with a particular operating state of the external system 202.
  • the system input(s) 108 and the primary input(s) 214 to the SL-ANN 200 comprise the pre-processed sensory data 206.
  • the SL-ANN 200 is able to prioritise in some embodiments which input streams are resolved first.
  • adjusting the ANN output 220 by to cause sensors may cause the state of the robot limb to be updated towards a target or goal state however, if another sensor indicates the robot limb is overheating, then the ANN output 220 may control the robot or its environment to address the overheating and reduce its internal temperature state before it addresses the need to move the state of the robot limb to a target position state.
  • the external systems 202 shown in Figures 2A,2B, and 2C and from the above example may generate multi-model primary input using a variety of different types of sensors in some embodiments and that the SL-ANN 200 may process multiple data fees as primary input 214 where each primary input represents a deviation of a particular sensed state of the external system from a target set-point.
  • the external system 202 may be incorporated into the same hardware platform as the computer system 1 10 hosting the CBM 102 in some embodiments.
  • the CBM 102 may be located also on-board the external system 202, for example, on a robot, rather than provided remotely, in some embodiments.
  • the result is the external system 202 changes its state, for example, it may modify a behaviour or a condition of one or more internal actuatable components 205 so that when the external system 202 is sensed by the sensor system 204 it results in the subsequent primary input 214 to the SL-ANN 200 being diminished the closer the external system 202 is to a predetermined goal or target state of the external system 202. 1 n this manner, once the external system 202 has achieved the goal or target state, unless this state is subsequently disturbed, no additional primary input 214 is provided to the SL-ANN 200.
  • Disturbances whether due to internal or external causes, of the state of the external system away from its target or goal state at the time of the disturbance, or a change in the target or goal state at a particular time, causes new or resumed primary input 214 to the SL-ANN 200.
  • Such subsequent primary input 214 may, of course, also be provided if a different external system is later sensed.
  • An update to a target or goal state for the external system 202 may be determined dynamically, for example, it may follow as a consequence the previous state was met in some embodiments, be otherwise dynamically adjusted or even be set by a user.
  • a continuously updated set of positional or poise related target or goal states may be used for the external system 202 to move in a particular way in some embodiments of the disclosed technology.
  • changing environmental factors may adjust the goal or target state of the external system.
  • the primary input 214 will now deviate from any new set-point(s) provided to the pre-processor, meaning there will be new sensory data forming the primary input 214 ingested by the self-learning CBM 102.
  • the new set-point(s) may be provided as other input from the one or more other data source(s) 210 to the external input source(s) 212, in other words to the pre-processor(s), by a user via an appropriate interface or they may be determined by the computer system 110 dynamically in some embodiments.
  • Figure 3A shows schematically an example embodiment of a node 216 in a SL-ANN 200 of a computational brain model, for example, the CBM 102 of Figure 2A, 2B or 2C, may contribute NOA 318 to the ANN output 220 and so contribute to the system output 1 12 from a computer system 1 10.
  • Figure 3A shows schematically how primary input 214 derived from or comprising system input 108 may be processed by a node 216 of a plurality of inter-connected nodes 216 which collective form a SL-ANN 200 according to the disclosed technology.
  • FIG 3A shows schematically as a single incoming activity 302 activity derived from or comprising primary input activity 214 and/or activity from other nodes 216 of the SL-ANN 200 being received by an example node 216.
  • Each activity from a different source however forms a separately incoming activity input 302 along a separate incoming activity connection 300 to node 216 where the incoming activity 302 is processed using a weight applying function, illustrated in Figure 3A as weight unit 304.
  • the weight function of weight unit 304 may apply a respective weight individually to a respective incoming activity input 302 received along a respective incoming activity connection 300 in the usual manner known in the art for nodes of an ANN to apply weights to received activity.
  • What weight is applied in a given iteration using weight unit 304 is determined initially based on the initialised weigh values and later based what weight updates 608 were provided to the last iteration’s weight values by the node learning unit 324.
  • the node learning unit 324 generates weight updates using one or more learning functions 606 and which are then provided as weight updates.
  • the update to an individual weight Wi of the W1...W4 weights may result in a weight for a particular connection being set to zero. This effectively causes a disconnection of activity being received from its source by the node 216e, 600.
  • Other mechanisms may also be used in some embodiments to disconnect two nodes.
  • the weighted activity inputs 308 are then processed by an input combiner 380 to for a combined weighted activity 310 which is input to the node’s base function, BF, 312 to form the base function output activity, BFOA, 314.
  • the BFOA 314 may be directly used to form the node output activity, NOA, 318 or be first processed by one or more node output function(s) 316, which may apply threshold(s) before the BFOA 314 forms NOA 318 and/or is used by the learning unit 324.
  • the learning unit 324 comprises one or more learning functions 606 which each act on one or more inputs to form a respective learning rule for forming weight updates and may also determine which connections are active in subsequent iterations of the ANN algorithm in some embodiments.
  • the learning function acts on at least the BFOA 314 either directly (shown as (a) in Figure 3A) or indirectly if there are any optional node output function(s) being applied to the BFOA 314.
  • This input may be provided either directly from the BF, shown as dashed line (a) in Figure 3A or indirectly, shown as dashed line (b) via a node output function 316 if the node output function 316 applies a minimum value to the BF output for forming a learning unit input activity (b).
  • other inputs are operating on by a learning function 606 for example, see Figure 3B.
  • the initial values of weights W1, W2..., Wn may be user-configured by providing user input to the SL-ANN via a user interface of the CBM 102 in some embodiments, or they may be pre-configured with the computer code forming the ANN algorithm in some embodiments.
  • the weights may be initialized to zero in some embodiments. As the SL- ANN 200 executes the weight may range from 0 or close to 0 to 1 in some embodiments.
  • each node 216 which is either a DSA node 400 or IDSA node 600 in the SL- ANN 200 evolve over time as a result of at least one self-acting node 400 having a SABF 404 which perpetually generates BF activity. This mechanism is described later below.
  • the incoming activity connections 300 along which incoming activity input 302 between nodes is received (and the connections 320 along which output activity 322 is provided) may be activated or deactivated and connectivity between nodes (and between populations of nodes) may evolve over time or disappear.
  • the input combiner 308 generates a combined weighted incoming activity input activity, CWIAIA 310 according to a combiner function acting on weighted inputs 306 which is then used as input to the BF 312.
  • An example of a suitable combiner function used in some embodiments of the disclosed technology comprises a sum of all the weighted inputs 306.
  • the BF 312 make take the form of a transfer function which generates a BF activity, which may comprise or form BF output activity, also referred herein as BFOA 314.
  • the BF 312 may be configured in some embodiments to ensure that the amplitude of the BFOA 314 can be expressed by:
  • O represents the amplitude of the BFOA 314 which is indicated by summing all of the excitatory activity received E for all n excitatory incoming activity inputs 302 to the node 216 and subtracting from this half of the sum of all of the j inhibitory incoming activity inputs 302 received by the node 216.
  • Other expressions may be substituted providing the resulting network activity does not increase depending on the number of nodes that it passes through within the SL-ANN 200 before it forms or contributes to the ANN output 220.
  • the BF output activity, BFOA, 314 may be acted on by the node output function(s) 316 before it forms the node output activity, NOA, 318 in some embodiments.
  • the input combiner 308 generates multiple outputs, for example one output comprises a sum or other suitable combination of the amplitude of the inhibitory activity 302 received along the node’s incoming activity connections 300 from inhibitory nodes in the SL-ANN 200.
  • the other output comprises a sum or other suitable combination of the amplitude of the excitatory activity received along the node’s synaptic connections from excitatory nodes in the SL-ANN 200.
  • These separate outputs may be used by the learning functions of the node to update the weights applied to excitatory and inhibitory activity input to the node and may also be used by the self-acting base function where different time-constants may be used when accumulating different combinations of one or both of the two different types of activity (inhibitory and excitatory) within the SABF 404 in order to generate internal activity which circulates with the SABF 404.
  • an optional node function 316 may apply an output function, for example, a threshold function, to determine if the BFOA 314 from the BF should form a NOA 318 in a given time-step or iteration.
  • the BF 312 and node output function 316 may be combined as an activation component or activation function in some embodiments.
  • the node output function 316 of at least one node of a SL- ANN 200 may comprise a spiking threshold function.
  • node-to-node connection 320 provides node output activity 322 in the opposite direction.
  • the BFOA 314 is output from node 216 via the node output function 316 as NOA 318
  • the NOA 318 circulates internally in the SL-ANN to one or more other nodes 216 and/or node populations 218 along connections 320 and as such may form inter-nodal activity 322.
  • the NOA 318 may also directly or directly contribute to the ANN output 220 which provides the system output 112 from computer system 110.
  • the SL-ANN 200 may comprise a fully recursive or recurrent network in some embodiments, in which case each node 216 is connected directly to each of the other nodes 216 or indirectly to each node 216 via a connection to node populations 218 of the SL-ANN 200
  • the learning unit comprises a set of one or more learning function(s) 606, for example, see Figure 24 described in more detail later below.
  • the set of learning function(s) 606 may comprise at least one inhibitory learning function 606a configured to act on individual inhibitory incoming activity inputs 302 and a combination of all received weighted inhibitory inputs 306 provided by input combiner 308 as well as on output (a) or (b) comprising output from or derived from the BF 312 in some embodiments.
  • the at least one excitatory learning function 606b acts on excitatory incoming activity input(s) 302 and a combination of weighted excitatory incoming activity inputs received from input combiner 308, as well as one of outputs (a) or (b) shown in Figure 3A.
  • the excitatory and inhibitory learning functions may also be fundamentally different expressions as well as acting on different types of input to update different types of weights in some embodiments.
  • the inhibitory learning function is only used to update the weights which are applied to each incoming activity connection along which inhibitory activity is received. Likewise, the excitatory learning function only updates the weights applied to subsequent excitatory activity received along an incoming activity connection by a node. See the description of Figure 24 for some examples of suitable excitatory and inhibitory learning functions.
  • Figure 3B shows schematically how unweighted incoming activity inputs 302a, b,.., n and one or more combinations of learning input weighted incoming activity inputs, LFCWIAIA, 328 are provided to a set of at least two learning functions 606 of the learning unit 324 shown in Figure 3A in some embodiments of the disclosed technology.
  • Figure 3B retains the numbering scheme of Figure 3A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 3A unless this is explicitly stated to have changed.
  • FIGURE 24 described later below illustrates in more detail an embodiment of a node where a pair of learning functions are used.
  • the set of learning functions comprises a learning function which updates each weights applied to incoming activity received along an incoming activity connection from an inhibitory node of the SL-ANN 200 and another learning function which updates each weight applied to incoming activity received along an incoming activity connection from an excitatory node.
  • an optional buffer (326) configured to delay when the NOA 318 is made available along particular connections 320 to other nodes based on the type of node which will receive the activity.
  • Buffer 326 may, for example, comprise a cyclical buffer comprising a plurality of addressable memory locations in some embodiments but any suitable form of addressable memory may be used in other embodiments to allow nodes 216 of the SL-ANN 200 to store their output so it can be accessed a number of time-steps later by a particular connected node. This is also shown schematically in Figure 24 of the drawings.
  • Dynamically updating a connection, 300, 320 may be achieved by the learning unit 324 setting to zero the weight applied to any incoming activity input 302 received over an incoming activity connection 300 in some embodiments of the disclosed technology.
  • a connection 320 between a node 216 acting as a source and target node 216 may be dynamically updated at the source node 216 to remove any output activity 322 from being sent over a connection 320 with that target node 216, for example, by setting a weight to be applied to such outgoing activity 322 to zero.
  • Outgoing weight updates may be updated using a similar weight update learning function in some embodiments of the disclosed technology or using another suitable learning function.
  • the input combiner 308 receives three weighted incoming activity inputs 306a, 306b, and 306c and uses these to generates CWIAIA 310.
  • the actual number of incoming activity inputs 302 is determined by the current time-step topology of active connections 300 between nodes 216 forming the SL-ANN 200 and may also reflect how the pre-processing of each stream of sensory data 206 as will be appreciated by anyone of ordinary skill in the art.
  • the self-acting node 400 may also instead or in addition impose one or more node output functions 316 before the BFOA 314 is used to form DSA node’s NOA 318 and also provided as input to the learning unit 324 of the DSA node where it is used to generate updates to the DSA node’s weights (the learning unit 324 is not shown in Figure 4 for clarity).
  • the NOA 318 may thus form so-called spontaneous activity 412 at times as the DSA node will not be receiving incoming activity 302 driven by primary input 214 to the SL- ANN 200.
  • the self-acting node 400 may generate node output activity, NOA 318 spontaneously.
  • NOA 318 generated spontaneously is referred to herein as spontaneously output node activity, SONA, 412.
  • SONA 412 comprises NOA 318 which is not driven by primary input to the SL-ANN 200
  • the SONA component of the NOA of a DSA node 400 is zero when there is primary input to the SL-ANN 200.
  • this is acted on with any input comprising previous BFOA 314 fed-back into the SABF 404 to produce NOA 318.
  • Figure 5A shows how shows schematically how later on at time T>T0 the self-acting node 400 of Figure 4, as a result of the SABF 404 perpetually generating PBFIA 406, is able to generate spontaneous activity 412 in some time- steps of the ANN algorithm without the SL-ANN 200 receiving primary input 214, and without that node 400 receiving any incoming activity input 302 along its incoming activity connections 300 according to some embodiments of the disclosed technology.
  • Figure 5B in contrast shows how shows schematically how the same node 400 with the perpetually active SABF 404 also generates PBFIA 406 driven output 408 for recirculation as a result of the SABF 404 acting on both CWIAIA 310 and the last iteration’s PBFIA output 408 in some time-steps and according to some embodiments of the disclosed technology.
  • Figure 5B is similar to Figure 4 but is intended to illustrate subsequent behaviour of the self- acting node 400 once the SABF has been triggered both when primary input 214 is driving input 302 to the DSA node 400 and there is already internal PBFIA 406 circulating within the SABF 404 or when internal activity comprising SONA from other nodes of the SL-ANN 200 is driving input 302 to the DSA node 400.
  • the two figures 5A and 5B thus depict examples of two possible states of a self-acting node 400 of the plurality of nodes 216 within the computer system 110 at different timesteps T 1 and T2, assuming the self-acting BF 404 of the self-acting node 400 has been triggered at some time TO (shown in Figure 4).
  • the NOA 318 comprises SONA 412 in some embodiments if the BF output activity 314 meets any output condition(s) such as threshold condition(s) for the self-acting node 400 to form the SONA 412. In other embodiments, where there is no threshold applied, the SONA 412 will always be output as NOA 318 into the SL-ANN 200. This SONA 412 is accordingly generated even in the absence of any CWIAIA 310 being provided as input to the node, which may be due to there being no primary input 214 to the SL-ANN 200.
  • the SABF 404 of Figures 4, 5A and 5B accordingly continuously generates PBFIA 406 as the SL-ANN 200 executes by acting on the previous PBFIA output 408 and from time to time on activity driven by the SABF 404 acting also on the CWIAIA 310 from the input combiner 308 which may be driven at times by primary input 214 to the SL-ANN 200 and at times by SONA 412 from other nodes of the SL-ANN 200..
  • the target nodes 216 which receive the SONA 412 from the self-acting node 400 as their incoming activity input 302 may be other self-acting nodes 400 or be other types of nodes 216 of the SL-ANN which do not have a SABF 404.
  • nodes 216 will in turn accordingly process the SONA 412 received as incoming activity 302 using their BFs 312, 404 and may accordingly also produce SONA 412 as their NOA 318 will in this case not be driven by primary input 214 to the SL-ANN 200.
  • Such nodes 216 act accordingly as indirectly self-acting, IDSA, nodes 600.
  • the SL-ANN 200 thus comprises a number of nodes 216 of the SL-ANN 200 which generate spontaneous activity either as they are DSA nodes 400 generating SONA 412 or because they are indirectly self-acting, I DSA, nodes 600 responding to SONA 412 received from such DSA nodes 400.
  • Figure 6A shows schematically an example embodiment of a neuron model for an example IDSA node 216e of the SL-ANN 200 which does not have a SABF 404 but generates indirect SONA 610 responsive to receiving SONA 412 as activity input 302a from another node 216a which comprises a DSA node 400.
  • the IDSA node 216e, 600 is configured with a plurality of incoming activity connections 300a, b, c, d to receive incoming activity input from other nodes 216a, b, c, d. Each node 216a, b, c, d provides incoming activity input received along one of incoming activity connections 300a, b, c, d by the IDSA node 216e.
  • the IDSA node 600 may also be configured to provide its NOA 318 as SONA 610 as an input activity to one or more other the nodes 216 of the ANN including nodes 216a, b, c, d which are providing its input in some embodiments.
  • each node 216 is connected to each other node 216 in the ANN 200, either directly node-to-node or indirectly at the node population or group level.
  • Figure 6A just two feedback loops are shown by way of example along which the NOA 318 comprising or SONA 610 from the IDSA node 216e is provided as incoming activity input to nodes 216a, 216d.
  • Which of the connections 300, 320 are active may also change over time as the weights of the weight unit are updated as connections may be deactivated in some embodiments by setting an incoming oroutgoing weight assigned to a connection to zero.
  • another mechanism may be used to change the SL-ANN network topology.
  • the weight unit 304 is configured to apply respective weights W1 ..., W4 to respective incoming activity 302a..., 302d.
  • the weight unit 304 or another weight unit may be configured to apply weights to outgoing NOA 318 along one or more connections to other nodes, such as along the two connections providing activities back to nodes 216a and 216b shown in Figure 6A.
  • the weights for such outgoing activities may be applied in such a manner that the total outgoing activity is maintained as if there was only one output connection from the node.
  • respective incoming activity inputs 302a-d are received along respective incoming activity connections 300a.. ,d.
  • the received respective incoming activity inputs 302a-302d are processed by weight unit 304 which applies individual respective weights W1-W4 to modify the activity received as incoming activity input 302a... d in each time-step where incoming activity is provided to that node.
  • An example of a suitable weight function is an array of weights which each take an individual value for the time-step in which the incoming activity input 302 is received where each input activity is weighted by multiplying the value of the weight assigned to that incoming activity connection 300 with the value of the corresponding incoming activity input 302.
  • the weights may be updated in each time-step according to learning rules imposed by the learning unit 324 based on the BFOA 314.
  • the BFOA 314 is acted on by one or more learning function(s) 606 to generate updated rules for updating all of weights W1 ..., W4.
  • each weight W1...W4 represents learned traits that determine the strength of a connection.
  • each weight represents the significance of an activity between one node 216 and another node 216, and/or between populations of nodes, within the ANN 200.
  • the weighted incoming activity inputs 306a, b, c, d are combined using a suitable combiner function applied by input combiner 308 which acts on all of the received weighted activities and which outputs CWIAIA 310.
  • Suitable combiner functions including summing or integrating the weighted inputs received over time.
  • the input combiner 308 performs a plurality of combiner functions on the weighted incoming activity input.
  • the node 216 can generates spontaneous activity even when no other incoming activity 302 is driven by primary input 214 to the SL-ANN 200.
  • the BF 312 shown as BF 602 in Figure 6A may be optional or instead comprise a threshold function.
  • the SONA from DSA node 216a, 400 which is received as activity input 302a by IDSA node 216e, 600 may according provide BFOA 314 even if there is no BF as such, such as transfer function in some embodiments.
  • learning unit 324 is configured with two learning function(s) 606a, 606b (see the descriptions of Figures 6B and 24 below for more detail).
  • each learning function is a function of the un-weighted inputs (302a...302d), the combined weighted inhibitory inputs, and the combined excitatory inputs as well as the output of the BF.
  • Figure 6B shows schematically in more detail how the weights W1...Wn applied by a node to its incoming activity input may be updated in some embodiments of the disclosed technology.
  • Figure 6B retains the numbering scheme of Figure 6A for like elements, but instead of just showing four connections indicates that the node may have any number of connections 300 along which activity 302 is received according to the number of other nodes it is capable of being connected to, which may be all of the other nodes 216 of the SL-ANN 200 if the SL-ANN 200 is a recurrent or recursive ANN.
  • the IDSA node 600 receives one or more input activities 302a-n along connections 300a-n with other nodes 216a-n, of which nodes 216b-n do not have a SABF 404 and of which node 216a is a DSA node 400.
  • the BF 312 processes CWIAIA 310 received from input combiner 308 and the BFOA 314 then may be provided as a learning activity 604 to the learning unit 606 as well as the node output activity, NOA 318 comprising SONA 610.
  • incoming activity connection 300a from DSA node 216a, 400 thus provides SONA as input activity 302a to the IDSA node 216e, 600 when there is no primary input 214 to the SL-ANN 200 and at other times may provide driven activity 500 as input activity 302a to the node 216e, 400.
  • just one self-acting node 216a, 400 in a network can cause multiple other nodes 216 in the SL- ANN 200 which do not have SABFs 404 to propagate SONA in a time-step of the ANN algorithm even when there is no primary input 214 from sensory sources driving the activity in that time-step.
  • the weighted input combiner 308 generates a plurality of different combination outputs, one is the CWIAIA 310 provided as input to the BF 312, the other is a learning function CWIAIA, referred to wherein as LFCWIAIA 328 which is input to the learning function 606 of the node 216e.
  • FIGURE 6B shows schematically an example of an IDSA node 600 where the neuron model provides LFCWIAIA 328 and the unweighted incoming activity inputs 302a, b,c,d to learning unit 324.
  • Figure 6B retains the numbering scheme of Figure 6A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 6A unless this is explicitly stated to have changed.
  • the LFCWIAIA 328 to the learning function(s) 606a, b comprise two different concurrent CWIAIA inputs 328a, b, and which is used by which learning function depends the type of incoming activity of the inputs 302a, 302b, ..., 302n-1 , 302n received by node 216e, 600, in other words is weight being updated being applied to a connection along which the incoming activity is from an excitatory node orfrom an inhibitory node.
  • the output of the input combiner 308 comprises is an inhibitory LFCWIAIA comprising a combined inhibitory weighted incoming activity input activity.
  • the inhibitory LFCWIAIA is generated by the combiner 308 generating a sum or other suitable combination of the weighted amplitudes of the inhibitory incoming activity inputs 302 received along incoming activity connections 300a... n by the node 216e, 600.
  • An excitatory LFCWIAIA 328b comprises a combination of weighted incoming activity input activity generated by the combiner 308 which comprises a sum or other suitable combination of the weighted amplitude(s) of excitatory activity received as incoming activity input 302 along one or more of the node’s incoming activity connections 300.
  • the separate activities comprising the combined inhibitory weighted incoming activity input activity, inhibitory CWIAIA 328a and the combined excitatory weighted incoming activity input activity, excitatory CWIAIA 328b are then input to the respective inhibitory learning functions 606a and 606b.
  • Each learning function 606a, 606b also directly receives each respective activity 302a... n provided as input along each respective incoming activity connection 300a... n to node 216e, 600 and uses those values to determine the individual weight updates 608 which form the weigh update activity provided to the weight unit 304.
  • the weight unit 304 uses the received weight updates to update weights W1...Wn which are then applied to subsequent activity received along each the respective incoming activity connection.
  • the CWIAIA 310 provided by the input combiner 308 to BF 312, 602 may also comprise two separate activities, in some embodiments, one comprising a positive combined weighted activity and the other negative combined weighted activity in some embodiments.
  • Figure 6B also shows a buffer 326 to delay the time at which the NOA 318 or SONA 412 output by IDSA node 600 is made available to the other nodes 216, 400, 600 of the SL-ANN 200.
  • the buffer 326 may in a particular time-step buffer NOA 318 or SONA 412 so that this is provided as input back to DSA node 400 at a different time from the time at which the same NOA 318 or SONA 412 is provided as input to node 216n.
  • the buffer 326 may be implemented as cyclical buffer as was described herein above to replicate different degrees of latency for activity propagating between different nodes in the ANN.
  • buffering node output activity it may reduce resonant behaviours between nodes in some embodiments, which may allow the computational model to cause control activities to be generated which urge the external system to approach its goal or target state in a smoother way with less overshoot and/or oscillatory behaviour around the target or goal state.
  • Figure 24 described later below illustrates in more detail how learning functions may be used to update the weights W1 ...Wn applied to the incoming activity input 302 received along incoming activity connections 300 by a node 216.
  • the buffer 326 may be implemented as part of the neuron model 106 for a node in the SL-ANN 200 and/or as part of the SL-ANN model.
  • Figure 7A shows schematically another example of a node 216e, 600 with a non-SABF 602 which may as a IDSA node 600 to generate spontaneous activity and spontaneously update its weights according to some example embodiments of the disclosed technology.
  • An IDSA node 600 may receive SONA 412 from at least one other node of the SL-ANN 200, however, for clarity the IDSA node 600 is shown only as receiving SONA 412 from one other node 216a, shown here as a DSA node 400, as input activity 302a which is received along connection 300a.
  • the node 216e shown in Figure 7A differs from that shown in Figure 7A as the BFOA 314 is passed via a node output function 316 which applies a threshold function, shown as unit 704 in Figure 7A to forms the NOA 318.
  • the node 216e of Figure 7a has a neuron model in which the weights applied to input activity in the next time-step may not always be update from the values adopted in a previous time-step unless the input 302 to the node is sufficiently strong to drive learning in the node.
  • the NOA of the node 216e shown in Figure 7A will comprise a mixture of activity driven by primary input to the node and input which is driven by internal activity within the SL-ANN 200 driven in part by the SONA generated by DSA nodes 400. If the BFOA 314 of the node 216e is sufficiently high when there is no primary input driving it then the node 216, 600 will generate, providing the threshold function conditions are met NOA 318 which will be spontaneous output node activity, SONA, 610, In other words, in the absence of primary input driving activity in the SL-ANN, a IDSA node 600 will generate SONA 610.
  • This spontaneous activity 610 may also form learning input activity 706 to the learning unit 324 of the IDSA node 600.
  • the learning function(s) 606 of the IDSA node may then use this activity in the same way as described above to update weights applied to subsequent incoming activity input received by that node 216, 600.
  • the NOA 318 or SONA 610 output by an IDSA node 600 is provided to one or more other nodes 216, 400, 600 of the SL-ANN 200 and/or contributes or forms the ANN output 220 depending on the location of the node 216e and the ANN topology at the time the NOA 318 or SONA 610 is output by the node 216e.
  • Figure 7B shows the same configuration of an IDSA node 2163, 600 as FIGURE 7A shows but with additional detail to illustrate an embodiment where the input combiner 308 provides two outputs, for example, separate combinations of weighted incoming activity input activity 328a, b comprising a combination of the inhibitory weighted incoming activity input activity 328a and a separate combination of excitatory weighted incoming activity input activity 328b received by node 216e,600.
  • Figure 7B retains the numbering scheme of Figure 7A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 7A unless this is explicitly stated to have changed.
  • the outputs of the input combiner 308 comprises the combined weighted inhibitory incoming activity input activity 328a which is provided to an inhibitory learning functions 606a and the combined excitatory incoming activity 328b which is provided to an excitatory learning function 606b.
  • nodes 216a...d are shown by way of example, however, it will be apparent to anyone of ordinary skill in the art that the number of nodes may differ in other embodiments of the disclosed technology.
  • the limit to the number of inputs which may be received will be determined in part by the computational hardware resources available and the ANN algorithm itself.
  • the scalability of the ANN model in terms of the number of nodes it includes when the ANN is in a fully connected recurrent or recursive can be improved by grouping nodes of particular types into populations and determining projection rules for activity output by a particular population of nodes onto the nodes of a particular type of other population of nodes.
  • Such output rules for nodes and/or populations of nodes may include latency or buffering rules, which may be implemented using a suitable buffer such as cyclical buffer 326 shown in FIGURE 7B.
  • Figure 8A shows an example of how a node 400 with a SABF 404 in the SL-ANN 200, for example the self- acting node 400 with the SABF 404 of Figures 4, 5A and 5B, or a self-acting node 216a as shown in any one of Figures 6A, 6B, 7A, or 7B, may generate SONA and use this to spontaneously update its learning function(s) at times when there is no primary input 214 to the SL-ANN 200 according to some example embodiments of the disclosed technology.
  • the self-acting node is labelled self-acting node 216e 400 receives four respective incoming activity inputs 302a-d along four respective incoming activity connections 300 (not labelled in Figure 8) with other nodes 216b-d.
  • These incoming activity connections 300a, b, c, d may also be considered influence pathways as the activities forming incoming activity inputs 302a, b, c, d may influence the internal state of the node 216e.
  • the number of connections shown is arbitrary and scales with the number of nodes 216 of the SL-ANN 200 which are configured to act at in a given time-step or iteration of the ANN algorithm as source nodes.
  • one or more of nodes 216a-d may comprise another self-acting node 216a, 400 and/or a node 216e, 600 which is a IDSA node 600 or any other type of node 216 connected to the self-acting node 400.
  • Each input activity 302a-d shown in Figure 8A is processed by the weight unit 304 which applies a respective weight to the received input activity to produce a respective weighted input activity 306a-d. These activities 306a-d are then combined by the weighted input combiner 308 to form CWIAIA 310, which is further processed by the SABF 404 to generate the NOA 318.
  • the SABF 404 will act in each time-step either on a combination of the CWIAIA 310 and its own circulating PBFIA output 408 or just on its own circulating PBFIA output 408. Either may produce spontaneous output if there is no primary input 214 driving activity across the SL-ANN 200 at that time. There is accordingly continuously on-going generation of PBFIA 406 within the SABF which 404 circulates the SABF output 408 as input 410 fed back to the SABF 404 once it has been triggered in the form of an ongoing internal activity.
  • Figure 9A and 9B illustrate in more detail an embodiment of a SABF 404 according to the disclosed technology which has continuously circulating PBFIA 406.
  • the PBFIA 406 is perpetual in the sense that once it is started, it will continue iteratively for as long as the ANN algorithm is iteratively executing on a computer system 110 regardless of whether primary input 214 is received or not.
  • threshold function component may be added in some embodiments to modify when the BFOA 314 produces SONA 412 as the NOA 318 along an output connection or connections 320.
  • a node output function 316 shown as optional in Figures 3A and 3B may be used to determine a threshold activity level for the BFOA 314 to form SONA 412 as the NOA 318.
  • the same or another threshold function may be applied by the node output function 316 to modify when the SABF BFOA 314 or SONA 412 is used as input to the learning function(s) 606 of the learning unit 324 to cause updates to the weights and/or active connections of the node 216e, 400 in some embodiments.
  • a node output function 316 which may be used in some embodiments comprising is a threshold function 316 such as, for example, a spiking threshold function.
  • the node output function 316 may comprise a gain function which amplifies the SONA 412 forming the NOA 318 output from the node 216e, 400.
  • the input combiner 308 provides CWIAIA 310 to the SABF 404.
  • the CWIAIA 310 may comprises more than one type of activity in some embodiments, for example, excitatory CWIAIA may be provided separately from inhibitory CWIAIA to the SABF 404 in some embodiments.
  • the SABF 404 may comprise a reception unit 900 (see also Figures 9A and 9B) for receiving the CWIAIA(s) 310 from the input combiner 308.
  • the BFOA 314 of a SABF 404 of a DSA node 400 may at times accordingly be a spontaneous activity output 318, in other words from SONA 412, if there is no primary input 214 driving the activity received as incoming activity input 302 by that self-acting node 400 in a given time-step.
  • primary input 214 to the SL-ANN 200 may cause the SABF 404 to generate NOA 318 derived both from activity driven by the PBFIA of the DSA node 400 and from incoming activity input to the DSA node 400, and at other times, just from the internal circulating PBFIA 406 which may be supplemented by incoming activity derived from SONA generated by any other DSA nodes 400 or IDSA nodes 600 of the SL-ANN 200.
  • PBFIA 406 Providing primary input 214 to the SL-ANN 200 has previously driven activity into the DSA node 400, then PBFIA 406 circulates with the previous SABF output 408 back to from SABF input 410 in the next iteration of the SABF 404.
  • the PBFIA 406 which circulates within the SABF 404 when the primary input 214 ceases will be dominantly relatable to the last primary input driven input activity 302 received by the DSA node 400 but over time this contribution decays and the SABF will act on SONA output by other nodes 216 and on its own previous PBFIA output 408 provided as input 410 of the DSA to form the dominant contribution.
  • the NOA 318, whether this is driven output 500 or SONA 412 will be output along one or more connections 320 to other nodes or contribute to the ANN output 220 of the SL-ANN 200 depending on the location of the node 216e, 400 in the ANN network architecture.
  • what other nodes 216 of the SL-ANN 200 receive activity will depend on what outgoing activity weights are applied to internodal activity 322 from the DSA node 400 output along connections 320.
  • primary input 214 comprises a plurality of primary inputs 214 each from one of a plurality of different sensor sources of the sensory system 204 or representing different characteristics of the same sensor source, for example, different frequency bandwidths.
  • only some nodes 216 receive input from one or more of the plurality of different sensor sources in a particular time-step, and output from a node 216 of the SL-ANN 200 may not be received at the same time by different nodes 216 of the SL-ANN 200.
  • the NOA 318 provided by a DSA node 400 or an IDSA node 600 is output activity which is function of that node's inputs, its internal activity, and network connectivity at times when there is primary input 214 to the SL-ANN 200.
  • a DSA node 400 may also generate SONA 412 as its NOA 318 dominantly driven by its SABF 404 generating PBFIA 406 at other times. The PBFIA 406 driven SONA 412 however will perturb the trajectories formed by NOA 318 driven by primary input 214 to the SL-ANN 200.
  • a DSA node 400 when a DSA node 400 receives activity 302 along one or more activity pathways associated with primary input(s) 214 to the SL-ANN 200, the DSA node 400 generates activity which is driven by the input activity 302 but suppresses its SABF's PBFIA output 408 from being circulated internally within the SABF to form subsequent input 410.
  • the PBFIA circulation is not activated by a DSA node 400 when that node receives input activity 302 along its connections 300.
  • the circulating SABF internal PBFIA 406 it is possible for the circulating SABF internal PBFIA 406 to be generated and from output 408 but for this output 408 to be then discarded and not used as subsequent input 410 if there is either any subsequent input received as incoming activity 302 by the DSA node 400 along its connections 300 driven by primary input to the SL- ANN 200, for example, by applying a zero weight to the subsequent PBFIA activity input 410.
  • the DSA node’s NOA 318 contributes to the ANN output 220, this may be post-processed by a suitably configured computer system 110 and be used to drive system output 112 by the computer system 110.
  • the system output 112 of computer system 1 10 may accordingly comprise activity which may be in part or wholly, spontaneous activity derived from SONA 412 propagating within the SL-ANN at times when there is no primary input 214 to the SL- ANN 200 to drive the SONA 412.
  • the spontaneous activity of a self-acting node 400 provides computer system 110 with the potential ability to generate system output 1 12 based on both internal dynamics and system input 108, which may in some embodiments be provided as primary input 214 if the system input 108 is pre-processed before being input to the ANN.
  • computer system 110 may be configured to spontaneously generate system output 1 12 in some embodiments which comprises or is suitable for providing, a control activity to an entity such as the external system 202 of Figures 2A, 2B, or 2C.
  • the control activities generated seek to cause the entity to modify its state and/or provide a control activity to cause one or more external environmental characteristics governing the environment of the external system 202 to be modified in some embodiments.
  • the spontaneous activity of the self-acting ANN 200 may provide several technical benefits, including the ability to pro-actively and possibly pre-emptively control the state of the sensed external system 202 so this remains at a goal or target state.
  • sensory data 206 may comprise data derived from a temperature sensor of the sensor system 204 sensing an internal temperature of a robotic external system 202 for example as well as a temperature feed provided from the one or more other data source(s) 210 for the ambient temperature.
  • the additional data from the one or more other data source(s) 210 indicating ambient temperature may allow an ANN 200 to pre-emptively generate ANN output 220 which causes a control activity to be provided as the computer system output 1 12 to control the robotic external system 202 to prevent overheating of the robotic external system 202 in some embodiments.
  • a technical benefit may occur in some embodiments when the sensory data 206 is pre- processed so that the sensed external system is in a target or goal state, then no sensor derived primary input 214 occurs.
  • the internal nodes 216 of the SL-ANN 200 are able to process various abstract representations of input data. Local spatiotemporal minima may accordingly be more rapidly found using the SONA 412 circulating within in the ANN architecture to accelerate the rate at which the self-acting ANN output 220 will correctly find a solution to the given input problem space.
  • the condition means that when a stream or feed of sensory data 206 ceases or if when pre-processed the resulting relative values to that stream’s set-point is zero, the primary input 214 to the SL-ANN will be zero and indicate that external system 202 is in a goal or target state.
  • the ANN output 220 of the SL-ANN 200 will cease until the SL-ANN 200 spontaneously generates ANN output 220 to pre-emptively ensure the external system 202 remains in its goal or target state.
  • the SL-ANN may be configured in some embodiments to generate an ANN output 220 that will, if provided to a computer system 1 10 configured to control and/or otherwise to cause the sensed state of the external system to be updated, result at some point in new sensory data 206 being input as either as system input 108 or as primary input 214 to the SL-ANN 200, until the state of the external system 202 state reaches the desired target or goal state (or a state within an acceptable threshold of the target or goal state).
  • the computer system 110 may be configured to use the spontaneous output of the self-acting ANN 200 to spontaneously cause an update of the state of the external system 202, even when no new sensory data 206 is available about the target external system 's state at that point.
  • the computer system 1 10 may cause the state of the target external system 202 to approach and reach a goal or target state in a more controlled and/or more rapid manner than if the state of the target external system were only updated when sensory data 206 drives system input 108 and so causes new primary input 214 to the SL-ANN 200.
  • the CBM 102 comprises a pre-trained ANN which is pre-loaded onto an external system 202 comprising a robotic system in an embodiment of the system shown in Figure 2C.
  • the external system 202 comprises a robotic system
  • one or more control activities comprising or derived from the computer system output 112 based on the ANN output 220 is used.
  • the SL-ANN 200 may from time to time provide spontaneous ANN output 220 which cause system output 112 to be generated to control the actuators 205 of the robotic external system 202.
  • the actuators 205 may cause, for example, the robotic external system 202 to move laterally, vertically, or to rotate about an axis.
  • the robotic external system 202 may be provided with the ability to generate a spontaneous motion, such as for example, to take a step and/or start walking if pushed, where in this example sensor activity resulting from the push will triggering the lateral, for example walking, motion to restore the robotic system to a more stable goal or target state.
  • a spontaneous motion such as for example, to take a step and/or start walking if pushed, where in this example sensor activity resulting from the push will triggering the lateral, for example walking, motion to restore the robotic system to a more stable goal or target state.
  • the robotic external system 202 which suddenly trips and falls down when walking may rise, and resume walking based on its spontaneous activity driving a "memory" of the previous walking state.
  • the CBM 102 comprises one or more ANNs 200 where at least one ANN 200 is implemented as a recurrent system.
  • an activity will propagate across other nodes of the ANN (according to their connectivity within the network) until the activity decays.
  • conduction delays along connections are modelled as latencies using a suitable memory or buffer mechanism, it should also be noted there is not necessarily a time-step to time-step mapping between when output is provided to a node from which it was generated by its source.
  • a node may generate output at one point in time, but that output need not be used as input by another node until X amount of time later.
  • X may vary considerably, for example, it may be 1 -30 ms between nodes (within a brain region) or be far longer, for example, 100 ms if the activity is being transferred between nodes belonging to different brain regions.
  • the accelerated learning within the SL-ANN accompanies the SL-ANN driving the computer system 1 10 to provide control activities or otherwise to cause the external system to update its state
  • the sensors are state-changing event triggered, additional sensor input maybe input to the SL-ANN which in turn will further cause further learning, in this way, depending on the type of sensor, more accurate accelerated learning processes can be performed and used to generate output which more accurately updates the external system.
  • the SL0ANN 200 is able to more quickly learn from its own internal network state, in other words from its architecture and the internal activity trajectories within that architecture, to provide SL-ANN output 220 which will result in the system output 1 12 of the computer system 1 10 providing suitable activities to control the external system 202 to adopt a goal or target state.
  • the ability of the SL-ANN 200 to act in this manner as a self-acting ANN may also result in the external system 202 more rapidly updating its state to reach a goal or target state. This may result in pre-emptive control being implemented in some situations if the SL-ANN 200 is able to anticipate how the external system 202 may behaviour in future so that it remains in a target or goal state rather than deviate from it.
  • Another technical benefit of the SL-ANN 200 includes improved handling of variations in the system input 108, in otherwords, variations in the primary input 214, and still provide useful output to update the state of the external system 202.
  • the weights which the nodes 216 of the SL-ANN 200 apply to input activity received along connections are capable of being continuously updated, which results in the SL-ANN 200 forming more and more abstract representations of input over time.
  • the SL-ANN 200 can learn purely from its own internal activity in some embodiments.
  • the CBM 102 is able to generalize better. For example, if the external system is a robot and it has learnt to stand on a concrete surface, then it can also stand on other types of surfaces which may be more slippery or less stable, such as ice or sand etc. because computational model did not learn a direct input to output mapping, rather it learnt the representations of the input at various levels of abstraction over time and from this can retrieve abstract representations to resolve the sensory data it will experience when adapting to a new type of surface.
  • the BFOA 314 is provided as a learning input activity to the learning function unit 324 where it is operated on by learning function(s) 606. This influences the node's learning and adaptation processes in every timestep of the SL-ANN 200.
  • the BFOA 314 may be provided via a threshold function applying component (not shown) as a learning input activity to the learning function unit 606, which will influence the node's learning and adaptation processes only in those timesteps where the threshold functions conditions are met.
  • the threshold function may set a lower limit below which no BFOA 314 is provided as NOA 318.
  • FIGURE 8B shows an embodiment of FIGURE 8A in which activities are received as incoming activity input 302a, b,c, d along incoming activity connections 300a,b,c,d from nodes 216a.. ,216d are also provided as individual incoming activity input 302a, b,c, d to a learning unit or unit 606 comprising a set of two or more learning functions.
  • Figure 8B retains the numbering scheme of Figure 8A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 8A unless this is explicitly stated to have changed.
  • the learning unit 324 comprises a set of at least two learning functions 606a, 606b, one for each type of incoming activity input 302 received along an incoming activity connection 300 with node 216e, 400.
  • one or more of the incoming activity inputs 302a, b, c, d may be inhibitory or excitatory type activities, depending on whether nodes 216a, b, c, d are inhibitory or excitatory source nodes.
  • An inhibitory learning function is provided to update each weight W1...4 applied to a particular type of subsequent incoming activity input 302a... d received from an inhibitory node 216a along an incoming activity connection 300.
  • the inhibitory learning function may act on the individual inhibitory activity forming incoming activity input 302a previously received along incoming activity connection 300a if node 216a is an inhibitory node, the combined weighted inhibitory incoming activity input activity, inhibitory CWIAIA 328a comprising a combination of all of the inhibitory activity received as incoming activity input 302a ...302d along all incoming activity connections 300a..300d with inhibitory activity sources provided by the input combiner 308, and the BFOA 314 of the SABF 404, to generate an update to weight W1 which will be applied to inhibitory activity provided as incoming activity input 302a which is received subsequently by the self-acting node 400 along incoming activity connection 300a.
  • inhibitory learning function will also act on, for example, inhibitory activity received from an inhibitory node 216b, and the combined weighted inhibitory incoming activity input activity, inhibitory LFCWIAIA 328a, and the BFOA 314 regardless of whether this comprises SONA 412 or driven activity 500 and may produce a different weight update to the weight for connection 300b to that generated for connection 300a..
  • the excitatory learning function configured to update the weight Wc applied to subsequent activity received as incoming activity input 302c from excitatory node 216c along incoming activity connection 300c based on one or more or all of: the previously received excitatory activity received as incoming activity input 302c along that incoming activity connection 300c, the combined weighted excitatory incoming activity 328b formed using all excitatory activity provided by the input combiner 308, and the BFOA 314 of the SABF 404 which may comprise SONA 412 in some embodiments.
  • the excitatory learning function may also be configured to update the weight Wd applied to subsequent activity received as incoming activity input 302c from excitatory node 216d along incoming activity connection 300d based on one or more or all of: the previously received excitatory activity received along that incoming activity connection 300d, the combined excitatory activity 328b of all excitatory activity provided by the input combiner 308, the output of the BFOA 314 which may comprise SONA 412 from time to time.
  • each weight W1 ...W4 of a self-acting node 216 may be individually updated differently from the other weights by the learning functions of the node according to some embodiments of the disclosed technology.
  • Similar learning functions may be used in non-self-acting nodes 216, 600 to provide unique weight updates in a similar manner depending on the type of activity received as incoming activity input 302, for example whether it is inhibitory or excitatory activity, that the weight is to be applied to in some embodiments.
  • Figure 9A shows schematically a functional block diagram of a SABF 404 of a DSA node 400 configured to be capable of ongoingly, also referred to herein as perpetually or quasi-perpetually, akin to continuously, generate a perpetual BF internal activity, PBFIA, 406 according to some example embodiments of the disclosed technology.
  • the self-acting nodes 400, 216a shown in Figures 4, 5A, and 5B, and 8A and 8B are an example of a node which may have the features shown in Figure 9A.
  • the SABF 404 comprises two independent internal processes, also referred to herein as feedback loops.
  • the feedback loops are configured to moderate the subsequent excitatory and inhibitory activity feed to the BF combiner 918.
  • One feedback loop internal process within the SABF 404 provides excitatory activities which enable self-excitation of the node 400 based on the PBFIA 406 generated within the SABF 404 and which excites any SONA 412 the DSA node 400 may generate as its NOA 318.
  • the other internal process or feedback loop provides inhibitory activities which enables self-inhibition by the DSA node 400 based on the internal activity within the SABF 404 inhibiting any spontaneous activity the DSA node 400 may generate.
  • a SABF 404 computational model is schematically represented by functional blocks representing code components which may be provided as software modules, and/or at least in part by circuitry or programmable in some embodiments of the disclosed technology.
  • input combiner 308 is configured to receive a plurality of connection input driven weighted activities 306 and combines these to output at least one CWIAIA 310 to the SABF 404.
  • the SABF 404 comprises a reception unit 900.
  • the reception unit 900 may take the form of a leaky integrator in some embodiments of the disclosed technology which accumulates the combined weighted incoming activity input activity 310 over time, also referred to herein as the delta input.
  • This delta input may be combined in some embodiments with the original non-derivative input, i.e. the combined weighted incoming activity input activity 310, to the reception unit 900.
  • the output from the reception unit 900 comprises activity 902 and is provided to the first processing unit 908 and the gain control unit 906.
  • the generation of the time-derivative of the combined weighted incoming activity input activity 310 may be provided outside the SABF by a suitable processing unit of the node 400 (not shown in Figure 9A or Figures 8A and 8B).
  • the reception unit 900 outputs the received input activity 902 to a first processing module or unit 908 and to a gain control module or unit 906.
  • the gain control unit 906 is also configured to receive an input activity 904 from the first processing unit which comprises information indicative of whether the processing unit has been charged by a discharge activity 924 comprising accumulated negative BF activity.
  • the first processing unit 908 applies a first processing function to both received input 902 and to a positive feedback loop activity 920a comprising the BFOA 314 from a previous time-step, and generates a first processing activity 910.
  • the first processing activity 910 is input to the BF combiner module or unit, also referred to also as the BF combiner, 918 and also to a second processing unit 914.
  • the first processing function may be a unitary or linear or non-linear transform function in some embodiments and may apply a threshold function in some embodiments. Any suitable transfer function known to someone of ordinary skill in the art may be used.
  • the second processing unit 918 is configured to generate a negative activity by applying a second processing function to the input first processing activity 910 and a feedback activity 920b, 926 which comprises the BFOA 314, 920 from a previous time-step.
  • a second processing function is an inversion function which transforms received positive values to have negatively signed values.
  • the inversion may be unitary, linear, or non-linear.
  • the second processing function may comprise any suitable transfer function known to someone of ordinary skill in the art.
  • the BF combiner 918 applies a BF combiner function to the receive activity inputs 910, 916 from the first and second processing units 908, 914 and to any amplified activity 912 received from the gain control unit 906 to generate BF activity 314, 920.
  • An example of a BF combiner function is a summation function, which sums all of the input received, which may be positively signed activity from the first processing unit and negatively signed activity input received from the second processing unit.
  • Another example of a BF combiner function is an integration function, which integrates the received activities over a time-step.
  • the SABF 404 accordingly comprises one or more of the following functions in some embodiments one or more or all of a summing function, a multiplying function, a leaky integrator function and an accumulator function, which may in some embodiments all be provided by the BF combiner function 918 and/or by the BF combiner function component 918 in combination with other components, such as the accumulator 922 for example, of the SABF 404.
  • the SABF may comprise a plurality of accumulators and/or a plurality of leaky integrator functions.
  • the accumulator/leaky integrator functions may all have different time-constants.
  • the BF activity comprises BFOA 314 and the internally recycled activity 920 is circulated internally as a feedback activity 920a, 928 to the first processing unit 910, as a second feedback activity 920b, 926 to the second processing unit 914, and also provides a negative activity 920c which is output to a negative activity accumulator 922.
  • the negative activity accumulator 922 accumulates negative activities over one or more time-steps until a discharge condition is met, usually in the form of a discharge threshold, at which point it discharges the accumulated negative activity 924 into the first processing unit 908.
  • the discharge conditions may be based on one or more timeconstants, where the time-constant determines how fast the accumulated activity drops or grows to a certain amount. By convention, the amount is usually given by 1 - 1/ e, or approximately 63.2%.
  • the discharge process may be implemented to achieve a certain loss in a given amount of time, which may also be expressed as a time-constant for the accumulated activity to drop by 63.2%.
  • An example discharge condition used by some embodiments of the negative accumulator comprises any suitable condition known to someone of ordinary skill in the art.
  • the SABF 4j04 has a positive feedback loop formed by the first processing activity 910 and first processing feedback activity 920a, 928 and a negative feedback loop formed by the second processing negative activity 916 and the negative activity 920b, 926.
  • Another, additional internal feedback is provided via the discharge activity 924 comprising accumulated negative activities which fees back into the first processing unit.
  • the BF perpetual activity arises as a result of the internal feedback loops and by accumulating negative activities and discharging these from time to time within the BF.
  • the SABF 404 is capable of generating spontaneous activity in the absence of receiving any combined weighted activity input 310 from the input combiner 308 due to the feedback activities 926, 928 provided to the second and first processing units respectively in a following, next, time-step as a result of activity in the previous time-step.
  • These activities are, in the continued absence of any combined weighted incoming activity input activity 310 from input combiner 308, able to internally circulate and from time to time are modified by causing an accumulation of negative activities which trigger a discharge of the accumulator in a following next time-step.
  • the activity may continue perpetually so long as the BF is able to perform as suitable mechanism for self-regulation, in other words the BF may be configured to automatically terminate the positive amplification of input activity within the BF component.
  • the output activity 318 of a self-acting node 400 with a SABF 404 may accordingly be SONA 412 if there is no CWIAIA 310 activity to drive it or it may be SONA driven by a CWIAIA activity 310 derived from incoming activity comprising SONA from another node at other times where the CWIAIA activity 310 may be incoming activity 302 driven or the output 500 may just be driven by primary input 214 to the SL-ANN 200 driving the incoming activity forming 302 at other times to from driven output activity 500. If the driven output activity 500 is generated when there is no primary input 214 to the SL- ANN 200 to drive it, then it will also from SONA 412 as NOA 318.
  • Figure 9B shows schematically in more detail how a self-acting node 400, for example, a node 216a such as Figures 6A, 6B, 7A, and 7B show, may update its weights based on the type of activity each incoming activity connection has received in some embodiments of the disclosed technology.
  • Figure 9B retains the numbering scheme of Figure 9A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 9A unless this is explicitly stated to have changed.
  • incoming activity inputs 302a, b, c... n form the incoming activity input 302 to the self-acting node 400.
  • the self-acting node 400 generates internal, also described as intranodal, activity 902 from its BFOA 314 regardless of whether it receives any internodal activity as incoming activity inputs 302a, b,c, ... n which are driven by primary input 214 to the SL-ANN 200 in an iteration of the ANN algorithm.
  • Incoming activity input 302 may also still be received from other internal nodes 216 of the SL-ANN 200 accordingly even when there is no primary input 214 at a particular point in time to the SL-ANN 200 in some embodiments.
  • the input driven output 500 of a DSA node 400 or an IDSA node 600 may also form SONA 412 in some embodiments of the disclosed technology at times when it is not driven by primary input 214 to the SL-ANN 200.
  • learning unit 324, 606 comprises a set of at least two learning functions 606a, b, depending on the type of incoming activity input 302 received and/or the type of sources for such received incoming activity input 302.
  • the learning unit 606 comprises two learning functions, one inhibitory and one excitatory.
  • the inhibitory learning function updates the weights applied to inhibitory activity received along a node edge connection or incoming activity connection with an inhibitory source and the excitatory learning function is used to update the weights applied to excitatory activity received along a node edge connection or incoming activity connection 300 with an excitatory source.
  • the sources of activity may be input or internal nodes of the ANN.
  • an inhibitory learning function acts on three inputs in each iteration of the ANN algorithm to determine an output which will update the weight of an incoming activity connection along which activity is received in a subsequent iteration of the ANN algorithm.
  • the three input variables or parameter values on which an inhibitory learning function acts comprise the value of the amplitude of the received inhibitory incoming activity input 302a along a particular incoming activity connection from an inhibitory source node, the combined inhibitory weighted incoming activity input activity 328a comprising a sum or other suitable combination all of the inhibitory inputs 302a received along all incoming activity connections from inhibitory source nodes connected to the self-acting node 400 and the BFOA 314 from the SABF 404.
  • the learning function updates the weight of the incoming activity connection for which the incoming activity input to the learning function was received on which may cause each incoming activity connection's weight to be updated differently by the learning function 606,606, 606b.
  • the three variables, also referred to herein as parameter values, on which the corresponding excitatory learning function acts on in some embodiments comprise the value of the amplitude of the received excitatory incoming activity input 302a along a particular connection or edge with an excitatory source, the value of a sum or other combination of all of the excitatory weighted incoming activity input activity 328b received along all incoming activity connections by the self-acting node 400 and the BFOA 314 which may comprises SONA 412 from the SABF 404.
  • each incoming activity connection is independently updated based on the value of its previous inhibitory or excitatory input in a mannerwhich may differ from the weight updates applied to the other incoming activity connections along which activity is received by the self-acting node 400.
  • the SABF may also generate two separate outputs, one inhibitory, one excitatory, which are provided separately to the inhibitory and excitatory learning functions, respectively.
  • just one output is provided based on both combined excitatory and inhibitory activity by the BF to the learning function.
  • Figure 9B also shows how an optional buffer 326 as described herein above may be optionally provided in some embodiments.
  • Figures 10A to 10C form a data flow diagram which shows schematically how some embodiments of the SABF component of Figure 9A or 9B may be configured to generate a BF activity and provide this to update one or more functional learning unit(s) and/or contribute to the system output.
  • Figure 10D described later below shows schematically in more detail an example embodiment of the learning process shown in Figure 10B may be implemented. The steps illustrated may be combined or omitted in some embodiments as would be apparent to anyone of ordinary skill in the art and may occur in a different sequence to that illustrated in Figures 10A to 10B.
  • timings may be depicted in a particular way in the diagram to facilitate understanding of the data flows and that actual timings may be concurrent or simultaneous when depicted as being separate and/or be at different times when depicted as being concurrent or simultaneous and that the shown order of the steps and activity flows may be modified in some embodiments of the disclosed technology whilst still achieving the same or a similar spontaneous or perpetual activity in a SABF.
  • Figures 10A-C show how data flows between the BF internal components 900, 906, 908, 914, 918, and 922 of the example embodiments of the SABF 404 shown in Figures 9A or 9B.
  • the system components shown in Figures 9A and 9B and Figures 10A-C are merely representative of functional elements of a SABF to illustrate how a self-acting node 216a, 400, may spontaneously generate activity within an ANN 200 according to some embodiments of the disclosed technology.
  • the data flows represent operations on data that may not occur in the steps shown by way of example in Figures 10A to 10C and that different code structures and timings may be used in some embodiments as would be apparent to someone of ordinary skill in the art.
  • Figure 10A depicts a BF 1000 comprising a reception unit 900, a gain unit 906, a first processing unit 908, a BF combiner component, shown as BF combiner 918, a 2nd processing unit 914, and a negative activity accumulator 922.
  • a negative discharge activity shown as a -ve discharge activity 924, may have been received in a previous time-step by the first processing unit 908 from the negative activity accumulator 922.
  • the BF combiner 918 has provided both a positive feedback activity 920a, 928 to the first processing unit 908 and a negative feedback activity 920b, 926 to the second processing unit 914 in the previous time-step.
  • reception unit 900 receives a combined weighted incoming activity input activity 310 from input combiner 308 (not shown) and provides this as an input activity to the gain unit 906 and to the first processing unit 908.
  • the first processing unit 908 applies a first processing function to the received input from the reception unit, as well as to the previously received feedback activity 928, and to any discharge activity 924 if the accumulator has discharged and provided a discharge activity in that time-step or a previous time-step before the input activity 904 was received by the 1st processing unit from the reception unit 902.
  • the 1st processing unit 908 then outputs a first processing activity 910 to the BF combiner 918 and to the second processing unit 914 and may also provide a charge information activity 904 to the gain unit.
  • the charge information indicates if the threshold for discharging the negative activity accumulator 922 was not met and/or if the first processing unit 908 has no charge.
  • the gain unit 906 will amplify the received input activity in 1008 and sends the amplified activity 912 to the BF combiner 918.
  • the 2nd processing unit 914 will process the first processing activity input 910 with the bf feedback activity 926 from a previous time-step to generate a self-inhibitory activity in 1006 and provides the self- inhibitory activity 916 to the BF combiner 918.
  • the BF combiner 918 is configured to apply a suitable combining function to received input activities, for example, activities 910, 912, and 916 shown in Figures 10A and 10B, and generates a BFOA 314 which is output to a number of components within the SABF 404 to form circulatory activity, that is to say perpetual BF internal activity, PBFIA, 406, within the SABF 404.
  • the BFOA 314 is also provided as output to the learning model 606 and as output used to form NOA 318.
  • the first processing unit 908 receives feedback in the form of BF output activity 920a, 928 from the output of the BFA combiner 918.
  • the 2nd processing unit 914 receives feedback activity 902a, 928 from the output from the output of the BFA combiner 918.
  • the negative activity accumulator receives a negative activity 920c derived from the output of the BFA combiner 918. This negative activity may be derived by inverting the activities received from bf activity combiner 918 at the second processing unit 914 in some embodiments.
  • the negative activity accumulator 922 accumulates the BF output activity 920c and, upon reaching a certain threshold, initiates the process of comparing the accumulate activity with one or more discharge threshold condition(s) 1014. If the threshold is reached, the accumulator discharges the accumulated negative activity 1016, resulting in an accumulator discharge activity 924.
  • the charging accumulator 1012 and the accumulated negative activity 1016 are part of a cycle regulated by the threshold comparison 1014, which maintains the balance of activities within the system.
  • the learning function will act to update each weight for a particular connection based in part on the unweighted activity received along that connection, a combination of weights activities for the same type of activity obtained from the input combiner 308, and the activity output by the SABF 404.
  • Figure 10D illustrates a learning process when activity is received along one or more incoming activity inputs to a self-acting node 216 according to an embodiment of the disclosed technology.
  • Figure 10D the numbering scheme of Figures 10A-10C for like elements which retain the same functional purpose and relationship to other elements as described in the embodiments shown in Figure 10A-10C unless this is explicitly stated to have changed.
  • the steps and data flows illustrated schematically in the example embodiment depicted in Figure 10D may be combined or omitted in other embodiments as would be apparent to anyone of ordinary skill in the art and may occur in a different sequence to that illustrated in Figure 10D.
  • An example of such a self-acting node is node 216a and the node 400 shown in the accompanying drawings and described herein.
  • Figure 10D shows schematically an example data flow for updating the weights W1, W2, W3 applied by a self-acting node to incoming activity input 302a, b, c received along which three incoming activity connections 300A, B, C is shown by way of example only.
  • incoming activity connection 300a provides inhibitory incoming activity input 302a and each of the connections 300b, c provides respective excitatory incoming activity input 302b, c to the node.
  • the inhibitory incoming activity input 302a and the excitatory incoming activity inputs 302b, c are provided to the input combiner 308 and the learning unit 324 for use by learning functions 606a, 606b.
  • FIGURE 10D shows the embodiment of the data flow shown schematically in FIGURE 10D shows the three incoming activity inputs 302a, 302b, and 302c individually being input the learning function also individually being input to the input combiner 308 dispersed along the timelines. This is for the sake of clarity only as all inputs may be, and would usually be, made in the same time-step.
  • input combiner 308 combines the inhibitory input(s), in this case it will act only on incoming activity input 302a (which will consequently also form the combined inhibitory weighed incoming activity input activity 328a) to the learning unit 324, 606 for use by the inhibitory learning function of the learning unit 324, 606.
  • the input combiner 308 also combines separately the excitatory incoming activity inputs 302b, c and provides this combined excitatory output 328b to the learning unit 324, 606 for use by the excitatory learning function of the learning unit 324, 606.
  • Each of the inhibitory and excitatory learning functions acts on the values provided by a) a corresponding individual activity input from an edge connection, b) the combination of activity from all edge connections of the same type from the input combiner 308, and c) the BF activity 314 may be provided as a learning input activity shown as 314, 412 in FIGURE 10B to the weight unit 304 to generate individual updates for the weights W1 , W2, W3, W4 to be applied to subsequent activity received as incoming activity input 302a, b,c,d along the incoming activity connections 300a, 300b, 300c, 300d respectively.
  • the inhibitory learning function utilizes the values received as 302a, 328a, and 314 from the SABF to generate an activity to update the weight W1 of incoming activity connection 300a.
  • the excitatory learning function utilizes the values received as 302b, 328b, and 314 to update W2 of connection 300b and utilizes the values received as 302c, 328b, and 314 to update W3 of incoming activity connection 300c.
  • Figure 1 1A shows schematically a method for training nodes 216 in an ANN 200 so they learn weights suitable for generating abstractions of input data according to an embodiment of the disclosed technology.
  • the method trains the nodes 216 so that they adopt weights which result in the overall network activity and topology generating ANN output 220 which resolves whatever problem(s) were presented by a times-series of primary inputs 214 in relation to the sensed state of an entity such as the external system 202 shown in Figures 2A, 2B, or 2C.
  • the SABF 404 processes node input 302 received in a time-step to generate a BF output activity, BFOA 314 according to some example embodiments of the disclosed technology which continues to refine the learning of weights to be applied by the node to subsequent input whenever it is subsequently received using the spontaneous activity generated by the SABF.
  • the steps illustrated may be combined or omitted in some embodiments as would be apparent to anyone of ordinary skill in the art and may occur in a different sequence to that illustrated.
  • the method comprises a node, for example, a DSA node 400 having a SABF 404 according to the disclosed technology, for example, as shown in Figures 9A and 9B, receiving in 1 102 a combined weighted input activity, for example, CWIAIA 310 or activity 902 derived from the CWIAIA 310, which drives, for example, in the generation of an activity by a first processing unit 904 by applying a suitable first processing function to the received activity 310, 902 in combination with a BF feedback activity 928 and, if there is any, discharge activity 924 and sends the generated first processing activity to the BF combiner in 1106.
  • a combined weighted input activity for example, CWIAIA 310 or activity 902 derived from the CWIAIA 310
  • a first processing unit 904 drives, for example, in the generation of an activity by a first processing unit 904 by applying a suitable first processing function to the received activity 310, 902 in combination with a BF feedback activity 928 and, if there
  • the method 1100 also comprises providing the received input to gain unit 906 where, depending on whether the -ve discharge activity has charged the 1 st processing unit with a negative activity or not, the input activity 902 received may also be amplified by the gain unit 906 to generate an amplified gain activity and inputs this to the BF combiner 918 in 1104.
  • the method further comprises in 1108, the SABF 404 acting on the received activities to generate an output activity 920 which is then provided to a plurality of different components within the DSA node 400 as intra-nodal activities, for example, as input to the learning unit 324 and for output by the DSA node 400 as extra- nodal activity, also referred to herein as NOA 318, which may form inter-nodal input 322 to other nodes 216, 400, 600 in the SL-ANN 200 or form or contribute to the output of the ANN 200 directly.
  • the intra-nodal activities comprise both extra-BF activities, such as the learning input activity from the BF to the learning unit, and also intra-BF activities, which provide activity which circulates within the BF.
  • the extra-nodal activity e.g. NOA 318
  • the extra-nodal activity is derived from the BF activity, BFOA 314, and may be optionally passed via a BF output threshold component (for example, node output function 316) in 1 110 which may apply certain output conditions, for example, a threshold for a minimum level of BF activity in 1 112 before the node outputs in 1 114 the output activity, NOA 318.
  • a BF output threshold component for example, node output function 316
  • Figure 11 A also shows how the learning unit 606 receives input from the output of the BF combiner in 1 116.
  • the learning function acts on this input along with other inputs in 1 118 to update the learning rules for weights to be applied to at least input activities received along connections by node 400, in other words, to generate a weight update, and also, in addition or instead, to update which connections with other nodes are active in 1118 if the weight update results in the weight to apply to subsequent activity received along a connection being set to zero.
  • the weights, and connections of the node 400 may be updated in 1 120 based on the output of the SABF as shown in Figure 11 A.
  • method 1 100 further comprises providing the BF activity 314, 920 also a feedback activity 928 to first processing unit 908 in 1 122, which in turn processes this feedback activity with subsequently received activities 902, 924 in a following time-step in 1124.
  • the method 1 100 also comprises providing the BF output activity 314, 920 as a negative feedback activity 926 to the 2nd processing unit 914 in 1 126 which in turn processes this with input activity 910 from the first processing unit 908 in the following time-step to generate the 2nd processing unit output activity 916 in that time-step in 1 128.
  • Method 1100 also comprises providing the BF activity 314, 920 as a negative activity 920c to negative activity accumulator 1022 in 1130, which then accumulates the negative activities input over one or more timesteps in 1132 until a threshold condition is met, at which point method 1100 comprises discharging the accumulated negative activity in 924.
  • the extra-nodal activity, NOA 318, output by a node 216e, 400 may comprise node-to-node, or inter-nodal activity or form activity which forms or contributes to the SL output 220 from the SL-ANN 200.
  • the node-to-node or inter-nodal activity however will continue to propagate and drive activity in other nodes of the SL-ANN where it is received as incoming activity input within the ANN until it diminishes or contributes to the output by the ANN.
  • the propagation will consolidate to a trajectory along which, in the absence of any additional sensory input to the ANN, there is minimal but continuing activity for a period of time after the last input to the ANN.
  • This provides a form of evolving state memory for the ANN as the trajectory may various slightly over time with each iteration of the ANN as the self-acting nodes spontaneously inject activity from their SABFs.
  • This provides a form of abstraction within the ANN as subsequent "sensory problems" causing sensory data to be provided as input to the ANN which resulting in similar activity trajectory patterns can be better handled as the ANN has a form of longer-term state awareness, or memory, of what activity trajectories have provided solutions to problems presented previously by the sensory input.
  • Figure 1 1 B illustrates schematically how the learning function of a self-acting node 216a, 400 acts on a plurality of inputs in 1 118 of Figure 1 1A.
  • Figure 11 B shows more clearly the other inputs to the learning unit received in addition to the bf input in 1 116 shown in Figure 1 1A.
  • These other inputs take the form of the individual incoming activity input activities and inputs from the input combiner 308 in the form of a combination of weighted excitatory input and a separate combination of weighted inhibitory inputs.
  • Figure 11 B retains the numbering scheme of Figure 11 A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 11 A unless this is explicitly stated to have changed.
  • the steps and data flows illustrated schematically in the example embodiment depicted in Figure 11 B may be combined or omitted in other embodiments of the method 1100 as would be apparent to anyone of ordinary skill in the art and may occur in a different sequence to that illustrated in Figure 11 B.
  • the weight unit 304 provides the weighted activities individually to the input combiner 308 in 1 100B.
  • the input combiner 308 then generates three output activities.
  • One is a combination of all weighted inputs, whether inhibitory or excitatory, which is provided to the reception unit of the SABF.
  • the second output is a combination of only weighted inhibitory activity and the third is a combination of only weighted excitatory activity.
  • Output comprising the separate combinations of weighted inhibitory activity and weighted excitatory activity is provided by the combiner to the learning unit.
  • the outputs from the combiner and the individual unweighted activities received along each incoming activity connection are provided to the learning unit 324, 606 in step 1 1 D.
  • This input allows the learning unit 324, 606 to apply separate learning functions 606a, 606b to individually update the weights W1, Wn of incoming activity connections 300a..., n of the node. If an incoming activity connection 300a... n is connected to an excitatory node acting as a source of excitatory activity received by the self-acting node, then the combined weighted excitatory inputs and the individual excitatory input for that connection provided in 1 1 D will be acted on by an excitatory learning function at the learning unit and an update for the weight for that particular incoming activity connection 300a..
  • additional combinations of inputs based on differing types of inputs or source nodes may be provided and acted on by additional types of learning functions to update the weights that are applied to connections along which the additional type of input is received.
  • the method shown in 1100B of Figure 11 B accordingly illustrates more clearly how the individual inputs, the BF output, and the combined weighted excitatory input and combined weighted inhibitor input are provided to the learning unit 324, 606 to update a plurality of learning rules 606a, 606b for generating updates to the weights applied by the weight unit and this may also result in changes to connection growth rules, in other words cause changes to which connections are active between that node and other nodes of the SL-ANN.
  • the trajectories may be considered to form abstract representations of features presented by modified sensory input in embodiments where the modified input represents the deviation of the sensory data received from target sensory data corresponding to a goal or target state of the external system.
  • Figure 12 shows schematically another embodiment of the method of training a self-acting node 216a, 400 in an ANN 200 to generate abstractions of input data according to an embodiment of the disclosed technology in which the SABF generates a BF output activity in a time-step when no node input activity is received according to some example embodiments of the disclosed technology of a method of generating spontaneous activity.
  • Figure 12 differs from Figure 11 in the initial steps 1202a, b and 1204 and later in step 1206 as in method 1200 no other inputs are provided to the learning function as in other words no incoming inputs are received by the self-acting node in that iteration of the ANN algorithm.
  • the first processor until 908 will generate a first processor activity based on previous BF combiner output and any discharged negative activity 924 input if previously provided.
  • This first processor activity is provided as input to the BF combiner 918 and also to the 2nd processing unit 914.
  • the 2nd processing unit applies the second processing function to the received first processing activity 910 and the feedback activity 928 from the BF combiner 918 that it received in a previous time-step and outputs a 2nd processing activity 916 to the BF combiner 918.
  • the BF combiner 918 acts on the input 910 received from the first processing unit 908 and the input 916 received from the 2nd processing unit 914 to generate a BF activity as BFOA 314 and Internally activity 920 and the method continues as described herein above with reference to Figure 11 with the only difference being that 1208 replaces 1 118 as the learning unit 324, 606 will only receive input from nodes with the BFs 312, 404. and also, with reference to the flow chart shown in Figures 10A-C.
  • Both methods 1100 and 1200 use the same self-acting ANN system architecture.
  • the same nodes in the ANN that receive input sensory data also perform the abstraction. This avoids any need to layer the ANN as the ANN is globally recurrent.
  • deep neural networks may perform abstractions but only in deeper network layers of a recursive ANN.
  • dynamic activity injection is localized to a subset of nodes in the ANN.
  • Sensory input is limited to another subset of network nodes. This may be used to create a hierarchy of abstraction levels in the network where higher abstraction levels are made more independent of spatial location in the sensory input space but still capturing/representing the general spatiotemporal dynamics of the sensory input data.
  • the ANN inner nodes 216 Whilst implementing an ANN 200 with too strong internal dynamics, however, there is at risk of creating too coarse approximations of the sensory input data, causing a lack of precision.
  • the ANN inner nodes 216 for example, the nodes which are not being used to directly ingest sensory input, can provide a dynamic core which may never enter the exact same state twice, meaning that each repetition of an input during training meets with a partially unique internal state. This makes the learnt representations more robust and more inter-relatable in embodiments where the ANN dynamics are less strong.
  • Each node 216 may also apply a node output function 316, for example, a threshold function to the BF activity 314 of the SABF 404.
  • the BF activity 314 may be provided directly or indirectly to a learning unit 324 of the node.
  • the BF activity 314 is the acted upon by one or more learning functions 606, for example, inhibitory and excitatory weight update learning functions 606a, b may be used in some embodiments of method 1300.
  • the learning function acts on the receive input(s) and generates at least one weight update activity 606 which is provided to a weight unit 304 to update the weights applied to incoming activity input 302 and/or which incoming activity connections 300 based on the BF activity 314 in 1310.
  • the method 1300 also then comprises each node 216 of the SL-ANN 200 generating NOA 318 if the BF activity 314 meets one or more current time node output criteria for that that node 216 in 1312, and generating in 1314 a time-series as the ANN output 220 for form I ng system output 1 12, where here the ANN output 220 uses the SL-ANN’s internal activity states which comprise abstracted representations of previous primary inputs 214 to generate the ANN output 220.
  • These internal abstracted representations may be formed by combining node activity output, NOA 318 from one or more nodes 216 including at least one self-acting node 400 in some embodiments.
  • the internal abstract representations will be based on the current node and network configuration and state at the time of each system input 108 comprising time-series data in 1314.
  • the method 1300 comprises: receiving, as input at the ANN, system input comprising an unknown time-varying initial system activity, the input activity comprising time-series data 1302, applying, at each node 216 in the ANN 200 receiving the system input, a current set of weights to the received system input based on a current configuration and connection state of the ANN in 1304, generating a BF activity at each node based on the received input in 1308, triggering perpetual activity within a SABF of at least one self-acting node 400 of the ANN 200 if that node 400 receives input comprising a trigger event input for the perpetual BF activity in 1306, updating each node learning weights and/or node connections based on that node's BF activity or a activity derived from that node's BF activity 1310, generating node output comprising or derived from that node's BF activity in 1312, and generating a time-series activity which forms ANN output 220 which is provided via the computer system 110 as provide system
  • the method 1300 further comprises combining NOA 318 from one or more nodes 216 including at least one self-acting node 400, based on the current node and network configuration and state, at the time each primary input 214 derived from or comprising system input 108 causes spontaneous ANN output 220 in 1314.
  • the unknown time-varying initial system activity provides system input 108 to a computer system 110 on which the method 1300 is performed.
  • the system input 108 may comprise sensory data 206, or modified sensory data 206, and provides the primary input(s) 214.
  • the sensory data 206 comprises data sensed or otherwise observed of the external system 202, for example, an external system 202 as shown in any one of Figures 2A, 2B, or 2C in some embodiments.
  • the SL-ANN 200 by including at least one self-acting node 400 having a SABF 404 configured to have continuing internally circulating activity and spontaneously generate NOA 318 from time to time, may adopt a network state in which spontaneous node activity 318, for example, SONA 412, propagates to other nodes 216, 400, 600 within the ANN 200 even if there is no primary input 214 to the SL-ANN which drives the activity.
  • the activity will propagate in the SL-ANN 200 initially follow a trajectory which represents a state of the network of the SL-ANN 200 which provided a solution to the problem posed by the last primary input.
  • the primary input is the deviation of the sensory data 206 from a set-point which represents the sensory data which would be obtained if the sensor system 204 were to sense the external system 202 in its goal or target state, once this goal or target state has been achieved, the sensory data 206 will cease from the sensor system 204.
  • This allows the nodes 400, 600 of the SL-ANN 200 to learn even if the internal activity propagating between nodes 216, 400, 600 of the SL-ANN 200 is not being driven by primary input and so they may continuously learn between the time intervals of the system input 108.
  • the SL-ANN 200 may be able to converge on a network state more rapidly which results, for any given system input 108, a system output 112 which will result in the goal or target state of the observed system being reached. It may also be possible to generate control system which are not just reflexively controlling the external system 202 but which may also pre-emptively control the external system in some embodiments.
  • Figures, 15, and 16 and 18 show schematically example computer-program products for implementing respective methods 1200, 1100, 1300, and 1600 as shown schematically in Figure 11 , 12, 13 and 17 (described later below) according to some embodiments of the disclosed technology.
  • the computer program product 1400 may comprise one or more or all of: computer code 120a implemented using software, computer code 120b implemented using circuitry or hardware, and computer code 120a, 120b using a combination of software and hardware in some embodiments of the disclosed technology.
  • the computer program product 1400 may be configured as separate products or programs to implement each of the methods 1100, 1200, 1300, 1600 individually but in at least some embodiments. In some embodiments, the same computer-program product performs all of the methods 1100, 1200, 1300 and 1600.
  • the computer code 120a, 120b for performing the computer program may be configured as a plurality of interacting or sequentially or independently or parallelly executing computer modules, in any manner apparent to someone of ordinary skill in the art and need not be provided in any strict correspondence with the method steps shown in the accompanying drawings.
  • Some embodiments of the computer system 1 10 comprising a computational brain model according to the disclosed technology implement a data processing system configured to or configurable to autonomously learn to represent past data, events, and experiences at gradually higher degree of compression/generalization.
  • Data such as sensory data 206, with sufficiently predictable intrinsic dynamics, is fed as system input 108 into the computer system 1 10 and forms primary input 214 to the SL-ANN 200 in some embodiments.
  • the prediction mechanism used by a data processing system comprising the computer system 110 according to the disclosed technology relies on a type of default dynamics in the inner core of its processing SL-ANN(s) 200 which keeps the total network activity continually travelling within its state space even when there is no external data being input to the ANN.
  • SL-ANN 200 learning from primary input 214 is a function of the SL-ANN's current activity dynamic state within its own inner dynamic core, all representations of the time-varying data forming primary input 214 even if learnt across diverse sensory data contexts become more inter-relatable within the SL-ANN 200.
  • the disclosed technology seeks to improve on known artificial generally intelligent machine systems, for example, it may be used to create representations of real-word phenomena in a more computationally efficient way, making better use of the data processing system's ANN resources.
  • the ANN 200 generates representations which are more generalizable. This not only allows for a better use of the ANN 200 as a resource but also enables the ANN 200 to be adaptable to changes in its input and be more efficient at handling inputs which may represent fundamentally novel contexts.
  • the disclosed technology uses far fewer computational resources than a hierarchical joint-embedding predictive architecture, JEPA, based machine learning, ML, computer system would require modelling the same real-world phenomena.
  • one aspect of the disclosed technology comprises a computer system 110 comprising at least one SL-ANN 200 capable of being a self-acting ANN 200, where at least one node 216, and preferably some or all nodes 216, in the at least one SL-ANN 200 is a self-acting node 400 in the sense it has a self-configured independent internal state governed by any spontaneously activity output by its SABF 404.
  • This independent internal state will autonomously evolve over time based on additional activity which the SABF 404 also receives from the input combiner 308 of the node comprising a combination of all the weighted incoming activity inputs 302 received by that node.
  • the output of the SABF forms the NOA 318.
  • This output may be provided directly or processed to determine if it meets one or more output criteria.
  • the amplitude of the BF activity 314 which is output by a node for onwards propagation in the SL-ANN 200 is limited to ensure that activity is diminished or maintained as it propagates from node 216 to node 216 across the SL-ANN 200.
  • One or more node output functions, or thresholds may be applied for the BF activity 314 to be provided as NOA 318. Exceeding the threshold results in only sufficiently high amplitude BFOA 314 form NOA 318 in a given time-step or iteration of the ANN algorithm.
  • the NOA 318 of the at least one self-acting node 400 which is provided to both the learning unit 324 where one or more learning functions 606 operate on it in conjunction with other inputs 628 and incoming activity inputs 302. to one or more enable one or more or each of the at least one other node 216, 400, 600 in the SL-ANN 200 to generate output independent of system input 108 or primary input 214 being received by the SL-ANN 200 in that time-step.
  • the SL- ANN 200 is configured to provide ANN output 220 to computer system 110 in an iteration or time-step of the ANN algorithm accordingly regardless of whether primary input 214 has been input to the SL-ANN 200 in that time-step or iteration.
  • the ANN output 220 may form or be used to form system output 1 12 from the computer system 1 10.
  • the system output 112 may comprise from time to time data directly or indirectly derived from the external-input- independent internal activity of the at least one self-acting node 400 in the at least one neural network and also comprise at other times data directly or indirectly derived from both the internal activity of the SABF 404 and the activity also output by the SABF 404 which is driven by primary-input to the self-acting ANN 200 and activity driven by other nodes whose BFs may act on primary input driven activity and/or spontaneous activity output directly or indirectly from self-acting nodes 400.
  • the capability to generate such system output 112 may be initiated by an external trigger event.
  • a trigger event may trigger the start of internal activity.
  • the system output is generated responsive to external input based on the self-generated internal activity and internal activity generated responsive directly or indirectly to the external input.
  • the disclosed embodiments of the machine-learning, ML, computer system 1 10 are configured to have selfgenerated internal activity which configures the ML system to be capable of more rapidly learning and more rapidly outputting inferences with more tolerable errors (i.e., inferences that are more accurate) for the received input.
  • Examples of robots which some embodiments of the disclosed technology may be used to provide control activities for include simple robotic external system, such a cart-pole system, quadruped and biped robots, robots with vision and speech functionality, and more complex robot with two or more articulated limbs where the control system may be used to for motor skills.
  • the sensor system data may be multi-modal in some embodiments of the disclosed technology.
  • the disclosed technology however may also be configured to provide control activities to other types of system, for example, to control network equipment, autonomous vehicle technology, etc., etc.
  • the external system 202 comprises at least one of the at least one sensor configured to generate sensor data for input to the input system as Figure 2C shows schematically as sensor actuators 203.
  • the external system 202 may in some embodiments comprise another control system or computer system, such as a control system for motor control of a robot, or an image recognition system.
  • the external system 202 comprises a multi-state system
  • the sensor data is provided as system input 108 or primary input 214 represents at least one time-varying characteristic of a sensed state of the multi-state system.
  • the ANN output 220 generated by the ANN 200 is processed by the computer system 110 to form system output 1 12 which when received by the external system controls the external system 202 to cause a state change of the multi-state system.
  • Some external systems 202 display a multitude of states across one or multiple intrinsic dimensions where there are in addition temporal dependencies between state transitions.
  • a system's state may be represented as a specific combination, in other words a pattern, of values across the dimensions present in that system.
  • the pattern can be analysed and quantified, for example, using principal component analysis.
  • a biological system or any system replicating a biological system, such as for example a robotic system designed to mimic a biological body, or any other type of external systems 202 which may be observed, in other words, sensed, and controlled by the computer system 110, there may also be, in addition to spatial dependencies, temporal dependencies between state transitions in that system.
  • This added temporal dependency may result in a spatiotemporal pattern representing a system state in some embodiments of the disclosed technology. This will make the sensed or observed external system 202 capable of undertaking a wider range of tasks under the control of an embodiment of the CBM 102 configured with a SL-ANN 200 according to the disclosed technology.
  • the spatiotemporal system state of a sensed or observed external system 202 may be indicative of a higher number of solutions that an example embodiment of the SL-ANN 200 of the CBM 102 according to the disclosed technology may find when seeking to generate ANN output 220 to drive system output 112 to cause the state of the external system 202 to update to a goal or target state.
  • the ANN 200 will seek to replicate, in other words, mimic or mirror, the spatiotemporal dynamics of the external system 202 it is configured to control to in order to better control it.
  • the ANN 200 is configured so that it is able to form spatiotemporal abstractions of an externally sensed or observed external system 202.
  • the system output 112 from the computer system 110 configures an intermediate system, for example, one or more actuators 203, to control an observed, in other words, sensed, the external system 202.
  • the sensing may be related to one or more, physical characteristics of the multi-state system, for example, to a temperature, a humidity, a visual image or video field of view of the multi-state system, a speech articulation or audio output, a range of motion in one or more of six degrees of freedom of part or all of the multi-state system, a velocity and/or acceleration in any one or more of six degrees of freedom of the multi-state system, or other system state.
  • the observed, in other words sensed, external system 202 comprises a robotic external system and the at least one sensor of sensor system 204 comprises at least one motion-sensor configured to sense a time-varying movement characteristic of the robotic external system 202, and the computer system 1 10 configures an intermediate external system to be one or more actuators 203 for controlling the observed robotic external system 202.
  • dynamic activity injection within the SL-ANN 200 from the external system 202 is localized to a subset of nodes 216, 400, 600 forming a first population 218 of the ANN 200 and the primary input 214 is limited to another subset of the processing nodes 216 of the ANN 200.
  • The may, in some embodiments result in some or all of the nodes 216 of the ANN 200 providing a form of network hierarchy within the ANN 200.
  • the SABF 404 of the self-acting nodes 400 of an ANN 200 may comprise a self-regulating model of a neuron having a plurality of feedback loops internally, both feeding into an embodiment of the BF combiner function 918 of the SABF 404.
  • At least one feedback loop takes the BF activity 314, 920 output by the BF combiner 918 to provide an activity which is associated with a positive sign by an excitatory activity generator, for example, the first processing unit 908, to form an excitatory feedback loop and at least one other feedback loop takes the output of the combiner function to provide activity input which is associated with a negative activity by an inhibitory activity generator, for example, the second processing unit 914, to form an inhibitory feedback loop.
  • the gain function component 906 is configured such that the gain function applied depends on the tuneable positive (excitatory) and tuneable negative (inhibitory) feedback loops of the BF and the node's internal state.
  • time-constant refers to an amount of time it takes for an activity from an integrator or accumulator say to gain approximately 62% of its initial value and/or also to the amount of time it takes for a discharger to reduce any accumulated activity by 62%.
  • the integrator/accumulator and the discharger may have different time-constants.
  • the resulting activity loops within the BF result in a circulation of activity that is independent of subsequent activity being injected into the node.
  • the activity may circulate within a BF rather like a heartbeat and may form periodic or episodic activity within the BF.
  • the episodic BF activity may be considered perpetual for as long as the system is powered, regardless of whether there is any external activity being injected into the ANN.
  • perpetual does not mean constant.
  • the SABF 404 may not, in a particular time-step or iteration of the ANN, actively output spontaneous BFOA 314, in other words SONA 412, from the SABF 404 generating and acting on its own previously generated circulating PBFIA 406.
  • the spontaneous PBFIA may contribute to the BFOA 314 from time to time or continuously, however, its contribution may be suppressed relative to the contribution provided by the SABF 404 generated activity driven by the incoming activity input 302 to the self-acting node 400 driven by primary input 214 to the SL-ANN 200 which is also being processed in that time-step or iteration of the ANN.
  • spontaneous internally generated activity propagating, (and possibly circulating along an attractor trajectory) within the ANN may be perturbed or suppressed from time to time when there is primary input 214 to the ANN 200.
  • the primary input 214 may comprise external sensory data and a self-acting node 216e, 400 receiving external data driven incoming activity input 302 along one or more incoming activity connections 300 will find its internal activity temporarily suppressed in the sense that the dominant activities will be driven by primary input 214 whilst that external activity is being received as incoming activity input and processed by using a suitable gain function applied within that node 216. This suppression occurs at least in IDSA nodes 600.
  • a self-learning or self-acting ANN 200 may be considered to be only quasi-perpetually actively updating its learning functions based on internally spontaneously generated activities.
  • the activity forming primary input 214 to the SL-ANN 200 may comprise sensory data obtained directly or indirectly sensed.
  • the activity forming primary input 214 may comprise technical or physics metrics, in other words values associated with a technical or physics-based system, and/or meta data for such technical or physics model metrics.
  • the system may be real or virtual, in other words a simulation of a real system, in some embodiments.
  • the data input may also comprise non-technical data in some embodiments, for example, financial data and the like, which may need different types of pre-processing to that of physics or technical data.
  • the BF is capable of spontaneously, from time to time, generating activity which is output to the learning function of the node on which it is implemented and also spontaneously generating activity which may be output from the node on which it is implemented.
  • the ANN 200 is a globally recursive ANN where each node is connectable to every other node in the ANN 200, such spontaneous activity from one or more nodes may circulate throughout the ANN 200 resulting in other nodes which may not have a SABF, also generating activity which is indirectly spontaneous in that it also may occur even if the there is no activity being injected in the ANN 200 to drive such spontaneous activity.
  • the ANN 200 comprises a plurality of self-acting nodes 216, 400, 600, capable of spontaneously generating activity, two or more of which comprise SABFs 404.
  • the plurality of self-acting nodes 400 may form a population 218 of the ANN in some embodiments.
  • the group of self-acting nodes for example, the population of self-acting nodes 400, may form a dynamic core of the ANN.
  • the core group or population 218 of nodes is dynamic in the sense that the location of spontaneous activity output by the self-acting nodes within the ANN changes over time.
  • the BFs of the self-acting nodes, and any other nodes in the network will, continually change, both in terms of the gain function provided within the nodes, as with that gain the BF also changes form because it builds on the tuneable positive feedback loops and self-inhibition loops based on the node's internal state, and in terms of the connectivity structure of the network as learning progresses.
  • learning within the ANN 200 is iteratively performed in an autonomous or semi- autonomous manner independent of any external input being received by the ANN 200 as from time to time, in otherwise, episodic or periodic, spontaneous bursts of activity may occur within the ANN 200 between injections of activity input to the ANN 200, in otherwise, between inputs of external system data. This causes in highly accelerated learning within the ANN 200 across all nodes which receive such spontaneous activity as input. In a fully recursive ANN 200 where each node may form a connection directly with all other nodes in the network to provide input as well as to receive input, the result is that over time, the ANN 200 is able to extract features from subsequently input data in a more generalised manner.
  • the continuous internal learning as a result of the internal spontaneous activity leads to what might be thought of as memories of external system input, in other words, activity input to the ANN, in that the internal representations will remove irrelevant features over time, and what is left will be an abstraction or memory of the essential features of the activity input to the ANN 200.
  • a technical benefit of the disclosed technology is that the BF changes over time, both in terms of its gain in the node (and with that gain the BF also changes form because it builds on tuneable positive feedback loops and self-inhibition based on the node's internal state) and in terms of the connectivity structure of the network as learning progresses.
  • the ANN 200 is a globally recursive ANN model.
  • internally generated spontaneous activity by nodes with a SABF may be the main cause of activation of other nodes in the network, which means that the learning can cause abstraction 'offline', when the ANN is not receiving activity input.
  • This can be considered similar to a form of imagination or cognitive thinking as the machine learning does not need data from outside the ANN to learn with, in other words, there is no need for huge amounts of data to be obtained from the real world or for large amounts of sensory input to be received from the world outside the computer system 110 on which the ANN 200 is executing.
  • the spontaneous activity may drive increasingly abstract representations of previous input, in effect, continuous abstraction of abstractions takes place, which results over time in the ANN generating increasingly more abstract, and accordingly, informationally compact, or compressed representations.
  • the ANN does not need to generate output to one or more other systems, for example to external systems.
  • the ANN is capable of inter-relating different experiences more easily as the different experiences are expressed on the same BF.
  • the CBM 102 comprising one or more SL-ANN 200 according to the disclosed technology is capable of autonomously learning in a very efficient way representations of input data.
  • the representations are not forced on the ANN 200 but are a product of the ANN'S autonomous exploration of mappings between its own internal dynamics and the dynamics of the data injected into the ANN for processing.
  • the mappings generated by the ANN may be partially generates by the ANN from its own internal activity and partly sampled from the outside world through interactions created with that output.
  • mappings when a set of sensory experiences are all mapped to the same evolving BF defined by the independent neuron-internal activity generation, these mappings may become more readily determined and once determined. This can help creating a meaningfully integrated behaviour over time.
  • the disclosed methods further comprise determining mappings between sensed/observed spatiotemporal states of a multi-state system, where the method comprises receiving at an ANN 200 executing on a computer system, time-varying data derived or comprising time-varying sensor data representing one or more sensed states of the multi-state system.
  • the external system may comprise an external state system to the computer the ANN is executing one or a system hosted on the same computer platform as the ANN in some embodiments which is different from the ANN system executing on that platform.
  • a time-step may comprise a time-step of the ANN algorithm or the algorithm for a node or the SABF of the node.
  • the resulting activities by nodes within the ANN will be dominantly synchronised.
  • the spontaneous activity generated by BFs in the network will become dominate over any residual synchronised activities driven by previous network input, and the spontaneous activity generated by self-acting nodes, which may be asynchronously generated, will eventually dominate.
  • the method1600 further comprises generating abstractions of received time-varying activity by updating each node or each populations learning rules for weight updating/connection activity based on at least the internal spontaneous activity within the ANN.
  • the method then comprises the spontaneous activity then propagates within the ANN 200 causing some degree of spontaneous activity generated by one or more or all of other nodes within the ANN.
  • the nodes in the ANN which are indirectly or directly generating spontaneous activity form a dynamic core of the ANN.
  • the method further comprises determining, for a received time-series of time-varying data, when the ANN 200 has adopted a state where at least a plurality, for example, some or all, of the nodes in the ANN, for example at least those nodes which may up the dynamic core of the ANN 200, are generating spontaneous activity, and determining, at this point in time, that the received time-series represents a plurality of equivalent sensed states of the external system (or a series of sufficiently similar sensed states.
  • the spontaneous activity may circulate within a fully recursive ANN 200 differently from a layered ANN with backpropagation.
  • ANNs which have backpropagation require a layered network architecture in which data flows from one layer to the next and the output of each layer is backpropagated.
  • the nodes 216 and populations 218 of the ANN 200 are globally directly or directly connected to each other and do not form a layered hierarchy within the ANN.
  • Branched BFs are created in some embodiments by, when the default dynamic core activity is combined with activity generated by an external or sensory activity input to the ANN 200 and the learning functions applied by nodes in the ANN depend on the relationship between resulting activity within the ANN and the spatiotemporal structure of the external or sensory activity injected into the ANN. This learning results in the brain function model state space being expanded as it will branch out from the main region of nodes 216 in the ANN 200 which from the dynamic core.
  • any spatiotemporal pattern in the external or sensory activities input to the ANN 200 may initiate the ANN developing a structure as the SABF model develops branches in different nodes within the ANN.
  • the nodes 216 in ANN will continue to learn independently and subsequently if spatiotemporal activity input is received subsequently by the ANN when the ANN already has some structure due to the previous learning, then the BF model branching continues and depend on in which part of the network state space the ANN 200 is in when the spatiotemporal sensory input occurs.
  • the ANN 200 may be capable of re-experiencing previous sensory activity data or other types of external (to the ANN) activity data. In this sense, the ANN 200 may imagine or re-experience previously provided sensory experience without needing the actual sensory data to be provided again.
  • the nodes in the dynamic core have a learning function which is dependent on the relationship between the internal node-to-node activity.
  • This internal activity may comprise one or both of spontaneous activity and ANN input driven activity, in other words, the sensory/external data activities received by the ANN.
  • the learning function of the node in the dynamic core may also depend on the spatiotemporal structure of the received external/sensory input which updates the BFs of the nodes forming the dynamic core over time.
  • the dynamic core prior to triggering spontaneous activity within the ANN, is unstructured and subsequently learnt abstractions of spatiotemporal patterns of the sensory input initiates structuring or restructuring of the ANN by driving the BFs of the other nodes in the ANN to generate spontaneous activity.
  • the structuring/re-structuring of the ANN results in BFs of the other nodes of the ANN generating spontaneous activity dependent on which part of the ANN state space the ANN is in when spatiotemporal input occurs.
  • the representations of input which are learnt by the ANN become more relatable as the differences between each state space adopted by the ANN responsive to received input become shorter.
  • the location of the dynamic core within the ANN is updated.
  • the term dynamic core may refer to all nodes 400 which are internally updating their learning functions based on spontaneous activity in some embodiments and so includes both self-acting nodes with SABFs and nodes 600 with non-SABFs.
  • the location of the dynamic core within the ANN accordingly may provide a form of persistent memory of the time-series of external/sensory data received by the ANN after input of the time-series of external/sensory data has ceased. In some embodiments, however, all of the ANN nodes may be directly self-acting.
  • Figure 17 shows schematically an example method 1600 performed by a self-learning computer system 110 according to some embodiments of the disclosed technology.
  • an example embodiment of a method 1600 comprises operating the self-learning computer system 110 to perform learning using a SL-ANN 200 of a CBM 102 according to the disclosed technology.
  • the learning may comprise accelerated learning using an embodiment of the CBM 102 according to the disclosed technology.
  • the computational brain model comprises at least one self-learning artificial neural network, ANN, 200 configured with a plurality of nodes 216, at least one of the nodes 216 being a directly self-acting node 400.
  • the CBM 102 may also comprise one or more other ANNs which are not self-learning or not directly self-learning in that they may not contain any self-acting nodes 400.
  • the method 1600 comprises iteratively executing an ANN algorithm on the self-learning computer system 110 to implement the ANN 200, wherein each iteration started in 1702 comprises generating, in 1704, BF activity using a SABF of each at least one self-acting node 400, and accumulating in 1706 negative activities within the BF until a discharge condition is met, and checking if the discharge condition is met in, wherein, responsive to the discharge condition being met and the excitatory activity being discharged in 1709, the method further comprises the BF of the self-acting node 400 spontaneously generating an activity in 1710; and at least some of the plurality of nodes 400, 600 of the ANN 200 individually updating their learning rules for applying weights responsive to the spontaneous activity propagating within the ANN.
  • the learning functions will act on the spontaneous activity which is present in the ANN even when there is no primary input to the ANN to update learning rules which causes a new weight or a weight update to be output by the learning unit 324 and provided as a weight-update 608 to the weight unit 304.
  • the weight unit 304 may then modify each current weight using its weight update or overwrite the current weight with a new weight.
  • step 1712 may occur in different later iterations of the ANN 200 for certain nodes.
  • the method 1600 further comprises, from time to time the ANN 200 receiving primary input (214) and updating, individually by each node of the plurality of nodes 400, 600 of the ANN 200 their learning rules for applying weights responsive to the spontaneous activity propagating within the ANN and activity propagating within the ANN driven by or comprising the primary input (214) to the SL-ANN 200.
  • the method 1600 further comprises updating, from time to time, one or more learning rules of the plurality of nodes 400, 600 using activity dominantly driven by primary input 214 to the SL-ANN 200.
  • the method 1600 further comprises initially generating spontaneous activity output by at least one of the at least two self-acting nodes 400 which is asynchronous with the spontaneous activity output by at least one other node of the at least two self-acting nodes of the ANN 200.
  • the ANN will evolve as a result of the spontaneous activity circulating within.
  • the spontaneous activity output by at least one of the at least two self-acting nodes 400 will be dominated by the activity within the ANN driven by the external input to the ANN.
  • all of the self-acting nodes in the ANN may independently returned to generating spontaneous activity, which may be generated asynchronously with each other.
  • the steps shown in Figure 17 provide a high-level representation of the method 1600. Each step illustrated may involve multiple sub-steps and processes that are executed by the ANN and the computer system on which it operates according to the above disclosed technology.
  • Figure 18 shows schematically an example computer-program product for implementing the method 1600 according to some embodiments of the disclosed technology.
  • the computer-program product may comprise computer code 120a, 120b for implementing an example embodiment of method 1600.
  • the computer code may be provided using software and/or using hardware or circuitry or both.
  • the computer-program product is embedded into an apparatus or hardware on comprising computer system 1 10 on which the ANN 200 is executing.
  • An example of such an apparatus comprises a computer system 1 10 as disclosed herein, an external system 202, for example an electromechanical robot, and a sensor system 204 comprising one or more sensors, for example, comprising at least one array of sensors, for example, sensors which may be mounted on or in a surface of the robot.
  • the apparatus is configurable to provide modified sensory data, for example data derived from or comprising sensory data generated by at least one array of sensors which form sensor system 204 for sensing a state of the external system 202, as the primary input 214 to the SL-ANN 200.
  • the SL-ANN 200 of the computer system 110 is configured over time at least in part by the spontaneous activity generated by one or more of self-acting nodes 400, 600 to adopt a network state space configuring the SL-ANN as a self-acting ANN which is capable of spontaneously generating ANN output 220.
  • the computer system 110 responsive to receiving spontaneously generated ANN output 220, the computer system 110 spontaneously generates computer system output which is used by the apparatus to update a state of the multi-state system.
  • the apparatus comprises a robot or robot arm and each state of the external system comprises an individual configuration of one or more or all of: a mechanical, visual, or audible behavioural element of the robot.
  • learning acceleration is provided as a result of the nodes in the dynamic core sharing a common BF and impacting the activity output of some or all of the nodes 216 in the ANN 200 at least to some degree.
  • Figures 17 and 18 illustrate the dynamic process of learning within the ANN, highlighting the autonomous generation of activities and the continuous adaptation of learning rules based on the system's internal activity and external inputs.
  • Figure 19 comprises an example embodiment of a method 1900 for operating a computer system comprising an embodiment of the CBM 102 disclosed herein.
  • the CBM 102 comprises at least one SL-ANN 200 configured to be capable of acting as a self-acting ANN according to any of the disclosed embodiments.
  • the method 1900 comprises generating spontaneous NOA 318, may be SONA 412 including SONA 412 from driven spontaneous activity 500, by at least one self-acting node, such as a DSA node 400, within the plurality of nodes 216 of an ANN 200 independently of primary input 214 in 1902 and updating, based on learning within the network by nodes, a network state space of the ANN 200 using on the spontaneous activity generated by the at least one self- acting node in 1904.
  • a self-acting node such as a DSA node 400
  • the ANN network space may evolve to a state where the ANN generates a spontaneous ANN output 220 in 1908, in other words, the ANN becomes a self-acting ANN 200.
  • this spontaneous ANN output 220 from the ANN 200 will trigger the computer system 110 in 1910 to output system output 1 12, in 1908.
  • the computer system may control the external systems 202 more efficiently based on the spontaneous ANN output.
  • the steps shown in Figure 19 provide a high-level representation of the method 1900. Each step illustrated may involve multiple sub-steps and processes that are executed by the ANN and the computer system on which it operates according to the above disclosed technology.
  • Figure 20 shows schematically an example computer-program product 2000 for implementing the method 1900 according to some embodiments of the disclosed technology.
  • the computer-program product may comprise computer code 120a, 120b for implementing an example embodiment of method 1900.
  • the computer code may be provided using hardware or circuitry, and the computer-program product 2000 may be embedded into an apparatus or hardware on comprising computer system 1 10 on which the ANN 200 is executing.
  • an apparatus on which the ANN 200 may execute comprises a self-acting apparatus.
  • the self-acting apparatus comprises the computer system 110 configured with the CBM 102 comprising at least one SL-ANN 200 capable of acting as a self-acting ANN, 200 according to the disclosed technology.
  • the self-learning ANN 200 comprises a plurality of nodes 216, at least one of the nodes 216 comprising a directly self-acting node 400 configured to autonomously generate spontaneous activity responsive to a trigger event.
  • the method 2100 for data abstraction in a self-learning artificial neural network, ANN, 200 executing on a computer system 1 10 comprises: receiving 2102, in an ANN 200 comprising a plurality of interconnected nodes, time-varying primary input(s) 214, wherein the ANN 200 is configured to generate spontaneous activities within at least one self-acting node 400 of the ANN, said self-acting node comprising a SABF configured to produce said spontaneous activities independent of the received primary input comprising time-varying data, propagate the spontaneous activities within the ANN 200) to influence activity in other nodes 216, 600 to create a dynamic core comprising nodes 400, 600 within the ANN 200 generating spontaneous activity, and learn to update weights within the nodes 216, 400, 600 of the ANN based the spontaneous activities, thereby accelerating learning within the dynamic core; learning 2108 updated weights by the plurality of nodes 216, 400, 600 of the ANN 200 from the received timevarying primary input 214 to the ANN 200, and abstracting 2310 features
  • the learning by each node 216, 400, 600 of the plurality of nodes 216, 400, 600 in the ANN 200 comprises each node 216, 400, 600 deriving 21 12 at least some of the internal activity of that node from spontaneous activities of the dynamic core of the ANN 200); and correlating 2114 one or more individual activities respectively received along one or more connections by that node with the internal activity of that node, wherein the received one or more individual activities are derived from or comprise the time-varying input to the ANN 200.
  • the method comprising receiving time-varying primary input(s) 214 in 2102, generating spontaneous activities within at least one self-acting node 400 of the ANN 200 in 2104, said self-acting node comprising a SABF configured to produce said spontaneous activities independent of the received primary input comprising timevarying data, propagating in 2106 the spontaneous activities throughout the ANN 200 to influence activity in other nodes, thereby creating a dynamic core within the ANN 200 where spontaneous activity is prevalent or dominant, updating learning rules and connection weights within the nodes 216, 400, 600 of the ANN based on the spontaneous activities in 2108, thereby facilitating accelerated learning within the dynamic core, and abstracting features from the received time-varying primary input(s) 214 in 21 10.
  • activity driven by the time-varying data received by the ANN may propagate through nodes 216 in the network in synchrony and this activity may dominate any spontaneous activity within the dynamic core.
  • This combination of externally driven activity with the internally driven spontaneous activity results in the acceleration of the learning capability of the ANN 200, to abstract data features represented in subsequent primary input 214.
  • the ANN will continue to learn. This has the technical benefit of maximising the learning that can be obtained from a single input event which injects data into the ANN, as each input will influence how and be influenced by how self-acting nodes have processed spontaneous activity. Instead of requiring a large volume of training data, and training the system for a long time, learning can be accelerated.
  • the steps shown in Figure 21 provide a high-level representation of the method 2100 or data abstraction in a SL-ANN. Each step may involve multiple sub-steps and processes that are executed by the ANN and the computer system on which it operates according to the above disclosed technology.
  • Figure 22 shows schematically an example computer-program product 2200 for implementing the method 2100 according to some embodiments of the disclosed technology.
  • the computer-program product may comprise computer code 120a, 120b for implementing an example embodiment of method 2100.
  • the computer code may be provided using hardware or circuitry, and the computer-program product 2200 may be embedded into an apparatus or hardware on comprising computer system 110 on which the ANN 200 is executing.
  • the method 2100 may be implemented by the computer system 110.
  • FIG 23 shows schematically an example embodiment of the CBM 102 according to the disclosed technology.
  • the CBM 102 illustrated in Figure 23 comprises a SL-ANN 200 which is capable from time to time of being a self-acting ANN 200 according to the disclosed technology.
  • the SL-ANN 200 illustrated in Figure 23 comprises a plurality of nodes 216 having a system architecture 2300 which is configured to ingest information from a plurality of sensors S1...Sn of sensor system 204.
  • the sensor system 204 generates sensory data by sensing one or more characteristics of external system 202 which are received by pre-processor(s) which form external input source(s) 212, shown here as individual processors P1...Pm. It will be appreciated that the number of sensors m may differ from the number of preprocessors n in some embodiments.
  • each input node 2304, N1...Nn, of the ANN provides activity representing modified sensory data from one or more pre-processors to internal nodes 2306, Nn+1 to Nn+x, of the ANN 200.
  • Each internal ode 2306 is capable of transferring activity to any other one of the internal nodes 2306.
  • activity output by a node 2304, 2306 is provided to a node activity output buffer 326, also referred to herein as buffer 326.
  • the buffer 326 may take any suitable form of memory capable of storing output activity which can be read from to obtain values of output activity at various different times, in some embodiments, the buffer 326 is implemented as a cyclical buffer.
  • Some embodiments of the CBM 102 comprising the SL-ANN 200 use an array 2302 of input nodes 2302 whose output activity transfers the modified sensory data provided as the primary inputs 214 from the pre-processing performed either by the sensor system 204 or by some other external input source 212 or by the computer system 110 to internal nodes 2306 of the SL-ANN 200 which comprise nodes 216, 400, 600 which are deeper in the node architecture of the SL-ANN via output buffer 326.
  • the computer system 1 10 components used for executing the ANN algorithm iteratively are shown in Figure 1 , although there are additional requirements such as sufficient long term and short-term memory resources and power requirements not shown (or not shown in detail in Figure 1) which would be apparent to anyone of any skill in the art to provide.
  • the overall structure allows for parallel processing of information through multiple nodes while maintaining diverse temporal relationships in the data flows between nodes and the node activity output buffer 326 shown in Figure 23 is just one example of a mechanism to replicate connection latency or activation activity propagation delay along connections 300, 320 between nodes 216 of the ANN 200.
  • Figure 23 shows only by way of example a couple of connections or directed edges being implemented with latencies between input nodes and internal nodes.
  • the example shown may be extended to a N-dimensional representation depending on the number of nodes N in the ANN and the number of connections.
  • the ANN is configured as a recurrent ANN which implements local learning.
  • a plurality of ANNs may be connected in a hierarchical manner to form a recursive ANN network.
  • internal nodes 2306 may comprise at least one DSA node 400 and at least one other node, for example, a IDSA node 600 so that a dynamic core can be generated in the SL- ANN 200 according to the disclosed technology.
  • some embodiments of the disclosed technology may pre-process received sensory data to generate a plurality of input data streams depending on the sign of deviation from its set point, e.g. whether in any iteration the sensory input is above or below its set-point.
  • some embodiments of the disclosed technology provide two streams of positive amplitude activity values only where one stream represents only positive values, and one stream represents only negative values. Both streams propagate in the network as activities having values equal to or greater than zero.
  • the output of input nodes 2304 may comprise pairs of sensory data streams, each of which is provided along a different connection to a node to the same target internal node, each representing a positive or negative deviation of a data feed or stream of sensory data 206 from a particular set-point. For both streams, a deviation of zero accordingly indicates the external system 202 has been sensed in its goal or target state.
  • the nodes 216 which form nodes 2304 and 2302 of the ANN 200 accordingly receive two streams of modified sensory stream, each representing sensor data deviations from a target sensory data state. It is also possible, in an alternative embodiment, to receive sensor data from a sensor and process this to determine a current state of the target external system, and to determine from this the deviation of the external system s state from its target state. This may be used to form the pairs of activity instead in some embodiments where it may be more desirable to possibly reduce the amount of post-processing required to relate the output of the ANN to the external system 's target state, although at the cost of incurring an additional pre-processing delay.
  • the computer system 110 disclosed herein above may be provided on-board the external system 202 or be embedded partially on the external system 202 in some embodiments.
  • Examples of external system s which may be sensed for determining inferences about one or more characteristics of the external system, such as what it is, or for generating control information to control the external system include a robot, a data network, communications network or other form of physical network, a device, a field of view or a video image, or any other system having a spatiotemporal state.
  • References to an external system or external system herein refer to any suitable system which can be sensed for which the sensory data obtained is input into the ANN, in other words, the external system is external to the ANN system. It is nonetheless possible, in some embodiments, for the sensors providing the ANN input to be part of the external system. In some embodiments a plurality of sensors forms sensor system 204.
  • the plurality of sensors may include one or more individual sensor(s) S1...Sm which are part of, in other words, intrinsic to, the external system 202 and/or one or more individual sensor(s) S1...Sm which are extrinsic to the external system and merely observe the external system.
  • the sensors have known positions relative to each other and the sensor system forms a spatial sensor array.
  • the sensors are of different types, for example, various types of imaging sensors may comprise thermal, depth, and visible light camera-based sensors and some may be event cameras.
  • one or more of the different types of sensors have different types of modalities. For example, a mix of different imaging sensors, audio sensors, vibration sensors, gyroscopic sensors, positioning sensors, e.g. GPS or another type of location sensor, or proximity sensors, etc. etc. may be used in some embodiments of the disclosed technology.
  • sensors are of the same type and modality, they may still provide different sensory input to the model, each representing a different characteristic of a state of the external system, for example, different frequencies of input.
  • the CBM 102 shown schematically in part in Figure 23 may implemented in a variety of different ways, using one or more hardware and/or software components and configurations which may differ from the implementation shown in Figure 23 as would be apparent to anyone of ordinary skill the art.
  • only one preprocessor is shown in Figure 23 receive sensory data from a sensor and only providing this to each input node 2304.
  • the computational structure of input nodes 2304 may be the same as the other nodes 2306 in the network in some embodiments but the BFs and active edges along which activity may be output or received are configured differently for input nodes 2302 N1 to Nn of ANN 200.
  • Figure 24 illustrates schematically an embodiment where a node 216 comprises a learning unit 324 configured to use a plurality of learning functions 606, shown here as an inhibitory learning function 606a and an excitatory learning function 606b to update its incoming activity weights W1.... Wn+m.
  • the node 216 may be a self-acting node or another type of node of the SL-ANN 200.
  • the node 216 is configured to receive incoming activity inputs 302a...302n+m along a number of individual respective incoming activity connections 300a....300n+m, where n is the number of excitatory incoming activity inputs and m is the number of inhibitory incoming activity inputs. Both the number of excitatory incoming activity inputs and the number of inhibitory incoming activity inputs may evolve over time. Only incoming activity connection 300a is labelled in Figure 24 for the sake of clarity.
  • Figure 24 illustrates how an example of the CBM 102 according to the disclosed technology implements learning by updating the weight W1 for example, which is applied to received incoming activity input 302a depending on whether its source, shown here as node 216, is excitatory or inhibitory.
  • nodes 316a, b..., n are sources of excitatory activities which form incoming activity input 302a, b..., n
  • nodes 216n+1...216n+m are sources of inhibitory activity.
  • Each node 216 of the SL-ANN 200 receives incoming activity input 302 which is derived from time to time directly or indirectly as primary input 214 as well as activity provided directly or indirectly as spontaneous or continuous output by self-acting nodes 400.
  • each feed or stream of sensory data 206 is pre-processed to determine its deviations from a set-point and used to form two-separate modified sensory data streams comprising primary input(s) 214 to the nodes 216.
  • One primary input 214 comprises positive deviations of the modified sensory data from a set-point associated with that particular data feed or stream of sensory data 206 and the other primary input 214 comprises activity representing negative deviations of the modified sensory data from the same set-point.
  • a set-point is based on the sensory data that would be received if the sensed external system 302 has a state which matches the goal or target state for that point in time. In some embodiments where the goal or target state changes over time, the set -point associated with that goal or target state will also change over time.
  • no sensory data 206 may be output by that sensor to drive primary input into the SL-ANN 200 once that sensory data 206 has reached its set-point.
  • activity driven within the SL-ANN 200 by primary input 214 will cease if that is the only sensor whose data is used to provide primary input 214.
  • the sensory system 204 comprises a plurality of sensors providing sensory data as separate primary inputs 214, until all of the sensory data 206 reaches its set point(s), primary input(s) 214 to the ANN will continue.
  • SONA 412 propagating within the SL-ANN 200 driven by activity derived from the BFOA 314 comprising SONA from DSA nodes 400 and the BFOA 314 comprising IDSONA 610 from IDSA nodes 600.
  • the weight unit is configured to updates weights W1..Wn using output 608a of the excitatory learning function module 606a of learning unit 324, 606 and the weight unit is configured to update weights Wn+1 using the output 608b of the inhibitory learning function module 606b of learning unit 324, 606.
  • the excitatory learning function operates on the unweighted activity of each connection whose weight will be updated by its output, a combination, for example, a sum, of weighted activity of the same type as the activity for which an individual weight is being updated, and NOA 318 output by the BF 312 of the node 216, which may be a self-acting SABF 404 if the node is a self-acting node 400.
  • the NOA 318 of the BF 312, 404 may be thresholded in some embodiments before it is used as input to the inhibitory and excitatory learning functions 606a, 606b.
  • the two learning functions may be different, in other words the inhibitory learning function may comprise different operations on its inputs from the excitatory learning function in some embodiments.
  • the self-learning or acting ANN 200 of the self-acting computer system 110 autonomously internally generates activities which provides continuous weight adaptation using independent local neuron learning rules, which may include zero weights to be adopted or for another mechanism to be used to disconnect activity between two nodes.
  • Each self-acting node 400 has a SABF 404 whose output may cause weights to be internally updated even when that node has not received any incoming activity input 302 and may cause node output activity, NOA, 318 to be injected spontaneously into the SL-ANN 200.
  • NOA 318 from self-acting nodes 400 which propagates with the SL-ANN 200 is provided as incoming activity input to other self-acting nodes 400 and non-self-acting nodes 216, in other words nodes without a SABF, to update their weights, and so on, resulting in further network activity propagating within the SL-ANN 200.
  • This spontaneous and on-going network activity may result also in the network architecture evolving as connections between nodes are formed and removed. The spontaneous and on-going network activity is supplemented whenever there is primary input to the SL-ANN 200.
  • the SL-ANN 200 of the CBM 102 may be configured to self-regulate its operation using correlations or mismatches between internally driven neural activity trajectories within the computational model representing the SL-ANN 200 and the sensory data the SL-ANN 200 is processing.
  • the internal so-called spontaneous activity output by a self- acting node 400 which is derived from its SABF will remain but may diminish in amplitude as time goes by from the last primary input to the SL-ANN 200.
  • This internal activity will propagate to other nodes within the SL-ANN 200 and thus forms an activity trajectory along which inter-nodal activity flows within a region of the SL-ANN 200.
  • this activity trajectory may provide a good approximation of the trajectory established by the last primary activity injected into the SL-ANN 200. Over time, however, the activity trajectory will evolve as the influence of the last primary input on the activity trajectory diminishes.
  • These changes to the trajectory over time provide an abstraction process. If the abstraction process results in a representation internally within the SL-ANN model 200 which causes an ANN output 220 and the representation provides a good explanation of a sensed or subsequently external system state of the external system 202, the resulting system output 112 should cause the state of the external system 202 to be restored to its goal or target state or to remain in by effectively pre-emptively restoring it to its target or goal state.
  • the functions or steps noted in the blocks can occur out of the order noted in the operational illustrations.
  • two blocks shown in succession can in fact be executed substantially concurrently or the blocks can sometimes be executed in the reverse order, depending upon the fu notional ity/acts involved.
  • the functions or steps noted in the blocks can according to some aspects of the disclosure be executed continuously in a loop.
  • a computer-readable medium may include removable and non-removable storage devices including, but not limited to, Read Only Memory (ROM), Random Access Memory, RAM), which may be static RAM, SRAM, or dynamic RAM, DRAM.
  • ROM may be programmable ROM, PROM, or EPROM, erasable programmable ROM, or electrically erasable programmable ROM, EEPROM.
  • Suitable storage components for memory may be integrated as chips into a printed circuit board or other substrate connected with one or more processors or processing modules, or provided as removable components, for example, by flash memory (also known as USB sticks), compact discs (CDs), digital versatile discs (DVD), and any other suitable forms of memory.
  • memory may also be distributed over various forms of memory and storage components and may be provided remotely on a server or servers, such as may be provided by a cloud-based storage solution.
  • program modules may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • Computer-executable instructions, associated data structures, and program modules represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps or processes.
  • any suitable device readable and/or writeable medium examples of which include, but are not limited to: any form of volatile or non-volatile computer readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory
  • Memory may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, etc. and/or other instructions capable of being executed by processing circuitry and utilized by the apparatus in whatever form of electronic device. Memory may be used to store any calculations made by processing circuitry and/or any data received via a user or communications or other type of data interface. In some embodiments, processing circuitry and memory are integrated. Memory may be also dispersed amongst one or more system or apparatus components. For example, memory may comprise a plurality of different memory modules, including modules located on other network nodes in some embodiments.
  • a method for data abstraction using a computational brain model, CBM including at least one self- learning artificial neural network, ANN, comprising a plurality of inter-connected nodes, whilst the CBM is executing on a computer system, wherein the SL-ANN is configured with at least one self-acting node comprising a self-acting BF, SABF, configured to produce spontaneous activity comprising perpetual base-function internal activity, PBFIA, independent of primary input to the SL-ANN whilst the CBM is executing, wherein the SL-ANN receives from time to time primary input comprises one or more primary inputs comprising time-varying data representing a real-world state of an entity whilst the CBM is executing, the method comprising: receiving, at a time-step, in a SL-ANN, primary input comprising time-varying data; iteratively forming a series of network states in the SL-ANN based on the received primary input, wherein each iteration forms a network state of the SL-
  • Clause 2 The method of clause 1 , wherein the method further comprises: repeatedly generating one or more abstract representation using the SONA not driven by the primary input to the SL-ANN, wherein the one or more abstract representations become increasingly more abstract as time passes from the last primary input to the SL-ANN.
  • Clause 3 The method of clause 1 or 2, further comprising: generating ANN output driven by the SONA within the SL-ANN; and using the generated ANN output to cause system output to be provided by the computer system to an external system.
  • Clause 4 The method of clause 3, wherein the primary input comprises sensory data associated with a sensed state of the external system.
  • method further comprises: generating or using the system output to generate, one or more control activities for controlling one or more actuators configured to cause one or more actuatable components of the external system to update the state of the external system.
  • Clause 6 The method of claim 5, wherein the sensory data is generated by one or more sensors of a sensor system, wherein at least one sensor comprises an actuator configured to cause one or more actuatable components of the external system to update the state of the external system.
  • Clause 7 The method of claim 6, wherein the at least one sensor is a component of the external system.
  • Clause 12 The method of claim 11 , wherein the type of activity received along an incoming activity connection is either inhibitory or excitatory, wherein the learning function for updating the weights applied to inhibitory incoming activity inputs is different from the learning function for updating the weights applied to excitatory incoming activity inputs.
  • Clause 16 The method of any one of the previous clauses, further comprising generating an ANN output not driven by primary input to the SL-ANN when the SL-ANN has a network state comprising an abstracted representation of a previous primary input.
  • Clause 17 The method of the clause 16, wherein the previously received primary input comprises time-varying data representing one or more states of a real-world external system and wherein the ANN output is configured to influence the state of the external system or drive other real-world activity influencing the state of the external system.
  • Clause 18 The method of any one of the previous clauses, wherein repeatedly performing the method causes the SL-ANN to autonomously learn weights using SONA generating and propagating within its dynamic core which configures the SL-ANN to be capable of abstracting data features from subsequent primary input to the SL-ANN.
  • a self-learning apparatus comprising a computer system, the computer system being configured to perform data abstraction using a self-learning artificial neural network, ANN, comprising a plurality of inter-connected nodes executing on the computer system, the computer system comprising: a processor configured to execute the ANN and process primary input comprising time-varying data; a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the apparatus to perform operations comprising the steps of any one or more of the method clauses.
  • ANN self-learning artificial neural network
  • a self-learning apparatus comprising a computer system, the computer system being configured to perform data abstraction using a self-learning artificial neural network, ANN, comprising a plurality of inter-connected nodes executing on the computer system, the computer system comprising: a processor configured to execute the ANN and process primary input comprising time-varying data; a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the apparatus to perform operations comprising: .receiving, in the ANN comprising a plurality of inter-connected nodes, primary input comprising time-varying data, wherein the ANN is configured to: generate spontaneous activities within at least one self-acting node of the ANN, said self-acting node comprising a SABF configured to produce said spontaneous activities independent of the received primary input comprising time-varying data; propagate the spontaneous activities within the ANN to influence activity in other nodes to create a dynamic core comprising nodes within the ANN generating spontaneous activity; and learn to update weights within the nodes of the ANN
  • Clause 21 The apparatus of the clause 20, wherein the operations performed by the apparatus further comprise generating an output from the ANN based on the abstracted features and the spontaneous activity.
  • Clause 22 The apparatus of the clause 21 , wherein the received primary input comprising time-varying data represents one or more states of an external system, and wherein the output from the ANN is configured to influence the state of the external system or drive other real-world activity.
  • a computer system for data abstraction using a self-learning artificial neural network, ANN, executing on the computer system comprising: a processor configured to execute the ANN and process primary input comprising time-varying data; a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the apparatus to perform operations comprising: generating spontaneous activities within at least one self-acting node of the ANN, the self-acting node including a SABF configured to produce the spontaneous activities independent of the received primary input comprising time-varying data; propagating the spontaneous activities throughout the ANN to influence activity in other nodes, thereby creating a dynamic core within the ANN where spontaneous activity is prevalent or dominant; updating learning rules and connection weights within the nodes of the ANN based on the spontaneous activities, thereby facilitating accelerated learning within the dynamic core; and abstracting features from the received primary input comprising time-varying data by synchronizing the spontaneous activity within the dynamic core to accelerate the learning capability of the ANN to abstract data features represented in subsequent input.
  • a processor configured to execute the ANN and
  • a self-acting computer system configured to spontaneously generate system output using a computational brain model, the computational brain model comprising: at least one self-acting neural network, ANN, wherein the ANN comprises a plurality of nodes, at least some of the nodes comprising self-acting nodes configured to output spontaneous activity, wherein the self-acting ANN is configurable at least in part by the spontaneous activity output by the one or more of the self-acting nodes to adopt a network state space which spontaneously generates ANN output, responsive to which the computer system generates spontaneous system output to one or more external systems, and wherein, at least one self-acting node comprises a SABF configured to generate BF activities whilst the self-acting ANN iteratively executes on the computer system.
  • ANN self-acting neural network
  • the ANN comprises a plurality of nodes, at least some of the nodes comprising self-acting nodes configured to output spontaneous activity
  • the self-acting ANN is configurable at least in part by the spontaneous activity output
  • Clause 25 The self-acting computer system of the clause 24, wherein the ANN has been previously trained on sensory data, and subsequent spontaneous system output from the computer system drives the one or more external systems to remain in or close to a target or goal state.
  • Clause 26 The self-acting computer system of the clause 24 or 25, wherein the ANN has been previously trained on sensory data, and subsequent spontaneous system output from the computer system drives the one or more external systems to revert to a target or goal state.
  • Clause 27 The self-acting computer system of the clause 26, wherein the sensory data is multi-modal and the spontaneous output from the computer system is driven by the strongest of mode of sensory input to revert the external system to a target or goal state for the strongest mode of sensory input.
  • Clause 28 The self-acting computer system of any of the clauses 24 to 27, wherein the external system is driven to adopt a target or control state using actuators configured to response to control activities comprising or derived from the output of the system.
  • Clause 30 The self-acting computer system of the clause 29, wherein the weight unit is configured to apply, based on a weight function, to each activity received along one or more connections with that node, a weight to the received input activity to generate a plurality of weighted input activities; the input combiner is configured to apply a combiner function to the plurality of weighted input activities to generate a combined weighted input activity; and the SABF is configured to process the combined weighted input activity and a time-derivative of the combined weighted input activity to generate a BF activity, wherein the BF generated activity is fed iteratively back to be re-processed by the BF as the ANN is iteratively executed on the computer system.
  • each self-acting node comprising a SABF is capable of generating activity asynchronously from the output generated by other nodes (216, 400, 600) of the ANN (200).
  • Clause 32 The self-acting computer system (110) of any one of clauses 24 to 31 , wherein at least one IDSA node (600) generates spontaneous activity output responsive to receiving spontaneous activity from a self-acting node having a SABF.
  • the SABF (404) comprises: a first activity processing component (908) configured to generate a first processing activity (910) by processing: a received input activity (902) comprising one or both of the combined weighted incoming activity input activity (310) generated by based on input received by an input combiner (308) of that self-acting node and a time derivative of a combined weighted incoming activity input activity (310) previously generated by the input combiner (308) of that self-acting node (400); a feedback activity (928) received from the BF combiner (918) as a result of the BF combiner processing data in a previous time-step; and if a discharge condition is met, a negative discharge activity (924) received from a negative activity accumulator (922); a second activity processing component (914) configured to generate a second processing activity (916) by processing: input comprising the first processing activity (910) from the first processing component (908); and a feedback activity
  • each self-acting node (400, 600) further comprises an output function processing unit configured to determine if the BF output activity potential activity (920) meets at least a threshold for an output, NOA, (318) to be generated in each iterative time-step of the ANN 200.
  • each self-acting node (400, 600) further comprises a learning processing component (606), wherein the learning update component (606) is configured to process either the BFOA 314, which may comprise SONA 412, or a activity derived from the BF activity output activity to generate a learning update activity update the values acted on by the learning and connectivity functions of that node, and wherein the updated learning and connectivity rules are provided as a learning update activity to the weight unit (304) and to update one or both of: the weight function applied to activities received along one or more connections with the node; and the one or more connections (300a, b, c, d) with other nodes of the ANN and/or from external input sources along which activity is received by that node (400).
  • each node configured to contribute to the system output further comprises a system output contribution threshold function component configured to determine if the BF activity potential activity (920) meets a threshold for contributing to the system output (1 12) and, if so, outputs the BF activity contribution.
  • each directly self-acting node has a SABF configured to iteratively generate BF activities whilst the self-acting ANN iteratively executes on the computer system.
  • Clause 43. The self-acting apparatus of any one of clauses 40 to 42, wherein the BF activity generated within that self-acting node drives the self-acting node to autonomously generate a spontaneous activity, and wherein the spontaneous activity is output by the directly self-acting node to at least one other node of the plurality of nodes to act as an IDSA node and spontaneously generate an activity.
  • Clause 44 The self-acting apparatus of any one of the clauses 40 to 43, wherein the self-acting ANN is configured at least in part by the spontaneous activity generated by one or more of self-acting nodes to adopt a network state space which spontaneously generates ANN output causing the computer system to spontaneously generate system output.
  • a computer-implemented method for operating a computer system comprising a computational model of a self-acting ANN, the computer-implemented method comprising: generating spontaneous activity, for example, SONA, by at least one self-acting node within the plurality of nodes independently of external input; and updating, based on learning within the network by nodes, a network state space of the self-acting ANN using on the spontaneous activity generated by the at least one self-acting node.
  • spontaneous activity for example, SONA
  • Clause 46 The method of the clause 45, further comprising: generating an ANN output based on the updated network state space, and causing the generation of system output to one or more external systems by the computer system based on the ANN output.
  • Clause 47 An apparatus comprising means configured to implement the method of either the clause 45 or the clause 46.
  • Clause 48 A real-world multi-state entity comprising an external system configured to be controlled by the self-acting computer system according to any one of the clauses 24 to 39.
  • Clause 50 The multi-state entity of the clause 49, wherein the technical data set comprising physics metrics comprises one or more time-series sensor readings or data derivable from sensor readings.
  • Clause 51 The multi-state entity of the clause 50, wherein the sensors providing the readings comprising one or more: audio sensors, image sensors, video sensors, temperature sensors, vibration sensors, gyroscopic or point sensors, ambient light sensors, position sensors, for example, GPS positioning sensors, light sensors, event-based camera sensors.
  • the sensors providing the readings comprising one or more: audio sensors, image sensors, video sensors, temperature sensors, vibration sensors, gyroscopic or point sensors, ambient light sensors, position sensors, for example, GPS positioning sensors, light sensors, event-based camera sensors.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

A self-acting computer system (110) IS configured with a computational brain model, CBM,(102) comprising at least one self-learning artificial neural network, SL-ANN, (200), where the SL-ANN (200) comprises: a plurality of nodes (216), at least one of the nodes (216) comprising a directly self-acting node (400) configured to autonomously generate on-going perpetual BF internal activity, PBFIA, (406) and cause spontaneously output node activity, SONA, (412) to be output to the SL-ANN (200) which is driven by both: incoming activity input (302) received by the self-acting node (400); and the PBFIA (406) generated by the self-acting node (400), wherein the incoming activity input (302) is driven by activity propagating within the SL-ANN (200) derived from or comprising primary input (214) to the SL-ANN (200) and/or by SONA (412) output by other DSA nodes (400) or IDSA nodes (600) of the SL-ANN, wherein the primary input (214) to the SL-ANN (200) comprises data representing a sensed state of an entity, wherein the SL-ANN (200) is configured over time at least in part by SONA (412) generated by one or more self-acting nodes (400) and zero or more IDSA nodes (600) to adopt a network state space configuring the SL-ANN (200) as a self-acting ANN which is capable of spontaneously generating ANN output (220) The SL-ANN has a time-varying spatial region comprising a dynamic core where SONA (412) is dominant over node output activity comprising or driven from primary input (214) to the SL-ANN (200), and responsive to receiving spontaneously generated ANN output (220), the self-acting computer system (110) spontaneously generates computer system output (112) which causes an update to a sensed state of the entity.

Description

A SELF-LEARNING ARTIFICIAL NEURAL NETWORK AND RELATED ASPECTS
TECHNICAL FIELD
The disclosed technology relates to the field of artificial neural networks for implementing a form of artificial intelligence, in particular but not exclusively, to a self-learning artificial neural network, or SL-ANN. In particular, but not exclusive, to a SL-ANN forming part of a computational brain model for adapting the state of a physical entity or system towards a goal or target state. The computational brain model may be configured to act on more than one mode of sensory data generated by detecting or sensing a state of the physical entity or system and uses activity driven internally by nodes, referred to herein as self-acting nodes, when there is no sensory data input to the SL-ANN to drive weight learning.
BACKGROUND
Feature abstraction and feature extraction using ANN-based systems are well known in the art. Conventionally, feature extraction, and abstraction, are performed by training an ANN using a set of data so that the ANN learns to decompose subsequent data and how to weight the features which result from such decomposition.
Most artificial intelligence, Al, systems comprising an ANN architecture of one form or another, require a large enough training data set to be first acquired before they can be trained and sufficient time to process the training data to ensure that the inferences the trained ANN is subsequently used to make using operational data (i.e. not training data) are within certain confidence bounds for the inferences to have a particular degree of accuracy.
To effectively train such a conventional ANN to make reasonably reliable predictions for operational data, the training data set needs to have sufficiently similar features to the subsequent operational data set which is to be analysed. The ANN must be trained to appropriately perform feature extraction using the training data set, so that subsequent data input to the ANN can be usefully analysed by the ANN to extract similar features. The ANN output comprising the extracted features found in the subsequent data may then processed by a data processing system, for example, another ANN, to form inferences which are consistent with those formed for the training data set. In this way, a computer system comprising an ANN can be used to analyse subsequent similar data and form appropriate inferences or predictions about such subsequent data.
Generalised Al, or artificial general intelligence, models have code architectures which allow the Al system to be adapted to a variety of different types of data and use contexts. Such Al systems can be used to analyse include data with very different types of features as their Al architectures are configured to breakdown data input to allow for more generalised or abstract feature extraction. The formation of an abstract representation of input data removes redundancy and irrelevant features from the input data and as such provides a form of data compression.
Various ways are known for generating representations of features of input data at various levels of abstraction. As mentioned above, for example, an ANN may be layered with each ANN layer comprising nodes which use non-linear activation functions to allow them to learn to represent input data in an increasingly more abstract and complex way the deeper the layer resides in the ANN. In other words, lower layers of such ANNs learn to detect simple features and higher layers learn to combine the features extracted from lower layers to generate more complex patterns and structures. In this way, known ANNs may be configured to automatically learn hierarchical representations of input data where different levels of feature abstraction are implemented within different layers of the network. However, not all tasks are well-suited to being handled using such hierarchical abstractions. Moreover, training such ANNs may be very time-consuming and require large volumes of training data if the ANNs are to have more versatility in the tasks they are used for.
Other techniques to address feature abstraction including machine learning, ML, models using different forms of longer-goal guidance for the reinforcement learning, such as ‘empowerment’ and ‘self-supervised’ learning, are known in the art. Such systems, however, use some form of external supervision, or external intervention, to force the network to drive its learning towards an arbitrary goal.
Imposing an arbitrary goal without considering the ability of an ANN to abstract features and learn from those abstractions, however, even if appearing to be logical from an engineering point of view to achieve a particular effect, risks underutilizing the natural capacity and natural operational modes of the ANN. From the point of view of the capacity of the ANN to process and form abstractions, the representations may be inefficient.
This may have several consequences, including but not limited to, requiring a much larger ANN and/or computational resources network to achieve the same network performance than might otherwise be achieved with more efficient representations. Using inefficient abstractions as representations of input data may also limit the reachable maximum performance of the network regardless of its size.
The problem of how to generalise Al systems so they can adapt to a variety of different tasks, contexts, and data is nonetheless becoming more recognised within the field. For example, a discussion about how more generalised Al system technology may be realised and used for feature abstraction using a JEPA AGI model discussed in a working paper by Yann Le Cun in "A Path Towards Autonomous Machine Intelligence" Version 0.9.2, 2022-06-27, Courant Institute of Mathematical Sciences, New York University yann@cs.nyu.edu Meta - Fundamental Al Research. This working paper describes a vision of a pathway towards an autonomous machine, in which an architecture and training paradigms are disclosed to construct autonomous intelligent agents.
The JEPA hierarchical system, whilst a huge improvement over narrow focus Al systems and transfer models such as those used by many large language models nonetheless is far from an ideal solution. JEPA still requires a hierarchical model architecture where separate predictors are configured to receive representations with different levels of abstraction based on autoencoder generated representations of a sequence of input variables. As the prediction progresses, the number of generated state trajectories grows exponentially. If each latent variable used in the prediction model has k possible discrete values, the number of possible trajectories will grow as kt, where t is the number of time steps of the prediction model. To manage this exponential growth, the above referenced paper discusses how the JEPA models could use directed search and pruning strategies. Even when there are multiple predicted trajectories, optimal action sequences can be computed using the JEPA model to minimize the average cost, or a combination of average and variance of the cost so as to minimize risk. Given a sample of all the latent variables, k, optimal action sequences at every level can be inferred by the model, however, to cover all plausible outcomes, a hierarchical JEPA-based prediction process may need to be repeated for multiple drawings of latent as in hidden variables. This all results in an inference process which is computationally extremely complex as multiple hierarchical layers are needed to form inferences and as such utilise a large number of computational resources to generate inferences from their input. Moreover, such inferences are limited by the model's training and transfer learning capabilities. Accordingly, there remains a need for improving how feature abstraction is performed using ANNs, particularly, but not exclusively to improve abstraction in an ANN which wholly or partially implements a sub-system or all of computational brain model configured to confer a non- biological entity, such as a machine, with biological level general intelligence type functional reasoning capabilities.
SUMMARY STATEMENTS
The presently disclosed invention is defined by the accompanying claims.
The text of the accompanying respective independent and dependent claims is hereby incorporated by reference to form summary statements comprising respective aspects and embodiments of the disclosed technology.
The disclosed technology relates to a self-learning ANN configured with one or more inter-connected nodes, of which at least one node is a directly self-acting node, also referred to herein as a DSA node. A DSA node comprises a self-acting base function, SABF, which is configured to ongoingly generate so-called perpetual base-function internal activity, PBFIA even when there is no activity, in other words data, forming primary input to the SL-ANN. Activity propagating within or output from the SL-ANN not driven by primary input to the SL-ANN is referred to herein as spontaneously output node activity, SONA. An SL-ANN has spatiotemporal patterns of node activity formed across the SL-ANN as the SL-ANN learns both from primary inputs to the SL-ANN received for the purposes of decoding information and from any SONA produced at times when there is no primary input driving activity within the SL-ANN.
The disclosed SL-ANNs may learn without any secondary activity to instruct how learning is proceeding. In other words, each node of a SL-ANN according to the disclosed technology is capable of independently updating its weights via one or more learning functions even in the absence of an external error metric being provided by primary input driving input to the SL-ANN for that iteration. When, in some iterations of the SL-ANN, primary input is provided to the SL-ANN to drive its internal activity, this may be used as an external error metric to adjust node weights to shape the ANN output so that over time this may provide a solution to a problem represented by the primary input to the SL- ANN.
The SL-ANN of the disclosed technology is configured to learn from primary inputs comprising time-varying data suitable representations for solving over time whatever problem the primary input represents. After a solution is found, the primary input will accordingly cease but in the DSA node(s) of the SL-ANN, the PBFIA continues. The resulting SONA within the SL-ANN modifies the SL-ANN network state from the state that represented a solution to the last primary input. As time goes on without further primary input, the SL-ANN state will continue to evolve and the network state becomes become more and more abstracted from the form it had when it last acted on primary input.
It is this form of abstraction that is described herein, where over a period of time, after the SL-ANN has found a network state space comprising a network topology and node weight and activity distribution associated with the ANN output resolving whatever problem(s) were presented by the last primary input(s), increasingly more abstract representations of that solution state are found based on SONA driven by the PBFIA of the DSA node(s) of the SL- ANN. This so-called self-learning, or learning in the absence of primary inputs, also allows the SL-ANN to develop potential couplings across experiences previously encountered in diverse contexts, to generate new representations. The SABF allows this to happen by making acquired representations more inter-relatable in the SL-ANN. The disclosed approach is to some extent similar in form to the way a human brain is currently understood to form such inter-relatable representations.
EXAMPLE TECHNICAL BENEFITS
As learning takes place even in the absence of primary input to a SL-ANN according to the disclosed technology, the generation, propagation, and utilization of spontaneous activities output by self-acting nodes with self- acting BFs according to the disclosed technology has several benefits.
For example, a benefit of a SL-ANN according to the disclosed technology is that it is able to continue to train on SONA even in the absence of primary input to the SL-ANN. The SL-ANN is accordingly less reliant on primary input for weight training to some extent as the nodes of the SL-ANN continue to update their weights as a result of the SABF PBFIA output internally driving weight updates in DSA nodes and as a result of the SABF PBFIA driving SONA within the network to other DSA nodes and also I DSA nodes.
Another benefit is that learning in the absence of any primary input to the SL-ANN results in increasingly abstract versions of the internal network state representations of previous primary input(s) being generated as time passes since the last primary input(s). This may better condition the SL-ANN to address any problems presented by subsequent primary input.
Another benefit is this may allow some form of accelerated learning in the sense that the ANN may learn even when there is intermittent primary input, without waiting for subsequent primary input. This may also allow a smaller data set of primary input to be used to train the SL-ANN in real-time using real-world data than would be otherwise possible in the absence of primary input(s).
Primary input to the SL-ANN will percolate or circulate within the SL-ANN and over time form a minimum energy trajectory between nodes after the SL-ANN SONA has resulted in ANN output which has resolved or removed the cause of the primary input. For example, in some embodiments, the primary input comprises time-varying sensor data derived from sensing the state of an entity such as an external system is not a goal or target state. The sensed data represents over time a series of states of the sensed entity governed by one or more time-varying behavioural characteristic(s) of the entity or external system and may include sensory information about the environment of the sensed entity. By pre-processing sensory data to determine how it deviates from one or more set-points associated with the sensed entity having a goal or target state or states and based on the deviation generating primary input comprising one or more data feeds to the SL-ANN, the SL-ANN is provided with an error metric for the effectiveness of the ANN output in causing the sensed entity to updates its state towards the goal or target state(s) After some point in time, when/if the primary input to the SL-ANN comprises sensory data is closest or at the current set-point, the result will be minimal or no activity being driven into the SL-ANN. The SL-ANN will at this point in time have a network state which results in output which has resolved, solved, or otherwise optimally mitigated or obviated, the problem(s) presented by that sensory data derived primary input in relation to the sensed entity/system. At this point in time, as the activity driven by the primary input to the SL-ANN will be close or at zero, the activity circulating or percolating between the nodes of the SL-ANN will primarily be driven by SONA from nodes with SABFs.
This SABF driven SONA forms a dynamic core within the SL-ANN where activity continues to propagate between nodes, independent of primary inputs. This dynamic core perturbs the minimum energy activity trajectory representing latent network solutions to the problem(s) posed by the last primary input, which are adjusted after the primary input ceases as the trajectory is perturbed by the remaining SONA.
The propagation of SONA to other nodes depends on the current active connection network topology and neuron models of the nodes making up the SL-ANN. The dynamic core activity of the SL-ANN according will evolve over time to provide increasingly more abstract representations of previous primary input to the SL-ANN. If primary input to the SL-ANN later resumes as the sensed entity state changes or if the target or goal state for the sensed entity changes, the evolved SL-ANN state may represent latent solutions which anticipates what would be slightly different primary input. This may enable the SL-ANN to provide ANN output which resolves, solves, or optimally mitigates or obviates, the inherent problem(s) that the primary input now represents faster than would otherwise be possible. In other words, the SL-ANN may need less time to retrain before it generates ANN output that resolves the problem(s) presented by subsequent primary input. In some embodiments, it is also possible to configure one or more of the neuron model(s) of the SL-ANN such that the SL-ANN SONA activity results in the SL-ANN becoming capable of preemptively and autonomously determining when ANN output is required to pre-emptively restore a sensed entity to a goal or target state, in other words to recognise from precursory activity patterns form in the SONA when the SL-ANN should autonomously generate spontaneous ANN output. In this manner, the SL-ANN disclosed herein may act as a self-acting ANN at times.
This adaptation is a different approach taken to those of conventional Al systems such as large language models and the like which require extremely large amounts of data to be acquired, stored, and processed and for the Al systems to be taken off-line from time to time for retraining. Moreover, such conventional Al systems require huge computational resources and consumes a considerable amount of electrical power compared to the disclosed Al computer system(s) comprising a computational brain model with at least one a SL-ANNs according to the disclosed technology. The disclosed technology moreover allows realtime real-world training, sues less primary input as training data, can adapt faster and more seamlessly to variations in primary data than conventional LLM type Al systems using far fewer computational resources to attain similar or better confidence levels.
The number of nodes forming the SL-ANN of a computational brain model may vary from 10s to 100s to 1000s to millions or more in some embodiments based on available hardware resources and any specific requirements as will be understood by those of ordinary skill in the art. Some embodiments of a computational brain model comprising a SL-ANN according to the disclosed technology may be implemented using conventional computers using CPUs or dedicated GPUs or some other form of dedicated hardware, for example, programmable circuitry or be implemented as a system on a chip, SoC.
LIST OF ACCOMPANYING FIGURES
Various embodiments of the disclosed technology will now be disclosed with reference to the accompanying drawings are by way of example only and in which:
Figure 1 illustrates schematically a computational brain model, CBM, comprising at least one SL- ANN according to some embodiments of the disclosed technology;
Figure 2A shows schematically how the CBM of Figure 1 processes system input and generates system output according to some embodiments of the disclosed technology;
Figure 2B shows schematically how the CBM of Figure 2A may be used to generate system output for controlling a system according to some embodiments of the disclosed technology;
Figure 2C shows schematically how an embodiment of the CBM of Figure 2B may be used to control a sensor system comprising actuator sensors of a system according to some embodiments of the disclosed technology;
Figure 3A shows schematically an example node in a SL-ANN of a CBM according to some embodiments of the disclosed technology;
Figure 3B shows schematically more detail what contributes to weight learning by the example node of Figure 3A according to some embodiments of the disclosed technology;
Figure 4 shows schematically an example neuron model for a DSA node in which incoming activity triggers PBFIA at time T=T0 in the SL-ANN of a CBM according to some embodiments of the disclosed technology;
Figure 5A shows how shows schematically how SONA may be generated by the SABF of the DSA node of Figure 4 at time T1 >T0 when there is no incoming activity according to some embodiments of the disclosed technology;
Figure 5B shows how shows schematically how the SABF of the DSA of Figure 4 generates NOA at a different time T2 based on incoming activity to the DSA node according to some embodiments of the disclosed;
Figure 6A shows schematically an example neuron model for an IDSA node with a non-SABF to generate SONA at times based on SONA received from a DSA node according to some embodiments of the disclosed technology;
Figure 6B shows schematically how SONA received from a DSA node may result in the IDSA of Figure 6A updating its weights according to some embodiments of the disclosed technology;
Figure 7A shows schematically another example of a neuron model for an IDSA node with a non- SABF to generate SONA at times based on SONA received from a DSA node according to some example embodiments of the disclosed technology;
Figure 7B shows schematically how the node of Figure 7A is configured to update its weights according to some embodiments of the disclosed technology;
Figure 8A shows schematically an example of a neuron model for a DSA node according to some example embodiments of the disclosed technology;
Figure 8B shows schematically an example of how the DSA node of Figure 8A is configured to update its weights according to some embodiments of the disclosed technology;
Figure 9A shows schematically a functional block diagram of an example SABF according to some example embodiments of the disclosed technology;
Figure 9B shows schematically an example of how the SABF of a DSA node may result in the DSA node updating its weights according to some example embodiments of the disclosed technology;
Figures 10A to 10C form an example data flow diagram which shows schematically how a SABF of Figure 9A generates PBFIA and uses this to generate BFOA for updating one or more learning unit(s) and forming SONA in some embodiments of the disclosed technology;
Figure 10D shows schematically in more detail an example data flow for the DSA node updates its weights in some embodiments of the disclosed technology;
Figure 11 A shows schematically a flow-chart illustrating how a SABF processes incoming activity input to generate SONA according to some example embodiments of the disclosed technology;
Figure 1 1 B illustrates schematically in more detail how input other than the output from a SABF is used by one or more learning functions to generate weight updates in the method 1 100 shown in Figure 11A;
Figure 12A shows schematically how the SABF generates BFOA to form SONA when no node input activity is received according to some example embodiments of the disclosed technology;
Figure 13 shows schematically an example method for processing data using a computer system according to some embodiments of the disclosed technology;
Figures 14, 15, and 16 show respective schematically example computer-program products for implementing respective methods 1200, 1100, and 1300 as shown schematically in Figure 11 , 12, and 13 according to some embodiments of the disclosed technology;
Figure 17 shows schematically another example method performed by a computer according to some embodiments of the disclosed technology;
Figure 18 shows schematically another example computer-program product for implementing the method shown in Figure 17 according to some embodiments of the disclosed technology;
Figure 19 shows schematically another example method performed by a computer according to some embodiments of the disclosed technology;
Figure 20 shows schematically another example computer-program product for implementing the method shown in Figure 19 according to some embodiments of the disclosed technology;
Figure 21 shows schematically another example method performed by a computer according to some embodiments of the disclosed technology;
Figure 22 shows schematically an example computer-program product for implementing the method shown in Figure 21 according to some embodiments of the disclosed technology;
Figure 23 shows schematically an example embodiment of a SL-ANN 200 according to some embodiments of the disclosed technology; and
Figure 24 shows schematically how inhibitory and excitatory learning functions are used by nodes of an SL-ANN according to some embodiments of the disclosed technology.
DETAILED DESCRIPTION
The present disclosure will now be described with reference to the accompanying drawings, in which preferred example embodiments of the disclosure are shown. The disclosure may, however, be embodied in other forms and should not be construed as limited to the disclosed embodiments. The disclosed embodiments are provided as examples of the disclosed technology to the skilled person. Steps, whether explicitly referred to as such or if implicit, may be re-ordered or omitted if not essential to some of the disclosed embodiments. Like numbers in the drawings refer to like elements throughout, however the same element may be referred to by a different number in some drawings either alone or in combination with an earlier element number where required for the context of some of the examples illustrated embodiments.
TERMINOLOGY
The terminology used herein is for the purpose of describing particular aspects of the disclosure only and is not intended to limit the disclosed technology embodiment described herein. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
The following terminology may be used in the description of the Figures and the summary statements. Self-acting computer system): A computer system configured with a computational brain model capable of spontaneously generating output without external input being provided to drive activity at that time.
Computational brain model, CBM: A model implemented on a computer system that simulates aspects of brain function, including at least one self-learning artificial neural network.
Self-learning artificial neural network, SL-ANN: An artificial neural network capable of updating its own weights and connections based on both external input and internally generated activity.
Directly self-acting, DSA, node: A node in the SL-ANN capable of autonomously generating ongoing internal activity and spontaneous output.
Perpetual base-function internal activity, PBFIA: Ongoing internal activity generated by a DSA node's self- acting base function, SABF.
Spontaneously output node activity, SONA: Activity output by a node that is not directly driven by external input to the SL-ANN.
Incoming activity/incoming activity input: Activity received by a node from other nodes in the network or from a primary input source. The activity may be driven by primary input to the SL-ANN or by SONA within the SL-ANN.
Primary input: Input from a source external to the SL-ANN, which may be from a pre-processor hosted on or off the self-acting computer system. The primary input provided to the SL-ANN may comprise sensed data about an external entity or system.
Indirectly self-acting, IDSA node: A node that generates spontaneous activity in response to receiving SONA from other nodes.
Dynamic core: A time-varying spatial region within the SL-ANN where spontaneous activity, also referred to as SONA 400, 610 may be dominant and ongoing even when there is no primary input being processed by the SL- ANN.
ANN output 220: The output generated by the SL-ANN, which may be spontaneous or driven by primary input to the SL-ANN.
Computer system output 112: Output generated by the computer system based on the ANN output, which can cause updates to a system external to the SL-ANN such as external system 202.
Self-acting base function, SABF: A function within a DSA node that generates ongoing internal activity and spontaneous output.
Multi-state system or entity: A system or entity external to the SL-ANN 200, such as external system 202, with multiple possible states that can be sensed and influenced by the self-acting computer system. The multi-state system or entity may comprise an external system which is independent physically from the self-acting computer system in some embodiments. References herein to an external system or entity refer to a multi-state system or entity and vice versa unless the context clearly implies otherwise.
Sensor system: A system of one or more sensors that generate sensory data about the physical state(s) of a sensed entity or system such as external system 202 examples of which are described in more detail later below.
Actuator: A component in a multi-state entity or system, such as an external system 202, that can effect changes to the entity or system's state in response to computer system output.
Set point: A reference value for sensory data associated with sensing a desired or target state of the multistate entity or system, used for comparing with sensory data.
Population: A group of nodes in the SL-ANN sharing certain features and/or characteristics. The nodes of a population may be grouped according to the activity, for example, inhibitory or excitatory, that they produce. A population of nodes may be organized and connected in a specific manner in some embodiments.
Recursive or recurrent network architecture: A network structure where connections between nodes allow information to flow in loops or cycles.
Weight: A parameter in the neural network that determines the strength of connection between nodes and is updated during learning.
Many terms used herein take their conventional meanings as known in the art, however, it may be useful to bear in mind some terms used later in the description and summary statements may take the meanings set out below:
The term artificial neural network, ANN takes its usual meaning in the art, for example a network of nodes representing processing functions inter-connected by connections along which data flows across the ANN. The data flows are referred to herein as activity. An ANN is implemented using a computer model or programme and may be executed as software and/or as hardware as circuitry or programmable hardware. A model of an ANN may be represented or modelled as a graph comprising a plurality of nodes inter-connected by connections which can be represented as directional edges defining the direction along which activity is transferred from one node to another node. The term connection may be used interchangeably with, and refer to, a directed edge according to its context of use implying directionality of activity along the connection in this disclosure.
An ANN may be a recursive or recurrent ANN. In a fully recurrent ANN, which each node may be capable of being connected to every other node of the ANN. This provides each node with the capability of providing input to every other node in the ANN. The current topology of the ANN will determine which potential directional edges/connections are active in the sense activity is being transferred between nodes in that time-step or iteration of the ANN algorithm. In some embodiments, the ANN may be a weightless network where connections between nodes may be activated or deactivated to change the topology of the ANN architecture, and thus the network state of the ANN, with each iteration of the ANN.
The magnitude of any data values being input to, processed by, transferred between, or output from nodes of an ANN is referred to herein as activity. One or more connections of the ANN may be designated for transferring activity representing or derived from negative values of primary input to the ANN.
The term primary input as used herein refers to the activity values input to the ANN network which drives activity across the nodes of the ANN. The primary input to the ANN is dispersed within the ANN network and processed by multiple nodes within the ANN before forming the ANN output. An ANN as disclosed herein may be configured in conjunction with an external sensory source configured to provide one or more time-series of time-varying sensor data as primary input to the ANN. The ANN output iteratively over time may result in changes to its primary input. Primary input to the ANN accordingly represents a problem for the ANN to solve such that lack of primary input indicates either the ANN has found a solution to the previously presented problem or that something has interrupted the source of the primary input to the computer system on which the ANN is executing, for example, the electrical power to the computer system has been cut-off. The ANN may comprise a self-learning ANN, SL-ANN such as SL-ANN 200 according to the disclosed technology which comprises at least one directly self-acting, DSA, node 400.
The term node as used in a computational context of an ANN takes its conventional meaning in the art. A node comprises a processing element of the ANN where the processing is based on a neuron model of a computational brain model comprising at least one ANN according to the disclosed technology. The neuron model may comprise at least one or more processing function(s) performed by the node which may evolve over time in some embodiments. The ANN network topology and neuron model(s) of the ANN determines for each iteration of the ANN algorithm which connections a node receives and outputs activity on, the type of activity (whether it represents positive or negative values for example). The output(s) of a node may be buffered before it is transferred to form input to another node or contribute to the ANN output in some embodiments.
The term self-acting node as used herein refers to a node or an ANN capable of generating an activity which is not driven solely by primary input received by the ANN, in other words, which does not need to result from primary input, a term used herein to refer to any input derived from a source external (to the ANN) and which may be also referred to herein also as system input in some contexts. In some embodiments, however, primary input may comprise modified system input. The action by the self-acting node or self-learning or self-acting ANN is spontaneous and automatic in the sense it is not driven by primary input to the ANN at that time. The term self-acting node may refer to a directly self-acting node or an indirectly self-acting node. A directly self-acting, DSA, node such as node 400 described later below comprises a node with a self-acting base function, SABF, which generates spontaneous activity. Spontaneous activity may comprise SONA 412 from a DSA node 400 or SONA 610 from an indirectly self-acting, I DSA, node 600 in some embodiments. Both types of SONA are described in more detail later below.
An indirectly self-acting, IDSA, node 600 is any type of node in the SL-ANN which generates spontaneous activity as a result of receiving spontaneous activity from another self-acting node in the ANN. An IDSA node may have no base function component in some embodiments. In some embodiments an IDSA node may comprise a suitable transfer function or activation function. A self-acting base function refers to a base function, for example, SABF 404 described later below, configured to iteratively generate spontaneous activity in each iteration of the base function algorithm for a node. The execution of the base function node algorithm may be synchronised in some embodiments with the execution of the algorithm implementing the SL-ANN on a computer system, however in some embodiments it may be asynchronously executed. A self-acting base function, SABF, is accordingly a function that generates activity within a node based on recirculating its previous output in one iteration to form input to the SABF in a subsequent iteration, where it may be combined with input derived from the weighted inputs received as incoming activity along a connection or edge by the DSA node 400. As the incoming activity may include spontaneous activity generated by another DSA node 400 or another IDSA node 600, the SABF may continue to produce base function output activity, BFOA, such as the BFOA 314 described later below, even when there is no primary input to the SL-ANN 200. In this manner, the SABF 404 may be considered to perpetually generate internal activity and activity which may be spontaneously output as node output activity 318 to the other nodes of the SL-ANN 200 or contribute to the output of the SL-ANN 200 in some embodiments.
The end of a connection or edge to a node receiving incoming activity, IA, as input may be referred to as an incoming activity, IA, connection or incoming edge and the IA received by the node may be referred to as incoming activity input, IA input, or incoming activity or IA. The end of a connection to a node outputting activity along the connection may be referred to as an output connection, for example, output connection 320 as shown in Figure 3A and 3B. The BFOA forming node output activity, NOA, output along an output connection towards other nodes 216 of the SL-ANN may be referred to herein also as inter-nodal activity, for example, inter-nodal activity 322 as shown in Figures 3A and 3B described in more detail later below. NOA output from one node as inter-nodal activity 322 towards another node will form incoming activity, IA, input at the receiving other node.
The computer system on which the ANN is executing receives system input for processing by the ANN. System input refers to time-varying data input from at least one data-feed or data stream source external to the SL- ANN executing on the computer system. This system input may also be generated onboard the same device or on an apparatus hosting the computer system on which the ANN is executing in some embodiments. System input may be provided directly as primary input to an ANN, or it may be pre-processed before forming one or more primary inputs to the ANN. Such preprocessing may include modifying values or modifying the number of data feeds or streams so that there may not be a one-to-one correspondence between the number of data feeds or streams forming system input and the number of time-varying data feeds or streams forming primary input to the ANN.
System input may be modified by one or more pre-processor(s) or a pre-processing system located on the computer system in some embodiments or adjusted at the source of the system input. The pre-processing for a SL- ANN according to the disclosed technology may in some embodiments be performed by another ANN of a computational brain model according to the disclosed technology. The other ANN may or may not be another SL-ANN.
The term primary input refers to direct input to the SL-ANN. In some embodiments, primary input is provided directly to all of the nodes forming the SL-ANN. In some embodiments, the SL-ANN may comprise a set or group of input nodes configured to receive the primary input which then transfer this to the other internal nodes of the SL-ANN.
The SL-ANN output is used to form system output from the computer system hosting the SL-ANN. The SL- ANN output may be post-processed on the computer system before forming the system output, for example, it may be post-processed by another ANN of the computational brain mode. By way of example, the ANN output may be post- processed to form system output used to provide or comprising control activities for one or more actuators for one or more actuatable parts or objects of an external system in some embodiments.
As mentioned above, a single source of data feed or stream of sensory data may be pre-processed to form multiple primary inputs in some embodiments. The multiple primary inputs to the ANN may have different characteristics, for example, different frequency bands or be associated with differently signed deviations of the system input from one or more set-points. The set-points may represent values for system input associated with a target or goal state of an entity such as an external system goal or target state.
Primary input may be generated using multiple different sensors and data sources and may comprise modified sensor data. For example, each primary input may comprise time-varying sensor data values adjusted based on the absolute value of the sensory data from a set-point. In this case, one primary input stream may represent positive deviations from the set-point and another primary input stream may represent negative deviations from the same setpoint.
A SL-ANN such as SL-ANN 200 illustrated in the accompanying Figures and described in more detail below according to the disclosed technology comprises an ANN including one or more self-acting nodes. A directly self-acting node, also referred to here as a DSA node, comprises a self-acting base function, SABF, which produces node output activity, NOA which may from time to time be spontaneous output node activity or SONA if it occurs when there is no primary input to the SL-ANN 400 to drive it. Other nodes of the SL-ANN may from time-to-time act as indirectly self- acting nodes, also referred to herein as a IDSA node.
A self-acting base-function, SABF, operates on its own perpetually circulating base-function internal activity, also referred to herein as perpetual base function internal activity, PBFIA, and on activity derived from the incoming activity input received by the DSA node along its connections. When there is no primary input to the SL-ANN driving activity inputs to the nodes of the SL-ANN, the PBFIA will still continue to be generated by the SABF and the resulting base-function output activity, also referred to herein as BFOA, may form NOA. This NOA may be referred to as SONA - spontaneously output node activity if it occurs when there is primary input to the ANN.
A node which does not have a SABF may act as an IDSA node if it generates activity as a result of receiving SONA from a DSA node. The IDSA NOA also forms SONA when this happens (in the absence of primary input to the SL-ANN).
DSA and IDSA nodes accordingly are capable of producing NOA which is driven at times by primary input to the SL-ANN and at other times produce SONA driven by the PBFIA of DSA nodes forming BFOA and/or driven by receiving SONA from another node of the SL-ANN.
The BFOA of DSA and IDSA nodes causes these nodes to update their weights and may determine which connections within the ANN with that node are active accordingly also at times when there is no primary input to the SL-ANN driving the weight updates. This causes the ANN architecture and activity states of the nodes to redefine the SL-ANN state. If the state of the ANN at one point in time resulted from a solution being found to a problem posed by previous primary input to the ANN 200, the result of SONA circulating within the SL-ANN. The result is the SL-ANN network state evolves over time based on ongoing spontaneous activity generated by the one or more self-acting nodes even when there is no primary input being received by the ANN.
Each activity trajectory maintained over time after a solution has been found by the ANN to received primary input accordingly will comprise a set of minimal node output activity levels defines a state of the SL-ANN which represents features of the primary input sensory data associated with one or more characteristics of an external goal or target state of an external system or entity in some embodiments. By generating spontaneous activity which perturbs an activity trajectory resulting from primary inputs to the SL-ANN, more abstract representations are formed which may be associated with one or more slightly different characteristics of the primary inputs to the SL-ANN.
A SL-ANN is also referred to here as a self-acting ANN if it is configured to be capable of causing or is causing spontaneous ANN output in the absence of any primary input to drive the ANN output. The spontaneous activity within a SL-ANN arises as a SL-ANN has a dynamic core of nodes generating spontaneous activity, that is to say, activity which is not directly driven by primary input to the SL-ANN. As there is no need to provide primary input in every iteration of the SL-ANN, this can accelerate learning in the SL-ANN. However, a SL-ANN may also produce ANN output when there is primary input driving activity in the SL-ANN.
Some embodiments of the disclosed technology may comprise a self-learning or self-acting ANN which has a recurrent neural network architecture. Some other embodiments of the disclosed technology may comprise a selflearning and/or self-acting ANN which has a recursive architecture, preferably a fully or globally recursive ANN architecture. A recursive SL-ANN and/or a recursive self-acting ANN may operate in a hierarchical manner by combining child representations into parent representations in some embodiments of self-learning and/or self-acting.
In contrast, a recurrent self-acting or SL-ANN is a type of recursive ANN which operates in a more linear fashion, that is to say, it may operate linearly the progression of time by combining a previous time-step's hidden representation into a representation for a current time-step.
References herein to a self-acting or SL-ANN may refer to an ANN with at least one population of nodes which behaves as a fully or partially or globally recursive or recurrent ANN network in some embodiments. A globally recursive ANN refers herein to a recursive self-learning or self-acting ANN in which all nodes in the ANN may be used to process primary input time-sequential data to generate a data abstraction comprising a current time-step parent representation of the primary input to the ANN using child representations of abstracted features from primary input received using any previous time-step, and not just the immediate previous time-step. A recurrent neural network, RNN, refers herein to a type of recursive ANN which operates in a linear fashion, that is to say, it operates linearly with the progression of time by combining a previous time-step's latent representation into a current representation.
A DSA node has a self-acting base function, SABF 404, which is capable of outputting base function activity, BFOA, 314 driven by its own internal activity, referred to herein as perpetual base function internal activity, PBFIA 406. This base function activity 314 may form spontaneous node output activity, SONA, 412 and/or be used to update the weights of the DSA node 400. Figures 4, 5A, 5B, 8A, 8B show schematically examples of neuron models for DSA nodes 400 according to some embodiments of the disclosed technology.
An IA connection may also be referred to herein as an edge connection, or as an edge, and refers to a data pathway between two endpoints, at least one endpoint comprising a node or node, along which time-series data may be transferred in a processing step of an ANN algorithm. One endpoint of a connection with a node may comprise another node in the same or a different population of nodes or be an external primary input source or an output destination, for example, an external system or a target node. An edge may be a connection along which activity flows between a source node and a target node. The source and target nodes for a given connection may be dynamically updated in some embodiments of the disclosed technology.
An activity may flow along a connection from the source node to a target node and another activity may flow in the reverse direction along the same or a different connection between the same nodes in some embodiments. In other words, in some embodiments of a fully connected self-learning ANN disclosed herein where all nodes are interconnected to each other, each node may act as a source node and provide input to each other node in the ANN, which then forms a target node. Each node comprising a target node may also act as a source providing input to other nodes which may form its own source nodes.
A connection or edge may comprise an IA connection with another node in the self-learning ANN. Connection input activity, also referred to as incoming activity refers to an activity received by a node along an IA connection from another, source, node but may also comprise an activity received along a system input connection with an external system source by a node.
Connection output refers to the output activities generated by a node which is/are distributed along one or more connections with one or more other nodes of the self-learning ANN which will receive such activity as incoming activity.
A weight may be zero or another value and is applied at a target node to the activity received by that target node. In some embodiments, a weight maybe also applied by a source node to the activity it outputs along a connection between that source node and another target node.
The terms node, artificial neuron, or data processing node may all be used synonymously to refer to a similar code construct within a self-learning ANN model algorithm. Each node of the self-learning ANN accordingly may be implemented as a data processing component in some embodiments autonomously using a local algorithm which allows the node to process data independently and synchronously using a local clock. Alternatively, or in addition, the data processing component may be configured as a code element within a larger code element forming the ANN body of code. In the latter case, a global clock may be used so that each node in the ANN may be referenced and/or its code executed to process data synchronously or asynchronously with each other depending on the main code architecture. An example of an independently data processing node is an active or cognitive agent in a multi-agent-based system. Each population of data processing nodes can be organized in some example embodiments as an agent environment having shared properties such as dynamics and episodicity, determinism and dimensionality. Such agent actions may be mediated via middleware which provides a design abstraction for various types of ANN agent environments which governs resource access/allocation as well as defining projection rules and agent coordination. For example, see PCT patent application WO2023167623A1 entitled A METHOD OF PROVIDING A REPRESENTATION OF TEMPORAL DYNAMICS OF A FIRST SYSTEM, MIDDLEWARE SYSTEMS, A CONTROLLER SYSTEM, COMPUTER PROGRAM PRODUCTS AND NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIA. Each agent in a multi-agent system is at least partially independent, self-aware, and autonomous and no single agent ever has a full global view of the system or is designated as a single controlling point for the system.
The term learning function refers to a function applied by a learning component, module, or unit, associated with each node which governs how the internal activity updates the weights applied by that node to activities received from outside the node (and/or to system input). Each node of a self-learning ANN according to the disclosed technology performs local learning, in other words, the weights associated with IA connections to a node are updated independently of the updates applied to other nodes in the self-learning ANN. Each weight may be updated by a different amount by the learning function of a node. Different populations of nodes may have different learning functions. Node-independent learning is applied to each IA connection, in other words to each edge connection of the node when modelled using a directional graph, individually. A learning function or rule of a node in an SL-ANN may act on, for example, compare, the activity of each individual IA connection along which incoming activity, IA, is received against its own internal activity (for example, based on the weighted input combiner and the base function response) and provides a weight update activity to a weight update unit configured to update the weight of that individual IA connection based on the comparison or based on a combination in some embodiments. In some embodiments, the learning rule applied when the incoming activity received along of each individual IA connection of a node is compared against its own internal activity is different depending on whether that connection is receiving excitatory or inhibitory input. In some embodiments, different connections to a node may be assigned to different categories, for example, categories associated with populations of nodes, and each connection belonging to a different category may be assigned a different learning function for updating the weights to be applied to incoming, outgoing or both directions of activities. In some embodiments the learning functions will also be different for determining for each node which connections are to be active when forming activity pathways from and to that node.
It will be appreciated that references herein to a particular function may be a reference to a functional element comprising computational code and/or circuitry configured to implement that function, which may be implemented as a separate module or algorithm in some embodiments or embedded within a larger body of code, and vice versa. In other words, references to base function may refer to the base function algorithm code component implementing the mathematical base function, as would be apparent to anyone of ordinary skill in the art.
The learning functions for populations of nodes may be independently administered by individual nodes in a self-learning ANN where local learning is used. In addition, or alternatively global learning rules may also be used in some embodiments of the disclosed technology. The learning functions may be deterministic and rule based, independent or dependent on the weight-learning functions. The learning functions(s) of a node of the SL-ANN may in part seek to update the weights that node applies to activities received along IA connection connections and may reduce and/or remove a node from focussing on incoming activity along connections which carry redundant information. Redundant information in this context for example is any incoming activity which does not contributing towards the selflearning ANN generating a system output which results in system input to the self-learning ANN indicating that the selflearning ANN'S output is a desired output.
The learning functions for populations determine which connections (also referred to herein as edges, and which form IA connections when conveying activity towards a node) are made by different populations of nodes. In other words, the projection rules for activities to be shared between populations of nodes by may be governed by learning rules, and each population may have different learning functions which determine those rules.
In some embodiments, excitatory activity received along a I A connection by one node will be associated with one or more different learning functions independent of, and which may accordingly be capable of being independently updated from, the learning functions applied to inhibitory activity received along the same, for example, in a different time step of the executing ANN algorithm, or different IA connections received, for example, in the same time-step, by the same node. The activity received along connections with a node may be from one or more activity sources, including activity sources internal to the ANN, for example, from other nodes of the ANN, sources external to the ANN which inject activity to the ANN 200, and a node may receive both types of activity at the same time-step of the ANN algorithm in some embodiments. Population learning is also described in PCT patent application WO2023163637A1 entitled "A DATA PROCESSING SYSTEM COMPRISING A NETWORK, A METHOD, AND A COMPUTER PROGRAM PRODUCT", the contents of which are hereby incorporated by reference.
Populations of nodes may accordingly be distinguished according to the learning rules and activity projections both internally and/or externally of the nodes that make up the population. The disclosed example embodiments of an ANN 200 comprise at least one population of nodes which may include one or more self-acting nodes comprising a self-acting base function. In some embodiments of the ANN, at least one population of nodes of the ANN are configured to function as an excitatory population of nodes and at least one population of nodes of the ANN are configured to act as an inhibitory population of nodes.
A BF of a node 216 of an SL-ANN disclosed herein which is not a DSA node 400 may comprise a transfer function which transforms an input activity to an output activity and may provide a unitary transform in some embodiments. For example, an input node in some embodiments may be provided with a BF which is unitary or alternatively omitted.
In some embodiments, the activity which forms the output of a BF, which is also referred to herein as the BF output activity, BFOA, 314, may be used in combination with a thresholding node output function 316 of the node if it is to provide node output activity, NOA 318. A BF 312 may be configured to provide an activation function for a node 216. Examples of suitable transfer or activation functions which may be provided by a BF 312 in some embodiments of the disclosed technology include a unit step threshold function, a sigmoid transfer function, and a Gaussian function.
The DSA nodes 400 of the disclosed SL-ANN 200 use different BFs, referred to herein as self-acting BFs or SABFs, such as SABF 404 also described later below, which have a different internal structure from the BFs of indirectly self-acting nodes, IDSA nodes 600 or any other type of non-self-acting nodes 216 of the SL-ANN 200. Some IDSA nodes 600 which receive input from other nodes may even omit BFs in some embodiments.
The term BF accumulator, for example, the BF accumulator of a SABF self-acting BF as shown in Figure 9A or Figure 9B and described later below, refers to refers to a processing element within the BF of a node which provide a form of a state memory for the BF. Some embodiments of the BF accumulator determine a level of inhibition in the BF output activity and also affect the duration of and/or the rate of inhibition applied over time within the BF of the node. If a node is inhibited so its activity declines and is low over time, the accumulator will grow stronger over time, and as such the BF accumulator acts as a strong activity inverter on the output of a self-acting BF. A BF accumulator accordingly represents an internal state memory in a node as how much this is charged will determine how it is discharged and when it discharges, which affects the processing of the BF. Any suitable form of integrator such as a leaky integrator may be used as an accumulator in some embodiments of a SABF according to the disclosed technology.
Some embodiments of DSA nodes 400 may comprise more than one BF accumulators. In some embodiments the SABF 404 of a DSA node 400 comprises three accumulators which may have different discharge time constants. Each accumulator needs a trigger event to discharge. A trigger event may be a relative decrease in activity. In some embodiments, for example, a trigger event may comprise an inhibitory activity received along an IA connection, or the trigger may be an IA connection excitation activity, or it may be an activity representing a change in intrinsic internal activity of the BF such as when the automatic termination effect wears off. These are all factors which can generate a change in the internal neuron activity that may have a sufficiently large derivative with respect to time to discharge the accumulator. The amount of discharge in turn depends on the magnitude of the time derivative.
A trigger event refers herein to any and all factors which can generate a change in the internal BF activity of a directly self-acting node may form a trigger event if it has a sufficiently large positive derivative to discharge the BF accumulator. The trigger event may comprise a relative decrease in inhibitory activities, in other words, activities associated with a negative sign, or in a relative increase of excitatory activity, in other words activity associated with a positive activity, being received by the node along connections.
Alternatively, a change in the intrinsic internal activity of the BF of the self-acting node may occur such as when the automatic termination effect wears off, in other words, when self-inhibition ceases. Such factors may also or instead comprise any input to a self-acting node which has a sufficient large positive change with respect to time derivative to discharge the accumulator of the self-acting BF. In other words, any primary input activity to the self- learning ANN which, when directly or indirectly received by a self-acting node which triggers subsequent internal BF activity by that self-acting node and so activates the self-acting node to function as a directly self-acting node may be referred to herein as a trigger event. As the activated self-acting node may then output spontaneous activity after the trigger event, the trigger event may also be considered to trigger spontaneous activity in other directly self-acting nodes and indirectly self-acting nodes and spontaneous activity in populations of the self-acting nodes, and to trigger the selflearning ANN to which the activated self-acting node belongs to be self-acting. A DSA node may also be programmed to have its SABF triggered at a particular point in time when the ANN algorithm is executing, for example, when the self-learning ANN is initially executed or a slightly later point, or automatically whenever the self-learning ANN first receives primary input.
It will be appreciated by anyone of ordinary skill in the art that references herein to the self-learning ANN primary input not needing to occur at the same time as spontaneous activity is output by the self-learning ANN, does not mean historic primary input to the self-learning ANN is not needed. Historic primary input comprises primary input made several iterations of the self-learning ANN algorithm previously, for example, primary input occurring at a time longer in the past than the minimum time taken for primary input to the self-learning ANN to cause the self-learning ANN to generate output. Examples of historic primary input include the original trigger event causing a self-acting node to generate on-going, that is to say perpetually or semi-perpetually repeated, activity using its BF, and any other subsequent primary input events to the self-learning ANN which may be made several seconds, minutes, hours or even days earlier. These subsequent primary input events may be referred to herein as subsequent training events in some embodiments.
The term state memory of a node refers to that node's history of activity which will impact its future activity, independently of the incoming activities that the node receives.
BF self- regulation is provided in some embodiments of the disclosed technology and refers to automatic termination of the positive amplification within the BF component.
The term combiner function, combiner module, combiner component or combiner, including the combiner referred to as an input combiner 308 or BF combiner 918 shown in the Figures and described later below, refers to a processing element of or function performed by a node which processes multiple inputs received based on a combiner function. Examples of a combiner function which may be used in some embodiments include a summation of all the weighted incoming activities received by a node of a particular type and/or a summation of all types of weighted incoming activities.
Each internal node of a self-learning ANN has a combiner that acts on weighted input activities received via IA connections with other nodes in the network. Input nodes of a self-learning ANN may in addition have connections with primary input sources external to the self-learning ANN system, also referred to herein as external system primary input source(s). In some embodiments the combiner combines, for example, sums, all weighted inhibitory activity received by a node separately from combining all of the weighted excitatory inhibitory activity received by a node of the self-learning ANN. The disclosed embodiments of a SABF also comprise a combiner 918 which acts on at least excitatory activity and inhibitory activity.
The term leaky integrator refers to a suitable time-varying leaky integratorfu notion applied internally by a node on activities. A leaky integrator function takes an integral (for example, by performing a summation) of the input and leaks some of the summation of the input out over time at a particular time-rate. In this manner it may be considered similar to a low pass filter with a time-constant up to some scaling of the input. The self-acting base function, for example as shown in one of Figures 4, 5A, 5B, 9A and 9B described later below, may comprise at least one leaky integrator function in some embodiments. For example, a leaky integrator may form part of the combiner function 918 or the negative activity accumulator 922 or an output function of the node. Each leaky integrator may have the same or a different a time-constant or be off-set in its discharge cycle from the other leaky integrators in embodiments where more than one leaky integrator is provided.
An output function in a node comprises a function which generates an activity output by that node which is provided along one or more connections from that node to one or more other nodes and/or provided as a contributory activity to the self-learning ANN activity output activity. If the output function of a node is non-linear it diversifies the state space of the network.
An output function may comprise a threshold function in addition or a threshold function may be provided separately in some embodiments.
A population of nodes as mentioned above refers to a plurality of nodes (e.g., nodes) which can be distinguished from at least one other node in the network by having at least one differing processing behavioural characteristic. Each node belonging to a population of nodes has at least one processing behaviour in common with other nodes in that population. Examples include a population of inhibitory nodes and a population of excitatory nodes. Different populations of nodes may have different learning functions. The term projection refers to the projection of the output of an individual node or of a population of nodes or nodes to one or more other nodes or population of nodes in the ANN. Projection rules reduce the number of learnable parameters in the ANN.
GENERAL DESCRIPTION
According to the disclosed technology a self-acting node comprises a SABF which is iteratively executed regardless of whether there is any primary input from an external source to drive incoming activity to that node or any other nodes of the SL-ANN. Thus, a SABF causes on-going activity to circulate internally within a self-acting node and may also causes spontaneous activity to be output from time to time or continuously by the self-acting node to other nodes of the SL-ANN and/or to contribute to the ANN output. Which nodes and how the activity of the self-acting node contributes to the ANN output is dependent on the ANN active connection topology in that timestep or iteration of the SL-ANN. A self-acting node may output spontaneous activity with each iteration of the ANN or from time to time depending on the neuron model of the self-acting node is referred to herein as spontaneously output node activity, or SONA and what, if any, output functions or thresholds may be applied.
The primary input(s) to the SL-ANN may comprise or be derived from sensory data in some embodiments which has been (pre-)processed before forming a primary input so that the amplitude of the sensory data values are zero when the sensory data represents a solution has been found by the SL-ANN 200 to restore a sensed state of an physical entity such as an external system to a goal or target state. Accordingly, in some embodiments, a source of sensory data may generate sensory data so that a primary input represents a sensed problem state of the physical entity which is resolved or solved by the SL-ANN when the physical entity regains a previous goal or target state or adopts a new goal or target state.
The sensory data may be mono- or multi-modal and may comprise sensor readings from multiple different sensors of the same type that may have known spatial relationships to each other. Examples of sensory data accordingly may comprise audio data, image or video data or data comprising a time-series of images, and may include images or a series of images obtained using conventional cameras and imaging systems, stereoscopic or other types of depth cameras or imaging systems, or another type of sensed physical characteristic such as temperature, ambient light, pressure, etc.
Where a plurality of primary inputs to the SL-ANN are provided, each primary input may comprise a data stream or feed comprising a time-series of sensory data, which may be generated by the sensor data source(s) in realtime or near real-time. Each primary input drives activity across the SL-ANN, with the output from internal nodes driving incoming activity inputs along their connections to be received by the other nodes. The ANN may be a fully connected or connectable recurrent network of nodes in some embodiments.
Primary input may be continuously input until the ANN output has resulted in the sensed entity or system attaining a state which results in primary input ceasing, or it may be intermittent. Whenever there is no primary input, the SL-ANN is assumed to have adopted a network state indicative of its ANN output providing a solution to whatever problem(s) was(were) presented by the primary input(s).
After this point when there is no primary input, a SABF will only act on its internal spontaneous activity supplemented by incoming activity input to its self-acting node which is driven by the spontaneous activity of other directly and indirectly self-acting nodes output in previous iterations or time-steps.
Thus, nodes in a SL-ANN according to the disclosed technology, whether self-acting or not, may still continue to learn new weight updates in the absence of primary input to the ANN. This causes the SL-ANN to have a dynamically evolving network state which is maintained for a number of iterations after the iteration during which there was the last primary input. This provides the SL-ANN with a form of dynamic memory. As time passes, the weights and activity derived from self-acting nodes causing SONA to propagate within the SL-ANN will deviate more from those associated with the last primary input of the SL-ANN. The result is the SL-ANN state representations will become increasing more abstract representations of its state when the previous problem posed by the primary inputs was resolved, in other words, a form of dynamic memory is provided within the SL-ANN. The SONA also enables weight learning within the SL-ANN to occur without primary input may enable abstractions to be learnt more quickly and/or from a reduced volume of data. In addition, the SL-ANN may learn using intermittently generated primary inputs in some embodiments. In addition, as the activity which circulates within a SL-ANN may result over time in increasingly abstract representations of previous primary input to the ANN, the SL-ANN connection topology and node activity levels may pre-condition the SL-ANN to be better capable of handling subsequent primary input.
If there is no incoming activity to such an embodiment of a self-acting node in a time-step however, there will be no output additional activity generated by a conventional activity or transfer function of such a node as there is no activity for a conventional activity or transfer function to act on in that time-step whereas the self-acting base function may still generate activity which may be output by the self-acting node. This is because the self-acting base function is configured to act on its own activity output from a previous iteration. In some embodiments, however, the self-acting base function, in addition to its own internal activity, will also act on incoming activity.
If activity is received along an IA connection to a self-acting node however, then the output activity of the self- acting node may initially be dominated by such incoming activity. Over time, however, if sensory input providing the incoming activity diminishes, spontaneous self-generated activity from the self-acting base function may start to dominate the output of the self-acting node. This self-generated or spontaneous internal activity may be influenced at least initially by the last primary input, in other words, the last system input sensory activity processed by the self-acting node and as such provides a representation of the last system input sensory activity.
The spontaneous internal activity generated by the one or more self-acting nodes configures the self-learning ANN to be better capable of abstracting representations of system input comprising a data activity input to the selflearning ANN from an external source. In other words, a self-acting base function is implemented on a computer system using an algorithm configured to receive input comprising its output in a previous iteration that has circulated within the node.
Spontaneous activity accordingly refers to activity automatically generated by a self-acting base function in each iteration of executing that node's base-station algorithm and/or each iteration of the executing ANN algorithm regardless of whether the ANN receives any system input from a source external to the computer system on which it is executing and regardless of whether the node generating the spontaneous activity receives any incoming activity. Spontaneous activity may refer to any of the following types of spontaneous activities: the spontaneous activity generated within a self-acting node 400 by that node's self-acting base function 404, to a spontaneous activity generated by a node's self-acting base function which propagates within the ANN as incoming activity to one or more other nodes, and to the spontaneous activity from the ANN, in other words the ANN output 220 will form or contribute to the system output 112 provided by the computer systeml 10 on which the ANN 200 is executing to one or more other systems, for example, external system 202 as shown in Figures 2A, 2B, or 2C for example which are described later below. The spontaneous activity however is not just activity derived from or provided by the self-acting base function 404 acting on its own perpetual base function internal activity 406. The base function activity 314 will also contain a component of activity derived from a weighted combination of the incoming activity 302 that a self-acting node 400 receives along its IA connections 300.
The term system input 108 may form primary input 214 without any pre-processing in some embodiments. For example, in the embodiments shown in Figures 2A, 2B, or 2C described later below, if the sensor system 204 is configured to implement the pre-processing, then the sensory data 206 by the sensor system 204 may form the system input 108.
The term external source or external system as used herein accordingly is used in the sense that it is a source or system capable of providing into input to the ANN 200 and as such is external to the ANN system, although not necessarily external to the computer system or hardware platform on which the ANN is executing. The term system input 108 comprises input to the computer system 1 10, which may not be the same as the primary input 214 to the self-learning ANN 200 if the computer system 110 in all embodiments. For examples, external input data source(s) 212 which include one or more pre-processors may perform some pre-processing of the sensory data to provide system input 108. In some embodiments, the system input 108 comprises the primary input 214 to the self-learning ANN 200. Alternatively, or in addition, the system input 108 may be pre-processed on the computer system 1 10 to form primary input 214 to the self-learning ANN 200. In some embodiments, if the computational brain model 102 comprises a plurality of ANN, and at least one of the ANNs comprises the self-learning ANN 200, the primary input 214 to the selflearning ANN 200 may comprise the output of one or more or all of the other ANNs of the computational brain model 102. It is also possible for the ANN output 220 of the self-learning ANN 200 to be provided to another ANN of the computational brain model 102. In this case, the system output 112 may comprise output from another ANN of the computational brain model 102.
There may be a different number of primary inputs 214 to the ANN 200 accordingly than there are input streams or feeds of sensory data 206 from sensors of the sensor system 204. In some embodiments, the preprocessing of the sensory data 206 modifies the sensory data values to determine how much the data values deviate at any point in time from one or more set-point values. This results in a pair of primary inputs 214 for each data feed of sensory data 206, one comprising positive deviations and the other negative deviations.
In some embodiments, one or more external input data source(s) 212 may act as data aggregators and fuse multiple streams of sensory data 206 into a fewer number of one or more primary inputs 214 in some example embodiments. In other embodiments of the disclosed technology, however, one or more external input source(s) 212 act as data segregators and split sensory data 206 into multiple primary inputs 214, for example, the sensory data 206 may be separated into multiple primary inputs 214 distinct or overlapping frequency bandwidths in some embodiments.
In some embodiments, the pre-processing may be performed by one or more sensors providing sensory data 206. In this case the sensor data 206 forms both the system input 108 to computer system 110 and the primary input 214 to the self-learning ANN 200 of the computational brain model 102 running on the computer system 110.
Figures 2A, 2B, and 2C show an example embodiment of the computer system 110 shown in Figure 1 , the sensory data 206 is pre-processed to form the ANN primary input 214. This pre-processing may be performed within the computer system hosting the computational brain model 102 including the self-learning ANN 200 in some embodiments. Alternatively, the pre-processing may be performed by one or more external input source(s) 212. In some embodiments, at least one of the one or more external input source(s) 212 performing the pre-processing of sensory input for ingestion by the self-learning ANN 200 comprises a sensor of the sensor system 204.
In some embodiments, the pre-processing comprises processing a received stream or feed of sensory data 206 to form a plurality of streams or feeds of modified data, each modified stream or feed forming a primary input 214 to the self-learning ANN 200.
In some embodiments, an input stream or feed of sensory data 206 is compared to one or more set-point(s) and the result comprises both positive and negative values relative to the one or more set-point(s) which is then processed to form two separate streams of sensory data primary input 214, one representing positive values from the comparison and one negative values from the comparison.
In some embodiments, computer system 110 comprises or forms part of a larger device or apparatus such as robotic system or robot. There may be multiple different sensor systems mounted on or in the device. For example, a robotic system may comprise a plurality of sensors associated with separate sub-systems including actuators and actuatable components to control functions such as computer vision, object detection and recognition, audio input and output and mechanical behaviour. All of these different sensors provide sensory data 206 to the computer system 110. Sensory input for the behaviour of the robot may be provided by one or more sensors forming the sensory system 204 mounted the mechanical behaviour system hardware which may monitor temperature, range of movement, etc. By way of example, in some embodiments, robot mechanical sensors may provide time-series data in one or more or each of the six degrees of freedom of movement for each robotic joint (e.g. pitch, yawl, roll, x, y, z) of the robot as it moves. It will be appreciated that not all joints of a robot or robotic system may be capable of movement in the same dimension(s). This generates one or more streams of sensory data 206 however additional sensor data 206 may be audio data sensed by one or more audio sensors and/or image data comprising a series of event-based data images and/or video. These sensory data streams may be fused by the robotic system and separated into different streams, each associated with a different set-point associated with that modality of sensor data to provide primary input to the self-learning ANN 200 of the computational brain model 102.
Examples of an entity which may be sensed in other words may comprise an external system such as a physical system. The external system may take the form of a robot, as mentioned above which can be suitably sensed, for example, a camera, a robot, a moving robotic limb, an environment or location or area, or a human or animal, or an action or behaviour of a human or animal in some example embodiments. In other example embodiments, an entity may comprise a vocalisation or spoken word or audio stream of speech which can be recognised, for example, by sensing one or more phonemes in an audio stream. In other example embodiments, an entity may comprise an object that can recognised by sensing via touch e.g. by generating a spatial pressure when a robot hand grasps the object and/or by analysing an image captured using a camera or similar image sensing apparatus, which may be an event camera or a depth camera system or the like, in which case the sensing may be achieved by analysing when an object is present in an image or series of images or in a video stream and/or what the imaged object is doing. In other words, in some embodiments, the external system may comprise a plurality of entities having different states may be sensed in series, not just a single entity having different states. The term external may be used herein to refer to a different computer system to the computer system which hosts the ANN 200, or it may be used to refer to a different chip or processing platform hosted on the same physical hardware platform in other examples. For example, a robot may be an external system with the ANN being hosted on a chip located on the robot in some embodiments or alternatively, the ANN may be remotely hosted on a different computational platform.
In some embodiments where the computational brain model 102 comprises a plurality of ANNs and only at least one is a self-acting or self-learning ANN 200, the term primary input 214 refers to the primary input 214 as received by the self-learning ANN 200.
The system input may be sensory data input by one or more sensors and is provided as input to the network of nodes making up the ANN. The system input may be time-varying data feed or stream in some embodiments which provides a time-series of data. In some embodiments, the time-series data may comprise time-varying sensor data. Here a time-series data may refer to an activity comprising data which is sequentially fed into and/or processed internally and/or fed-out of, the network of nodes in some embodiments. Examples of time-series data include data streams which are fed into the computer system 110. Such streams may be provided as time-varying continuous data feed but in some embodiments may represent a stream of data derived by sequential reading of a data file. For example, a file which represents a static sensed event such as a static activity reading or image may be sufficiently large to be provided as a sequence of inputs to the ANN 200.
The time-series data may comprise values, meta-data such as units and/or source indicators. Time-series data may be provided with timestamps or other timing indicators or be associated with a source configured to generate data at predetermined times. In some embodiments, the time-series data may be continuous or non-continuous and/or generated at regular or irregular intervals of time.
System output 1 12 refers to the output of the computer system 110 which comprises or is formed from the ANN output 220 of the self-learning ANN 200 or another ANN connected to the self-learning ANN 200. The system output 1 12 of the computer system 110 is provided to one or more other, external, systems referred to as external system 202 as they are not part of the computational brain model 102 comprising the at least one self-learning ANN 200 executing on the computer system 110. System output 112 may include spontaneous output comprising or derived from the self-learning ANN 200 generating spontaneous ANN output 220 in some embodiments.
A computer system disclosed herein on which a computational brain model comprising a self-learning ANN may be implemented according to the disclosed technology accordingly may be provided some embodiments as a distributed system or implemented partially or wholly as a cloud-based system in some embodiments. In some embodiments, edge computing may be used, in other words, at least one ANN of the computational brain model may be implemented on a source for the primary data however, in some embodiments, a client-server system architecture may be used in some embodiments.
Some embodiments of the self-learning ANN disclosed herein may be used to form a self-acting ANN, which comprises a self-learning ANN configure in addition to generate output from a computer system in some embodiments. The self-learning, or self-acting, ANN comprises a plurality of interconnected nodes, or neurons, at least one node being a self-acting node having a self-acting base function. A self-acting node comprises a computer program component which may be capable of spontaneously generating an activity to drive learning within the ANN on an ongoing basis as the ANN algorithm iteratively executes, even though no primary input from an external source is being received at that time by the ANN.
The spontaneous activity of the self-acting nodes may drive the self-learning ANN to function as a self-acting ANN by outputting spontaneous activity. The spontaneous activity output by the ANN in turn may drive the computer system on which the self-acting ANN is executing to perform some action.
In particular, but not necessarily exclusively, the ANN may be a globally connected recurrent or recursive ANN where either all nodes are globally directly connected to each other across the ANN or where nodes are organised into groups or populations which are connected in a manner which allows all nodes to be directly or indirectly connected to each other. A globally connected recurrent or recursive network architecture enables spontaneous activity, generated by one or more nodes with self-acting base functions, to onwardly propagate via nodes which receive the spontaneous activity but do not have self-acting base functions throughout the ANN.
In particular, but not exclusively, the spontaneous activity may propagate in a non-hierarchical manner throughout the self-learning ANN according to which connections between nodes are currently active and the current weight functions each node applies to activity input and/or output along connection pathways. In this manner, as the nodes of the disclosed self-learning ANNs are organised into groups or populations which may have their own learning rules and connection rules, the spatial region within the ANN where spontaneous activity occurs and/or is dominant over activity injected into the ANN from an external source moves over time. This region may be considered and is referred to herein as a dynamic core of the self-learning ANN.
In particular, but not exclusively, the self-learning ANN may receive sensory data as time-varying continuous or intermittent input for a duration of time (also referred to herein as an input event). The sensory data received by the self-learning ANN may causes one or more or all of: a) the weights applied to input along a connection with a node of the self-learning ANN, b) the weights applied to output along a connection by that node, c) the activation status of one or more connections to or from that node, and d) the learning rules/connection rules for how the weights/connections are updated, to change over time both for individual node and for organised groups or populations of nodes of the disclosed ANNs.
A self-learning ANN comprises a dynamic core where nodes (also referred to herein as neurons) spontaneously generate activity. This spontaneous activity will, over repeated iterations of the ANN algorithm, will become less prevalent when external input events occur. When an external input to the self-learning ANN drives activity within the self-learning ANN, the activities which are generated by nodes of the self-learning ANN responsive to the external input activity will be more synchronised within the self-learning ANN than when they are dominantly driven by asynchronous spontaneous activity by self-acting nodes.
By way of example, when a real-world event produces some form of sensory data input which is suitably processed and provided as activity input to the self-learning ANN, the activity within the self-learning ANN will become more synchronised by the input activity. Over time, the spontaneous activity in combination with the evolving active connection architecture may cause the self-learning ANN to adopt a different state space at any given time depending on the location of its dynamic core at that time.
DESCRIPTION OF FIGURES
In Figure 1 , a block diagram is shown of a computational brain model, CBM, 102 according to an embodiment of the disclosed technology which comprises at least one artificial neural network, ANN executing on a computer system 110. At least one ANN of the CBM 102 comprises a self-learning ANN, SL-ANN 200, according to the disclosed technology. Examples of a SL-ANN 200 according to some embodiments of the disclosed technology are described later below.
In Figure 1 , the CBM 102 is part of a larger computer system 110 that receives a system input 108 and processes it to generate a system output 112 according to the state of one or more brain sub-system(s) 104 of the CBM 102. One or more ANNs may form a brain model sub-system 104 in some embodiments of the disclosed technology, of which only one or more may be a SL-ANN 200. There may be multiple brain model sub-systems 104 comprising one or more SL-ANNs 200 in some embodiments of the CBM 102 according to some embodiments of the disclosed technology.
Each SL-ANN 200 of a brain sub-system 104 may comprise a plurality of nodes configured according to one or more, as in different, neuron models 106. Each neuron model 106 defines the processing functions performed by a node 216 of an ANN of the CBM 102 when the CBM algorithm executes.
By way of example, the neuron model(s) and/or the ANN model(s) of some embodiments of the disclosed CBM 102 may define the following: what active connections are to be formed and when with the other node(s) or node population(s) of the ANN, or provided as a contribution to the ANN output, a node classification based on the node processing functionality and/or a type of NOA. An SL-ANN 200 according to the disclosed technology may comprise, but is not necessarily limited to, nodes classified as inhibitory or as excitatory based on their output being inhibitory or excitatory, respectively. In some embodiments, a neuron model may define the functional node architecture of the node as a sequence of one or more functions to be applied to activity derived either from input to the node and/or to activity generated internally within the node independent of any input to the ANN driving input presented to the node. The neuron mode as implemented in an ANN model of the CBM 102 may also define what weights are to be applied to activity input received along connections by the node as a result of the ANN algorithm executing, what learning function(s) are to be applied and to what inputs, the base-function or transfer function of that node, and defined zero or more output functions, for example, threshold functions, which act on the base-function output activity, BFOA, 314 of that node 216 in some embodiments. The BFOA 314 is used to form the node output activity, or NOA, of the node, however, a node’s NOA may not be used immediately as input to other nodes in some embodiments. This latency or delay may be modelled by the ANN or by the neuron model. In summary, in some embodiments, a neuron model for a node 216 of a SL-ANN 200 determines which connections are active, what weights (including initial weights) are to be used as the ANN executes, and also the latencies for the NOA 318 produced by that node 216. Initial values for weights and also if the SABF is to be initially triggered by default to produce PBFIA may also be defined in some embodiments either as part of a neuron model or set via an ANN model of the CBM 102. In some embodiments, one or more or all weights may be initialised to zero, however, if other values of weights are used, over time, they will adapt to suitable weight values. In other words, in some embodiments the SL-ANN is not overly sensitive to particular initial values of weights being used and these may be set randomly or otherwise arbitrarily. In some embodiments, the weight values may be reset from time to time.
Examples of brain regions which may be modelled according to some embodiments of the disclosed technology include at least the cortex and may also include the interaction of the cortex with one or more other areas of a brain, for example, a thalamus, a spinal cord, and a cuneate nucleus in some embodiments.
The diagram of Figure 1 illustrates schematically the functional relationships between the various elements that contribute to the processing capabilities of the CBM 102 within the computer system 110 to provide a data processing functionality. The CBM 102 may seek to replicate, simulate or otherwise emulate information processing along the lines such processing may be performed one or more biology sub-systems or parts of a biological brain 100 in some embodiments.
The computer system 1 10 comprises a number of functional and physical components. As shown in Figure 1 , these components include, but are not necessarily limited to, memory 114 which stores computer code 120a to process system input 108 received by the computer system 110 using the CBM 102 in order to generate system output 112.
Data is received and/or output via an I/O unit or module 118. Communication with external system components and devices by sending and receiving data activities may be facilitated using a suitable wireless communications protocol in some embodiments by using a transceiver or separate transmitter/receiver(s), shown as TX/RX 122. Not shown in Figure 1 are any other internal system components which may be used in some embodiments where hardware control may be facilitated via one or more controller module(s) and/or a control bus as would be apparent to anyone of ordinary skill in the art.
Any suitable communications protocol may be used by the computer system 110 to send or receive data from an external system s in some embodiments. In some embodiments this may include wireless and/or wired data communications protocols. It will be apparent to anyone of ordinary skill in the art that the computer system 110 may also need to include suitable antenna and/orother hardware components to facilitate wireless communications in some embodiments.
In some embodiments, the computer system 1 10 includes instead or in addition programmable or programmed computer hardware configured to provide computer code 120b, for example, computer code configured in circuitry. The computer code 120b may be executed in part by software and in part by programmable hardware. Computer code 120a, 120b may also be used by or form processor(s) or processing circuitry 116. Additionally, there may be other sub-system(s)/component(s) 124 that support the operation of the computer system 1 10 such as, for example, a user interface module and/or a display, which may be implemented by software and/or hardware as would be apparent to anyone of ordinary skill in the art. The computer system 1 10, particularly if it is a self-acting artificial general intelligence system, may be embedded or part of a larger apparatus or connected to another system, which may be an entity forming an external system 202 (see Figures 2A, B,C), for example, as a control unit for that other system in some embodiments. References herein to computer system 110 may also refer to cloud-based and distributed computer systems as well as to edge-based computers/processing systems in some embodiments.
An example of such an external system may comprise an actuator control system for robotic plant machinery, warehouse machinery, robotic arms, robots, and the like. In some embodiments, the disclosed technology may be implemented using hardware such as electronic control circuitry, for example, field programmable gate arrays or GPUs may be programmed to implement part or all of the computer system.
Figure 2A shows schematically how the CBM 102 according to some embodiments of the disclosed technology comprises at least one SL-ANN 200 configured to provide ANN output 220 via computer system 110 to an external system 202. The ANN output 220 may be post-processed by the computer system 110 in some embodiments to form system output 112.
In the example scenario shown in Figure 2A, a sensor system 204 comprising one or more sensors is configured to sense a state of the external system 202 and thus generates sensory data 206.
In Figure 2A, the external system 202 is illustrated external to the computer system 110 hardware used to implement the ANN 200 and accordingly receives system output 112 via the computer system 1 10. The system output 112 may comprise or be derived from the ANN output 220. Alternatively, the external system 202 may be a component or other computational model provided on the same hardware device or platform as the computer system 1 10 hosting SL-ANN 200. For example, the computer system 1 10 may be provided as a chip or GPU sub-system installed on or in the external system 202, for example, on-board a robot or robotic part forming the external system 202.
The state of the external system 202 is configured to be capable of being updated in a suitable manner based on the system output 1 12.
The sensor system 204 provides sensory data 206 representing one or more characteristics of the external system 202. The sensor system 204 may also act as an external input source 212 and generate or pre-process its sensory data 206 directly to form primary input 214 which passes via the computer system 1 10 as primary input 214 to the SL-ANN 200 in some embodiments. If the sensor system 204 acts as one of the external input source(s) 212 it may be configured to (pre-) process its own sensory data 206 relative to one or more set-point(s) to directly provide as the system input 108 the primary input 214 to the computer system 110 which then forms the primary input 214 to the ANN 200 in some embodiments.
The sensory data from the sensor system 204 may be a mono-or multi-modal, in other words, different types of sensory data may be gathered such as audio and or visual and/or other sensory input which collectively provide a representation of a state of the external system 202. In other words, one or more physical characteristics defining a state of the external system 202 may be represented by the sensory data forming primary input 214 to the SL-ANN 200.
The sensory data 206 from the sensor system 204 may be pre-processed to shape or better a problem associated with the sensed state of the external system 2020 that is to be solved or resolved using the SL-ANN 200. For example, pre -processing may comprise modifying the sensory data 206 into multiple streams of primary inputs 214 to the SL-ANN 200, each primary input comprising a time-series of different characteristics of the sensory data 206. The pre-processing may then modify each input stream by determining its deviation from a set-point, which may be user-definable in some embodiments, and/or which may evolve over time and/or be dynamically updated as the ANN iteratively executes automatically in some embodiments.
In this way, at least two primary inputs 214 are generated for each data feed or stream of sensory data 206 in some embodiments as one primary input 214 represents positive deviations from set-point(s) and the other primary input 214 representing negative deviations from set-point(s). Primary input may comprise time-series time-varying sensory data which may be continuous over a period of time or be intermittent and which may discontinue from time to time. The primary input may occur intermittently relative to the number of times the SL-ANN iterates.
If the sensor system 204 comprises multiple sensors configured to provide sensory data 206, these may provide sensory data 206 having the same or have different modalities. Each sensor may result in separate primary input(s) 214 to the SL-ANN 200 of the CBM 102 in some embodiments. Alternatively, the ANN may receive a data feed comprising time-fused sensor data from multiple different sources as single primary input in some embodiments.
For example, in some embodiments, the pre-processing may separate a single data feed of sensory data 206 into multiple parallel data feeds as mentioned above, where each data feed forming a separate primary inputs 214 to the SL-ANN 200. For example, sensory data 206 may be separated into different frequency bands and previously fused sensory data 206 comprising sensory data from different sensors and/or different modalities of sensor data may be pre-processed to form separate primary input 214 to a SL-ANN 200 according to the disclosed embodiments.
The term primary input 214 accordingly may refer to one or to multiple separate primary input streams or data feeds as the context requires. If a primary input 214 represents a plurality of hidden competing problems, the highest priority problem in terms of its deviation from a set-point, will generate the highest contribution to the primary input and be automatically by the processing of the SL-ANN 200.
Each SL-ANN 200 as shown in Figure 2A comprises a plurality of nodes 216, which may be arranged in groups to form node populations 218, at least one node being a self-acting node 400, described in more detail in Figure 4 later below. Each node population 218 comprise a group of nodes 216 which share the same projection rules for outputting activity to one or more or all of: other nodes 216 within the same population, other populations 218 of nodes 216, and individual nodes 216 in other populations. By way of example, two node populations 218a, b and two individual example nodes 216c, and 216d, are shown in Figure 2A.
In some embodiments, the SL-ANN 200 illustrated in Figure 2A receives primary input 214 derived from or comprising the sensory data 206. The primary input 214 comprises a time-varying activity received as shown from external input source(s) 212. The computer system 1 10 or the external input source(s) 212 may pre-process the sensory data 206 to form system input 108 before this is provided as primary input 214 to the SL-ANN 200.
References herein to the external data input source(s) 212 may refer to one or more pre-processors configured to condition sensory data 206 for the SL-ANN 200 and/or to the source of the set-point data for the preprocessing. Ingestion also implies ingestion into the computational brain model implies ingestion to the SL-ANN 200 unless the context clearly requires otherwise.
The SL-ANN 200 processes the received primary input 214 initially via input nodes 216 in some embodiments which in turn distribute the primary input to internal nodes 216 of the SL-ANN. Input nodes are not necessarily a separate population of nodes in the SL-ANN, they may be the same as internal nodes 216 but have fixed weights they apply to the primary input they receive and apply a BF which applies a unitary transform to the received primary input activity. Input nodes are not shown explicitly in Figure 2A but are described later below referring in the description of Figure 23 of the accompanying drawings.
The primary input 214 comprises a time-series values indicative of a characteristic of the sensory data which is dispersed to the nodes 216 within the SL-ANN 200 and forms or contributes to the incoming activity input to the nodes 216 of the SL-ANN 200 if this is a fully connected or recurrent SL-ANN 200.
Figures 3A and 3B illustrate schematically in more detail examples of how each respective node 216 of the SL-ANN independently adjusts its individual weights applied to each incoming activity input 302 received by that respective node in a time-step or iteration of the SL-ANN 200. Primary input 214 is driven across the nodes 216 of the SL-ANN 200 as incoming activity input to the nodes 216 of the SL-ANN which then drives the node output activity, NOA, 318 which contributes eventually to the ANN output 220.
Returning now to Figure 2A again, the ANN output 220 is processed by and/or is provided by the computer system 1 10 as system output 112 back to the external system(s) 202 which were being sensed. By providing ANN output 220, a SL-ANN is thus capable of being a self-acting ANN 200, if the ANN output 220 is provided in a time-step or iteration of the ANN algorithm when no primary input 214 drives the ANN output 220. If the external system 202 responds to the input it receives from the computer system 110 by altering its state, it is possible to use the computer system 110 to control the state of the external system based on the sensory data provided in some embodiment.
In some embodiments of the disclosed technology, the SL-ANN 200 is configured to process data in such a manner that it generates ANN output 220 based on determining a minimum activity state has been reached internally by its nodes 216. For example, a threshold level of minimum activity may have been maintained for a predetermined period of time. The time duration and maximum activity permitted for the minimum activity state to be recognized may be configured by a user in some embodiments.
Pre-processing the system input 108 so that the primary input 214 injected into ANN 200 via computer system 1 10 for processing represents a deviation of the entity or external system 202 from a target or goal state may be managed via the sensory design of sensor system 204 in some embodiments. By shaping primary input 214 so that it comprises a deviation of the system input 108 (comprising or derived from the sensory data 206) from one or more goal or target set-point(s), the magnitude of the primary input 214 may represent a magnitude of a problem for the ANN 200 to resolve. The SL-ANN 200 solves this problem by generating ANN output 220 which, over time, in other words over a number of iterations or time-steps, restores the external system 202 to a goal or target state associated with that time-step. This solves the “problem” as once the external system 202 reaches its goal or target state, the resulting sensory data 206 should result in there being no primary input to the SL-ANN 200 (as there will be zero deviation from the set-point for the sensory data associated with the external system adopting its target or goal state). The goal or target state may be pre-determined and may be user configurable. The goal or target state may evolve over time.
In some embodiments where the preprocessing is performed by the sensors forming sensor system 204, each sensor may act as a separate sensory data source and be designed so that the sensory data 206 generated by that sensor will not deviate from the given set-point for that sensor data 206 when that sensor has sensed the external system 202 has attained its given goal or target state (or behaviour). In this manner, the sensor system 204 may in some embodiments be configured with one or more sensors which each act as an external input source 212.
In some embodiments, the external system 202 may comprise an entity comprising characteristics initially sensed to be associated with an unrecognized entity state. The SL-ANN 200 ANN output 220 may result in the entity changing its characteristics to adopt a recognized entity goal or target state using the SL-ANN 200. By way of another example, an external system 202 comprising a robotic system could be configured to adopt a goal or target standing state using a CBM 102 configured to progressively update the state of the external system 202 comprising the robot using a SL-ANN 200. When primary input 214 to the SL-ANN 200 indicates the external system has a state which is at or very close to the goal or target standing state, the primary input 214 will be at or close to zero.
The updates may take the form of incremental changes to an initial state of the external system 202 over time in some embodiments. By way of example, this may allow an external system 202 comprising a quadruped or biped robotic external system to autonomously learn to control its limbs to attain a standing state in some embodiments if the target state is defined by the robot’s position in terms of height from the surface the robot is standing on or drop from the surface above the robot. If the target position is a lateral position or series position, for example position(s) ahead of the robot, it also enables the robotic external system to autonomously learn to move its limbs or other components enabling it to attain those target position(s). This allows for example, a biped or quadruped robot to autonomously learn to control its limbs to walk (or run potentially if also given a time-target) towards the target position(s).
To manage scalability issues and mitigate or obviate reaching such a limit or another scalability issue mentioned above, a SL-ANN 200 according to some embodiments of the disclosed technology may comprises one or more node populations 218, each population comprising a group of nodes 216. By forming groups of nodes 216 into populations of nodes in some embodiments of the disclosed technology, the number of connections between nodes 216 in the SL-ANN 200 can be reduced to a more manageable number.
Each population 218 of nodes 216 has projection rules which provide rules for how many and the type of connections its nodes may form with nodes internally and/or with nodes belonging to other populations. The projection rules provide connection rules at a group level for nodes 216 and each population 218 may have the same or different connection rules for the way connections are made between nodes 216, which activities may be injected by another node 216 into each node 216, and projection rules for outgoing node activities which determine which other nodes 216 in the SL-ANN 200 receive activity from a node 216 in that population 218.
It will be appreciated that whilst each individual node 216 may also be regarded as a population 218 which comprises that single node 216 in some embodiments, it is by limiting the number of connections between populations comprising a plurality of nodes that computational resource benefits may be achieved by forming a more sparsely connected SL-ANN 200. This may also allow the CBM 102 to be more scalable and reduce internal latency as the number of nodes 216 in each of the one or more ANNs that form a particular computational brain sub-system increases, whether it is a SL-ANNs 200 or any other type of ANN.
Figure 2B shows schematically how the CBM 102 of Figure 2A may be used to generates system output 112 for controlling an external system 202 capable of adopting multiple states according to some embodiments of the disclosed technology. Figure 2B retains the numbering scheme of Figure 2A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 2A unless this is explicitly stated to have changed.
Figure 2B shows how the CBM 102 may be used to provide control activities to an example external system 202 comprising one or more actuators 203, each actuator 203 being configured to control the one or more actuatable components 205. In this configuration, the system output 112 of the computer system 110 may comprise the ANN output 220 of one or more of its SL-ANN(s) 200 or be derived from the ANN output 220.
The system output 112 may be converted by the receiving external system 202 into one or more control activities in some embodiments or be used directly as control activities in some embodiments. The control activities cause one or more or all of the actuators 203 actuate one or more of the one or more actuatable component(s) 205 of the external system 202. For example, sensors which comprise sensor actuators may be configured to respond directly to the system output 112 in some embodiments of the disclosed technology.
Figure 2C shows schematically yet anotherexample of an external system 202 which may be controlled using an embodiment of the CBM 102 illustrated schematically in Figures 1 , 2A and 2B. Figure 2C retains the numbering scheme of Figures 2A and 2B for like elements which retain the same functional purpose and relationship to other elements as described in the embodiments shown in Figures 2A and 2B unless this is explicitly stated to have changed.
The example embodiment of the external system 202 shown in Figure 2C differs from that shown in Figure 2B as it incorporates one or more sensors of the sensor system 204 onboard the external system as sensor actuators. In other words, at least one sensor of the sensor system 204 comprises as one or more actuators 203 configured to provide control activities to actuate the one or more actuatable component(s) 205 of the external system 202.
By way of example, if the external entity, also referred to herein as an external system 202, comprises a robot, for example, a biped or quadruped robot, then an actuatable component 205 may comprise a component of an articulated robotic limb on which actuators 203 and one or more sensors of the sensor system 204 are provided, in some embodiments as combined as sensor actuators 203. The sensor actuators 203 which form sensor system 204 in Figure 2C are configured to monitor and control the poise and position of each of the one or more actuatable components 205 whose collective movement articulates the robotic limb. The state of the robot limb accordingly changes whenever its position changes and by sensing this moving, new sensory data 206 is provided to the computer system 1 10 pre-processor and used to form new primary input 214 to the SL-ANN 200.
In some embodiments, one or more other sensors may be used in addition to provide primary input 214 to the SL-ANN. For example, a sensor may be used to generate a temperature time-series which comprises temperature readings of the motors driving movement of the limb component. Another sensor may provide primary input comprising the stability of the robot (e.g. by sensing vibrational movements). One or more acoustic sensors may also be provided to assess if any parts are wearing or not performing optimally in some embodiments as well. Each type of sensory data 206 will have its own set-point associated with a particular operating state of the external system 202. In some embodiments where the pre-processing relative to the set-points is performed by the sensor actuators 203, the system input(s) 108 and the primary input(s) 214 to the SL-ANN 200 comprise the pre-processed sensory data 206. By processing all of the sensory information provided by primary inputs 214 in parallel, the SL-ANN 200 is able to prioritise in some embodiments which input streams are resolved first. For example, adjusting the ANN output 220 by to cause sensors may cause the state of the robot limb to be updated towards a target or goal state however, if another sensor indicates the robot limb is overheating, then the ANN output 220 may control the robot or its environment to address the overheating and reduce its internal temperature state before it addresses the need to move the state of the robot limb to a target position state.
It will be apparent to anyone of ordinary skill in the art that the external systems 202 shown in Figures 2A,2B, and 2C and from the above example may generate multi-model primary input using a variety of different types of sensors in some embodiments and that the SL-ANN 200 may process multiple data fees as primary input 214 where each primary input represents a deviation of a particular sensed state of the external system from a target set-point.
The external system 202 may be incorporated into the same hardware platform as the computer system 1 10 hosting the CBM 102 in some embodiments. In other words, the CBM 102 may be located also on-board the external system 202, for example, on a robot, rather than provided remotely, in some embodiments.
In some embodiments, the result is the external system 202 changes its state, for example, it may modify a behaviour or a condition of one or more internal actuatable components 205 so that when the external system 202 is sensed by the sensor system 204 it results in the subsequent primary input 214 to the SL-ANN 200 being diminished the closer the external system 202 is to a predetermined goal or target state of the external system 202. 1 n this manner, once the external system 202 has achieved the goal or target state, unless this state is subsequently disturbed, no additional primary input 214 is provided to the SL-ANN 200.
Disturbances, whether due to internal or external causes, of the state of the external system away from its target or goal state at the time of the disturbance, or a change in the target or goal state at a particular time, causes new or resumed primary input 214 to the SL-ANN 200. Such subsequent primary input 214 may, of course, also be provided if a different external system is later sensed.
An update to a target or goal state for the external system 202 may be determined dynamically, for example, it may follow as a consequence the previous state was met in some embodiments, be otherwise dynamically adjusted or even be set by a user. For example, a continuously updated set of positional or poise related target or goal states may be used for the external system 202 to move in a particular way in some embodiments of the disclosed technology. Similarly, changing environmental factors may adjust the goal or target state of the external system. In this case, the primary input 214 will now deviate from any new set-point(s) provided to the pre-processor, meaning there will be new sensory data forming the primary input 214 ingested by the self-learning CBM 102. In some embodiments, the new set-point(s) may be provided as other input from the one or more other data source(s) 210 to the external input source(s) 212, in other words to the pre-processor(s), by a user via an appropriate interface or they may be determined by the computer system 110 dynamically in some embodiments.
Figure 3A shows schematically an example embodiment of a node 216 in a SL-ANN 200 of a computational brain model, for example, the CBM 102 of Figure 2A, 2B or 2C, may contribute NOA 318 to the ANN output 220 and so contribute to the system output 1 12 from a computer system 1 10.
Figure 3A shows schematically how primary input 214 derived from or comprising system input 108 may be processed by a node 216 of a plurality of inter-connected nodes 216 which collective form a SL-ANN 200 according to the disclosed technology.
Figure 3A shows schematically as a single incoming activity 302 activity derived from or comprising primary input activity 214 and/or activity from other nodes 216 of the SL-ANN 200 being received by an example node 216. Each activity from a different source however forms a separately incoming activity input 302 along a separate incoming activity connection 300 to node 216 where the incoming activity 302 is processed using a weight applying function, illustrated in Figure 3A as weight unit 304. The weight function of weight unit 304 may apply a respective weight individually to a respective incoming activity input 302 received along a respective incoming activity connection 300 in the usual manner known in the art for nodes of an ANN to apply weights to received activity. What weight is applied in a given iteration using weight unit 304 is determined initially based on the initialised weigh values and later based what weight updates 608 were provided to the last iteration’s weight values by the node learning unit 324. The node learning unit 324 generates weight updates using one or more learning functions 606 and which are then provided as weight updates. The update to an individual weight Wi of the W1...W4 weights may result in a weight for a particular connection being set to zero. This effectively causes a disconnection of activity being received from its source by the node 216e, 600. Other mechanisms may also be used in some embodiments to disconnect two nodes. The weighted activity inputs 308 are then processed by an input combiner 380 to for a combined weighted activity 310 which is input to the node’s base function, BF, 312 to form the base function output activity, BFOA, 314. The BFOA 314 may be directly used to form the node output activity, NOA, 318 or be first processed by one or more node output function(s) 316, which may apply threshold(s) before the BFOA 314 forms NOA 318 and/or is used by the learning unit 324.
The learning unit 324 comprises one or more learning functions 606 which each act on one or more inputs to form a respective learning rule for forming weight updates and may also determine which connections are active in subsequent iterations of the ANN algorithm in some embodiments. The learning function acts on at least the BFOA 314 either directly (shown as (a) in Figure 3A) or indirectly if there are any optional node output function(s) being applied to the BFOA 314. This input may be provided either directly from the BF, shown as dashed line (a) in Figure 3A or indirectly, shown as dashed line (b) via a node output function 316 if the node output function 316 applies a minimum value to the BF output for forming a learning unit input activity (b). In some embodiments, other inputs are operating on by a learning function 606 for example, see Figure 3B.
Returning to weight unit 304, the received update to the weighted incoming activity input 306 cause a weight function to be updated so that in the next time-step when incoming activity input 302a,b,..., n is received along a respective incoming activity connection 300a, b,.., n, the amplitude of the activity forming the incoming activity input 302a,b,c,n is multiplied by the respective individually updated weight W1 ,W2,..., Wn for that respective connection. The weighted values of activity received along each incoming activity connection are all then provided individually as weighted incoming activity input 306 to input combiner 308. Individual incoming activity connections 300a, b... n to node 216 are not shown for clarity in Figure 3A.
The initial values of weights W1, W2..., Wn may be user-configured by providing user input to the SL-ANN via a user interface of the CBM 102 in some embodiments, or they may be pre-configured with the computer code forming the ANN algorithm in some embodiments. The weights may be initialized to zero in some embodiments. As the SL- ANN 200 executes the weight may range from 0 or close to 0 to 1 in some embodiments.
The weight functions used by each node 216 which is either a DSA node 400 or IDSA node 600 in the SL- ANN 200 evolve over time as a result of at least one self-acting node 400 having a SABF 404 which perpetually generates BF activity. This mechanism is described later below. In the same manner, the incoming activity connections 300 along which incoming activity input 302 between nodes is received (and the connections 320 along which output activity 322 is provided) may be activated or deactivated and connectivity between nodes (and between populations of nodes) may evolve over time or disappear.
The input combiner 308 generates a combined weighted incoming activity input activity, CWIAIA 310 according to a combiner function acting on weighted inputs 306 which is then used as input to the BF 312. An example of a suitable combiner function used in some embodiments of the disclosed technology comprises a sum of all the weighted inputs 306. The BF 312 make take the form of a transfer function which generates a BF activity, which may comprise or form BF output activity, also referred herein as BFOA 314. The BF 312 may be configured in some embodiments to ensure that the amplitude of the BFOA 314 can be expressed by:
Here O represents the amplitude of the BFOA 314 which is indicated by summing all of the excitatory activity received E for all n excitatory incoming activity inputs 302 to the node 216 and subtracting from this half of the sum of all of the j inhibitory incoming activity inputs 302 received by the node 216. Other expressions may be substituted providing the resulting network activity does not increase depending on the number of nodes that it passes through within the SL-ANN 200 before it forms or contributes to the ANN output 220. The BF output activity, BFOA, 314 may be acted on by the node output function(s) 316 before it forms the node output activity, NOA, 318 in some embodiments.
In some embodiments, the input combiner 308 generates multiple outputs, for example one output comprises a sum or other suitable combination of the amplitude of the inhibitory activity 302 received along the node’s incoming activity connections 300 from inhibitory nodes in the SL-ANN 200. The other output comprises a sum or other suitable combination of the amplitude of the excitatory activity received along the node’s synaptic connections from excitatory nodes in the SL-ANN 200. These separate outputs may be used by the learning functions of the node to update the weights applied to excitatory and inhibitory activity input to the node and may also be used by the self-acting base function where different time-constants may be used when accumulating different combinations of one or both of the two different types of activity (inhibitory and excitatory) within the SABF 404 in order to generate internal activity which circulates with the SABF 404.
In some embodiments, an optional node function 316 may apply an output function, for example, a threshold function, to determine if the BFOA 314 from the BF should form a NOA 318 in a given time-step or iteration. The BF 312 and node output function 316 may be combined as an activation component or activation function in some embodiments. By way of example, in some embodiments the node output function 316 of at least one node of a SL- ANN 200 may comprise a spiking threshold function.
The NOA 318 from node 216 forms an inter-nodal activity 322 along one or more connections 320 from the node 216 into one or more other target nodes 216, in other words activity receiving nodes, where it forms incoming activity input for the target nodes. The inter-nodal activity may also be provided to node populations 218 in some embodiments. Which nodes 216 receive inter-nodal activity 322 as incoming activity input 302 is determined by what network connections are available at the time the internodal activity is to be received. This may not be the time at which the inter-nodal output is generated, for example, the NOA 318 from a node 216 may be buffered in some embodiments, which is shown schematically in Figure 3B described later below. It will be appreciated by anyone of ordinary skill in the art that from the perspective of a node 216 receiving an incoming activity input 302 that this is received along an incoming activity connection 300. From the perspective of the node acting as the source of such incoming activity input, the node-to-node connection 320 provides node output activity 322 in the opposite direction.
As shown in Figure 3A, the BFOA 314 is output from node 216 via the node output function 316 as NOA 318 The NOA 318 circulates internally in the SL-ANN to one or more other nodes 216 and/or node populations 218 along connections 320 and as such may form inter-nodal activity 322. The NOA 318 may also directly or directly contribute to the ANN output 220 which provides the system output 112 from computer system 110. The SL-ANN 200 may comprise a fully recursive or recurrent network in some embodiments, in which case each node 216 is connected directly to each of the other nodes 216 or indirectly to each node 216 via a connection to node populations 218 of the SL-ANN 200
In some embodiments, the learning unit comprises a set of one or more learning function(s) 606, for example, see Figure 24 described in more detail later below. For example, the set of learning function(s) 606 may comprise at least one inhibitory learning function 606a configured to act on individual inhibitory incoming activity inputs 302 and a combination of all received weighted inhibitory inputs 306 provided by input combiner 308 as well as on output (a) or (b) comprising output from or derived from the BF 312 in some embodiments. The at least one excitatory learning function 606b acts on excitatory incoming activity input(s) 302 and a combination of weighted excitatory incoming activity inputs received from input combiner 308, as well as one of outputs (a) or (b) shown in Figure 3A. The excitatory and inhibitory learning functions may also be fundamentally different expressions as well as acting on different types of input to update different types of weights in some embodiments. The inhibitory learning function is only used to update the weights which are applied to each incoming activity connection along which inhibitory activity is received. Likewise, the excitatory learning function only updates the weights applied to subsequent excitatory activity received along an incoming activity connection by a node. See the description of Figure 24 for some examples of suitable excitatory and inhibitory learning functions.
Figure 3B shows schematically how unweighted incoming activity inputs 302a, b,.., n and one or more combinations of learning input weighted incoming activity inputs, LFCWIAIA, 328 are provided to a set of at least two learning functions 606 of the learning unit 324 shown in Figure 3A in some embodiments of the disclosed technology. Figure 3B retains the numbering scheme of Figure 3A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 3A unless this is explicitly stated to have changed. FIGURE 24 described later below illustrates in more detail an embodiment of a node where a pair of learning functions are used. In this embodiment, the set of learning functions comprises a learning function which updates each weights applied to incoming activity received along an incoming activity connection from an inhibitory node of the SL-ANN 200 and another learning function which updates each weight applied to incoming activity received along an incoming activity connection from an excitatory node.
Also shown in Figure 3B is an optional buffer (326) configured to delay when the NOA 318 is made available along particular connections 320 to other nodes based on the type of node which will receive the activity. This ability for a SL-ANN 200 to be modelled with different latencies along different node connections may provide a better representation of biological brain neuron separation in some embodiments, as neurons which are further apart may experience longer latencies. Buffer 326 may, for example, comprise a cyclical buffer comprising a plurality of addressable memory locations in some embodiments but any suitable form of addressable memory may be used in other embodiments to allow nodes 216 of the SL-ANN 200 to store their output so it can be accessed a number of time-steps later by a particular connected node. This is also shown schematically in Figure 24 of the drawings.
Dynamically updating a connection, 300, 320 may be achieved by the learning unit 324 setting to zero the weight applied to any incoming activity input 302 received over an incoming activity connection 300 in some embodiments of the disclosed technology. Alternatively, a connection 320 between a node 216 acting as a source and target node 216 may be dynamically updated at the source node 216 to remove any output activity 322 from being sent over a connection 320 with that target node 216, for example, by setting a weight to be applied to such outgoing activity 322 to zero. Outgoing weight updates may be updated using a similar weight update learning function in some embodiments of the disclosed technology or using another suitable learning function.
At least one of the 216 of a SL-ANN 200 according to the disclosed technology comprises a DSA node 400 as shown in Figure 4.
Figure 4 shows schematically an example of how perpetual or quasi perpetual or semi-perpetual activity, referred to herein as perpetual BF internal activity 406 or PBFIA 406 is generated within SABF, 404 of a DSA node 400. In Figure 4, the DSA node SABF is triggered to produce PBFIA 406 by receiving a CWIAIA 310 which meets any condition(s) imposed for the PBFIA 406 to start, shown as triggering CWIAIA 402 in Figure 4. The CWIAIA 310 is provided by the input combiner 308 in Figure 4. Alternatively, however, the triggering input may be pre-programmed to automatically occur when the SL-ANN 200 is initialized.
In Figure 4, at time T=To the CWIAIA 310, 402 from the combiner 308 triggers the SABF 404 to ongoingly, for example, perpetually or quasi perpetually, repetitively generate PBFIA 406. By way of example only, in Figure 4, the input combiner 308 receives three weighted incoming activity inputs 306a, 306b, and 306c and uses these to generates CWIAIA 310. The actual number of incoming activity inputs 302 is determined by the current time-step topology of active connections 300 between nodes 216 forming the SL-ANN 200 and may also reflect how the pre-processing of each stream of sensory data 206 as will be appreciated by anyone of ordinary skill in the art. The CWIAIA 310 is input to the SABF 404 and thus initially drives the PBFIA 406, causing PBFIA output 408 to be reprocessed as SABF input 410 to the SABF 404 in a subsequent time-step or iteration along with any CWIAIA 310 received in that next iteration via the combiner 308. The PBFIA 406 will continue to be generated and circulate its output as PBFIA output 408 to drive the next SABF input 410 within the SABF 404 with each iteration or time-step. The PBFIA 406 is thus continuously generated as it operates on its previous output and any new CWIAIA 310 provided as input in the next iteration to form PBFIA output 408 with each iteration. The PBFIA output 408 also forms the BFOA 314. In some embodiments, the SABF 404 may include an output function(s) which impose output conditions such as a minimum BFOA threshold (not shown in Figure 4).
The self-acting node 400 may also instead or in addition impose one or more node output functions 316 before the BFOA 314 is used to form DSA node’s NOA 318 and also provided as input to the learning unit 324 of the DSA node where it is used to generate updates to the DSA node’s weights (the learning unit 324 is not shown in Figure 4 for clarity).
When the NOA 318 comprises activity derived from or comprising the BFOA 314 (comprising or derived from PBFIA output 408) which is not driven by primary input of the node , the NOA 318 may thus form so-called spontaneous activity 412 at times as the DSA node will not be receiving incoming activity 302 driven by primary input 214 to the SL- ANN 200. In other words, as no primary input 214 to the SL-ANN 200 is required to drive the PBFIA 406 (once this has been triggered), the self-acting node 400 may generate node output activity, NOA 318 spontaneously.
NOA 318 generated spontaneously is referred to herein as spontaneously output node activity, SONA, 412. SONA 412 comprises NOA 318 which is not driven by primary input to the SL-ANN 200 As such, the SONA component of the NOA of a DSA node 400 is zero when there is primary input to the SL-ANN 200. When there is primary input to a DSA node, this is acted on with any input comprising previous BFOA 314 fed-back into the SABF 404 to produce NOA 318.
The output from a DSA node 400 whether SONA 412 or NOA 318 propagates within the SL-ANN 200 to the other nodes as inter-nodal activity 322 or contributes to the ANN output 220 depending on the SL-ANN network topology at that time and whether there is any primary input at that time. An SL-ANN 200 according to the disclosed technology accordingly may act at times as a self-acting ANN if its internal SONA results in spontaneous ANN output 220 being generated when there is not primary input 214 driving that ANN output 220.
Figure 5A shows how shows schematically how later on at time T>T0 the self-acting node 400 of Figure 4, as a result of the SABF 404 perpetually generating PBFIA 406, is able to generate spontaneous activity 412 in some time- steps of the ANN algorithm without the SL-ANN 200 receiving primary input 214, and without that node 400 receiving any incoming activity input 302 along its incoming activity connections 300 according to some embodiments of the disclosed technology.
Figure 5B in contrast shows how shows schematically how the same node 400 with the perpetually active SABF 404 also generates PBFIA 406 driven output 408 for recirculation as a result of the SABF 404 acting on both CWIAIA 310 and the last iteration’s PBFIA output 408 in some time-steps and according to some embodiments of the disclosed technology. Figure 5B is similar to Figure 4 but is intended to illustrate subsequent behaviour of the self- acting node 400 once the SABF has been triggered both when primary input 214 is driving input 302 to the DSA node 400 and there is already internal PBFIA 406 circulating within the SABF 404 or when internal activity comprising SONA from other nodes of the SL-ANN 200 is driving input 302 to the DSA node 400.
The two figures 5A and 5B thus depict examples of two possible states of a self-acting node 400 of the plurality of nodes 216 within the computer system 110 at different timesteps T 1 and T2, assuming the self-acting BF 404 of the self-acting node 400 has been triggered at some time TO (shown in Figure 4).
In Figure 5A, the NOA 318 comprises SONA 412 in some embodiments if the BF output activity 314 meets any output condition(s) such as threshold condition(s) for the self-acting node 400 to form the SONA 412. In other embodiments, where there is no threshold applied, the SONA 412 will always be output as NOA 318 into the SL-ANN 200. This SONA 412 is accordingly generated even in the absence of any CWIAIA 310 being provided as input to the node, which may be due to there being no primary input 214 to the SL-ANN 200. The SABF 404 of Figures 4, 5A and 5B accordingly continuously generates PBFIA 406 as the SL-ANN 200 executes by acting on the previous PBFIA output 408 and from time to time on activity driven by the SABF 404 acting also on the CWIAIA 310 from the input combiner 308 which may be driven at times by primary input 214 to the SL-ANN 200 and at times by SONA 412 from other nodes of the SL-ANN 200..
When the SONA 412 is generated by the DSA node 400 this will propagate according to the current network topology of the SL-ANN 200 along one or more connections 320 towards one or more target nodes 216 in the SL-ANN 200. The target nodes 216 which receive the SONA 412 from the self-acting node 400 as their incoming activity input 302 may be other self-acting nodes 400 or be other types of nodes 216 of the SL-ANN which do not have a SABF 404. These other types of nodes 216 will in turn accordingly process the SONA 412 received as incoming activity 302 using their BFs 312, 404 and may accordingly also produce SONA 412 as their NOA 318 will in this case not be driven by primary input 214 to the SL-ANN 200. Such nodes 216 act accordingly as indirectly self-acting, IDSA, nodes 600.
The SL-ANN 200 thus comprises a number of nodes 216 of the SL-ANN 200 which generate spontaneous activity either as they are DSA nodes 400 generating SONA 412 or because they are indirectly self-acting, I DSA, nodes 600 responding to SONA 412 received from such DSA nodes 400.
Figure 6A shows schematically an example embodiment of a neuron model for an example IDSA node 216e of the SL-ANN 200 which does not have a SABF 404 but generates indirect SONA 610 responsive to receiving SONA 412 as activity input 302a from another node 216a which comprises a DSA node 400.
In Figure 6A, the IDSA node 216e, 600 is configured with a plurality of incoming activity connections 300a, b, c, d to receive incoming activity input from other nodes 216a, b, c, d. Each node 216a, b, c, d provides incoming activity input received along one of incoming activity connections 300a, b, c, d by the IDSA node 216e. The IDSA node 600 may also be configured to provide its NOA 318 as SONA 610 as an input activity to one or more other the nodes 216 of the ANN including nodes 216a, b, c, d which are providing its input in some embodiments. In some embodiments, for example if the ANN 200 is a fully recurrent ANN, then each node 216 is connected to each other node 216 in the ANN 200, either directly node-to-node or indirectly at the node population or group level. In Figure 6A, however, for simplicity, just two feedback loops are shown by way of example along which the NOA 318 comprising or SONA 610 from the IDSA node 216e is provided as incoming activity input to nodes 216a, 216d. 02. Which of the connections 300, 320 are active may also change over time as the weights of the weight unit are updated as connections may be deactivated in some embodiments by setting an incoming oroutgoing weight assigned to a connection to zero. In some embodiments, however, another mechanism may be used to change the SL-ANN network topology.
The weight unit 304 is configured to apply respective weights W1 ..., W4 to respective incoming activity 302a..., 302d. In some embodiments, not shown in Figure 6A, the weight unit 304 or another weight unit may be configured to apply weights to outgoing NOA 318 along one or more connections to other nodes, such as along the two connections providing activities back to nodes 216a and 216b shown in Figure 6A. The weights for such outgoing activities may be applied in such a manner that the total outgoing activity is maintained as if there was only one output connection from the node.
As shown in Figure 6A, respective incoming activity inputs 302a-d are received along respective incoming activity connections 300a.. ,d. The received respective incoming activity inputs 302a-302d are processed by weight unit 304 which applies individual respective weights W1-W4 to modify the activity received as incoming activity input 302a... d in each time-step where incoming activity is provided to that node. An example of a suitable weight function is an array of weights which each take an individual value for the time-step in which the incoming activity input 302 is received where each input activity is weighted by multiplying the value of the weight assigned to that incoming activity connection 300 with the value of the corresponding incoming activity input 302. The weights may be updated in each time-step according to learning rules imposed by the learning unit 324 based on the BFOA 314. The BFOA 314 is acted on by one or more learning function(s) 606 to generate updated rules for updating all of weights W1 ..., W4. In this way each weight W1...W4 represents learned traits that determine the strength of a connection. In other words, each weight represents the significance of an activity between one node 216 and another node 216, and/or between populations of nodes, within the ANN 200.
In Figure 6A, the weighted incoming activity inputs 306a, b, c, d are combined using a suitable combiner function applied by input combiner 308 which acts on all of the received weighted activities and which outputs CWIAIA 310. Suitable combiner functions including summing or integrating the weighted inputs received over time. In some embodiments, the input combiner 308 performs a plurality of combiner functions on the weighted incoming activity input.
It will be apparent to anyone of ordinary skill in the art, that by receiving a spontaneous activity, e.g. SONA, as an incoming activity input 302a in a time-step of the SL-ANN algorithm, the node 216 can generates spontaneous activity even when no other incoming activity 302 is driven by primary input 214 to the SL-ANN 200. In some embodiments, the BF 312 shown as BF 602 in Figure 6A may be optional or instead comprise a threshold function. The SONA from DSA node 216a, 400 which is received as activity input 302a by IDSA node 216e, 600 may according provide BFOA 314 even if there is no BF as such, such as transfer function in some embodiments.
Other inputs may also be provided in addition to these learning functions 606 to generate weight updates in some embodiments. For example, in some embodiments, learning unit 324 is configured with two learning function(s) 606a, 606b (see the descriptions of Figures 6B and 24 below for more detail). In some embodiments, however, each learning function is a function of the un-weighted inputs (302a...302d), the combined weighted inhibitory inputs, and the combined excitatory inputs as well as the output of the BF.
Figure 6B shows schematically in more detail how the weights W1...Wn applied by a node to its incoming activity input may be updated in some embodiments of the disclosed technology. Figure 6B retains the numbering scheme of Figure 6A for like elements, but instead of just showing four connections indicates that the node may have any number of connections 300 along which activity 302 is received according to the number of other nodes it is capable of being connected to, which may be all of the other nodes 216 of the SL-ANN 200 if the SL-ANN 200 is a recurrent or recursive ANN.
In Figure 6B, at some points in time the IDSA node 600 receives one or more input activities 302a-n along connections 300a-n with other nodes 216a-n, of which nodes 216b-n do not have a SABF 404 and of which node 216a is a DSA node 400. Figure 6B, the BF 312 processes CWIAIA 310 received from input combiner 308 and the BFOA 314 then may be provided as a learning activity 604 to the learning unit 606 as well as the node output activity, NOA 318 comprising SONA 610. In Figure 6A, incoming activity connection 300a from DSA node 216a, 400 thus provides SONA as input activity 302a to the IDSA node 216e, 600 when there is no primary input 214 to the SL-ANN 200 and at other times may provide driven activity 500 as input activity 302a to the node 216e, 400.
In this way, just one self-acting node 216a, 400 in a network can cause multiple other nodes 216 in the SL- ANN 200 which do not have SABFs 404 to propagate SONA in a time-step of the ANN algorithm even when there is no primary input 214 from sensory sources driving the activity in that time-step.
In some embodiments of the example node 216e, 600 shown in Figure 6A, the weighted input combiner 308 generates a plurality of different combination outputs, one is the CWIAIA 310 provided as input to the BF 312, the other is a learning function CWIAIA, referred to wherein as LFCWIAIA 328 which is input to the learning function 606 of the node 216e. FIGURE 6B shows schematically an example of an IDSA node 600 where the neuron model provides LFCWIAIA 328 and the unweighted incoming activity inputs 302a, b,c,d to learning unit 324. Figure 6B retains the numbering scheme of Figure 6A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 6A unless this is explicitly stated to have changed.
In FIGURE 6B, additional inputs are shown which are used by the learning function(s) 606a, 606b of the learning unit 324 in some embodiments of the disclosed technology to generate updates for individual weights W1 ... Wn. In some embodiments, the LFCWIAIA 328 to the learning function(s) 606a, b comprise two different concurrent CWIAIA inputs 328a, b, and which is used by which learning function depends the type of incoming activity of the inputs 302a, 302b, ..., 302n-1 , 302n received by node 216e, 600, in other words is weight being updated being applied to a connection along which the incoming activity is from an excitatory node orfrom an inhibitory node. In this embodiment, the output of the input combiner 308 comprises is an inhibitory LFCWIAIA comprising a combined inhibitory weighted incoming activity input activity. The inhibitory LFCWIAIA is generated by the combiner 308 generating a sum or other suitable combination of the weighted amplitudes of the inhibitory incoming activity inputs 302 received along incoming activity connections 300a... n by the node 216e, 600. An excitatory LFCWIAIA 328b comprises a combination of weighted incoming activity input activity generated by the combiner 308 which comprises a sum or other suitable combination of the weighted amplitude(s) of excitatory activity received as incoming activity input 302 along one or more of the node’s incoming activity connections 300.
The separate activities comprising the combined inhibitory weighted incoming activity input activity, inhibitory CWIAIA 328a and the combined excitatory weighted incoming activity input activity, excitatory CWIAIA 328b are then input to the respective inhibitory learning functions 606a and 606b. Each learning function 606a, 606b also directly receives each respective activity 302a... n provided as input along each respective incoming activity connection 300a... n to node 216e, 600 and uses those values to determine the individual weight updates 608 which form the weigh update activity provided to the weight unit 304. The weight unit 304 uses the received weight updates to update weights W1...Wn which are then applied to subsequent activity received along each the respective incoming activity connection.
The CWIAIA 310 provided by the input combiner 308 to BF 312, 602 may also comprise two separate activities, in some embodiments, one comprising a positive combined weighted activity and the other negative combined weighted activity in some embodiments.
Figure 6B also shows a buffer 326 to delay the time at which the NOA 318 or SONA 412 output by IDSA node 600 is made available to the other nodes 216, 400, 600 of the SL-ANN 200. For example, as shown, the buffer 326 may in a particular time-step buffer NOA 318 or SONA 412 so that this is provided as input back to DSA node 400 at a different time from the time at which the same NOA 318 or SONA 412 is provided as input to node 216n.
The buffer 326 may be implemented as cyclical buffer as was described herein above to replicate different degrees of latency for activity propagating between different nodes in the ANN. Advantageously by buffering node output activity it may reduce resonant behaviours between nodes in some embodiments, which may allow the computational model to cause control activities to be generated which urge the external system to approach its goal or target state in a smoother way with less overshoot and/or oscillatory behaviour around the target or goal state. Figure 24 described later below illustrates in more detail how learning functions may be used to update the weights W1 ...Wn applied to the incoming activity input 302 received along incoming activity connections 300 by a node 216. The buffer 326 may be implemented as part of the neuron model 106 for a node in the SL-ANN 200 and/or as part of the SL-ANN model. Figure 7A shows schematically another example of a node 216e, 600 with a non-SABF 602 which may as a IDSA node 600 to generate spontaneous activity and spontaneously update its weights according to some example embodiments of the disclosed technology. An IDSA node 600 may receive SONA 412 from at least one other node of the SL-ANN 200, however, for clarity the IDSA node 600 is shown only as receiving SONA 412 from one other node 216a, shown here as a DSA node 400, as input activity 302a which is received along connection 300a. In Figure 7A, the provision of the NOA 318 or SONA 412 of the IDSA node 216e to provide input activity to the other nodes of the network is not illustrated either for clarity, however it is implicit that such connections exist when the SL-ANN 200 is capable of having a fully recurrent or recursive ANN topology.
The node 216e shown in Figure 7A differs from that shown in Figure 7A as the BFOA 314 is passed via a node output function 316 which applies a threshold function, shown as unit 704 in Figure 7A to forms the NOA 318. This means that the learning function 606 may not always act on each instance when SONA 412 is received as incoming activity 302a by node 216a to generate updates to update the weight function applied by the weight unit 304 and/or to update any connection rules. Accordingly, the node 216e of Figure 7a has a neuron model in which the weights applied to input activity in the next time-step may not always be update from the values adopted in a previous time-step unless the input 302 to the node is sufficiently strong to drive learning in the node.
The NOA of the node 216e shown in Figure 7A, as also in the case of the embodiments described hereinabove in relation to Figures 6A and 6B, will comprise a mixture of activity driven by primary input to the node and input which is driven by internal activity within the SL-ANN 200 driven in part by the SONA generated by DSA nodes 400. If the BFOA 314 of the node 216e is sufficiently high when there is no primary input driving it then the node 216, 600 will generate, providing the threshold function conditions are met NOA 318 which will be spontaneous output node activity, SONA, 610, In other words, in the absence of primary input driving activity in the SL-ANN, a IDSA node 600 will generate SONA 610.
This spontaneous activity 610 may also form learning input activity 706 to the learning unit 324 of the IDSA node 600. The learning function(s) 606 of the IDSA node may then use this activity in the same way as described above to update weights applied to subsequent incoming activity input received by that node 216, 600.
The NOA 318 or SONA 610 output by an IDSA node 600 is provided to one or more other nodes 216, 400, 600 of the SL-ANN 200 and/or contributes or forms the ANN output 220 depending on the location of the node 216e and the ANN topology at the time the NOA 318 or SONA 610 is output by the node 216e.
Figure 7B shows the same configuration of an IDSA node 2163, 600 as FIGURE 7A shows but with additional detail to illustrate an embodiment where the input combiner 308 provides two outputs, for example, separate combinations of weighted incoming activity input activity 328a, b comprising a combination of the inhibitory weighted incoming activity input activity 328a and a separate combination of excitatory weighted incoming activity input activity 328b received by node 216e,600. Figure 7B retains the numbering scheme of Figure 7A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 7A unless this is explicitly stated to have changed.
In this example, the outputs of the input combiner 308 comprises the combined weighted inhibitory incoming activity input activity 328a which is provided to an inhibitory learning functions 606a and the combined excitatory incoming activity 328b which is provided to an excitatory learning function 606b. The learning function 606a also acts on the values of the inhibitory incoming activity inputs 302a, b, received along each incoming activity connection 300a, b in this example as well as the sum of inhibitory activity provided by incoming activity input 302a and incoming activity input 302b and the output of the BF 312, 602 whereas learning function 606b also acts on the values of the excitatory activity received as respective incoming activity inputs 302c, b in this example along each respective incoming activity connection 300c, b as well as the sum of excitatory activity 302c + 302d. Both learning functions 606a, b also act on the output of the BF 312, 602, 702.
In this manner, in some embodiments, each type of learning function generates a set of one or more individual weight updates 608 which form the weight update activity used by the weight applying module or unit 604 to update the respective weight W1..Wn applied to each respective incoming activity input 302a..302n received along a respective incoming activity connection 300a..300n in each time-step or iteration of the ANN algorithm implementing the SL-ANN 200. applied by each particular edge connection (also referred to herein as an incoming activity connection) which varies depending on the value and type of the activity previously received along that incoming activity connection. Thus, incoming activity connections along which inhibitory activity is received will have their weights individually updated based on previous inhibitory activity received along that incoming activity connection, the sum of all inhibitory activity received, and the output of the BF 312, 602, 702.
In Figure 7B, just four nodes 216a...d are shown by way of example, however, it will be apparent to anyone of ordinary skill in the art that the number of nodes may differ in other embodiments of the disclosed technology. The limit to the number of inputs which may be received will be determined in part by the computational hardware resources available and the ANN algorithm itself. In some embodiments, the scalability of the ANN model in terms of the number of nodes it includes when the ANN is in a fully connected recurrent or recursive, can be improved by grouping nodes of particular types into populations and determining projection rules for activity output by a particular population of nodes onto the nodes of a particular type of other population of nodes. Such output rules for nodes and/or populations of nodes may include latency or buffering rules, which may be implemented using a suitable buffer such as cyclical buffer 326 shown in FIGURE 7B.
Figure 8A shows an example of how a node 400 with a SABF 404 in the SL-ANN 200, for example the self- acting node 400 with the SABF 404 of Figures 4, 5A and 5B, or a self-acting node 216a as shown in any one of Figures 6A, 6B, 7A, or 7B, may generate SONA and use this to spontaneously update its learning function(s) at times when there is no primary input 214 to the SL-ANN 200 according to some example embodiments of the disclosed technology.
In the example embodiment shown in Figure 8A, the self-acting node is labelled self-acting node 216e 400 receives four respective incoming activity inputs 302a-d along four respective incoming activity connections 300 (not labelled in Figure 8) with other nodes 216b-d. These incoming activity connections 300a, b, c, d may also be considered influence pathways as the activities forming incoming activity inputs 302a, b, c, d may influence the internal state of the node 216e. The number of connections shown is arbitrary and scales with the number of nodes 216 of the SL-ANN 200 which are configured to act at in a given time-step or iteration of the ANN algorithm as source nodes. In this example, one or more of nodes 216a-d may comprise another self-acting node 216a, 400 and/or a node 216e, 600 which is a IDSA node 600 or any other type of node 216 connected to the self-acting node 400.
Each input activity 302a-d shown in Figure 8A is processed by the weight unit 304 which applies a respective weight to the received input activity to produce a respective weighted input activity 306a-d. These activities 306a-d are then combined by the weighted input combiner 308 to form CWIAIA 310, which is further processed by the SABF 404 to generate the NOA 318.
The SABF 404 will act in each time-step either on a combination of the CWIAIA 310 and its own circulating PBFIA output 408 or just on its own circulating PBFIA output 408. Either may produce spontaneous output if there is no primary input 214 driving activity across the SL-ANN 200 at that time. There is accordingly continuously on-going generation of PBFIA 406 within the SABF which 404 circulates the SABF output 408 as input 410 fed back to the SABF 404 once it has been triggered in the form of an ongoing internal activity. Figure 9A and 9B illustrate in more detail an embodiment of a SABF 404 according to the disclosed technology which has continuously circulating PBFIA 406. The PBFIA 406 is perpetual in the sense that once it is started, it will continue iteratively for as long as the ANN algorithm is iteratively executing on a computer system 110 regardless of whether primary input 214 is received or not.
As shown in Figure 8A, there are no additional threshold function components, however, it will be obvious to anyone of ordinary skill in the art to understand that a threshold function component may be added in some embodiments to modify when the BFOA 314 produces SONA 412 as the NOA 318 along an output connection or connections 320. For example, a node output function 316 shown as optional in Figures 3A and 3B may be used to determine a threshold activity level for the BFOA 314 to form SONA 412 as the NOA 318. The same or another threshold function may be applied by the node output function 316 to modify when the SABF BFOA 314 or SONA 412 is used as input to the learning function(s) 606 of the learning unit 324 to cause updates to the weights and/or active connections of the node 216e, 400 in some embodiments.
An example of a node output function 316 which may be used in some embodiments comprising is a threshold function 316 such as, for example, a spiking threshold function. In some embodiments, however, in addition or instead the node output function 316 may comprise a gain function which amplifies the SONA 412 forming the NOA 318 output from the node 216e, 400.
In Figure 8A, the input combiner 308 provides CWIAIA 310 to the SABF 404. The CWIAIA 310 may comprises more than one type of activity in some embodiments, for example, excitatory CWIAIA may be provided separately from inhibitory CWIAIA to the SABF 404 in some embodiments. The SABF 404 may comprise a reception unit 900 (see also Figures 9A and 9B) for receiving the CWIAIA(s) 310 from the input combiner 308. The BFOA 314 of a SABF 404 of a DSA node 400 may at times accordingly be a spontaneous activity output 318, in other words from SONA 412, if there is no primary input 214 driving the activity received as incoming activity input 302 by that self-acting node 400 in a given time-step. At other times, primary input 214 to the SL-ANN 200 may cause the SABF 404 to generate NOA 318 derived both from activity driven by the PBFIA of the DSA node 400 and from incoming activity input to the DSA node 400, and at other times, just from the internal circulating PBFIA 406 which may be supplemented by incoming activity derived from SONA generated by any other DSA nodes 400 or IDSA nodes 600 of the SL-ANN 200. Providing primary input 214 to the SL-ANN 200 has previously driven activity into the DSA node 400, then PBFIA 406 circulates with the previous SABF output 408 back to from SABF input 410 in the next iteration of the SABF 404. Thus, initially the PBFIA 406 which circulates within the SABF 404 when the primary input 214 ceases will be dominantly relatable to the last primary input driven input activity 302 received by the DSA node 400 but over time this contribution decays and the SABF will act on SONA output by other nodes 216 and on its own previous PBFIA output 408 provided as input 410 of the DSA to form the dominant contribution.
Assuming there is no further processing of the BFOA 314 via a node output function 316 the BFOA 314, which may be SONA 412 provided as input to the learning unit 324 and as the NOA 318. The NOA 318, whether this is driven output 500 or SONA 412 will be output along one or more connections 320 to other nodes or contribute to the ANN output 220 of the SL-ANN 200 depending on the location of the node 216e, 400 in the ANN network architecture. In some embodiments, what other nodes 216 of the SL-ANN 200 receive activity will depend on what outgoing activity weights are applied to internodal activity 322 from the DSA node 400 output along connections 320.
In some embodiments, primary input 214 comprises a plurality of primary inputs 214 each from one of a plurality of different sensor sources of the sensory system 204 or representing different characteristics of the same sensor source, for example, different frequency bandwidths. In some embodiments, only some nodes 216 receive input from one or more of the plurality of different sensor sources in a particular time-step, and output from a node 216 of the SL-ANN 200 may not be received at the same time by different nodes 216 of the SL-ANN 200.
Nonetheless, external sensor activities which form primary inputs 214 to the SL-ANN 200 will drive activity across the SL -ANN 200 which follows a spatiotemporal trajectory as the nodes 216 within the SL-ANN 200 are connected/ co-dependent in a certain way or learn connections in a certain manner. In other words, the NOA 318 provided by a DSA node 400 or an IDSA node 600 is output activity which is function of that node's inputs, its internal activity, and network connectivity at times when there is primary input 214 to the SL-ANN 200. A DSA node 400 may also generate SONA 412 as its NOA 318 dominantly driven by its SABF 404 generating PBFIA 406 at other times. The PBFIA 406 driven SONA 412 however will perturb the trajectories formed by NOA 318 driven by primary input 214 to the SL-ANN 200.
In some embodiments, when a DSA node 400 receives activity 302 along one or more activity pathways associated with primary input(s) 214 to the SL-ANN 200, the DSA node 400 generates activity which is driven by the input activity 302 but suppresses its SABF's PBFIA output 408 from being circulated internally within the SABF to form subsequent input 410. In other words, in some embodiments, the PBFIA circulation is not activated by a DSA node 400 when that node receives input activity 302 along its connections 300. Alternatively, for example, in some embodiments, it is possible for the circulating SABF internal PBFIA 406 to be generated and from output 408 but for this output 408 to be then discarded and not used as subsequent input 410 if there is either any subsequent input received as incoming activity 302 by the DSA node 400 along its connections 300 driven by primary input to the SL- ANN 200, for example, by applying a zero weight to the subsequent PBFIA activity input 410.
When the DSA node’s NOA 318 contributes to the ANN output 220, this may be post-processed by a suitably configured computer system 110 and be used to drive system output 112 by the computer system 110. The system output 112 of computer system 1 10 may accordingly comprise activity which may be in part or wholly, spontaneous activity derived from SONA 412 propagating within the SL-ANN at times when there is no primary input 214 to the SL- ANN 200 to drive the SONA 412.
I n this way, the spontaneous activity of a self-acting node 400 provides computer system 110 with the potential ability to generate system output 1 12 based on both internal dynamics and system input 108, which may in some embodiments be provided as primary input 214 if the system input 108 is pre-processed before being input to the ANN. In particular, computer system 110 may be configured to spontaneously generate system output 1 12 in some embodiments which comprises or is suitable for providing, a control activity to an entity such as the external system 202 of Figures 2A, 2B, or 2C. The control activities generated seek to cause the entity to modify its state and/or provide a control activity to cause one or more external environmental characteristics governing the environment of the external system 202 to be modified in some embodiments. For example, if the computer system 1 10 is connected to an external system 202 and the sensor system 204 is providing sensory information about one or more physical states of the external system 202, the spontaneous activity of the self-acting ANN 200 may provide several technical benefits, including the ability to pro-actively and possibly pre-emptively control the state of the sensed external system 202 so this remains at a goal or target state.
By way of example, sensory data 206 may comprise data derived from a temperature sensor of the sensor system 204 sensing an internal temperature of a robotic external system 202 for example as well as a temperature feed provided from the one or more other data source(s) 210 for the ambient temperature. The additional data from the one or more other data source(s) 210 indicating ambient temperature may allow an ANN 200 to pre-emptively generate ANN output 220 which causes a control activity to be provided as the computer system output 1 12 to control the robotic external system 202 to prevent overheating of the robotic external system 202 in some embodiments.
For example, a technical benefit may occur in some embodiments when the sensory data 206 is pre- processed so that the sensed external system is in a target or goal state, then no sensor derived primary input 214 occurs. By configuring the nodes 216 of the SL-ANN 200 to refine their weight functions more rapidly using internal spontaneous activity rather than waiting for new sensory activities to be input to the ANN 200, the internal nodes 216 of the SL-ANN 200 are able to process various abstract representations of input data. Local spatiotemporal minima may accordingly be more rapidly found using the SONA 412 circulating within in the ANN architecture to accelerate the rate at which the self-acting ANN output 220 will correctly find a solution to the given input problem space. In other words, if the sensory data 206 for a state of a sensed target external system 202 is pre-processed or otherwise configured by the computer system 1 10 in some embodiments the condition means that when a stream or feed of sensory data 206 ceases or if when pre-processed the resulting relative values to that stream’s set-point is zero, the primary input 214 to the SL-ANN will be zero and indicate that external system 202 is in a goal or target state. At this point, the ANN output 220 of the SL-ANN 200 will cease until the SL-ANN 200 spontaneously generates ANN output 220 to pre-emptively ensure the external system 202 remains in its goal or target state. In this case, the ANN output 220 will contribute to or form the computer system output 112 which will also be zero when the external system 202 is in its goal or target state if that point as there is no need to update the external system state but which will not be zero if the SL-ANN 200 generates spontaneous output which the computer system output 1 12 then provides to the external system 202 to cause it to update its state.
Conversely, if primary input 214 to the SL-ANN 200 is not zero, then the SL-ANN may be configured in some embodiments to generate an ANN output 220 that will, if provided to a computer system 1 10 configured to control and/or otherwise to cause the sensed state of the external system to be updated, result at some point in new sensory data 206 being input as either as system input 108 or as primary input 214 to the SL-ANN 200, until the state of the external system 202 state reaches the desired target or goal state (or a state within an acceptable threshold of the target or goal state). If the SL-ANN 200 is configured to generate spontaneous output from time to time, in other words, if it acts as a self-acting ANN from time to time, then the computer system 110 may be configured to use the spontaneous output of the self-acting ANN 200 to spontaneously cause an update of the state of the external system 202, even when no new sensory data 206 is available about the target external system 's state at that point.
In this way, in some embodiments, the computer system 1 10 may cause the state of the target external system 202 to approach and reach a goal or target state in a more controlled and/or more rapid manner than if the state of the target external system were only updated when sensory data 206 drives system input 108 and so causes new primary input 214 to the SL-ANN 200. For example, in some embodiments of the disclosed technology, the CBM 102 comprises a pre-trained ANN which is pre-loaded onto an external system 202 comprising a robotic system in an embodiment of the system shown in Figure 2C.
In an embodiment where the external system 202 comprises a robotic system, in order to control the motion of the robotic external system 202, one or more control activities comprising or derived from the computer system output 112 based on the ANN output 220 is used. In the absence of any sensory primary input, after a trigger event has caused the spontaneous activity to start within the self-acting nodes 400 of the SL-ANN 200, the SL-ANN 200 may from time to time provide spontaneous ANN output 220 which cause system output 112 to be generated to control the actuators 205 of the robotic external system 202. The actuators 205 may cause, for example, the robotic external system 202 to move laterally, vertically, or to rotate about an axis. In this manner, the robotic external system 202 may be provided with the ability to generate a spontaneous motion, such as for example, to take a step and/or start walking if pushed, where in this example sensor activity resulting from the push will triggering the lateral, for example walking, motion to restore the robotic system to a more stable goal or target state. Similarly, the robotic external system 202 which suddenly trips and falls down when walking may rise, and resume walking based on its spontaneous activity driving a "memory" of the previous walking state.
This spontaneous activity accordingly gives an extra dimension to the sensory input and thus increases the richness of the system as, for example, the output is now a function of sensory activity and the of the network where the spontaneous activity provides an indication of the state of the network. In some embodiments, the CBM 102 comprises one or more ANNs 200 where at least one ANN 200 is implemented as a recurrent system. In this case, an activity will propagate across other nodes of the ANN (according to their connectivity within the network) until the activity decays. In some embodiments, such as when conduction delays along connections are modelled as latencies using a suitable memory or buffer mechanism, it should also be noted there is not necessarily a time-step to time-step mapping between when output is provided to a node from which it was generated by its source. In other words, a node may generate output at one point in time, but that output need not be used as input by another node until X amount of time later. X may vary considerably, for example, it may be 1 -30 ms between nodes (within a brain region) or be far longer, for example, 100 ms if the activity is being transferred between nodes belonging to different brain regions.
Another benefit is that the continuous learning internally within the SL-ANN 200 occurs at a pace which may be far more rapid than waiting for external input to be received by the SL-ANN 200. The self-learning functionality of the self-acting ANN results from at least one self-acting node 400 of the SL-ANN 200 outputting spontaneously activity that drives learning updates within the SL-ANN as a result of its ongoing internal BF activity. This means that weights applied to input learn to adapt to variations of input activities far faster than the sensory input which may be presented to the computer system 110 for processing by the SL-ANN 200 by the system input 108.
Moreover, if the accelerated learning within the SL-ANN accompanies the SL-ANN driving the computer system 1 10 to provide control activities or otherwise to cause the external system to update its state, then if the sensors are state-changing event triggered, additional sensor input maybe input to the SL-ANN which in turn will further cause further learning, in this way, depending on the type of sensor, more accurate accelerated learning processes can be performed and used to generate output which more accurately updates the external system. In this manner, the SL0ANN 200 is able to more quickly learn from its own internal network state, in other words from its architecture and the internal activity trajectories within that architecture, to provide SL-ANN output 220 which will result in the system output 1 12 of the computer system 1 10 providing suitable activities to control the external system 202 to adopt a goal or target state. The ability of the SL-ANN 200 to act in this manner as a self-acting ANN may also result in the external system 202 more rapidly updating its state to reach a goal or target state. This may result in pre-emptive control being implemented in some situations if the SL-ANN 200 is able to anticipate how the external system 202 may behaviour in future so that it remains in a target or goal state rather than deviate from it.
Another technical benefit of the SL-ANN 200 according to the disclosed technology includes improved handling of variations in the system input 108, in otherwords, variations in the primary input 214, and still provide useful output to update the state of the external system 202. By continuously circulating activity within the SL-ANN 200, the weights which the nodes 216 of the SL-ANN 200 apply to input activity received along connections are capable of being continuously updated, which results in the SL-ANN 200 forming more and more abstract representations of input over time. In other words, the SL-ANN 200 can learn purely from its own internal activity in some embodiments.
By including an SL-ANN 200 configured to learning abstract representations, the CBM 102 is able to generalize better. For example, if the external system is a robot and it has learnt to stand on a concrete surface, then it can also stand on other types of surfaces which may be more slippery or less stable, such as ice or sand etc. because computational model did not learn a direct input to output mapping, rather it learnt the representations of the input at various levels of abstraction over time and from this can retrieve abstract representations to resolve the sensory data it will experience when adapting to a new type of surface.
For example, as shown in Figure 8A, the BFOA 314 is provided as a learning input activity to the learning function unit 324 where it is operated on by learning function(s) 606. This influences the node's learning and adaptation processes in every timestep of the SL-ANN 200. Alternatively, the BFOA 314 may be provided via a threshold function applying component (not shown) as a learning input activity to the learning function unit 606, which will influence the node's learning and adaptation processes only in those timesteps where the threshold functions conditions are met. For example, the threshold function may set a lower limit below which no BFOA 314 is provided as NOA 318.
FIGURE 8B shows an embodiment of FIGURE 8A in which activities are received as incoming activity input 302a, b,c, d along incoming activity connections 300a,b,c,d from nodes 216a.. ,216d are also provided as individual incoming activity input 302a, b,c, d to a learning unit or unit 606 comprising a set of two or more learning functions. Figure 8B retains the numbering scheme of Figure 8A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 8A unless this is explicitly stated to have changed.
In Figure 8B, the learning unit 324 comprises a set of at least two learning functions 606a, 606b, one for each type of incoming activity input 302 received along an incoming activity connection 300 with node 216e, 400. For example, in some embodiments one or more of the incoming activity inputs 302a, b, c, d may be inhibitory or excitatory type activities, depending on whether nodes 216a, b, c, d are inhibitory or excitatory source nodes.
An inhibitory learning function is provided to update each weight W1...4 applied to a particular type of subsequent incoming activity input 302a... d received from an inhibitory node 216a along an incoming activity connection 300. For example, if nodes 216a, and 216b are sources of inhibitory activity, then the inhibitory learning function may act on the individual inhibitory activity forming incoming activity input 302a previously received along incoming activity connection 300a if node 216a is an inhibitory node, the combined weighted inhibitory incoming activity input activity, inhibitory CWIAIA 328a comprising a combination of all of the inhibitory activity received as incoming activity input 302a ...302d along all incoming activity connections 300a..300d with inhibitory activity sources provided by the input combiner 308, and the BFOA 314 of the SABF 404, to generate an update to weight W1 which will be applied to inhibitory activity provided as incoming activity input 302a which is received subsequently by the self-acting node 400 along incoming activity connection 300a. The same inhibitory learning function will also act on, for example, inhibitory activity received from an inhibitory node 216b, and the combined weighted inhibitory incoming activity input activity, inhibitory LFCWIAIA 328a, and the BFOA 314 regardless of whether this comprises SONA 412 or driven activity 500 and may produce a different weight update to the weight for connection 300b to that generated for connection 300a..
For example, if nodes 216c and 216d are sources of excitatory activity for the DSA node 400, then the excitatory learning function configured to update the weight Wc applied to subsequent activity received as incoming activity input 302c from excitatory node 216c along incoming activity connection 300c based on one or more or all of: the previously received excitatory activity received as incoming activity input 302c along that incoming activity connection 300c, the combined weighted excitatory incoming activity 328b formed using all excitatory activity provided by the input combiner 308, and the BFOA 314 of the SABF 404 which may comprise SONA 412 in some embodiments. The excitatory learning function may also be configured to update the weight Wd applied to subsequent activity received as incoming activity input 302c from excitatory node 216d along incoming activity connection 300d based on one or more or all of: the previously received excitatory activity received along that incoming activity connection 300d, the combined excitatory activity 328b of all excitatory activity provided by the input combiner 308, the output of the BFOA 314 which may comprise SONA 412 from time to time. In this manner, each weight W1 ...W4 of a self-acting node 216 may be individually updated differently from the other weights by the learning functions of the node according to some embodiments of the disclosed technology. Similar learning functions may be used in non-self-acting nodes 216, 600 to provide unique weight updates in a similar manner depending on the type of activity received as incoming activity input 302, for example whether it is inhibitory or excitatory activity, that the weight is to be applied to in some embodiments.
Figure 8B also shows how an optional buffer 326 may cause NOA 318 generated at time T= t may be buffered and not released to one or more other nodes until later timesteps at time T= t+i where the number I of time-steps the output is delayed before it is made available as input to a particular node depends on the type of other node to receive the NOA 318 in some embodiments.
Figure 9A shows schematically a functional block diagram of a SABF 404 of a DSA node 400 configured to be capable of ongoingly, also referred to herein as perpetually or quasi-perpetually, akin to continuously, generate a perpetual BF internal activity, PBFIA, 406 according to some example embodiments of the disclosed technology. The self-acting nodes 400, 216a shown in Figures 4, 5A, and 5B, and 8A and 8B are an example of a node which may have the features shown in Figure 9A.
In some embodiments, the SABF 404 comprises two independent internal processes, also referred to herein as feedback loops. The feedback loops are configured to moderate the subsequent excitatory and inhibitory activity feed to the BF combiner 918. One feedback loop internal process within the SABF 404 provides excitatory activities which enable self-excitation of the node 400 based on the PBFIA 406 generated within the SABF 404 and which excites any SONA 412 the DSA node 400 may generate as its NOA 318. The other internal process or feedback loop provides inhibitory activities which enables self-inhibition by the DSA node 400 based on the internal activity within the SABF 404 inhibiting any spontaneous activity the DSA node 400 may generate.
In Figure 9A, a SABF 404 computational model is schematically represented by functional blocks representing code components which may be provided as software modules, and/or at least in part by circuitry or programmable in some embodiments of the disclosed technology.
In the example SABF 404 shown in Figure 9A, input combiner 308 is configured to receive a plurality of connection input driven weighted activities 306 and combines these to output at least one CWIAIA 310 to the SABF 404.
As shown schematically in the example illustrated in Figure 9A, the SABF 404 comprises a reception unit 900. The reception unit 900 may take the form of a leaky integrator in some embodiments of the disclosed technology which accumulates the combined weighted incoming activity input activity 310 over time, also referred to herein as the delta input. This delta input may be combined in some embodiments with the original non-derivative input, i.e. the combined weighted incoming activity input activity 310, to the reception unit 900. The output from the reception unit 900 comprises activity 902 and is provided to the first processing unit 908 and the gain control unit 906. Alternatively, the generation of the time-derivative of the combined weighted incoming activity input activity 310 may be provided outside the SABF by a suitable processing unit of the node 400 (not shown in Figure 9A or Figures 8A and 8B). The reception unit 900 outputs the received input activity 902 to a first processing module or unit 908 and to a gain control module or unit 906. The gain control unit 906 is also configured to receive an input activity 904 from the first processing unit which comprises information indicative of whether the processing unit has been charged by a discharge activity 924 comprising accumulated negative BF activity. The first processing unit 908 applies a first processing function to both received input 902 and to a positive feedback loop activity 920a comprising the BFOA 314 from a previous time-step, and generates a first processing activity 910. The first processing activity 910 is input to the BF combiner module or unit, also referred to also as the BF combiner, 918 and also to a second processing unit 914. The first processing function may be a unitary or linear or non-linear transform function in some embodiments and may apply a threshold function in some embodiments. Any suitable transfer function known to someone of ordinary skill in the art may be used.
The second processing unit 918 is configured to generate a negative activity by applying a second processing function to the input first processing activity 910 and a feedback activity 920b, 926 which comprises the BFOA 314, 920 from a previous time-step. An example of a second processing function is an inversion function which transforms received positive values to have negatively signed values. The inversion may be unitary, linear, or non-linear. For example, in some embodiments of the disclosed SABF, the second processing function may comprise any suitable transfer function known to someone of ordinary skill in the art.
The BF combiner 918 applies a BF combiner function to the receive activity inputs 910, 916 from the first and second processing units 908, 914 and to any amplified activity 912 received from the gain control unit 906 to generate BF activity 314, 920. An example of a BF combiner function is a summation function, which sums all of the input received, which may be positively signed activity from the first processing unit and negatively signed activity input received from the second processing unit. Another example of a BF combiner function is an integration function, which integrates the received activities over a time-step. The SABF 404 accordingly comprises one or more of the following functions in some embodiments one or more or all of a summing function, a multiplying function, a leaky integrator function and an accumulator function, which may in some embodiments all be provided by the BF combiner function 918 and/or by the BF combiner function component 918 in combination with other components, such as the accumulator 922 for example, of the SABF 404.
In some embodiments, the SABF may comprise a plurality of accumulators and/or a plurality of leaky integrator functions. The accumulator/leaky integrator functions may all have different time-constants.
The BF activity comprises BFOA 314 and the internally recycled activity 920 is circulated internally as a feedback activity 920a, 928 to the first processing unit 910, as a second feedback activity 920b, 926 to the second processing unit 914, and also provides a negative activity 920c which is output to a negative activity accumulator 922.
The negative activity accumulator 922 accumulates negative activities over one or more time-steps until a discharge condition is met, usually in the form of a discharge threshold, at which point it discharges the accumulated negative activity 924 into the first processing unit 908. The discharge conditions may be based on one or more timeconstants, where the time-constant determines how fast the accumulated activity drops or grows to a certain amount. By convention, the amount is usually given by 1 - 1/ e, or approximately 63.2%. For example, in some embodiments the discharge process may be implemented to achieve a certain loss in a given amount of time, which may also be expressed as a time-constant for the accumulated activity to drop by 63.2%. An example discharge condition used by some embodiments of the negative accumulator comprises any suitable condition known to someone of ordinary skill in the art.
In this manner, the SABF 4j04 has a positive feedback loop formed by the first processing activity 910 and first processing feedback activity 920a, 928 and a negative feedback loop formed by the second processing negative activity 916 and the negative activity 920b, 926. Another, additional internal feedback is provided via the discharge activity 924 comprising accumulated negative activities which fees back into the first processing unit.
The BF perpetual activity arises as a result of the internal feedback loops and by accumulating negative activities and discharging these from time to time within the BF.
For example, in some embodiments, the SABF 404 is capable of generating spontaneous activity in the absence of receiving any combined weighted activity input 310 from the input combiner 308 due to the feedback activities 926, 928 provided to the second and first processing units respectively in a following, next, time-step as a result of activity in the previous time-step. These activities are, in the continued absence of any combined weighted incoming activity input activity 310 from input combiner 308, able to internally circulate and from time to time are modified by causing an accumulation of negative activities which trigger a discharge of the accumulator in a following next time-step. In this manner, the activity may continue perpetually so long as the BF is able to perform as suitable mechanism for self-regulation, in other words the BF may be configured to automatically terminate the positive amplification of input activity within the BF component.
The SABF 404 is also configured in the embodiment shown in Figure 8B to provide its BFOA 314 as a learning activity to the node learning unit 606 and may directly provide output activity along one or more connections 320 to other nodes 216 of the ANN and/or which contributes directly to the ANN output 220 of the ANN. The output activity 318 of a self-acting node 400 with a SABF 404 may accordingly be SONA 412 if there is no CWIAIA 310 activity to drive it or it may be SONA driven by a CWIAIA activity 310 derived from incoming activity comprising SONA from another node at other times where the CWIAIA activity 310 may be incoming activity 302 driven or the output 500 may just be driven by primary input 214 to the SL-ANN 200 driving the incoming activity forming 302 at other times to from driven output activity 500. If the driven output activity 500 is generated when there is no primary input 214 to the SL- ANN 200 to drive it, then it will also from SONA 412 as NOA 318.
Figure 9B shows schematically in more detail how a self-acting node 400, for example, a node 216a such as Figures 6A, 6B, 7A, and 7B show, may update its weights based on the type of activity each incoming activity connection has received in some embodiments of the disclosed technology. Figure 9B retains the numbering scheme of Figure 9A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 9A unless this is explicitly stated to have changed.
In Figure 9B, incoming activity inputs 302a, b, c... n form the incoming activity input 302 to the self-acting node 400. The self-acting node 400 generates internal, also described as intranodal, activity 902 from its BFOA 314 regardless of whether it receives any internodal activity as incoming activity inputs 302a, b,c, ... n which are driven by primary input 214 to the SL-ANN 200 in an iteration of the ANN algorithm. Incoming activity input 302 may also still be received from other internal nodes 216 of the SL-ANN 200 accordingly even when there is no primary input 214 at a particular point in time to the SL-ANN 200 in some embodiments. Thus, the input driven output 500 of a DSA node 400 or an IDSA node 600 may also form SONA 412 in some embodiments of the disclosed technology at times when it is not driven by primary input 214 to the SL-ANN 200.
As shown in the example embodiment of Figure 9B, learning unit 324, 606 comprises a set of at least two learning functions 606a, b, depending on the type of incoming activity input 302 received and/or the type of sources for such received incoming activity input 302. By way of example, in some embodiments, the learning unit 606 comprises two learning functions, one inhibitory and one excitatory. The inhibitory learning function updates the weights applied to inhibitory activity received along a node edge connection or incoming activity connection with an inhibitory source and the excitatory learning function is used to update the weights applied to excitatory activity received along a node edge connection or incoming activity connection 300 with an excitatory source. The sources of activity may be input or internal nodes of the ANN.
In some example embodiments, an inhibitory learning function acts on three inputs in each iteration of the ANN algorithm to determine an output which will update the weight of an incoming activity connection along which activity is received in a subsequent iteration of the ANN algorithm. For example, in some embodiments, the three input variables or parameter values on which an inhibitory learning function acts comprise the value of the amplitude of the received inhibitory incoming activity input 302a along a particular incoming activity connection from an inhibitory source node, the combined inhibitory weighted incoming activity input activity 328a comprising a sum or other suitable combination all of the inhibitory inputs 302a received along all incoming activity connections from inhibitory source nodes connected to the self-acting node 400 and the BFOA 314 from the SABF 404. The learning function updates the weight of the incoming activity connection for which the incoming activity input to the learning function was received on which may cause each incoming activity connection's weight to be updated differently by the learning function 606,606, 606b.
The three variables, also referred to herein as parameter values, on which the corresponding excitatory learning function acts on in some embodiments comprise the value of the amplitude of the received excitatory incoming activity input 302a along a particular connection or edge with an excitatory source, the value of a sum or other combination of all of the excitatory weighted incoming activity input activity 328b received along all incoming activity connections by the self-acting node 400 and the BFOA 314 which may comprises SONA 412 from the SABF 404.
In this manner, each incoming activity connection is independently updated based on the value of its previous inhibitory or excitatory input in a mannerwhich may differ from the weight updates applied to the other incoming activity connections along which activity is received by the self-acting node 400. It will be appreciated also that in some embodiments, the SABF may also generate two separate outputs, one inhibitory, one excitatory, which are provided separately to the inhibitory and excitatory learning functions, respectively. Alternatively, in some embodiments, just one output is provided based on both combined excitatory and inhibitory activity by the BF to the learning function. Figure 9B also shows how an optional buffer 326 as described herein above may be optionally provided in some embodiments.
Figures 10A to 10C form a data flow diagram which shows schematically how some embodiments of the SABF component of Figure 9A or 9B may be configured to generate a BF activity and provide this to update one or more functional learning unit(s) and/or contribute to the system output. Figure 10D described later below shows schematically in more detail an example embodiment of the learning process shown in Figure 10B may be implemented. The steps illustrated may be combined or omitted in some embodiments as would be apparent to anyone of ordinary skill in the art and may occur in a different sequence to that illustrated in Figures 10A to 10B. It will also be apparent to anyone of ordinary skill in the art that timings may be depicted in a particular way in the diagram to facilitate understanding of the data flows and that actual timings may be concurrent or simultaneous when depicted as being separate and/or be at different times when depicted as being concurrent or simultaneous and that the shown order of the steps and activity flows may be modified in some embodiments of the disclosed technology whilst still achieving the same or a similar spontaneous or perpetual activity in a SABF.
Figures 10A-C show how data flows between the BF internal components 900, 906, 908, 914, 918, and 922 of the example embodiments of the SABF 404 shown in Figures 9A or 9B. It will be apparent to one of ordinary skill in the art that the system components shown in Figures 9A and 9B and Figures 10A-C are merely representative of functional elements of a SABF to illustrate how a self-acting node 216a, 400, may spontaneously generate activity within an ANN 200 according to some embodiments of the disclosed technology. It will also be appreciated that the data flows represent operations on data that may not occur in the steps shown by way of example in Figures 10A to 10C and that different code structures and timings may be used in some embodiments as would be apparent to someone of ordinary skill in the art.
Figure 10A depicts a BF 1000 comprising a reception unit 900, a gain unit 906, a first processing unit 908, a BF combiner component, shown as BF combiner 918, a 2nd processing unit 914, and a negative activity accumulator 922.
In Figure 10A, a negative discharge activity, shown as a -ve discharge activity 924, may have been received in a previous time-step by the first processing unit 908 from the negative activity accumulator 922. The BF combiner 918 has provided both a positive feedback activity 920a, 928 to the first processing unit 908 and a negative feedback activity 920b, 926 to the second processing unit 914 in the previous time-step.
In the current time-step, reception unit 900 receives a combined weighted incoming activity input activity 310 from input combiner 308 (not shown) and provides this as an input activity to the gain unit 906 and to the first processing unit 908. The first processing unit 908 applies a first processing function to the received input from the reception unit, as well as to the previously received feedback activity 928, and to any discharge activity 924 if the accumulator has discharged and provided a discharge activity in that time-step or a previous time-step before the input activity 904 was received by the 1st processing unit from the reception unit 902.
The 1st processing unit 908 then outputs a first processing activity 910 to the BF combiner 918 and to the second processing unit 914 and may also provide a charge information activity 904 to the gain unit. The charge information indicates if the threshold for discharging the negative activity accumulator 922 was not met and/or if the first processing unit 908 has no charge. Based in the charge information 904 received, if the 1st processor has no charge, then the gain unit 906 will amplify the received input activity in 1008 and sends the amplified activity 912 to the BF combiner 918.
In the meantime, the 2nd processing unit 914 will process the first processing activity input 910 with the bf feedback activity 926 from a previous time-step to generate a self-inhibitory activity in 1006 and provides the self- inhibitory activity 916 to the BF combiner 918. The BF combiner 918 is configured to apply a suitable combining function to received input activities, for example, activities 910, 912, and 916 shown in Figures 10A and 10B, and generates a BFOA 314 which is output to a number of components within the SABF 404 to form circulatory activity, that is to say perpetual BF internal activity, PBFIA, 406, within the SABF 404. The BFOA 314 is also provided as output to the learning model 606 and as output used to form NOA 318.
As shown in Figures 10B and 10C, the first processing unit 908 receives feedback in the form of BF output activity 920a, 928 from the output of the BFA combiner 918. The 2nd processing unit 914 receives feedback activity 902a, 928 from the output from the output of the BFA combiner 918. The negative activity accumulator receives a negative activity 920c derived from the output of the BFA combiner 918. This negative activity may be derived by inverting the activities received from bf activity combiner 918 at the second processing unit 914 in some embodiments.
The negative activity accumulator 922 accumulates the BF output activity 920c and, upon reaching a certain threshold, initiates the process of comparing the accumulate activity with one or more discharge threshold condition(s) 1014. If the threshold is reached, the accumulator discharges the accumulated negative activity 1016, resulting in an accumulator discharge activity 924. The charging accumulator 1012 and the accumulated negative activity 1016 are part of a cycle regulated by the threshold comparison 1014, which maintains the balance of activities within the system.
It will be appreciated that the relative timing of processes shown partially or completely being concurrently executed in Figures 10A, 10B, and 10C are purely for illustrative purposes and that the relative timing of how various code elements execute may differ depending on a number of factors as would be apparent to anyone skilled in the art.
It will be apparent that even in the absence of any combined weighted incoming activity input activity 310 from the input combiner 308 being received by the reception unit 900, that perpetual activity circulates within a SABF 404 which can accordingly drive a learning activity to the learning until 324.
However, in addition to the perpetual activity circulating within the SABF 404, when there is incoming activity input received by a node in a time-step, in addition to the learning activity from the SABF, the learning function will act to update each weight for a particular connection based in part on the unweighted activity received along that connection, a combination of weights activities for the same type of activity obtained from the input combiner 308, and the activity output by the SABF 404.
Figure 10D illustrates a learning process when activity is received along one or more incoming activity inputs to a self-acting node 216 according to an embodiment of the disclosed technology. Figure 10D the numbering scheme of Figures 10A-10C for like elements which retain the same functional purpose and relationship to other elements as described in the embodiments shown in Figure 10A-10C unless this is explicitly stated to have changed. The steps and data flows illustrated schematically in the example embodiment depicted in Figure 10D may be combined or omitted in other embodiments as would be apparent to anyone of ordinary skill in the art and may occur in a different sequence to that illustrated in Figure 10D. An example of such a self-acting node is node 216a and the node 400 shown in the accompanying drawings and described herein. Figure 10D shows schematically an example data flow for updating the weights W1, W2, W3 applied by a self-acting node to incoming activity input 302a, b, c received along which three incoming activity connections 300A, B, C is shown by way of example only.
In this example, incoming activity connection 300a provides inhibitory incoming activity input 302a and each of the connections 300b, c provides respective excitatory incoming activity input 302b, c to the node. The inhibitory incoming activity input 302a and the excitatory incoming activity inputs 302b, c are provided to the input combiner 308 and the learning unit 324 for use by learning functions 606a, 606b. It will be appreciated that the embodiment of the data flow shown schematically in FIGURE 10D shows the three incoming activity inputs 302a, 302b, and 302c individually being input the learning function also individually being input to the input combiner 308 dispersed along the timelines. This is for the sake of clarity only as all inputs may be, and would usually be, made in the same time-step.
In Figure 10D, input combiner 308 combines the inhibitory input(s), in this case it will act only on incoming activity input 302a (which will consequently also form the combined inhibitory weighed incoming activity input activity 328a) to the learning unit 324, 606 for use by the inhibitory learning function of the learning unit 324, 606. The input combiner 308 also combines separately the excitatory incoming activity inputs 302b, c and provides this combined excitatory output 328b to the learning unit 324, 606 for use by the excitatory learning function of the learning unit 324, 606. Each of the inhibitory and excitatory learning functions acts on the values provided by a) a corresponding individual activity input from an edge connection, b) the combination of activity from all edge connections of the same type from the input combiner 308, and c) the BF activity 314 may be provided as a learning input activity shown as 314, 412 in FIGURE 10B to the weight unit 304 to generate individual updates for the weights W1 , W2, W3, W4 to be applied to subsequent activity received as incoming activity input 302a, b,c,d along the incoming activity connections 300a, 300b, 300c, 300d respectively. Accordingly, the inhibitory learning function utilizes the values received as 302a, 328a, and 314 from the SABF to generate an activity to update the weight W1 of incoming activity connection 300a. The excitatory learning function utilizes the values received as 302b, 328b, and 314 to update W2 of connection 300b and utilizes the values received as 302c, 328b, and 314 to update W3 of incoming activity connection 300c.
Figure 1 1A shows schematically a method for training nodes 216 in an ANN 200 so they learn weights suitable for generating abstractions of input data according to an embodiment of the disclosed technology. The method trains the nodes 216 so that they adopt weights which result in the overall network activity and topology generating ANN output 220 which resolves whatever problem(s) were presented by a times-series of primary inputs 214 in relation to the sensed state of an entity such as the external system 202 shown in Figures 2A, 2B, or 2C.
In Figure 11 A, the SABF 404 processes node input 302 received in a time-step to generate a BF output activity, BFOA 314 according to some example embodiments of the disclosed technology which continues to refine the learning of weights to be applied by the node to subsequent input whenever it is subsequently received using the spontaneous activity generated by the SABF. The steps illustrated may be combined or omitted in some embodiments as would be apparent to anyone of ordinary skill in the art and may occur in a different sequence to that illustrated. In Figure 11 A, the method comprises a node, for example, a DSA node 400 having a SABF 404 according to the disclosed technology, for example, as shown in Figures 9A and 9B, receiving in 1 102 a combined weighted input activity, for example, CWIAIA 310 or activity 902 derived from the CWIAIA 310, which drives, for example, in the generation of an activity by a first processing unit 904 by applying a suitable first processing function to the received activity 310, 902 in combination with a BF feedback activity 928 and, if there is any, discharge activity 924 and sends the generated first processing activity to the BF combiner in 1106.
In Figure 11 A, the method 1100 also comprises providing the received input to gain unit 906 where, depending on whether the -ve discharge activity has charged the 1 st processing unit with a negative activity or not, the input activity 902 received may also be amplified by the gain unit 906 to generate an amplified gain activity and inputs this to the BF combiner 918 in 1104.
In Figure 1 1A, the method further comprises in 1108, the SABF 404 acting on the received activities to generate an output activity 920 which is then provided to a plurality of different components within the DSA node 400 as intra-nodal activities, for example, as input to the learning unit 324 and for output by the DSA node 400 as extra- nodal activity, also referred to herein as NOA 318, which may form inter-nodal input 322 to other nodes 216, 400, 600 in the SL-ANN 200 or form or contribute to the output of the ANN 200 directly. The intra-nodal activities comprise both extra-BF activities, such as the learning input activity from the BF to the learning unit, and also intra-BF activities, which provide activity which circulates within the BF.
As shown in Figure 1 1A, the extra-nodal activity, e.g. NOA 318, is derived from the BF activity, BFOA 314, and may be optionally passed via a BF output threshold component (for example, node output function 316) in 1 110 which may apply certain output conditions, for example, a threshold for a minimum level of BF activity in 1 112 before the node outputs in 1 114 the output activity, NOA 318.
Figure 11 A also shows how the learning unit 606 receives input from the output of the BF combiner in 1 116. The learning function acts on this input along with other inputs in 1 118 to update the learning rules for weights to be applied to at least input activities received along connections by node 400, in other words, to generate a weight update, and also, in addition or instead, to update which connections with other nodes are active in 1118 if the weight update results in the weight to apply to subsequent activity received along a connection being set to zero. In this manner, the weights, and connections of the node 400 may be updated in 1 120 based on the output of the SABF as shown in Figure 11 A. However, as will be apparent to anyone of ordinary skill in the art, the learning function will also act on other the incoming activity input, and this is shown more clearly in Figure 1 1 B described in more detail later below. These updates may also alter what projections of activity occur within the ANN 200, both those by individual nodes within the ANN 200 and also between populations 218 of nodes 216 within the ANN in some embodiments.
Internally to the BF, method 1 100 further comprises providing the BF activity 314, 920 also a feedback activity 928 to first processing unit 908 in 1 122, which in turn processes this feedback activity with subsequently received activities 902, 924 in a following time-step in 1124. The method 1 100 also comprises providing the BF output activity 314, 920 as a negative feedback activity 926 to the 2nd processing unit 914 in 1 126 which in turn processes this with input activity 910 from the first processing unit 908 in the following time-step to generate the 2nd processing unit output activity 916 in that time-step in 1 128. Method 1100 also comprises providing the BF activity 314, 920 as a negative activity 920c to negative activity accumulator 1022 in 1130, which then accumulates the negative activities input over one or more timesteps in 1132 until a threshold condition is met, at which point method 1100 comprises discharging the accumulated negative activity in 924.
The extra-nodal activity, NOA 318, output by a node 216e, 400 may comprise node-to-node, or inter-nodal activity or form activity which forms or contributes to the SL output 220 from the SL-ANN 200. The node-to-node or inter-nodal activity however will continue to propagate and drive activity in other nodes of the SL-ANN where it is received as incoming activity input within the ANN until it diminishes or contributes to the output by the ANN. The propagation will consolidate to a trajectory along which, in the absence of any additional sensory input to the ANN, there is minimal but continuing activity for a period of time after the last input to the ANN. This provides a form of evolving state memory for the ANN as the trajectory may various slightly over time with each iteration of the ANN as the self-acting nodes spontaneously inject activity from their SABFs. This provides a form of abstraction within the ANN as subsequent "sensory problems" causing sensory data to be provided as input to the ANN which resulting in similar activity trajectory patterns can be better handled as the ANN has a form of longer-term state awareness, or memory, of what activity trajectories have provided solutions to problems presented previously by the sensory input.
Figure 1 1 B illustrates schematically how the learning function of a self-acting node 216a, 400 acts on a plurality of inputs in 1 118 of Figure 1 1A. In other words, Figure 11 B shows more clearly the other inputs to the learning unit received in addition to the bf input in 1 116 shown in Figure 1 1A. These other inputs take the form of the individual incoming activity input activities and inputs from the input combiner 308 in the form of a combination of weighted excitatory input and a separate combination of weighted inhibitory inputs. These other inputs are provided to the learning unit 324, 606 for the learning function(s) to act on to update the learning rules and connection growth rules in 11 18, in other words to generate updates for the weights to be applied to incoming activity received in the next timestep. Figure 11 B retains the numbering scheme of Figure 11 A for like elements which retain the same functional purpose and relationship to other elements as described in the embodiment shown in Figure 11 A unless this is explicitly stated to have changed. The steps and data flows illustrated schematically in the example embodiment depicted in Figure 11 B may be combined or omitted in other embodiments of the method 1100 as would be apparent to anyone of ordinary skill in the art and may occur in a different sequence to that illustrated in Figure 11 B.
In Figure 1 1 B, when incoming activity is received by a self-acting node 216, 400 in 11 A, it is sent to both the learning unit 606 and to the weight unit 304 of the node. The weight unit 304 applies in 1 100B a weight function to the receive input which updates each individual incoming activity input 302a, b, c, d received along an incoming activity connection 300a, b, c, d with the node 216e, 400 in that timestep. In some time-steps, some incoming activity connections to the node may not be active, in other words no activity may be received along that connection, in which case the weight will not have any effect on that connection in that time-step. If the weight to be applied to a particular connection is set to zero, then the combiner unit will not receive any input for that connection.
The weight unit 304 provides the weighted activities individually to the input combiner 308 in 1 100B. The input combiner 308 then generates three output activities. One is a combination of all weighted inputs, whether inhibitory or excitatory, which is provided to the reception unit of the SABF. The second output is a combination of only weighted inhibitory activity and the third is a combination of only weighted excitatory activity. Output comprising the separate combinations of weighted inhibitory activity and weighted excitatory activity is provided by the combiner to the learning unit. The outputs from the combiner and the individual unweighted activities received along each incoming activity connection are provided to the learning unit 324, 606 in step 1 1 D.
This input allows the learning unit 324, 606 to apply separate learning functions 606a, 606b to individually update the weights W1, Wn of incoming activity connections 300a..., n of the node. If an incoming activity connection 300a... n is connected to an excitatory node acting as a source of excitatory activity received by the self-acting node, then the combined weighted excitatory inputs and the individual excitatory input for that connection provided in 1 1 D will be acted on by an excitatory learning function at the learning unit and an update for the weight for that particular incoming activity connection 300a.. ,n is generated accordingly and provided as a weight update to the weight unit 304 to update the weight to be applied by that particular connection to the activity which is received along that connection in the next time-step. If instead an incoming activity connection 300a.. ,n is connected to an inhibitory node acting as a source of inhibitory activity received by the self-acting node, then the combined weighted inhibitory inputs and the individual inhibitory input for that connection received in 11 D will be acted on by an inhibitory learning function at the learning unit and an update for the weight for that particular incoming activity connection 300a.. ,n is generated accordingly and provided as a weight update to the weight unit 304 to update the weight to be applied by that particular connection to the activity which is received along that connection in the next time-step.
In some embodiments, additional combinations of inputs based on differing types of inputs or source nodes may be provided and acted on by additional types of learning functions to update the weights that are applied to connections along which the additional type of input is received.
The method shown in 1100B of Figure 11 B accordingly illustrates more clearly how the individual inputs, the BF output, and the combined weighted excitatory input and combined weighted inhibitor input are provided to the learning unit 324, 606 to update a plurality of learning rules 606a, 606b for generating updates to the weights applied by the weight unit and this may also result in changes to connection growth rules, in other words cause changes to which connections are active between that node and other nodes of the SL-ANN.
As the outputs of nodes in an ANN will form a activity pathway in an ANN 200 which follows a trajectories with minimal activity when the ANN output has found a "solution" to a particular problem, the trajectories may be considered to form abstract representations of features presented by modified sensory input in embodiments where the modified input represents the deviation of the sensory data received from target sensory data corresponding to a goal or target state of the external system. Figure 12 shows schematically another embodiment of the method of training a self-acting node 216a, 400 in an ANN 200 to generate abstractions of input data according to an embodiment of the disclosed technology in which the SABF generates a BF output activity in a time-step when no node input activity is received according to some example embodiments of the disclosed technology of a method of generating spontaneous activity. Figure 12 differs from Figure 11 in the initial steps 1202a, b and 1204 and later in step 1206 as in method 1200 no other inputs are provided to the learning function as in other words no incoming inputs are received by the self-acting node in that iteration of the ANN algorithm. In 1202 in the absence of any input to node 400 in a particular iteration or time-step of the ANN algorithm, the first processor until 908 will generate a first processor activity based on previous BF combiner output and any discharged negative activity 924 input if previously provided. This first processor activity is provided as input to the BF combiner 918 and also to the 2nd processing unit 914. In 1202b, the 2nd processing unit applies the second processing function to the received first processing activity 910 and the feedback activity 928 from the BF combiner 918 that it received in a previous time-step and outputs a 2nd processing activity 916 to the BF combiner 918. In 1204, the BF combiner 918 acts on the input 910 received from the first processing unit 908 and the input 916 received from the 2nd processing unit 914 to generate a BF activity as BFOA 314 and Internally activity 920 and the method continues as described herein above with reference to Figure 11 with the only difference being that 1208 replaces 1 118 as the learning unit 324, 606 will only receive input from nodes with the BFs 312, 404. and also, with reference to the flow chart shown in Figures 10A-C.
Both methods 1100 and 1200 use the same self-acting ANN system architecture. Advantageously, in embodiments of the disclosed technology which use a globally recurrent ANN architecture, the same nodes in the ANN that receive input sensory data also perform the abstraction. This avoids any need to layer the ANN as the ANN is globally recurrent. In contrast, deep neural networks may perform abstractions but only in deeper network layers of a recursive ANN.
Alternatively, in some embodiments of the disclosed technology, dynamic activity injection is localized to a subset of nodes in the ANN. Sensory input is limited to another subset of network nodes. This may be used to create a hierarchy of abstraction levels in the network where higher abstraction levels are made more independent of spatial location in the sensory input space but still capturing/representing the general spatiotemporal dynamics of the sensory input data.
In some embodiments of the disclosed technology, in each node 216 of an ANN 200 the BF 312 operates as an internal state machine independently of the state machines or BFs of other nodes 216 in the ANN 200. By directly or indirectly connecting all nodes 216 of the ANN 200 to each other, the ANN as a whole can provide more powerful feature abstraction.
Whilst implementing an ANN 200 with too strong internal dynamics, however, there is at risk of creating too coarse approximations of the sensory input data, causing a lack of precision. With weaker internal dynamics, the ANN inner nodes 216, for example, the nodes which are not being used to directly ingest sensory input, can provide a dynamic core which may never enter the exact same state twice, meaning that each repetition of an input during training meets with a partially unique internal state. This makes the learnt representations more robust and more inter-relatable in embodiments where the ANN dynamics are less strong.
Figure 13 shows schematically a computer-implemented method 1300 for processing data using a computer system 1 10 configured to implement an embodiment of the CBM 102 according to the disclosed technology. The CBM 102 comprises at least one SL-ANN 200 according to an embodiment of the disclosed technology. One or both of methods 1100 and 1200 may be implemented when the computer system 1 10 implements the CBM 102.
In the example embodiment shown in Figure 13, the method 1300 comprises receiving by the at least one SL-ANN 200, for example in 1302, an unknown time-varying initial time series which forms primary input 214 to the SL-ANN 200; applying, for example in 1304, current weights to incoming activity input 302 received by each node 216 of the SL-ANN 200 based on a current configuration and connection state of the SL-ANN 200, triggering perpetual activity within the SABF 404 of at least one self-acting node 400 of the nodes 216 of the SL-ANN 200 if the incoming activity input 302 received by that self-acting node 400 meets a trigger condition(s) when perpetual BF activity 406 has not otherwise already been triggered in that node 400. This triggering step is shown in Figure 13 as an optional step 1306. The BF 312 of each node 216 of the SL-ANN 200, whether a self-acting node 400 or another type of node, continues to process received weighted incoming activity input 302 using its input combiner 308 and provides output from the input combiner 308 as CWIAIA input 310 to its BF 312, 404. This causes the BF 312, 404 to generate a BF activity 314 in 1308 of the method 1300. This step 1308 is performed by each node 216 of the SL-ANN 200 based on the received incoming activity input that a particular node receives in 1308. Each node 216 may also apply a node output function 316, for example, a threshold function to the BF activity 314 of the SABF 404. The BF activity 314 may be provided directly or indirectly to a learning unit 324 of the node. The BF activity 314 is the acted upon by one or more learning functions 606, for example, inhibitory and excitatory weight update learning functions 606a, b may be used in some embodiments of method 1300. The learning function acts on the receive input(s) and generates at least one weight update activity 606 which is provided to a weight unit 304 to update the weights applied to incoming activity input 302 and/or which incoming activity connections 300 based on the BF activity 314 in 1310. In some embodiments, a learning function may use other input, for example, the magnitudes of the unweighted incoming activity input 302 and the output of the input combiner 308 may be used in 1310 for example to update the learning function. The update node learning and/or output criteria shown in 1310 may be performed based on input received in a particular time step of the SL-ANN as described above, for example, in Figure 11 B. The method 1300 also then comprises each node 216 of the SL-ANN 200 generating NOA 318 if the BF activity 314 meets one or more current time node output criteria for that that node 216 in 1312, and generating in 1314 a time-series as the ANN output 220 for form I ng system output 1 12, where here the ANN output 220 uses the SL-ANN’s internal activity states which comprise abstracted representations of previous primary inputs 214 to generate the ANN output 220. These internal abstracted representations may be formed by combining node activity output, NOA 318 from one or more nodes 216 including at least one self-acting node 400 in some embodiments. The internal abstract representations will be based on the current node and network configuration and state at the time of each system input 108 comprising time-series data in 1314.
In some embodiments, the method 1300 comprises a method for processing one or more primary inputs 214 which trigger PBFIA 406 in a SL-ANN 200 for subsequently abstracting from primary input 214, which may comprise or be derived from system input 108 provided to a computer system 1 10 on which the ANN 200 is executing.
In some embodiments, the method 1300 comprises: receiving, as input at the ANN, system input comprising an unknown time-varying initial system activity, the input activity comprising time-series data 1302, applying, at each node 216 in the ANN 200 receiving the system input, a current set of weights to the received system input based on a current configuration and connection state of the ANN in 1304, generating a BF activity at each node based on the received input in 1308, triggering perpetual activity within a SABF of at least one self-acting node 400 of the ANN 200 if that node 400 receives input comprising a trigger event input for the perpetual BF activity in 1306, updating each node learning weights and/or node connections based on that node's BF activity or a activity derived from that node's BF activity 1310, generating node output comprising or derived from that node's BF activity in 1312, and generating a time-series activity which forms ANN output 220 which is provided via the computer system 110 as provide system output 1 12.
In some embodiments, the method 1300 further comprises the nodes 216 of the ANN 200 to continue to provide increasingly more internal abstract representations of previously primary input 214 over time based on the spontaneous activity of self-acting nodes 400 of the SL-ANN 200. This spontaneous activity as mentioned herein above results from triggered perpetual activity, the PBFIA 406 circulating within each SABF 404 causing from time to time or continuously a so-called spontaneous BFOA 314 which is not drive by primary input 214 to the SL-ANN 200 at that time.
In some embodiments, the method 1300 further comprises combining NOA 318 from one or more nodes 216 including at least one self-acting node 400, based on the current node and network configuration and state, at the time each primary input 214 derived from or comprising system input 108 causes spontaneous ANN output 220 in 1314.
In some embodiments, the example method 1300 shown schematically in Figure 13 is performed on a computer system such as a computer system 110 on which a SL-ANN 200 is executing according to any one of the embodiments disclosed herein.
In some embodiments, of method 1300 the unknown time-varying initial system activity provides system input 108 to a computer system 110 on which the method 1300 is performed. The system input 108 may comprise sensory data 206, or modified sensory data 206, and provides the primary input(s) 214. The sensory data 206 comprises data sensed or otherwise observed of the external system 202, for example, an external system 202 as shown in any one of Figures 2A, 2B, or 2C in some embodiments.
In some embodiments, the method 1300 then further comprises the steps of: pre-processing sensory data 206 which comprises a continuous or discontinuous time-series of sensory data for the sensed external system 202. In this embodiment, after pre-processing if there is no sensory data forming primary input 214 to the ANN 200 it indicates the external system 202 was sensed by the sensor system 204 providing the sensory data 206 forthat primary input 214 to be in a target or goal state. The method 1300 according may further comprise providing the pre-processed sensor activities as primary input 214 to the ANN 200 executing on the computer system 110 and also is comprises providing the ANN output 220 via the computer system 1 10 as an external system output 112 which takes the form of a control activity for the external system 202.
The control activity comprising or derived from system output 1 12 may be communicated wirelessly or via a wired data connection between the computer system 1 10 and the external system 202. The external system 202 is configured, responsive to receiving the system output 112 comprising the control activity, to update its state.
In this manner, repeatedly observing the external system is not in a goal state will result in repeated inputs over time to the ANN 200 which will cease when the external system adopts the goal state.
The SL-ANN 200, by including at least one self-acting node 400 having a SABF 404 configured to have continuing internally circulating activity and spontaneously generate NOA 318 from time to time, may adopt a network state in which spontaneous node activity 318, for example, SONA 412, propagates to other nodes 216, 400, 600 within the ANN 200 even if there is no primary input 214 to the SL-ANN which drives the activity. The activity will propagate in the SL-ANN 200 initially follow a trajectory which represents a state of the network of the SL-ANN 200 which provided a solution to the problem posed by the last primary input.
As the primary input is the deviation of the sensory data 206 from a set-point which represents the sensory data which would be obtained if the sensor system 204 were to sense the external system 202 in its goal or target state, once this goal or target state has been achieved, the sensory data 206 will cease from the sensor system 204. This allows the nodes 400, 600 of the SL-ANN 200 to learn even if the internal activity propagating between nodes 216, 400, 600 of the SL-ANN 200 is not being driven by primary input and so they may continuously learn between the time intervals of the system input 108. By adjusting the rate of internal learning functions 606, the SL-ANN 200 may be able to converge on a network state more rapidly which results, for any given system input 108, a system output 112 which will result in the goal or target state of the observed system being reached. It may also be possible to generate control system which are not just reflexively controlling the external system 202 but which may also pre-emptively control the external system in some embodiments.
Figures, 15, and 16 and 18 show schematically example computer-program products for implementing respective methods 1200, 1100, 1300, and 1600 as shown schematically in Figure 11 , 12, 13 and 17 (described later below) according to some embodiments of the disclosed technology. The computer program product 1400 may comprise one or more or all of: computer code 120a implemented using software, computer code 120b implemented using circuitry or hardware, and computer code 120a, 120b using a combination of software and hardware in some embodiments of the disclosed technology.
The computer program product 1400 may be configured as separate products or programs to implement each of the methods 1100, 1200, 1300, 1600 individually but in at least some embodiments. In some embodiments, the same computer-program product performs all of the methods 1100, 1200, 1300 and 1600. The computer code 120a, 120b for performing the computer program may be configured as a plurality of interacting or sequentially or independently or parallelly executing computer modules, in any manner apparent to someone of ordinary skill in the art and need not be provided in any strict correspondence with the method steps shown in the accompanying drawings.
Some embodiments of the computer system 1 10 comprising a computational brain model according to the disclosed technology implement a data processing system configured to or configurable to autonomously learn to represent past data, events, and experiences at gradually higher degree of compression/generalization.
Data, such as sensory data 206, with sufficiently predictable intrinsic dynamics, is fed as system input 108 into the computer system 1 10 and forms primary input 214 to the SL-ANN 200 in some embodiments. This allows the SL-ANN 200 to generate a suitable prediction based on the time-varying data forming primary input 214. The prediction mechanism used by a data processing system comprising the computer system 110 according to the disclosed technology relies on a type of default dynamics in the inner core of its processing SL-ANN(s) 200 which keeps the total network activity continually travelling within its state space even when there is no external data being input to the ANN. As the SL-ANN 200 learning from primary input 214 is a function of the SL-ANN's current activity dynamic state within its own inner dynamic core, all representations of the time-varying data forming primary input 214 even if learnt across diverse sensory data contexts become more inter-relatable within the SL-ANN 200.
The disclosed technology seeks to improve on known artificial generally intelligent machine systems, for example, it may be used to create representations of real-word phenomena in a more computationally efficient way, making better use of the data processing system's ANN resources. In addition, the ANN 200 generates representations which are more generalizable. This not only allows for a better use of the ANN 200 as a resource but also enables the ANN 200 to be adaptable to changes in its input and be more efficient at handling inputs which may represent fundamentally novel contexts. In particular, the disclosed technology uses far fewer computational resources than a hierarchical joint-embedding predictive architecture, JEPA, based machine learning, ML, computer system would require modelling the same real-world phenomena.
For example, one aspect of the disclosed technology comprises a computer system 110 comprising at least one SL-ANN 200 capable of being a self-acting ANN 200, where at least one node 216, and preferably some or all nodes 216, in the at least one SL-ANN 200 is a self-acting node 400 in the sense it has a self-configured independent internal state governed by any spontaneously activity output by its SABF 404. This independent internal state will autonomously evolve over time based on additional activity which the SABF 404 also receives from the input combiner 308 of the node comprising a combination of all the weighted incoming activity inputs 302 received by that node.
The output of the SABF forms the NOA 318. This output may be provided directly or processed to determine if it meets one or more output criteria. For example, in some embodiments, the amplitude of the BF activity 314 which is output by a node for onwards propagation in the SL-ANN 200 is limited to ensure that activity is diminished or maintained as it propagates from node 216 to node 216 across the SL-ANN 200. One or more node output functions, or thresholds, may be applied for the BF activity 314 to be provided as NOA 318. Exceeding the threshold results in only sufficiently high amplitude BFOA 314 form NOA 318 in a given time-step or iteration of the ANN algorithm. The NOA 318 of the at least one self-acting node 400 which is provided to both the learning unit 324 where one or more learning functions 606 operate on it in conjunction with other inputs 628 and incoming activity inputs 302. to one or more enable one or more or each of the at least one other node 216, 400, 600 in the SL-ANN 200 to generate output independent of system input 108 or primary input 214 being received by the SL-ANN 200 in that time-step. The SL- ANN 200 is configured to provide ANN output 220 to computer system 110 in an iteration or time-step of the ANN algorithm accordingly regardless of whether primary input 214 has been input to the SL-ANN 200 in that time-step or iteration. The ANN output 220 may form or be used to form system output 1 12 from the computer system 1 10. In this way, the system output 112 may comprise from time to time data directly or indirectly derived from the external-input- independent internal activity of the at least one self-acting node 400 in the at least one neural network and also comprise at other times data directly or indirectly derived from both the internal activity of the SABF 404 and the activity also output by the SABF 404 which is driven by primary-input to the self-acting ANN 200 and activity driven by other nodes whose BFs may act on primary input driven activity and/or spontaneous activity output directly or indirectly from self-acting nodes 400.
The capability to generate such system output 112 may be initiated by an external trigger event. Such a trigger event may trigger the start of internal activity. In some embodiments, the system output is generated responsive to external input based on the self-generated internal activity and internal activity generated responsive directly or indirectly to the external input.
The disclosed embodiments of the machine-learning, ML, computer system 1 10 are configured to have selfgenerated internal activity which configures the ML system to be capable of more rapidly learning and more rapidly outputting inferences with more tolerable errors (i.e., inferences that are more accurate) for the received input.
In some embodiments, the computer system 110 comprises a data interface, for example, that shown in Figure 1 as I/O 118 to an external system 202 (not shown in Figure 1 , see Figures 2A, 2B and 2C) and comprises an apparatus control system. In this way the computer system 110 may be configured to remotely provide control activities to an external system such as a robot, for example, control activities to actuators 203 which respond by actuating one or more actuatable components 205 of the external system 202 as shown in Figure 2B for example. In some embodiments, the actuators 203 may comprise actuatable sensors.
Examples of robots which some embodiments of the disclosed technology may be used to provide control activities for, include simple robotic external system, such a cart-pole system, quadruped and biped robots, robots with vision and speech functionality, and more complex robot with two or more articulated limbs where the control system may be used to for motor skills. The sensor system data may be multi-modal in some embodiments of the disclosed technology. The disclosed technology however may also be configured to provide control activities to other types of system, for example, to control network equipment, autonomous vehicle technology, etc., etc.
In some embodiments, the external system 202 comprises at least one of the at least one sensor configured to generate sensor data for input to the input system as Figure 2C shows schematically as sensor actuators 203. For example, the external system 202 may in some embodiments comprise another control system or computer system, such as a control system for motor control of a robot, or an image recognition system.
In some embodiments, the external system 202 comprises a multi-state system, and the sensor data is provided as system input 108 or primary input 214 represents at least one time-varying characteristic of a sensed state of the multi-state system.
In some embodiments, the ANN output 220 generated by the ANN 200 is processed by the computer system 110 to form system output 1 12 which when received by the external system controls the external system 202 to cause a state change of the multi-state system.
Some external systems 202 display a multitude of states across one or multiple intrinsic dimensions where there are in addition temporal dependencies between state transitions.
In engineering, a system's state may be represented as a specific combination, in other words a pattern, of values across the dimensions present in that system. The pattern can be analysed and quantified, for example, using principal component analysis. However, in a biological system, or any system replicating a biological system, such as for example a robotic system designed to mimic a biological body, or any other type of external systems 202 which may be observed, in other words, sensed, and controlled by the computer system 110, there may also be, in addition to spatial dependencies, temporal dependencies between state transitions in that system.
This added temporal dependency may result in a spatiotemporal pattern representing a system state in some embodiments of the disclosed technology. This will make the sensed or observed external system 202 capable of undertaking a wider range of tasks under the control of an embodiment of the CBM 102 configured with a SL-ANN 200 according to the disclosed technology.
In other words, the spatiotemporal system state of a sensed or observed external system 202 may be indicative of a higher number of solutions that an example embodiment of the SL-ANN 200 of the CBM 102 according to the disclosed technology may find when seeking to generate ANN output 220 to drive system output 112 to cause the state of the external system 202 to update to a goal or target state. When trying to perform abstraction the ANN 200 will seek to replicate, in other words, mimic or mirror, the spatiotemporal dynamics of the external system 202 it is configured to control to in order to better control it. Accordingly, in some embodiments of the disclosed technology, the ANN 200 is configured so that it is able to form spatiotemporal abstractions of an externally sensed or observed external system 202.
In some embodiments, the system output 112 from the computer system 110 configures an intermediate system, for example, one or more actuators 203, to control an observed, in other words, sensed, the external system 202. The sensing may be related to one or more, physical characteristics of the multi-state system, for example, to a temperature, a humidity, a visual image or video field of view of the multi-state system, a speech articulation or audio output, a range of motion in one or more of six degrees of freedom of part or all of the multi-state system, a velocity and/or acceleration in any one or more of six degrees of freedom of the multi-state system, or other system state.
In some embodiments, the observed, in other words sensed, external system 202 comprises a robotic external system and the at least one sensor of sensor system 204 comprises at least one motion-sensor configured to sense a time-varying movement characteristic of the robotic external system 202, and the computer system 1 10 configures an intermediate external system to be one or more actuators 203 for controlling the observed robotic external system 202.
In some embodiments, dynamic activity injection within the SL-ANN 200 from the external system 202 is localized to a subset of nodes 216, 400, 600 forming a first population 218 of the ANN 200 and the primary input 214 is limited to another subset of the processing nodes 216 of the ANN 200. The may, in some embodiments result in some or all of the nodes 216 of the ANN 200 providing a form of network hierarchy within the ANN 200.
Advantageously, unlike a system built, for example, from a hierarchical JEPA architecture, such an ANN 200 has no need to use a separate network to configure differing degrees of abstraction at each hierarchical layer and nor are any convolutional neural networks needed which may be more resource intensive to provide. The disclosed embodiments of an ANN 200 accordingly aim to provide a far simpler, computationally resource efficient, and effective form of data abstraction which allows computer system 1 10 to process different types of data from a variety of different sources, contexts, and modalities.
The SABF 404 of the self-acting nodes 400 of an ANN 200 according to the disclosed embodiments may comprise a self-regulating model of a neuron having a plurality of feedback loops internally, both feeding into an embodiment of the BF combiner function 918 of the SABF 404. At least one feedback loop takes the BF activity 314, 920 output by the BF combiner 918 to provide an activity which is associated with a positive sign by an excitatory activity generator, for example, the first processing unit 908, to form an excitatory feedback loop and at least one other feedback loop takes the output of the combiner function to provide activity input which is associated with a negative activity by an inhibitory activity generator, for example, the second processing unit 914, to form an inhibitory feedback loop.
In some embodiments, these excitatory and inhibitory feedback loops, in combination with embodiments of the BF combiner component 918 and the negative system accumulator 922 as described hereinabove, in the descriptions of Figures 9A and 9B, may individually or both be implemented with, or provide output to, one or more leaky integrators. Each integrator or leaky integrator have the same or a different time-constant, may result in the SABF spontaneously generating output to a learning function to update the weights which are applied by that node to incoming activities. The time constant of each leaky integrator may be preconfigured as a static value or it may be configured dynamically and change over time in some embodiments. In some embodiments, the gain function component 906 is configured such that the gain function applied depends on the tuneable positive (excitatory) and tuneable negative (inhibitory) feedback loops of the BF and the node's internal state. The term time-constant herein refers to an amount of time it takes for an activity from an integrator or accumulator say to gain approximately 62% of its initial value and/or also to the amount of time it takes for a discharger to reduce any accumulated activity by 62%. The integrator/accumulator and the discharger may have different time-constants.
The resulting activity loops within the BF result in a circulation of activity that is independent of subsequent activity being injected into the node. The activity may circulate within a BF rather like a heartbeat and may form periodic or episodic activity within the BF.
This periodic or episodic activity continues for as long as the computer system on which the ANN is powered. In this manner, the episodic BF activity may be considered perpetual for as long as the system is powered, regardless of whether there is any external activity being injected into the ANN. However, perpetual does not mean constant. For example, there are situations where the activities injected as incoming activity input 302 to a node 216 along its incoming activity connections 300 have high amplitudes. In this case the SABF 404 may not, in a particular time-step or iteration of the ANN, actively output spontaneous BFOA 314, in other words SONA 412, from the SABF 404 generating and acting on its own previously generated circulating PBFIA 406. The spontaneous PBFIA may contribute to the BFOA 314 from time to time or continuously, however, its contribution may be suppressed relative to the contribution provided by the SABF 404 generated activity driven by the incoming activity input 302 to the self-acting node 400 driven by primary input 214 to the SL-ANN 200 which is also being processed in that time-step or iteration of the ANN.
For example, in some embodiments, spontaneous internally generated activity propagating, (and possibly circulating along an attractor trajectory) within the ANN may be perturbed or suppressed from time to time when there is primary input 214 to the ANN 200. The primary input 214 may comprise external sensory data and a self-acting node 216e, 400 receiving external data driven incoming activity input 302 along one or more incoming activity connections 300 will find its internal activity temporarily suppressed in the sense that the dominant activities will be driven by primary input 214 whilst that external activity is being received as incoming activity input and processed by using a suitable gain function applied within that node 216. This suppression occurs at least in IDSA nodes 600. It is possible for there to be some internally generated activity may still propagate within the ANN 200 driven by spontaneous activity from each directly self-acting node 400 with a self-acting function, but in some embodiments, the external input may be sufficiently dominant from time to time ongoing, to suppress the propagating spontaneous activity within the ANN 200. As such a self-learning or self-acting ANN 200 may be considered to be only quasi-perpetually actively updating its learning functions based on internally spontaneously generated activities.
In some embodiments, the activity forming primary input 214 to the SL-ANN 200 may comprise sensory data obtained directly or indirectly sensed. The activity forming primary input 214 may comprise technical or physics metrics, in other words values associated with a technical or physics-based system, and/or meta data for such technical or physics model metrics. The system may be real or virtual, in other words a simulation of a real system, in some embodiments.
The data input may also comprise non-technical data in some embodiments, for example, financial data and the like, which may need different types of pre-processing to that of physics or technical data.
In some embodiments, as a result of at least one SABF 404 in the ANN 200 having episodic activity, the BF is capable of spontaneously, from time to time, generating activity which is output to the learning function of the node on which it is implemented and also spontaneously generating activity which may be output from the node on which it is implemented.
In embodiments where the ANN 200 is a globally recursive ANN where each node is connectable to every other node in the ANN 200, such spontaneous activity from one or more nodes may circulate throughout the ANN 200 resulting in other nodes which may not have a SABF, also generating activity which is indirectly spontaneous in that it also may occur even if the there is no activity being injected in the ANN 200 to drive such spontaneous activity.
In some embodiments, the ANN 200 comprises a plurality of self-acting nodes 216, 400, 600, capable of spontaneously generating activity, two or more of which comprise SABFs 404. The plurality of self-acting nodes 400 may form a population 218 of the ANN in some embodiments. The group of self-acting nodes, for example, the population of self-acting nodes 400, may form a dynamic core of the ANN. The core group or population 218 of nodes is dynamic in the sense that the location of spontaneous activity output by the self-acting nodes within the ANN changes over time.
The BFs of the self-acting nodes, and any other nodes in the network, will, continually change, both in terms of the gain function provided within the nodes, as with that gain the BF also changes form because it builds on the tuneable positive feedback loops and self-inhibition loops based on the node's internal state, and in terms of the connectivity structure of the network as learning progresses.
In some embodiments, learning within the ANN 200 is iteratively performed in an autonomous or semi- autonomous manner independent of any external input being received by the ANN 200 as from time to time, in otherwise, episodic or periodic, spontaneous bursts of activity may occur within the ANN 200 between injections of activity input to the ANN 200, in otherwise, between inputs of external system data. This causes in highly accelerated learning within the ANN 200 across all nodes which receive such spontaneous activity as input. In a fully recursive ANN 200 where each node may form a connection directly with all other nodes in the network to provide input as well as to receive input, the result is that over time, the ANN 200 is able to extract features from subsequently input data in a more generalised manner.
The continuous internal learning as a result of the internal spontaneous activity leads to what might be thought of as memories of external system input, in other words, activity input to the ANN, in that the internal representations will remove irrelevant features over time, and what is left will be an abstraction or memory of the essential features of the activity input to the ANN 200.
Thus, a technical benefit of the disclosed technology is that the BF changes over time, both in terms of its gain in the node (and with that gain the BF also changes form because it builds on tuneable positive feedback loops and self-inhibition based on the node's internal state) and in terms of the connectivity structure of the network as learning progresses.
Another technical benefit occurs when the ANN 200 is a globally recursive ANN model. In a globally recursive embodiment of the ANN computer system, internally generated spontaneous activity by nodes with a SABF may be the main cause of activation of other nodes in the network, which means that the learning can cause abstraction 'offline', when the ANN is not receiving activity input. This can be considered similar to a form of imagination or cognitive thinking as the machine learning does not need data from outside the ANN to learn with, in other words, there is no need for huge amounts of data to be obtained from the real world or for large amounts of sensory input to be received from the world outside the computer system 110 on which the ANN 200 is executing. Instead, the spontaneous activity may drive increasingly abstract representations of previous input, in effect, continuous abstraction of abstractions takes place, which results over time in the ANN generating increasingly more abstract, and accordingly, informationally compact, or compressed representations.
It will be apparent to anyone of ordinary skill in the art that in some embodiments, at any given point, the ANN does not need to generate output to one or more other systems, for example to external systems.
In some embodiments, the ANN is capable of inter-relating different experiences more easily as the different experiences are expressed on the same BF.
In summary, the CBM 102 comprising one or more SL-ANN 200 according to the disclosed technology is capable of autonomously learning in a very efficient way representations of input data. Unlike reinforcement learning, the representations are not forced on the ANN 200 but are a product of the ANN'S autonomous exploration of mappings between its own internal dynamics and the dynamics of the data injected into the ANN for processing. In embodiments where the data injected into the ANN comprises real-world sensory data, the mappings generated by the ANN may be partially generates by the ANN from its own internal activity and partly sampled from the outside world through interactions created with that output.
In some embodiments, when a set of sensory experiences are all mapped to the same evolving BF defined by the independent neuron-internal activity generation, these mappings may become more readily determined and once determined. This can help creating a meaningfully integrated behaviour over time.
Accordingly, in some embodiments, the disclosed methods further comprise determining mappings between sensed/observed spatiotemporal states of a multi-state system, where the method comprises receiving at an ANN 200 executing on a computer system, time-varying data derived or comprising time-varying sensor data representing one or more sensed states of the multi-state system. The external system may comprise an external state system to the computer the ANN is executing one or a system hosted on the same computer platform as the ANN in some embodiments which is different from the ANN system executing on that platform.
In some embodiments, the method 1900 may further comprise triggering spontaneous activity in a timestep in at least one node with a SABF, subsequent to which the node injects spontaneous activity into the ANN over one or more timestep(s).
In some embodiments, a time-step may comprise a time-step of the ANN algorithm or the algorithm for a node or the SABF of the node.
In some embodiments, each node may have an independent clock and may generate activity which is asynchronously generated compared to when activity is generated from other nodes in the ANN.
The method may further comprise driving spontaneous activity in the one or more timestep(s) within a plurality of or all of the other nodes of the ANN (for example, ANN 200 using the activity driven by primary input 214 to the ANN 200.
Where activity in the ANN is dominated by an externally driven input event in a time-self, for example, an input event comprising time-vary sensory data, the resulting activities by nodes within the ANN will be dominantly synchronised. Over time, unless the input event is part of a chain of input events or is on-going, the spontaneous activity generated by BFs in the network will become dominate over any residual synchronised activities driven by previous network input, and the spontaneous activity generated by self-acting nodes, which may be asynchronously generated, will eventually dominate.
In some embodiments, the method1600 further comprises generating abstractions of received time-varying activity by updating each node or each populations learning rules for weight updating/connection activity based on at least the internal spontaneous activity within the ANN. The method then comprises the spontaneous activity then propagates within the ANN 200 causing some degree of spontaneous activity generated by one or more or all of other nodes within the ANN.
In some embodiments, the nodes in the ANN which are indirectly or directly generating spontaneous activity form a dynamic core of the ANN.
In some embodiments, the method further comprises determining, for a received time-series of time-varying data, when the ANN 200 has adopted a state where at least a plurality, for example, some or all, of the nodes in the ANN, for example at least those nodes which may up the dynamic core of the ANN 200, are generating spontaneous activity, and determining, at this point in time, that the received time-series represents a plurality of equivalent sensed states of the external system (or a series of sufficiently similar sensed states.
The spontaneous activity may circulate within a fully recursive ANN 200 differently from a layered ANN with backpropagation. ANNs which have backpropagation require a layered network architecture in which data flows from one layer to the next and the output of each layer is backpropagated. In some embodiments, the nodes 216 and populations 218 of the ANN 200 are globally directly or directly connected to each other and do not form a layered hierarchy within the ANN.
Branched BFs are created in some embodiments by, when the default dynamic core activity is combined with activity generated by an external or sensory activity input to the ANN 200 and the learning functions applied by nodes in the ANN depend on the relationship between resulting activity within the ANN and the spatiotemporal structure of the external or sensory activity injected into the ANN. This learning results in the brain function model state space being expanded as it will branch out from the main region of nodes 216 in the ANN 200 which from the dynamic core.
For example, in some embodiments where the dynamic core of the ANN is initially unstructured, then any spatiotemporal pattern in the external or sensory activities input to the ANN 200 may initiate the ANN developing a structure as the SABF model develops branches in different nodes within the ANN. After this initial input, the nodes 216 in ANN will continue to learn independently and subsequently if spatiotemporal activity input is received subsequently by the ANN when the ANN already has some structure due to the previous learning, then the BF model branching continues and depend on in which part of the network state space the ANN 200 is in when the spatiotemporal sensory input occurs.
This may result in some embodiments in abstract representations of activity input to the ANN being learnt by the ANN 200 over time which can be more easily inter-relatable in the sense that the higher the dimensionality of the ANN 200, the shorter the distances between different parts of the state space. In some embodiments, as a result of the dynamic core generating network activity independently of external input, when the BF model space branches it migrates or wanders across the ANN existing state space. As a result, the ANN 200 may be capable of re-experiencing previous sensory activity data or other types of external (to the ANN) activity data. In this sense, the ANN 200 may imagine or re-experience previously provided sensory experience without needing the actual sensory data to be provided again.
In some embodiments, for each node in the dynamic core or in a subset of nodes of the dynamic core of the ANN 200 comprising nodes where the dominant activity is spontaneous, when the ANN 200 subsequently receives time-varying external system/sensory activity input, the nodes in the dynamic core have a learning function which is dependent on the relationship between the internal node-to-node activity. This internal activity may comprise one or both of spontaneous activity and ANN input driven activity, in other words, the sensory/external data activities received by the ANN. The learning function of the node in the dynamic core may also depend on the spatiotemporal structure of the received external/sensory input which updates the BFs of the nodes forming the dynamic core over time.
In some embodiments, prior to triggering spontaneous activity within the ANN, the dynamic core is unstructured and subsequently learnt abstractions of spatiotemporal patterns of the sensory input initiates structuring or restructuring of the ANN by driving the BFs of the other nodes in the ANN to generate spontaneous activity.
In some embodiments, the structuring/re-structuring of the ANN results in BFs of the other nodes of the ANN generating spontaneous activity dependent on which part of the ANN state space the ANN is in when spatiotemporal input occurs.
In some embodiments, the representations of input which are learnt by the ANN become more relatable as the differences between each state space adopted by the ANN responsive to received input become shorter.
In some embodiments, wherein as the dynamic core of the network generates spontaneous activity independently of any external input being received by the ANN, the location of the dynamic core within the ANN is updated.
The term dynamic core may refer to all nodes 400 which are internally updating their learning functions based on spontaneous activity in some embodiments and so includes both self-acting nodes with SABFs and nodes 600 with non-SABFs. The location of the dynamic core within the ANN accordingly may provide a form of persistent memory of the time-series of external/sensory data received by the ANN after input of the time-series of external/sensory data has ceased. In some embodiments, however, all of the ANN nodes may be directly self-acting.
Figure 17 shows schematically an example method 1600 performed by a self-learning computer system 110 according to some embodiments of the disclosed technology.
In Figure 17 an example embodiment of a method 1600 comprises operating the self-learning computer system 110 to perform learning using a SL-ANN 200 of a CBM 102 according to the disclosed technology. The learning may comprise accelerated learning using an embodiment of the CBM 102 according to the disclosed technology. The computational brain model comprises at least one self-learning artificial neural network, ANN, 200 configured with a plurality of nodes 216, at least one of the nodes 216 being a directly self-acting node 400. The CBM 102 may also comprise one or more other ANNs which are not self-learning or not directly self-learning in that they may not contain any self-acting nodes 400.
The method 1600 comprises iteratively executing an ANN algorithm on the self-learning computer system 110 to implement the ANN 200, wherein each iteration started in 1702 comprises generating, in 1704, BF activity using a SABF of each at least one self-acting node 400, and accumulating in 1706 negative activities within the BF until a discharge condition is met, and checking if the discharge condition is met in, wherein, responsive to the discharge condition being met and the excitatory activity being discharged in 1709, the method further comprises the BF of the self-acting node 400 spontaneously generating an activity in 1710; and at least some of the plurality of nodes 400, 600 of the ANN 200 individually updating their learning rules for applying weights responsive to the spontaneous activity propagating within the ANN. In other words, the learning functions will act on the spontaneous activity which is present in the ANN even when there is no primary input to the ANN to update learning rules which causes a new weight or a weight update to be output by the learning unit 324 and provided as a weight-update 608 to the weight unit 304. The weight unit 304 may then modify each current weight using its weight update or overwrite the current weight with a new weight.
It will be appreciated that in some embodiments, for example, where a cyclical buffer 326 is provided to store the output of the nodes of the ANN, that step 1712 may occur in different later iterations of the ANN 200 for certain nodes.
In some embodiments, the method 1600 further comprises, from time to time the ANN 200 receiving primary input (214) and updating, individually by each node of the plurality of nodes 400, 600 of the ANN 200 their learning rules for applying weights responsive to the spontaneous activity propagating within the ANN and activity propagating within the ANN driven by or comprising the primary input (214) to the SL-ANN 200.
In some embodiments, the method 1600 further comprises updating, from time to time, one or more learning rules of the plurality of nodes 400, 600 using activity dominantly driven by primary input 214 to the SL-ANN 200.
As the method 1600 is performed, in some embodiments of the disclosed technology where the SL-ANN 200 comprises at least two directly self-acting nodes 400, the method 1600 further comprises initially generating spontaneous activity output by at least one of the at least two self-acting nodes 400 which is asynchronous with the spontaneous activity output by at least one other node of the at least two self-acting nodes of the ANN 200. As the method continues to be performed however, the ANN will evolve as a result of the spontaneous activity circulating within. At a later point in time, however, when external input is provided to the ANN 200, the spontaneous activity output by at least one of the at least two self-acting nodes 400 will be dominated by the activity within the ANN driven by the external input to the ANN. Eventually, assuming the external input ceases, all of the self-acting nodes in the ANN may independently returned to generating spontaneous activity, which may be generated asynchronously with each other.
The steps shown in Figure 17 provide a high-level representation of the method 1600. Each step illustrated may involve multiple sub-steps and processes that are executed by the ANN and the computer system on which it operates according to the above disclosed technology.
Figure 18 shows schematically an example computer-program product for implementing the method 1600 according to some embodiments of the disclosed technology.
The computer-program product may comprise computer code 120a, 120b for implementing an example embodiment of method 1600. In some embodiments, the computer code may be provided using software and/or using hardware or circuitry or both. In some embodiments, the computer-program product is embedded into an apparatus or hardware on comprising computer system 1 10 on which the ANN 200 is executing.
An example of such an apparatus comprises a computer system 1 10 as disclosed herein, an external system 202, for example an electromechanical robot, and a sensor system 204 comprising one or more sensors, for example, comprising at least one array of sensors, for example, sensors which may be mounted on or in a surface of the robot. In some embodiments, the apparatus is configurable to provide modified sensory data, for example data derived from or comprising sensory data generated by at least one array of sensors which form sensor system 204 for sensing a state of the external system 202, as the primary input 214 to the SL-ANN 200.
In some embodiments, the SL-ANN 200 of the computer system 110 is configured over time at least in part by the spontaneous activity generated by one or more of self-acting nodes 400, 600 to adopt a network state space configuring the SL-ANN as a self-acting ANN which is capable of spontaneously generating ANN output 220.
In some embodiments, responsive to receiving spontaneously generated ANN output 220, the computer system 110 spontaneously generates computer system output which is used by the apparatus to update a state of the multi-state system.
In some embodiments, the apparatus comprises a robot or robot arm and each state of the external system comprises an individual configuration of one or more or all of: a mechanical, visual, or audible behavioural element of the robot.
It will be appreciated that in some embodiments of the above disclosed technology, learning acceleration is provided as a result of the nodes in the dynamic core sharing a common BF and impacting the activity output of some or all of the nodes 216 in the ANN 200 at least to some degree. This means that the ANN responses caused by any sensory information comprising input received by the ANN will be expressed on/learnt using nodes with a similar BF. This makes it easier for the network to relate new information to previously learnt representations within the network.
Together, Figures 17 and 18 these figures illustrate the dynamic process of learning within the ANN, highlighting the autonomous generation of activities and the continuous adaptation of learning rules based on the system's internal activity and external inputs.
Figure 19 comprises an example embodiment of a method 1900 for operating a computer system comprising an embodiment of the CBM 102 disclosed herein. The CBM 102 comprises at least one SL-ANN 200 configured to be capable of acting as a self-acting ANN according to any of the disclosed embodiments. In some embodiments, the method 1900 comprises generating spontaneous NOA 318, may be SONA 412 including SONA 412 from driven spontaneous activity 500, by at least one self-acting node, such as a DSA node 400, within the plurality of nodes 216 of an ANN 200 independently of primary input 214 in 1902 and updating, based on learning within the network by nodes, a network state space of the ANN 200 using on the spontaneous activity generated by the at least one self- acting node in 1904. Eventually the ANN network space may evolve to a state where the ANN generates a spontaneous ANN output 220 in 1908, in other words, the ANN becomes a self-acting ANN 200. Assuming the computer system 110 is suitable configured, this spontaneous ANN output 220 from the ANN 200 will trigger the computer system 110 in 1910 to output system output 1 12, in 1908. By providing these output activities to one or more external systems 202 the computer system may control the external systems 202 more efficiently based on the spontaneous ANN output.
The steps shown in Figure 19 provide a high-level representation of the method 1900. Each step illustrated may involve multiple sub-steps and processes that are executed by the ANN and the computer system on which it operates according to the above disclosed technology.
Figure 20 shows schematically an example computer-program product 2000 for implementing the method 1900 according to some embodiments of the disclosed technology.
The computer-program product may comprise computer code 120a, 120b for implementing an example embodiment of method 1900. In some embodiments, the computer code may be provided using hardware or circuitry, and the computer-program product 2000 may be embedded into an apparatus or hardware on comprising computer system 1 10 on which the ANN 200 is executing.
In an example embodiment of the disclosed technology, an apparatus on which the ANN 200 may execute comprises a self-acting apparatus. In some embodiments, the self-acting apparatus comprises the computer system 110 configured with the CBM 102 comprising at least one SL-ANN 200 capable of acting as a self-acting ANN, 200 according to the disclosed technology. The self-learning ANN 200 comprises a plurality of nodes 216, at least one of the nodes 216 comprising a directly self-acting node 400 configured to autonomously generate spontaneous activity responsive to a trigger event. The autonomously generated spontaneous activity by the at least one directly self-acting node 400 propagates to at least one other node 600 of the ANN to cause that node to act as an IDSA node 6000 and generate or further circulate spontaneous activity within the ANN 200. The plurality of nodes 400, 600 of the ANN 200 update their learning rules for weights and active connections based on the spontaneous activity propagating within the ANN. The spontaneous activity of the ANN causes the computer system 110 to spontaneously generate system output.
In some embodiments, each directly self-acting node 400 has a SABF configured to iteratively generate BF activities 314, 920 whilst the self-acting ANN 200 iteratively executes on the computer system 110.
In some embodiments, the BF activity generated within that self-acting node drives the self-acting node to autonomously generate a spontaneous activity. The spontaneous activity may be output by the directly self-acting node to at least one other node 600 of the plurality of nodes 216 to act as an IDSA node 600 and spontaneously generate an activity.
In some embodiments, the self-acting ANN 200 is configured at least in part by the spontaneous activity generated by one or more of self-acting nodes 400, 600 to adopt a network state space which spontaneously generates ANN output 220 causing the computer system 110 to spontaneously generate system output 112.
Figure 21 shows schematically an example embodiment of a method 2100 for data abstraction in a SL-ANN 200 executing on a computer system 110.
In some embodiments, the method 2100 for data abstraction in a self-learning artificial neural network, ANN, 200 executing on a computer system 1 10 comprises: receiving 2102, in an ANN 200 comprising a plurality of interconnected nodes, time-varying primary input(s) 214, wherein the ANN 200 is configured to generate spontaneous activities within at least one self-acting node 400 of the ANN, said self-acting node comprising a SABF configured to produce said spontaneous activities independent of the received primary input comprising time-varying data, propagate the spontaneous activities within the ANN 200) to influence activity in other nodes 216, 600 to create a dynamic core comprising nodes 400, 600 within the ANN 200 generating spontaneous activity, and learn to update weights within the nodes 216, 400, 600 of the ANN based the spontaneous activities, thereby accelerating learning within the dynamic core; learning 2108 updated weights by the plurality of nodes 216, 400, 600 of the ANN 200 from the received timevarying primary input 214 to the ANN 200, and abstracting 2310 features from received time-varying primary input(s) 214 based on the learning of the updated weights.
In some embodiments, the learning by each node 216, 400, 600 of the plurality of nodes 216, 400, 600 in the ANN 200 comprises each node 216, 400, 600 deriving 21 12 at least some of the internal activity of that node from spontaneous activities of the dynamic core of the ANN 200); and correlating 2114 one or more individual activities respectively received along one or more connections by that node with the internal activity of that node, wherein the received one or more individual activities are derived from or comprise the time-varying input to the ANN 200.
See also the embodiments of the method set out in the summary statements under the first and second aspect and in the accompanying clauses.
In some embodiments, the method comprising receiving time-varying primary input(s) 214 in 2102, generating spontaneous activities within at least one self-acting node 400 of the ANN 200 in 2104, said self-acting node comprising a SABF configured to produce said spontaneous activities independent of the received primary input comprising timevarying data, propagating in 2106 the spontaneous activities throughout the ANN 200 to influence activity in other nodes, thereby creating a dynamic core within the ANN 200 where spontaneous activity is prevalent or dominant, updating learning rules and connection weights within the nodes 216, 400, 600 of the ANN based on the spontaneous activities in 2108, thereby facilitating accelerated learning within the dynamic core, and abstracting features from the received time-varying primary input(s) 214 in 21 10. For example, activity driven by the time-varying data received by the ANN may propagate through nodes 216 in the network in synchrony and this activity may dominate any spontaneous activity within the dynamic core. This combination of externally driven activity with the internally driven spontaneous activity results in the acceleration of the learning capability of the ANN 200, to abstract data features represented in subsequent primary input 214.
In other words, between external inputs, the ANN will continue to learn. This has the technical benefit of maximising the learning that can be obtained from a single input event which injects data into the ANN, as each input will influence how and be influenced by how self-acting nodes have processed spontaneous activity. Instead of requiring a large volume of training data, and training the system for a long time, learning can be accelerated.
The steps shown in Figure 21 provide a high-level representation of the method 2100 or data abstraction in a SL-ANN. Each step may involve multiple sub-steps and processes that are executed by the ANN and the computer system on which it operates according to the above disclosed technology.
Figure 22 shows schematically an example computer-program product 2200 for implementing the method 2100 according to some embodiments of the disclosed technology.
The computer-program product may comprise computer code 120a, 120b for implementing an example embodiment of method 2100. In some embodiments, the computer code may be provided using hardware or circuitry, and the computer-program product 2200 may be embedded into an apparatus or hardware on comprising computer system 110 on which the ANN 200 is executing. By executing the compute code using a computer system 110, the method 2100 may be implemented by the computer system 110.
Figure 23 shows schematically an example embodiment of the CBM 102 according to the disclosed technology. The CBM 102 illustrated in Figure 23 comprises a SL-ANN 200 which is capable from time to time of being a self-acting ANN 200 according to the disclosed technology. The SL-ANN 200 illustrated in Figure 23 comprises a plurality of nodes 216 having a system architecture 2300 which is configured to ingest information from a plurality of sensors S1...Sn of sensor system 204. The sensor system 204 generates sensory data by sensing one or more characteristics of external system 202 which are received by pre-processor(s) which form external input source(s) 212, shown here as individual processors P1...Pm. It will be appreciated that the number of sensors m may differ from the number of preprocessors n in some embodiments.
As shown in Figure 23, each input node 2304, N1...Nn, of the ANN provides activity representing modified sensory data from one or more pre-processors to internal nodes 2306, Nn+1 to Nn+x, of the ANN 200. Each internal ode 2306 is capable of transferring activity to any other one of the internal nodes 2306.
In Figure 23, activity output by a node 2304, 2306 is provided to a node activity output buffer 326, also referred to herein as buffer 326. The buffer 326 may take any suitable form of memory capable of storing output activity which can be read from to obtain values of output activity at various different times, in some embodiments, the buffer 326 is implemented as a cyclical buffer.
Some embodiments of the CBM 102 comprising the SL-ANN 200 use an array 2302 of input nodes 2302 whose output activity transfers the modified sensory data provided as the primary inputs 214 from the pre-processing performed either by the sensor system 204 or by some other external input source 212 or by the computer system 110 to internal nodes 2306 of the SL-ANN 200 which comprise nodes 216, 400, 600 which are deeper in the node architecture of the SL-ANN via output buffer 326.
For example, as shown in Figure 23 internal node Nn+1 receives activity from input node Nn which was output by node Nn T-2 time-steps previously where T is the current time-step or iteration of the ANN model algorithm. Node Nn+x for example is shown as receiving activity transferred in the current time-step or iteration of ANN algorithm from another internal node Nn+2 which was output by node Nn+2 T-y time-steps or iterations previously. The latency relationship between pairs of nodes may also be stored other information with the source node in array 2302. The dimensions of array 2302 will depend on the number of nodes Nn+x and the number of characteristics and parameter value used to characterise the state of the node which may be updated as the ANN algorithm executes.
The computer system 1 10 components used for executing the ANN algorithm iteratively are shown in Figure 1 , although there are additional requirements such as sufficient long term and short-term memory resources and power requirements not shown (or not shown in detail in Figure 1) which would be apparent to anyone of any skill in the art to provide.
In some embodiments, the overall structure allows for parallel processing of information through multiple nodes while maintaining diverse temporal relationships in the data flows between nodes and the node activity output buffer 326 shown in Figure 23 is just one example of a mechanism to replicate connection latency or activation activity propagation delay along connections 300, 320 between nodes 216 of the ANN 200.
It will be apparent to anyone of ordinary skill in the art that Figure 23 shows only by way of example a couple of connections or directed edges being implemented with latencies between input nodes and internal nodes.
The example shown may be extended to a N-dimensional representation depending on the number of nodes N in the ANN and the number of connections. In some embodiments, the ANN is configured as a recurrent ANN which implements local learning.
In some embodiments, however, a plurality of ANNs may be connected in a hierarchical manner to form a recursive ANN network.
Not shown in Figure 23 for the sake of clarity is any indication of whether a node is self-acting, indirectly self- acting or some other type, however, it will be apparent to anyone of ordinary skill in the art that of the nodes 216, 2302 of the SL-ANN 200 according to the disclosed technology, internal nodes 2306 may comprise at least one DSA node 400 and at least one other node, for example, a IDSA node 600 so that a dynamic core can be generated in the SL- ANN 200 according to the disclosed technology.
Also not shown in Figure 23 some embodiments of the disclosed technology may pre-process received sensory data to generate a plurality of input data streams depending on the sign of deviation from its set point, e.g. whether in any iteration the sensory input is above or below its set-point. In other words, some embodiments of the disclosed technology provide two streams of positive amplitude activity values only where one stream represents only positive values, and one stream represents only negative values. Both streams propagate in the network as activities having values equal to or greater than zero. The output of input nodes 2304 may comprise pairs of sensory data streams, each of which is provided along a different connection to a node to the same target internal node, each representing a positive or negative deviation of a data feed or stream of sensory data 206 from a particular set-point. For both streams, a deviation of zero accordingly indicates the external system 202 has been sensed in its goal or target state.
The nodes 216 which form nodes 2304 and 2302 of the ANN 200 accordingly receive two streams of modified sensory stream, each representing sensor data deviations from a target sensory data state. It is also possible, in an alternative embodiment, to receive sensor data from a sensor and process this to determine a current state of the target external system, and to determine from this the deviation of the external system s state from its target state. This may be used to form the pairs of activity instead in some embodiments where it may be more desirable to possibly reduce the amount of post-processing required to relate the output of the ANN to the external system 's target state, although at the cost of incurring an additional pre-processing delay.
The computer system 110 disclosed herein above may be provided on-board the external system 202 or be embedded partially on the external system 202 in some embodiments.
Examples of external system s which may be sensed for determining inferences about one or more characteristics of the external system, such as what it is, or for generating control information to control the external system, include a robot, a data network, communications network or other form of physical network, a device, a field of view or a video image, or any other system having a spatiotemporal state. References to an external system or external system herein refer to any suitable system which can be sensed for which the sensory data obtained is input into the ANN, in other words, the external system is external to the ANN system. It is nonetheless possible, in some embodiments, for the sensors providing the ANN input to be part of the external system. In some embodiments a plurality of sensors forms sensor system 204. The plurality of sensors may include one or more individual sensor(s) S1...Sm which are part of, in other words, intrinsic to, the external system 202 and/or one or more individual sensor(s) S1...Sm which are extrinsic to the external system and merely observe the external system. In some embodiments, the sensors have known positions relative to each other and the sensor system forms a spatial sensor array.
In some embodiments, the sensors are of different types, for example, various types of imaging sensors may comprise thermal, depth, and visible light camera-based sensors and some may be event cameras. In some embodiments, one or more of the different types of sensors have different types of modalities. For example, a mix of different imaging sensors, audio sensors, vibration sensors, gyroscopic sensors, positioning sensors, e.g. GPS or another type of location sensor, or proximity sensors, etc. etc. may be used in some embodiments of the disclosed technology. Where sensors are of the same type and modality, they may still provide different sensory input to the model, each representing a different characteristic of a state of the external system, for example, different frequencies of input.
The CBM 102 shown schematically in part in Figure 23 may implemented in a variety of different ways, using one or more hardware and/or software components and configurations which may differ from the implementation shown in Figure 23 as would be apparent to anyone of ordinary skill the art. For example, only one preprocessor is shown in Figure 23 receive sensory data from a sensor and only providing this to each input node 2304. The computational structure of input nodes 2304 however may be the same as the other nodes 2306 in the network in some embodiments but the BFs and active edges along which activity may be output or received are configured differently for input nodes 2302 N1 to Nn of ANN 200. This allows, for example, parameters and values for the characteristics and processing updates for both input nodes 2304 and internal nodes 2306 to be stored in the same array structure 2302 in the ANN model algorithm which may facilitate more efficient updating of the node parameter values such as their active edges, output activity and weights with each iteration of the ANN algorithm.
Figure 24 illustrates schematically an embodiment where a node 216 comprises a learning unit 324 configured to use a plurality of learning functions 606, shown here as an inhibitory learning function 606a and an excitatory learning function 606b to update its incoming activity weights W1.... Wn+m. The node 216 may be a self-acting node or another type of node of the SL-ANN 200. The node 216 is configured to receive incoming activity inputs 302a...302n+m along a number of individual respective incoming activity connections 300a....300n+m, where n is the number of excitatory incoming activity inputs and m is the number of inhibitory incoming activity inputs. Both the number of excitatory incoming activity inputs and the number of inhibitory incoming activity inputs may evolve over time. Only incoming activity connection 300a is labelled in Figure 24 for the sake of clarity.
Figure 24 illustrates how an example of the CBM 102 according to the disclosed technology implements learning by updating the weight W1 for example, which is applied to received incoming activity input 302a depending on whether its source, shown here as node 216, is excitatory or inhibitory. In Figure 24, nodes 316a, b..., n are sources of excitatory activities which form incoming activity input 302a, b..., n whereas nodes 216n+1...216n+m are sources of inhibitory activity. There may be any number of such nodes 216a...216n+m. Each node 216 of the SL-ANN 200 receives incoming activity input 302 which is derived from time to time directly or indirectly as primary input 214 as well as activity provided directly or indirectly as spontaneous or continuous output by self-acting nodes 400.
In some embodiments, each feed or stream of sensory data 206 is pre-processed to determine its deviations from a set-point and used to form two-separate modified sensory data streams comprising primary input(s) 214 to the nodes 216. One primary input 214 comprises positive deviations of the modified sensory data from a set-point associated with that particular data feed or stream of sensory data 206 and the other primary input 214 comprises activity representing negative deviations of the modified sensory data from the same set-point. A set-point is based on the sensory data that would be received if the sensed external system 302 has a state which matches the goal or target state for that point in time. In some embodiments where the goal or target state changes over time, the set -point associated with that goal or target state will also change over time.
If pre-processing is performed by a sensor of the sensor system 204, then no sensory data 206 may be output by that sensor to drive primary input into the SL-ANN 200 once that sensory data 206 has reached its set-point. In this case, activity driven within the SL-ANN 200 by primary input 214 will cease if that is the only sensor whose data is used to provide primary input 214. However, in some embodiments, where the sensory system 204 comprises a plurality of sensors providing sensory data as separate primary inputs 214, until all of the sensory data 206 reaches its set point(s), primary input(s) 214 to the ANN will continue. Once there is no primary input at all at some point in time, internal activity nonetheless will continue as SONA 412 propagating within the SL-ANN 200 driven by activity derived from the BFOA 314 comprising SONA from DSA nodes 400 and the BFOA 314 comprising IDSONA 610 from IDSA nodes 600.
As shown in Figure 24, the weight unit is configured to updates weights W1..Wn using output 608a of the excitatory learning function module 606a of learning unit 324, 606 and the weight unit is configured to update weights Wn+1 using the output 608b of the inhibitory learning function module 606b of learning unit 324, 606.
The excitatory learning function operates on the unweighted activity of each connection whose weight will be updated by its output, a combination, for example, a sum, of weighted activity of the same type as the activity for which an individual weight is being updated, and NOA 318 output by the BF 312 of the node 216, which may be a self-acting SABF 404 if the node is a self-acting node 400. The NOA 318 of the BF 312, 404 may be thresholded in some embodiments before it is used as input to the inhibitory and excitatory learning functions 606a, 606b. As it is unlikely that the activity comprising a combination of the weighted excitatory inputs and the activity generating a combination of the weighted inhibitory inputs will have the same value, and it is also unlikely two individual weights W1...W1 will have the same value, it is likely that the inputs to the inhibitory and excitatory learning functions will be different and thus each update value to each of the individual weights W1...Wn is likely to be different, unless a weight is set to zero to prevent any incoming activity input 302 received along an incoming activity connection 300 of the node from being acted on, in other words processed by, the node.
The two learning functions may be different, in other words the inhibitory learning function may comprise different operations on its inputs from the excitatory learning function in some embodiments.
An example of a non-SABF which may be used by a non-self-acting node 216, 600 in a neuron model according to some embodiments of the ANN technology disclosed herein transforms the excitatory input Ea received along each excitatory incoming activity connection Sa to the node and the inhibitory input lb received along each inhibitory incoming activity connection Hb in a given time-step to the node to provide an output activity having an amplitude 0, where 0 = where K is some constant, and may be unitary, and C may be a function or parameter including a constant, for example, c may be assigned the value 2, where Sa is the number of excitatory incoming activity connections, and to the node and Hb is the number of inhibitory connections to the node. In some embodiments, the SABF 404 may apply a similar maximum value for its output when propagating activity across the SL-ANN 200.
The self-learning or acting ANN 200 of the self-acting computer system 110 autonomously internally generates activities which provides continuous weight adaptation using independent local neuron learning rules, which may include zero weights to be adopted or for another mechanism to be used to disconnect activity between two nodes. Each self-acting node 400 has a SABF 404 whose output may cause weights to be internally updated even when that node has not received any incoming activity input 302 and may cause node output activity, NOA, 318 to be injected spontaneously into the SL-ANN 200. NOA 318 from self-acting nodes 400 which propagates with the SL-ANN 200 is provided as incoming activity input to other self-acting nodes 400 and non-self-acting nodes 216, in other words nodes without a SABF, to update their weights, and so on, resulting in further network activity propagating within the SL-ANN 200. This spontaneous and on-going network activity may result also in the network architecture evolving as connections between nodes are formed and removed. The spontaneous and on-going network activity is supplemented whenever there is primary input to the SL-ANN 200. The result of this activity is that both self-acting and IDSA nodes update their weights continuously regardless of whether the SL-ANN has received primary input and so perform potentially continuous self-learning within the self-learning (and potentially self-acting) ANN 200 using both the ANN internal activity and primary inputs 214 to the ANN 200.
The SL-ANN 200 of the CBM 102 according to the above embodiments of the disclosed technology may be configured to self-regulate its operation using correlations or mismatches between internally driven neural activity trajectories within the computational model representing the SL-ANN 200 and the sensory data the SL-ANN 200 is processing. Over time, in the absence of any primary input, the internal so-called spontaneous activity output by a self- acting node 400 which is derived from its SABF will remain but may diminish in amplitude as time goes by from the last primary input to the SL-ANN 200. This internal activity will propagate to other nodes within the SL-ANN 200 and thus forms an activity trajectory along which inter-nodal activity flows within a region of the SL-ANN 200. Initially, this activity trajectory may provide a good approximation of the trajectory established by the last primary activity injected into the SL-ANN 200. Over time, however, the activity trajectory will evolve as the influence of the last primary input on the activity trajectory diminishes. These changes to the trajectory over time provide an abstraction process. If the abstraction process results in a representation internally within the SL-ANN model 200 which causes an ANN output 220 and the representation provides a good explanation of a sensed or subsequently external system state of the external system 202, the resulting system output 112 should cause the state of the external system 202 to be restored to its goal or target state or to remain in by effectively pre-emptively restoring it to its target or goal state.
The contents of the following patent specifications are hereby incorporated by reference, some of which may provide additional details of features described herein. For the removal of doubt, definitions of any terms defined herein take precedence over terms defined differently in the following documents:
PCT patent application WO2023163637A1 entitled "A DATA PROCESSING SYSTEM COMPRISING A NETWORK, A METHOD, AND A COMPUTER PROGRAM PRODUCT"
PCT patent application WO2023033696A1 entitled "A COMPUTER-IMPLEMENTED OR HARDWARE- IMPLEMENTED METHOD, A COMPUTER PROGRAM PRODUCT, AN APPARATUS, A TRANSFER FUNCTION UNIT AND A SYSTEM FOR IDENTIFICATION OR SEPARATION OF ENTITIES"
PCT patent application WO2023167623A1 entitled "A METHOD OF PROVIDING A REPRESENTATION OF TEMPORAL DYNAMICS OF A FIRST SYSTEM, MIDDLEWARE SYSTEMS, A CONTROLLER SYSTEM, COMPUTER PROGRAM PRODUCTS AND NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIA"
PCT patent application WO2023153986A1 entitled "A DATA PROCESSING SYSTEM COMPRISING FIRST AND SECOND NETWORKS, A SECOND NETWORK CONNECTABLE TO A FIRST NETWORK, A METHOD, AND A COMPUTER PROGRAM PRODUCT THEREFOR"
PCT patent application WO2021256981A1 entitled "A COMPUTER-IMPLEMENTED OR HARDWARE- IMPLEMENTED METHOD OF ENTITY IDENTIFICATION, A COMPUTER PROGRAM PRODUCT AND AN APPARATUS FOR ENTITY IDENTIFICATION"
PCT patent application WO2023033697A1 entitled "A COMPUTER-IMPLEMENTED OR HARDWARE- IMPLEMENTED METHOD FOR PROCESSING DATA, A COMPUTER PROGRAM PRODUCT, A DATA PROCESSING SYSTEM AND A FIRST CONTROL UNIT THEREFOR"
PCT patent application WO2023214915A1 entitled "A DATA PROCESSING SYSTEM FOR PROCESSING PIXEL DATA TO BE INDICATIVE OF CONTRAST"
In addition, it will be appreciated that for the sake of brevity not all implementation detail which would be apparent to someone of ordinary skill in the art is disclosed herein or in the above applications. An example of a textbook that may form part of such a skilled persons knowledge of the technical field of the disclosed technology is "Principles of Computational Modelling in Neuroscience" by David Sterratt et al, 2nd Edition published 2024 (and the 1st edition published in 201 1), DOI: 10.1017/9781 108672955. ISBN: 9781108672955 (eBook).
Where the disclosed technology is described with reference to drawings in the form of block diagrams and/or flowcharts, it is understood that several entities in the drawings, e.g., blocks of the block diagrams, and also combinations of entities in the drawings, can be implemented by computer program instructions, which instructions can be stored in a computer-readable memory, and also loaded onto a computer or other programmable data processing apparatus. Such computer program instructions can be provided to a processor of a general-purpose computer, a special purpose computer and/or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks.
In some implementations and according to some aspects of the disclosure, the functions or steps noted in the blocks can occur out of the order noted in the operational illustrations. For example, two blocks shown in succession can in fact be executed substantially concurrently or the blocks can sometimes be executed in the reverse order, depending upon the fu notional ity/acts involved. Also, the functions or steps noted in the blocks can according to some aspects of the disclosure be executed continuously in a loop.
In the drawings and specification, there have been disclosed exemplary aspects of the disclosure. However, many variations and modifications can be made to these aspects without substantially departing from the principles of the present disclosure. Thus, the disclosure should be regarded as illustrative rather than restrictive, and not as being limited to the particular aspects discussed above. Accordingly, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation.
The description of the example embodiments provided herein have been presented for purposes of illustration. The description is not intended to be exhaustive or to limit example embodiments to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of various alternatives to the provided embodiments. The examples discussed herein were chosen and described in order to explain the principles and the nature of various example embodiments and its practical application to enable one skilled in the art to utilize the example embodiments in various manners and with various modifications as are suited to the particular use contemplated. The features of the embodiments described herein may be combined in all possible combinations of methods, apparatus, modules, systems, and computer program products. It should be appreciated that the example embodiments presented herein may be practiced in any combination with each other.
It should be noted that the word “comprising” does not necessarily exclude the presence of other elements, features, functions, or steps than those listed and the words “a” or “an” preceding an element do not exclude the presence of a plurality of such elements, features, functions, or steps. It should further be noted that any reference signs do not limit the scope of the clauses, that the example embodiments may be implemented at least in part by means of both hardware and software, and that several “means”, “units” or “devices” may be represented by the same item of hardware.
The various example embodiments described herein are described in the general context of methods, and may refer to elements, functions, steps, or processes, one or more or all of which may be implemented in one aspect by a computer program product, embodied in a computer-readable medium, including computer-executable instructions, such as program code, executed by computers in networked environments.
A computer-readable medium may include removable and non-removable storage devices including, but not limited to, Read Only Memory (ROM), Random Access Memory, RAM), which may be static RAM, SRAM, or dynamic RAM, DRAM. ROM may be programmable ROM, PROM, or EPROM, erasable programmable ROM, or electrically erasable programmable ROM, EEPROM. Suitable storage components for memory may be integrated as chips into a printed circuit board or other substrate connected with one or more processors or processing modules, or provided as removable components, for example, by flash memory (also known as USB sticks), compact discs (CDs), digital versatile discs (DVD), and any other suitable forms of memory. Unless not suitable for the application at hand, memory may also be distributed over various forms of memory and storage components and may be provided remotely on a server or servers, such as may be provided by a cloud-based storage solution. Generally, program modules may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps or processes.
The memory used by any apparatus whatever its form of electronic device described herein accordingly comprise any suitable device readable and/or writeable medium, examples of which include, but are not limited to: any form of volatile or non-volatile computer readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and/or any other volatile or non-volatile, non- transitory device readable and/or computer-executable memory devices that store information, data, and/or instructions that may be used by processing circuitry. Memory may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, etc. and/or other instructions capable of being executed by processing circuitry and utilized by the apparatus in whatever form of electronic device. Memory may be used to store any calculations made by processing circuitry and/or any data received via a user or communications or other type of data interface. In some embodiments, processing circuitry and memory are integrated. Memory may be also dispersed amongst one or more system or apparatus components. For example, memory may comprise a plurality of different memory modules, including modules located on other network nodes in some embodiments.
ADDITIONAL CLAUSES
Clause 1 . A method for data abstraction using a computational brain model, CBM, including at least one self- learning artificial neural network, ANN, comprising a plurality of inter-connected nodes, whilst the CBM is executing on a computer system, wherein the SL-ANN is configured with at least one self-acting node comprising a self-acting BF, SABF, configured to produce spontaneous activity comprising perpetual base-function internal activity, PBFIA, independent of primary input to the SL-ANN whilst the CBM is executing, wherein the SL-ANN receives from time to time primary input comprises one or more primary inputs comprising time-varying data representing a real-world state of an entity whilst the CBM is executing, the method comprising: receiving, at a time-step, in a SL-ANN, primary input comprising time-varying data; iteratively forming a series of network states in the SL-ANN based on the received primary input, wherein each iteration forms a network state of the SL-ANN defined by its active connection topology and the levels of activity output by each node which comprises a representation of one or more characteristics of the primary input associated with the external system; subsequently driving, by the at least one self-acting node of the SL-ANN generating PBFIA, SONA within the SL-ANN, wherein the SONA influences activity generated by other nodes of the SL-ANN; creating, based on the SONA influenced activity generated by other nodes of the SL-ANN a dynamic core comprising nodes within the SL-ANN generating SONA which is not driven solely by primary input to the SL-ANN, causing, based on the SONA not driven by primary input within the SL-ANN, weight updates within the nodes of the SL-ANN, wherein the nodes of the SL-ANN are configured to individually learn new weights from both received time-varying data forming the primary input to the ANN and from SONA circulating within the SL-ANN, wherein the last previous representation formed by the network state of the SL-ANN of one or more characteristics of the primary input associated with the external system based on previously the last previously received primary input is updated by SONA generated by nodes having updated weights from SONA not driven by previous primary input and comprises an abstracted representation of the last previous representation.
Clause 2. The method of clause 1 , wherein the method further comprises: repeatedly generating one or more abstract representation using the SONA not driven by the primary input to the SL-ANN, wherein the one or more abstract representations become increasingly more abstract as time passes from the last primary input to the SL-ANN.
Clause 3. The method of clause 1 or 2, further comprising: generating ANN output driven by the SONA within the SL-ANN; and using the generated ANN output to cause system output to be provided by the computer system to an external system.
Clause 4. The method of clause 3, wherein the primary input comprises sensory data associated with a sensed state of the external system.
Clause 5. The method of claim 4, wherein method further comprises: generating or using the system output to generate, one or more control activities for controlling one or more actuators configured to cause one or more actuatable components of the external system to update the state of the external system.
Clause 6. The method of claim 5, wherein the sensory data is generated by one or more sensors of a sensor system, wherein at least one sensor comprises an actuator configured to cause one or more actuatable components of the external system to update the state of the external system.
Clause 7. The method of claim 6, wherein the at least one sensor is a component of the external system.
Clause 8. The method of any previous clause, wherein the SL-ANN is configured over time to use SONA within the dynamic core not driven by primary input to the SL-ANN to improve and/or accelerate the learning capability of the ANN to abstract data features represented in activities derived from or comprising primary input previously received by the ANN.
Clause 9. The method of any previous clause, wherein each node of the SL-ANN independently learns new weights is according to one or more learning functions.
Clause 10. The method of any previous clause, wherein learning new weights includes learning to update which connections are actively transferring activity between two nodes.
Clause 11 . The method of either clauses 9 or 10, wherein the learning function of each node is provided with updated inputs in each iteration of the SL-ANN based on, for each incoming activity connection weight to be updated in that iteration, the unweighted incoming activity input along that incoming activity connection, the base-function output of the node, and, based on the type of activity received along that incoming activity connection, a combination of all weighted incoming activity inputs of the same type received by the node.
Clause 12. The method of claim 11 , wherein the type of activity received along an incoming activity connection is either inhibitory or excitatory, wherein the learning function for updating the weights applied to inhibitory incoming activity inputs is different from the learning function for updating the weights applied to excitatory incoming activity inputs.
Clause 13. The method of any previous clause, wherein the dynamic core comprises nodes within the ANN which generating spontaneous activity comprises nodes where the spontaneous activity is prevalent or dominant over activity generated by previous primary input to the ANN.
Clause 14. The method of any previous clause, wherein the location of spontaneous activity within the dynamic core of the ANN is time-evolving.
Clause 15. The method of any one of the previous clauses, wherein SONA generated continuously or episodically within the ANN causes the SL-ANN to autonomously adapt its network state space over time.
Clause 16. The method of any one of the previous clauses, further comprising generating an ANN output not driven by primary input to the SL-ANN when the SL-ANN has a network state comprising an abstracted representation of a previous primary input.
Clause 17. The method of the clause 16, wherein the previously received primary input comprises time-varying data representing one or more states of a real-world external system and wherein the ANN output is configured to influence the state of the external system or drive other real-world activity influencing the state of the external system. Clause 18. The method of any one of the previous clauses, wherein repeatedly performing the method causes the SL-ANN to autonomously learn weights using SONA generating and propagating within its dynamic core which configures the SL-ANN to be capable of abstracting data features from subsequent primary input to the SL-ANN.
Clause 19. A self-learning apparatus comprising a computer system, the computer system being configured to perform data abstraction using a self-learning artificial neural network, ANN, comprising a plurality of inter-connected nodes executing on the computer system, the computer system comprising: a processor configured to execute the ANN and process primary input comprising time-varying data; a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the apparatus to perform operations comprising the steps of any one or more of the method clauses.
Clause 20. A self-learning apparatus comprising a computer system, the computer system being configured to perform data abstraction using a self-learning artificial neural network, ANN, comprising a plurality of inter-connected nodes executing on the computer system, the computer system comprising: a processor configured to execute the ANN and process primary input comprising time-varying data; a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the apparatus to perform operations comprising: .receiving, in the ANN comprising a plurality of inter-connected nodes, primary input comprising time-varying data, wherein the ANN is configured to: generate spontaneous activities within at least one self-acting node of the ANN, said self-acting node comprising a SABF configured to produce said spontaneous activities independent of the received primary input comprising time-varying data; propagate the spontaneous activities within the ANN to influence activity in other nodes to create a dynamic core comprising nodes within the ANN generating spontaneous activity; and learn to update weights within the nodes of the ANN based the spontaneous activities, thereby accelerating learning within the dynamic core; learning updated weights by the plurality of nodes of the ANN from the received time-varying data forming primary input to the ANN, and abstracting features from received primary input comprising time-varying data based on the learning of the updated weights, wherein the operations performed by the apparatus include: the learning by each node of the plurality of nodes in the ANN comprising each node: deriving at least some of the internal activity of that node from spontaneous activities of the dynamic core of the ANN; and correlating one or more individual activities respectively received along one or more connections by that node with the internal activity of that node, wherein the received one or more individual activities are derived from or comprise the time-varying input to the ANN.
Clause 21 . The apparatus of the clause 20, wherein the operations performed by the apparatus further comprise generating an output from the ANN based on the abstracted features and the spontaneous activity.
Clause 22. The apparatus of the clause 21 , wherein the received primary input comprising time-varying data represents one or more states of an external system, and wherein the output from the ANN is configured to influence the state of the external system or drive other real-world activity.
Clause 23. A computer system for data abstraction using a self-learning artificial neural network, ANN, executing on the computer system, the computer system comprising: a processor configured to execute the ANN and process primary input comprising time-varying data; a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the apparatus to perform operations comprising: generating spontaneous activities within at least one self-acting node of the ANN, the self-acting node including a SABF configured to produce the spontaneous activities independent of the received primary input comprising time-varying data; propagating the spontaneous activities throughout the ANN to influence activity in other nodes, thereby creating a dynamic core within the ANN where spontaneous activity is prevalent or dominant; updating learning rules and connection weights within the nodes of the ANN based on the spontaneous activities, thereby facilitating accelerated learning within the dynamic core; and abstracting features from the received primary input comprising time-varying data by synchronizing the spontaneous activity within the dynamic core to accelerate the learning capability of the ANN to abstract data features represented in subsequent input.
Clause 24. A self-acting computer system configured to spontaneously generate system output using a computational brain model, the computational brain model comprising: at least one self-acting neural network, ANN, wherein the ANN comprises a plurality of nodes, at least some of the nodes comprising self-acting nodes configured to output spontaneous activity, wherein the self-acting ANN is configurable at least in part by the spontaneous activity output by the one or more of the self-acting nodes to adopt a network state space which spontaneously generates ANN output, responsive to which the computer system generates spontaneous system output to one or more external systems, and wherein, at least one self-acting node comprises a SABF configured to generate BF activities whilst the self-acting ANN iteratively executes on the computer system.
Clause 25: The self-acting computer system of the clause 24, wherein the ANN has been previously trained on sensory data, and subsequent spontaneous system output from the computer system drives the one or more external systems to remain in or close to a target or goal state.
Clause 26: The self-acting computer system of the clause 24 or 25, wherein the ANN has been previously trained on sensory data, and subsequent spontaneous system output from the computer system drives the one or more external systems to revert to a target or goal state.
Clause 27. The self-acting computer system of the clause 26, wherein the sensory data is multi-modal and the spontaneous output from the computer system is driven by the strongest of mode of sensory input to revert the external system to a target or goal state for the strongest mode of sensory input.
Clause 28. The self-acting computer system of any of the clauses 24 to 27, wherein the external system is driven to adopt a target or control state using actuators configured to response to control activities comprising or derived from the output of the system.
Clause 29. The self-acting computer system of any of the clauses 24 to 28, wherein at least one self-acting node comprises at least a weight unit, an input combiner, a learning unit and a SABF, wherein the SABF is configured to iteratively spontaneously generate a BF activity as the BF algorithm is iteratively executed.
Clause 30. The self-acting computer system of the clause 29, wherein the weight unit is configured to apply, based on a weight function, to each activity received along one or more connections with that node, a weight to the received input activity to generate a plurality of weighted input activities; the input combiner is configured to apply a combiner function to the plurality of weighted input activities to generate a combined weighted input activity; and the SABF is configured to process the combined weighted input activity and a time-derivative of the combined weighted input activity to generate a BF activity, wherein the BF generated activity is fed iteratively back to be re-processed by the BF as the ANN is iteratively executed on the computer system.
Clause 31 . The self-acting computer system (1 10) of the clause 30, wherein each self-acting node comprising a SABF is capable of generating activity asynchronously from the output generated by other nodes (216, 400, 600) of the ANN (200).
Clause 32. The self-acting computer system (110) of any one of clauses 24 to 31 , wherein at least one IDSA node (600) generates spontaneous activity output responsive to receiving spontaneous activity from a self-acting node having a SABF.
Clause 33. The self-acting computer system (110) of any one of the clauses 24 to 32, wherein the SABF (404) comprises: a first activity processing component (908) configured to generate a first processing activity (910) by processing: a received input activity (902) comprising one or both of the combined weighted incoming activity input activity (310) generated by based on input received by an input combiner (308) of that self-acting node and a time derivative of a combined weighted incoming activity input activity (310) previously generated by the input combiner (308) of that self-acting node (400); a feedback activity (928) received from the BF combiner (918) as a result of the BF combiner processing data in a previous time-step; and if a discharge condition is met, a negative discharge activity (924) received from a negative activity accumulator (922); a second activity processing component (914) configured to generate a second processing activity (916) by processing: input comprising the first processing activity (910) from the first processing component (908); and a feedback activity (926) received from the BF combiner (918) as a result of the BF combiner processing data in a previous time-step; a BF input activity combiner (918) configured to combine at least the first processing activity (910) with the second processing activity (916) in accordance with a BF combiner function to generate a BF activity (314); and a negative activity accumulator configured to accumulate negative received BF activities over a plurality of time-steps until a discharge condition is met, wherein if and when the discharge condition is met, the accumulated negative activity is discharged as a positive activity to the first activity processing component (908).
Clause 34. The self-acting computer system (110) of the clause 33, wherein the SABF (404) further comprises a gain unit (906) configured to generate an amplified combined weighted input activity (912) to provide to the BF combiner (918) in a time-step if, in that time-step there is no first processing activity 910 or second processing activity 916.
Clause 35. The self-acting computer system (110) of any one of the clauses 24 to 34, wherein the BF combiner (918) applies a BF combining function to the plurality of received input activities (910, 912, 916) comprising one or more or all of: a summing function; a multiplying function; a leaky integrator function; and an accumulator function.
Clause 36. The self-acting computer system (1 10) of any one of the previous clauses 24 to 35, wherein one or more or all of the nodes (216, 400, 600) of the network are configured to: apply a node-output threshold function to BF output activities, check if the output of the threshold function meets a set of one or more node output conditions; and if the set of one or more node output conditions are met, outputs NOA (318) in each iterative time-step of the ANN model algorithm.
Clause 37. The self-acting computer system of any one of the clauses 24 to 36, wherein each self-acting node (400, 600) further comprises an output function processing unit configured to determine if the BF output activity potential activity (920) meets at least a threshold for an output, NOA, (318) to be generated in each iterative time-step of the ANN 200.
Clause 38. The self-acting computer system (110) of any one of the clauses 24 to 37, wherein each self-acting node (400, 600) further comprises a learning processing component (606), wherein the learning update component (606) is configured to process either the BFOA 314, which may comprise SONA 412, or a activity derived from the BF activity output activity to generate a learning update activity update the values acted on by the learning and connectivity functions of that node, and wherein the updated learning and connectivity rules are provided as a learning update activity to the weight unit (304) and to update one or both of: the weight function applied to activities received along one or more connections with the node; and the one or more connections (300a, b, c, d) with other nodes of the ANN and/or from external input sources along which activity is received by that node (400).
Clause 39. The self-acting computer system (110) of the clause 38, wherein at least some nodes of the ANN directly contribute to the system output, and wherein each node configured to contribute to the system output further comprises a system output contribution threshold function component configured to determine if the BF activity potential activity (920) meets a threshold for contributing to the system output (1 12) and, if so, outputs the BF activity contribution.
Clause 40. A self-acting apparatus comprising a computer system configured with a computational brain model comprising at least one self-acting artificial neural network, ANN, wherein the ANN comprises: a plurality of nodes, at least one the nodes comprising a directly self-acting node configured to autonomously generate spontaneous activity responsive to a trigger event, wherein the autonomously generated spontaneous activity by the at least one directly self-acting node propagates to at least one other node of the ANN to cause that node to act as an IDSA node and provide spontaneous activity, wherein the plurality of nodes of the ANN update their learning rules for weights and active connections based on the spontaneous activity propagating within the ANN.
Clause 41 . The self-acting apparatus of the clause 40, wherein the spontaneous activity of the ANN causes the computer system to spontaneously generate system output.
Clause 42. The self-acting apparatus of the clause 40 or 41 , wherein, each directly self-acting node has a SABF configured to iteratively generate BF activities whilst the self-acting ANN iteratively executes on the computer system. Clause 43. The self-acting apparatus of any one of clauses 40 to 42, wherein the BF activity generated within that self-acting node drives the self-acting node to autonomously generate a spontaneous activity, and wherein the spontaneous activity is output by the directly self-acting node to at least one other node of the plurality of nodes to act as an IDSA node and spontaneously generate an activity.
Clause 44. The self-acting apparatus of any one of the clauses 40 to 43, wherein the self-acting ANN is configured at least in part by the spontaneous activity generated by one or more of self-acting nodes to adopt a network state space which spontaneously generates ANN output causing the computer system to spontaneously generate system output.
Clause 45. A computer-implemented method for operating a computer system comprising a computational model of a self-acting ANN, the computer-implemented method comprising: generating spontaneous activity, for example, SONA, by at least one self-acting node within the plurality of nodes independently of external input; and updating, based on learning within the network by nodes, a network state space of the self-acting ANN using on the spontaneous activity generated by the at least one self-acting node.
Clause 46. The method of the clause 45, further comprising: generating an ANN output based on the updated network state space, and causing the generation of system output to one or more external systems by the computer system based on the ANN output.
Clause 47. An apparatus comprising means configured to implement the method of either the clause 45 or the clause 46.
Clause 48. A real-world multi-state entity comprising an external system configured to be controlled by the self-acting computer system according to any one of the clauses 24 to 39.
Clause 49. The multi-state entity of the clause 48, wherein a state of the real-world multi-state entity is representable by a technical data set comprising one or more physics data metrics.
Clause 50. The multi-state entity of the clause 49, wherein the technical data set comprising physics metrics comprises one or more time-series sensor readings or data derivable from sensor readings.
Clause 51 . The multi-state entity of the clause 50, wherein the sensors providing the readings comprising one or more: audio sensors, image sensors, video sensors, temperature sensors, vibration sensors, gyroscopic or point sensors, ambient light sensors, position sensors, for example, GPS positioning sensors, light sensors, event-based camera sensors.
In the drawings and specification, there have been disclosed exemplary embodiments. However, many variations and modifications can be made to these embodiments. Accordingly, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation, the scope of the embodiments being defined by the following claims.

Claims

1. A self-acting computer system (1 10) configured with a computational brain model, CBM, (102) comprising at least one self-learning artificial neural network, SL-ANN, (200), wherein the SL-ANN (200) comprises: a plurality of nodes (216), at least one of the nodes (216) comprising a directly self-acting, DSA, node (400) configured to autonomously generate on-going perpetual base function, internal activity, PBFIA, (406) and cause spontaneously output node activity, SONA, (412) to be output to the SL-ANN (200) which is driven by both: incoming activity input (302) received by each directly self-acting, DSA, node (400); and the PBFIA (406) generated by each directly self-acting, DSA, node (400), wherein the incoming activity input (302) is driven by activity propagating within the SL-ANN (200) derived from or comprising primary input (214) to the SL-ANN (200) at times and/or by SONA (412) output by other DSA nodes (400) or by indirectly self-acting, IDSA, nodes (600) of the SL-ANN at times when there is no primary input (214) to the SL-ANN (200), wherein the primary input (214) to the SL-ANN (200) comprises data representing a sensed state of an entity, wherein the SL-ANN (200) is configured over time at least in part by SONA (412) generated by one or more self-acting nodes (400) and zero or more IDSA nodes (600) to adopt a network state space configuring the SL-ANN (200) as a self-acting ANN which is capable of spontaneously generating ANN output (220), wherein the SL-ANN (200) has a time-varying spatial region comprising a dynamic core where SONA (412) is dominant over node output activity comprising or driven from primary input (214) to the SL-ANN (200), and wherein responsive to receiving spontaneously generated ANN output (220), the self-acting computer system (110) spontaneously generates computer system output (112) which causes an update to a sensed state of the entity.
2. The self-acting computer system (1 10) of claim 1 , wherein the output SONA (412) generated by the at least one directly self-acting node (400) propagates to at least one other node (216) of the SL-ANN (200) to cause that node to act as an IDSA node (600) and generates SONA (412) as the SL-ANN executes on the computer system (1 10).
3. The self-acting computer system (1 10) of claim 1 or 2, wherein the SL-ANN (200) is configured over time at least in part by the SONA (412) generated by one or more self-acting nodes (400) and zero or more indirectly self-acting (600) to adopt a network state space configuring the SL-ANN (200) as a self-acting ANN which is capable of spontaneously generating ANN output (220).
4. The self-acting computer system (1 10) of any of the previous claims, wherein each at least one directly self-acting node (400) comprises a self-acting BF (404) configured to generate the PBFIA (404) and wherein output from the SABF (404) is used to update the weights.
5. The self-acting computer system (1 10) of any of the previous claims, wherein each weight applied to incoming activity inputs of a self-acting node (400) of the at least one node (216) of the SL-ANN (200) is individually updated based on at least: the value of that weight previously used to weight a particular incoming activity input (302) to that self-acting node (400); the type of incoming activity that weight was last applied to; and the total sum of the weighted incoming activity inputs last received of that type by that self-acting node (400).
6. The self-acting computer system (1 10) of claim 5, wherein the type of incoming activity is either inhibitory activity or excitatory activity.
7. The self-acting computer system (110) of any previous claim, wherein the sensed state of the entity is the sensed state of a multi-state system, wherein the primary input (214) comprises sensory data (206) provided as system input (108), and wherein the primary input (214) is derived from comparing the sensory data (206) with one or more set-points, wherein each set-point is associated with the sensory data values which would be generated when the external multi-state entity achieves a goal or adopts a target state.
8. The self-acting computer system (1 10) of any previous claim, wherein the computer system (110) further comprises at least one pre-processor configured to generate primary input (214) comprising a pair of time-series of sensor values derived by comparing each stream or feed of sensory data with one or more set-points.
9. The self-acting computer system (110) of any previous claim wherein the sensed entity comprises an external system (202) including one or more actuators (301 ) , wherein responsive to the external system (202) receiving the computer system output (112) derived from the output (220) of the ANN (200), the one or more actuators control at least one update to the state of the multi-state system.
10. The self-acting computer system (110) of claim 4, wherein at least one sensor is configured as an actuator sensor for controlling one or more other components of the multi-state system.
11 . The self-acting computer system (110) of any previous claim, wherein, each directly self-acting node (400) has a SABF (400) configured to repeatedly generates PBFIA (406) whilst an algorithm implementing the SL-ANN (200) iteratively executes on the computer system (110).
12. The self-acting computer system (1 10) of claim 11 , wherein with each iteration of the SL-ANN algorithm, SONA (412) is output into the ANN by each self-acting node.
13. The self-acting computer system (110) of any previous claim, wherein the SL-ANN (200) comprises at least two directly self-acting nodes (400) and wherein spontaneous activity output by at least one of the at least two self-acting nodes (400) is initially asynchronous with the spontaneous activity output by at least one other node of the at least two self-acting nodes of the ANN (200), and wherein at a later point in time the activity output by the at least two self-acting nodes is synchronised.
14. The self-acting computer system (1 10) of any previous claim, wherein the nodes (216) are organised into populations (218) which are connected in a manner which allows all nodes to be directly or indirectly connected to each other.
15. The self-acting computer system (110) of any previous claim, wherein the SL-ANN (200) has a globally connected recursive or recurrent network architecture and the spontaneous activity, generated by the one or more directly self-acting nodes (400), propagates via IDSA nodes (600) and other directly self-acting nodes (400) forming the SL-ANN (200).
16. The self-acting computer system (1 10) of any previous claim, wherein the spontaneous activity propagates in a non-hierarchical manner through the SL-ANN (200) according to which connections between nodes (216, 400, 600) are currently active and the current weight functions each node (216, 400, 600) applies to activity input and/or output along connection activity pathways.
17. A computer-implemented method for operating a self-learning computer system (110) to perform accelerated learning using a computational brain model (102) comprising at least one self-learning artificial neural network, ANN, (200) configured with a plurality of nodes (216), at least one of the nodes (216) being a directly self- acting node (400), the method comprising: iteratively executing an ANN algorithm on the self-learning computer system (1 10) to implement the SL-ANN (200), wherein each iteration comprises: generating base-function activity using a self-acting base function, SABF, (404) of each at least one self-acting node (400); and accumulating negative activities within the SABF (404) of each at least one self-acting node (400) until a discharge condition is met; and wherein, responsive to the discharge condition being met within one of said at least one self-acting nodes (400), the method further comprises: the SABF (404) of that self-acting node (400) spontaneously generating an activity; and that self-acting node (400) outputting the spontaneously generated activity into the SL-ANN (200); wherein the plurality of nodes (400, 600) of the SL-ANN (200) each individually update their weights responsive to one or both of: the spontaneous activity propagating within the SL-ANN; and, from time to time, activity propagating within the ANN driven by or comprising primary input (214) to the SL-ANN (200), wherein the primary input (214) to the SL-ANN (200) comprises data representing a sensed state of a multi-state system, wherein the SL-ANN is configured over time at least in part by the spontaneous activity generated by one or more self-acting nodes (400) and zero or more indirectly self-acting nodes (600) to adopt a network state space configuring the SL-ANN (200) as a self-acting ANN which is capable of spontaneously generating ANN output (220), and wherein responsive to receiving spontaneously generated ANN output (220), the computer system (110) spontaneously generates computer system output (112) which causes an update to a state of the multi-state system.
18. The method of claim 17, wherein the method further comprises: from time to time the ANN (200) receiving primary input (214); and updating, individually by each node of the plurality of nodes (400, 600) of the ANN (200) their weights responsive to: the spontaneous activity propagating within the ANN; and activity propagating within the ANN driven by or comprising the primary input (214) to the SL-ANN (200).
19. The method of claim 18, further comprising updating, from time to time, weights of the plurality of nodes (400, 600) based on activity dominantly driven by primary input (214) to the SL-ANN (200).
20. The method of any of claims 17 to 19, wherein the SL-ANN (200) comprises at least two directly self- acting nodes (400) and wherein the method comprises: initially generating spontaneous activity output by at least one of the at least two self-acting nodes (400) which is asynchronous with the spontaneous activity output by at least one other node of the at least two self- acting nodes of the ANN (200); and at a later point in time, generating spontaneous activity output by at least one of the at least two self- acting nodes (400) which is synchronous with the spontaneous activity output by at least one other node of the at least two self-acting nodes (400) of the ANN (200).
21 . An apparatus comprising: the computer system (110) of any one of claims 1 to 17; an external system (202); and a sensor system (204) comprising at least one sensor, wherein the apparatus is configurable to process data derived from or comprising sensory data (206) generated by the sensor system (204) sensing a state of the external system (202) to form data comprising the primary input (214) to the SL-ANN (200) of the computer system (1 10).
22. The apparatus of claim 21 , wherein the external system (202) comprises a robot or robot limb, and the sensor system is configured to sense and quantify mechanical, visual, or audible characteristics and behavioural elements of the robot or robot limb.
23. The apparatus of claim 22, wherein the robot limb comprises a robotic arm.
24. The apparatus of any one of claims 21 to 23, where the sensor system (204) comprises at least one array of sensors (204).
25. The apparatus of claim 24, wherein each of the at least one array of sensors forming sensor system (204) comprises one or more types of sensors.
26. The apparatus of claim 24, wherein the sensor system (204) uses more than one type of sensor to generate sensory data (206).
27. The apparatus of claim 25 or 26, wherein a type of sensor comprises one of: an imaging sensor; a positioning sensor; a temperature sensor; an audio sensor; an ambient light sensor; an optical sensor; a depth sensor; an event camera; a gyroscopic sensor; a stability sensor; and a frequency sensor.
PCT/EP2025/057423 2024-03-18 2025-03-18 A self-learning artificial neural network and related aspects Pending WO2025196083A1 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
GBGB2403877.0A GB202403877D0 (en) 2024-03-18 2024-03-18 Data abstraction using a self-learning artificial neural network and related aspects
GB2403877.0 2024-03-18
GBGB2403874.7A GB202403874D0 (en) 2024-03-18 2024-03-18 A self-learning computer system, self-learning artificial neural network and related aspects
GB2403874.7 2024-03-18
GBGB2403950.5A GB202403950D0 (en) 2024-03-19 2024-03-19 A self-acting computer system, self-acting artificial neural network and related aspects
GB2403950.5 2024-03-19
GB2501253.5 2025-01-28
GBGB2501253.5A GB202501253D0 (en) 2025-01-28 2025-01-28 A self-learning artificial neural network and related aspects

Publications (1)

Publication Number Publication Date
WO2025196083A1 true WO2025196083A1 (en) 2025-09-25

Family

ID=95066048

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2025/057423 Pending WO2025196083A1 (en) 2024-03-18 2025-03-18 A self-learning artificial neural network and related aspects

Country Status (1)

Country Link
WO (1) WO2025196083A1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021256981A1 (en) 2020-06-16 2021-12-23 IntuiCell AB A computer-implemented or hardware-implemented method of entity identification, a computer program product and an apparatus for entity identification
WO2023033697A1 (en) 2021-09-03 2023-03-09 IntuiCell AB A computer-implemented or hardware-implemented method for processing data, a computer program product, a data processing system and a first control unit therefor
WO2023033696A1 (en) 2021-09-03 2023-03-09 IntuiCell AB A computer-implemented or hardware-implemented method, a computer program product, an apparatus, a transfer function unit and a system for identification or separation of entities
US20230087722A1 (en) * 2020-05-19 2023-03-23 Neurocean Technologies Inc. Brain-like neural network with memory and information abstraction functions
WO2023153986A1 (en) 2022-02-11 2023-08-17 IntuiCell AB A data processing system comprising first and second networks, a second network connectable to a first network, a method, and a computer program product therefor
WO2023163637A1 (en) 2022-02-23 2023-08-31 IntuiCell AB A data processing system comprising a network, a method, and a computer program product
WO2023167623A1 (en) 2022-03-02 2023-09-07 IntuiCell AB A method of providing a representation of temporal dynamics of a first system, middleware systems, a controller system, computer program products and non-transitory computer-readable storage media
WO2023214915A1 (en) 2022-05-06 2023-11-09 IntuiCell AB A data processing system for processing pixel data to be indicative of contrast.

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230087722A1 (en) * 2020-05-19 2023-03-23 Neurocean Technologies Inc. Brain-like neural network with memory and information abstraction functions
WO2021256981A1 (en) 2020-06-16 2021-12-23 IntuiCell AB A computer-implemented or hardware-implemented method of entity identification, a computer program product and an apparatus for entity identification
WO2023033697A1 (en) 2021-09-03 2023-03-09 IntuiCell AB A computer-implemented or hardware-implemented method for processing data, a computer program product, a data processing system and a first control unit therefor
WO2023033696A1 (en) 2021-09-03 2023-03-09 IntuiCell AB A computer-implemented or hardware-implemented method, a computer program product, an apparatus, a transfer function unit and a system for identification or separation of entities
WO2023153986A1 (en) 2022-02-11 2023-08-17 IntuiCell AB A data processing system comprising first and second networks, a second network connectable to a first network, a method, and a computer program product therefor
WO2023163637A1 (en) 2022-02-23 2023-08-31 IntuiCell AB A data processing system comprising a network, a method, and a computer program product
WO2023167623A1 (en) 2022-03-02 2023-09-07 IntuiCell AB A method of providing a representation of temporal dynamics of a first system, middleware systems, a controller system, computer program products and non-transitory computer-readable storage media
WO2023214915A1 (en) 2022-05-06 2023-11-09 IntuiCell AB A data processing system for processing pixel data to be indicative of contrast.

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DAVID STERRATT ET AL.: "Principles of Computational Modelling in Neuroscience", 2024, COURANT INSTITUTE OF MATHEMATICAL SCIENCES
SERGEY A LOBOV ET AL: "Spatial computing in structured spiking neural networks with a robotic embodiment", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 14 December 2021 (2021-12-14), XP091130288 *

Similar Documents

Publication Publication Date Title
Davies et al. Advancing neuromorphic computing with loihi: A survey of results and outlook
Li Deep reinforcement learning
Mishra et al. Prediction and control with temporal segment models
Siekmann et al. Learning memory-based control for human-scale bipedal locomotion
US8990133B1 (en) Apparatus and methods for state-dependent learning in spiking neuron networks
Fox et al. Multi-level discovery of deep options
Spielberg et al. Learning-in-the-loop optimization: End-to-end control and co-design of soft robots through learned deep latent representations
Rosa et al. Overview of artificial neural networks
Hanna et al. Grounded action transformation for sim-to-real reinforcement learning
CN116830122A (en) Methods, systems and devices for federated learning
Cui et al. Pneumatic artificial muscle-driven robot control using local update reinforcement learning
CN110942142B (en) Neural network training and face detection method, device, equipment and storage medium
Tieck et al. Learning continuous muscle control for a multi-joint arm by extending proximal policy optimization with a liquid state machine
CN114565079A (en) Training method, chip and electronic product of spiking neural network in space-time domain
Werner et al. Learning a model is paramount for sample efficiency in reinforcement learning control of PDEs
GB2572164A (en) Artificial neural networks
Zhao et al. Learning inverse kinematics using neural computational primitives on neuromorphic hardware
Kobayashi et al. Latent representation in human–robot interaction with explicit consideration of periodic dynamics
WO2025196083A1 (en) A self-learning artificial neural network and related aspects
Sochopoulos et al. Learning deep dynamical systems using stable neural ODEs
Kungl Robust learning algorithms for spiking and rate-based neural networks
Ghanbari et al. Reinforcement learning in neural networks: A survey
KR20240158261A (en) Method for providing temporal dynamic representation of a first system, middleware system, controller system, computer program product and non-transitory computer-readable storage medium
Lötzsch Using deep reinforcement learning for the continuous control of robotic arms
Zins Neuromorphic Computing Applications in Robotics

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 25713591

Country of ref document: EP

Kind code of ref document: A1