Hypothesis testing on dynamic machine learning model
A dynamic machine learning model with evolving node topology and self-efficacy scoring addresses the limitations of traditional models by enabling continuous adaptation and flexible hypothesis representation.
Patent Information
- Application Number
- PCT/US2023/031628
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-31
- Publication Date
- 2025-03-06
AI Technical Summary
Traditional machine learning models have fixed architectures that lead to overparameterization, bias in hypothesis representation, and inability to dynamically adapt to new data or tasks without full retraining.
A dynamic machine learning model that evolves its node topology organically, allowing nodes to be added or removed dynamically, and maintaining self-efficacy scores to prune low-importance nodes, thus avoiding strong assumptions about the form of the solution.
The model achieves compact, task-specific architectures, continuous adaptation, flexible hypotheses, and interpretability, mitigating the pitfalls of traditional models.
Smart Images

Figure US2023031628_06032025_PF_FP_ABST
Abstract
Description
HYPOTHESIS TESTING ON DYNAMIC MACHINE LEARNING MODELTECHNICAL FIELD
[0001] The present disclosure relates generally to machine learning and, more particularly, to hypothesis testing via a machine learning model.BACKGROUND
[0002] Machine learning models are models performed on computer hardware and are designed to enable the models to learn from data and make predictions or decisions without explicit programming. These models utilize statistical methods, mathematical optimization, and pattern recognition to identify patterns and relationships within data, allowing them to generalize and adapt to new information. Machine learning models are widely used across various domains, such as image and speech recognition, natural language processing, recommendation systems, and anomaly detection. In traditional models, the model is trained using historical and labeled information, and then, the trained model is applied to new unlabeled data to generate inferences.BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0003] In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the figure number in which that element is first introduced. Some non-limiting examples are illustrated in the figures of the accompanying drawings in which:
[0004] FIG. 1 illustrates a network architecture of a machine learning model, according to some examples.
[0005] FIG. 2 illustrates a network including first node, second node, and third node, according to some examples.
[0006] FIG. 3 illustrates an example method for hypothetical testing by node topology restructuring of a machine learning model, according to some examples.
[0007] FIG. 4 illustrates a machine learning architecture configured to dynamically modify its structure for hypothesis testing, according to some examples.
[0008] FIG. 5 illustrates the removal of node and the selection of node in the machine learning model, according to some examples.
[0009] FIG. 6 illustrates node 414 removed, according to some examples.
[0010] FIG. 7 illustrates the re-addition of node 414 and the selection of the next node 412, according to some examples.
[0011] FIG. 8 illustrates a split screen user interface showing a node topology representative of a human constituent, according to some examples.
[0012] FIG. 9 illustrates a machine learning model activating or deactivating an entire group of nodes, according to some examples.
[0013] FIG. 10 illustrates a new node creation in a group of nodes based on asymmetrical division, according to some examples.
[0014] FIG. 11 illustrates a new node creation in a group of nodes based on symmetrical division, according to some examples.
[0015] FIG. 12 illustrates deleting node from the group of nodes, according to some examples.
[0016] FIG. 13 illustrates the creation of a new connection within a group of nodes, according to some examples.
[0017] FIG. 14 illustrates a machine learning model performing different functions across nodes in different groups of nodes, according to some examples.
[0018] FIG. 15 illustrates a machine learning model performing functions on an entire group of nodes, according to some examples.
[0019] FIG. 16 illustrates merging of two groups of nodes, according to some examples.
[0020] FIG. 17 illustrates splitting of one group of nodes into two groups of nodes, according to some examples.
[0021] FIG. 18 illustrates rerouting of groups of nodes, according to some examples.
[0022] FIG. 19 illustrates interchanging groups of nodes, according to some examples.
[0023] FIG. 20 illustrates a sequence showing restructuring of a network of a machine learning model over time, according to techniques described herein.
[0024] FIG. 21 illustrates initial values of weights of a node of a network, according to some examples.
[0025] FIG. 22 illustrates initial values of priors of the Bo submatrix, according to some examples.
[0026] FIG. 23 illustrates differentiated values of priors of the Bo submatrix of FIG. 22, according to some examples.
[0027] FIG. 24 illustrates initial values of priors of the Bi submatrix, according to some examples.
[0028] FIG. 25 illustrates differentiated values of priors of the Bi submatrix of FIG. 24, according to some examples.
[0029] FIG. 26 illustrates initial weight values and three different sets of differentiated values of weights of the B matrix, according to some examples.
[0030] FIG. 27 illustrates a machine-learning pipeline, providing context for examples described herein.
[0031] FIG. 28 illustrates training and use of an example machine-learning program, providing context for examples described herein.
[0032] FIG. 29 is a diagrammatic representation of a machine in the form of a computer system within which a set of instructions may be executed to cause the machine to perform any one or more of the methodologies discussed herein, according to some examples.DETAILED DESCRIPTION
[0033] Traditional machine learning models include several pitfalls that hinder the model's ability to adapt and grow. Traditional machine learning models have fixed architectures that are designed and optimized for specifictasks. This can lead to overparameterized models that are unnecessarily large and complex for a given task. The architecture itself may bias the types of hypotheses the model can represent.
[0034] Many traditional models do not have an inherent notion of the importance or contribution of individual nodes / neurons. Moreover, traditional models are usually static after training, with a fixed set of nodes and connections. Such models do not dynamically adapt their node architecture to new data or tasks. Adding or removing nodes requires stopping use of the machine learning model and full retraining.
[0035] The hypotheses represented by traditional models are constrained by their fixed architecture. For example, a 6-layer feedforward network can only represent hypotheses explainable in terms of 6-step causal chains. The architecture may not be optimal for representing the true causal factors. Furthermore, traditional models often make strong assumptions about the form of the solution, such as linearity in linear regression models. This may preclude finding more elegant, accurate, or compact hypotheses.
[0036] Examples of the Artificial Intelligence (Al) system described herein mitigate or eliminate the pitfalls described above (e.g., by including or otherwise implementing one or more examples of the Al system described herein). The Al system enables its internal node topology to evolve dynamically. The node topology can start from a simple seed model and grow in complexity as it is learning to solve a problem. This avoids overparameterization and creates compact, task-specific architectures.
[0037] Each node in the machine learning model maintains a self-efficacy score representing an extent to which its output affects the input it receives from another node. This score is used by the machine learning model to target and prune nodes of low-importance. Nodes can be added or removed dynamically, such as during run-time, as the system encounters new data. This allows continuous adaptation and optimization of the architecture without a lengthy or separate retraining process.
[0038] Because the architecture develops organically, the machine learning model imposes minimal constraints on the hypotheses representable by thesystem. Hypotheses can take any form suitable for the problem, not just those compatible with a predefined network topology.
[0039] Moreover, the machine learning model reconfigures its own node topology, such as by deleting nodes, until the machine learning model identifies an optimal internal architecture. The machine learning model does not make strong assumptions about the form of the solution, but instead can naturally find compact, accurate hypotheses whether linear, non-linear, or the like.
[0040] The evolved architecture itself provides interpretability, as the topology reflects the problem structure. Important nodes and connections have interpretability analogous to regions of the brain. The ability to continuously prune redundant, low-importance nodes ensures the system stays parsimonious. The architecture retains only key nodes needed for top performance.
[0041] In summary, the dynamic, evolving architecture, the implementation of node self-efficacy, continuous adaptation, flexible hypotheses, lack of strong solution assumptions, inherent interpretability, and ongoing parsimony help the machine learning model to mitigate or avoid the pitfalls of traditional machine learning models.NODES AND CONNECTIONS OF A MACHINE LEARNING MODEL
[0042] FIG. 1 illustrates an example of a three-node machine learning model, according to some examples. The network includes a set of nodes, shown as node 102, second node 104, and third node 106. The nodes are connected to each other by unidirectional connections, shown as first connection 108 (from node 102 to second node 104) and second connection 110 (from second node 104 to third node 106). Each connection conveys or designates outputs of a transmitting node as inputs to a receiving node.
[0043] The connections for which a given node is a transmitting node may be referred to as outgoing connections of that node; by the same token, those connections for which a node is the receiving node may be referred to as incoming connections of that node. In network, the transmitting node of first connection 108 is node 102, and the receiving node of first connection 108 issecond node 104; the transmitting node of second connection 110 is second node 104, and the receiving node of second connection 110 is third node 106.
[0044] The nodes of the network (and other networks of machine learning models described herein) may be described herein as receiving inputs, processing data, and generating outputs. Similarly, the connections of the described networks may be described as conveying, transmitting, or providing data from one node to another node. In some examples, these terms may refer to the operation of nodes and connections, which may be embodied as logical circuit components or other physical components configured to perform data processing, data communication, or both. For example, the nodes and connections of a network of a machine learning model as described herein may be implemented as circuit components of a field programmable gate array (FPGA) or another dynamically reconfigurable logical circuit.
[0045] However, in some examples, the nodes, connections, or both are implemented as data, for example, as data structures, instructions, or any suitable combination thereof, stored in a memory and manipulated by a physical processor. The machine described herein provides an example of a computing system suitable for such an implementation. For example, a node may be implemented as a data structure associated with one or more parameters (e.g., weights, as described below), and processing the inputs of a node to generate the node's outputs may be performed by the physical processor processing the parameter values of the node and the inputs of the node to generate the outputs of the node.
[0046] A connection may be implemented as data designating or identifying a relationship between a transmitting node and a receiving node, such that the outputs of the transmitting node are treated by the physical processor as inputs to the receiving node. In some examples, the nodes or connections may include instructions executed by the processor to perform these operations, whereas in other examples, the instructions are separate from the nodes and connections, and cause the processor to process the data corresponding to the nodes and connections.
[0047] Thus, in some examples, each node may include or be associated with parameter values (or priors), and these parameter values may be used to control the processing of the inputs of the node in order to generate the outputs of the node. It will be appreciated that all references herein to a node processing data, to a connection conveying data, and so on, are all intended to encompass all suitable implementations of the nodes, connections, or both, as any combination of hardware, software, or both.
[0048] The nodes of the network (and other networks of machine learning models described herein) may be described herein as receiving inputs, processing data, and generating outputs. Similarly, the connections of the described networks may be described as conveying, transmitting, or providing data from one node to another node. In some examples, these terms may refer to the operation of nodes, connections, or both, embodied as logical circuit components or other physical components configured to perform data processing, data communication, or both.
[0049] However, in some examples, the nodes, connections, or both are implemented as data, for example, as data structures, instructions, or any suitable combination thereof, stored in a memory and manipulated by a physical processor. For example, a node may be implemented as a data structure associated with one or more parameters (e.g., weights, as described below), and processing the inputs of a node to generate the node's outputs may be performed by the physical processor processing the parameter values of the node and the inputs of the node to generate the outputs of the node.
[0050] A connection may be implemented as data designating or identifying a relationship between a transmitting node and a receiving node, such that the outputs of the transmitting node are treated by the physical processor as inputs to the receiving node. In some examples, the nodes, connections, or both include instructions executed by the processor to perform these operations, whereas in other examples, the instructions are separate from the nodes and connections, and cause the processor to process the data corresponding to the nodes and connections. It will be appreciated that all references herein to a node processing data, to a connection conveying data, and so on, are all intended to encompass all suitableimplementations of the nodes, connections, or both, as any combination of hardware, software, or both.
[0051] In some examples, the nodes of the network operate to process their inputs and generate their outputs at each of a sequence of time steps. In some examples, all nodes of the network operate at each time step; in other examples, some nodes may have different rates of operation such that some nodes of the network may only process their inputs and generate (or update) their outputs at some time steps, such as every n time steps or at different intervals, where n is a positive integer.
[0052] In some cases, the network operations continuously, performing continuous-time inferences. For example, the Al system operates analog machines running the algorithms which can continuously perform inferences in a floating-point time delay tefor node e.
[0053] In some examples, a node generates its outputs at a current time step t by processing its inputs at a previous or prior time step M. The inputs may be processed by applying various parameters or weights, such as matrices of weights, to the inputs, and computing one or more output values based on the weighted inputs. In some examples, a node may generate only a single output value that is conveyed as an input to all connected nodes; in other examples, a node may generate multiple outputs to be conveyed to multiple connected nodes or as multiple output values conveyed to a single node.
[0054] In some examples, a single output generated by a node may be an activation value. An activation value may include a measure of how active the node is at the current time step based on its inputs from the previous time step. In some examples, the activation value may be continuous (such as a floating point value) - such as in an artificial neural networks such as CNNs, in which a given node (e.g., an artificial neuron in an artificial neural network) generates a floating-point output activation value as part of an activation map generated by the neural network layer inhabited by the neuron.
[0055] In other examples, the activation value of a given node may be discrete, such as a binary value (e.g., 0 or 1, corresponding to inactive or active, or “not firing” and “firing” in the context of an analogy of neuronalfiring). The discrete activation value may be determined by either a stochastic quantization process or a deterministic quantization process. In a stochastic quantization process, for example, a probability distribution over all possible discrete output values may be generated by processing the weighted inputs, and a random or pseudo-random value may be used to select a discrete output value (or set of output values) from the probability distribution. In a deterministic quantization process, a single discrete output value (or set of output values) may instead be selected from the probability distribution as the value or values having the highest probability.
[0056] In some examples, nodes may have connections to themselves, referred to as self-connections, in which they serve as both transmitting node and receiving node. In some such examples, a node may generate a single or multiple outputs for propagation to its connected nodes, and another output or set of outputs to itself, called self-outputs (or self-signals, or self-inputs), via its self-connection(s). In some cases, the node has the same number of self-connections as connections with other nodes. In some examples, a node may pass through its current inputs, or a computation performed on its current inputs, as self-outputs, thereby providing a one-time-step memory of its own inputs or processed inputs. This may enable the node to evaluate the accuracy of its own previous predictions of state transitions of the observed system.
[0057] It will be appreciated that the three-node network shown in FIG. 1 is intended as a simplified example, and that actual machine learning models may include networks having much larger number of nodes, such as thousands or millions of nodes. Thus, the network may be regarded as a small section of a larger network, in which one or more of the illustrated nodes 102, 104, or 106 may have connections to or from one or more other unseen nodes of the larger network. In one such example, in the context of CNNs, the node 102 could be regarded as a neuron of a convolution layer, the second node 104 could be regarded as a neuron of a rectified linear unit (ReLU) layer receiving an activation outputs map from the convolution layer, and third node 106 could be regarded as a neuron of a pooling layer receiving the ReLU layer output.
[0058] In some cases, the network includes one or more cycles. Cycles include a plurality of unique nodes in an ordered sequence, each node of the sequence sharing a connection with a next node in the sequence, and a final node of the sequence sharing a connection with an initial node of the sequence. In some cases, the network includes a directed graph having no directed cycles, understood as a plurality of unique nodes in an ordered sequence, each node of the sequence having a connection (in this case, a directed connection) to a next node in the sequence, and a final node of the sequence having a connection to an initial node of the sequence. The output of each node is propagated in a forward direction from node 102 to second node 104 to third node 106 without any feedback to previous nodes. In some cases, the network includes a mix of directed networks and cycles.
[0059] The network includes a third connection 112 that is added from third node 106 to first node 102 to create a cycle. In some examples, the new connection (e.g., third connection 112) is added to the network after the model has been generated and at least partially trained, during a runtime period in which the machine learning model, including the network, has been deployed to repeatedly perform the inference task for which the machine learning model has been trained. By adding a new connection and thereby forming a new cycle during runtime, the operation of the network may be reconfigured dynamically while performing an inference task, thereby potentially enhancing the performance of the machine learning model to perform its inference task or dynamically adapting the machine learning model to new conditions, e.g., new types of input data that benefit from adding cycles to the network.
[0060] In some examples, instead of adding a new connection to the network, a connection may be removed from the network. As with adding a connection, in some examples, the previous connection (e.g., third connection 112) is removed from the network after the model has been generated and at least partially trained, during the runtime period. By removing a connection and thereby removing a cycle during runtime, the operation of the network may be reconfigured dynamically while performing the inference task, thereby potentially enhancing the performance of the machine learning model or dynamically adapting the machine learningmodel to new conditions. In some examples, removing even a small subset of the connections within a highly-connected network may dramatically reduce resources used by the machine learning model, such as storage, memory, processor, and power usage.
[0061] Thus, various examples described herein may add or remove connections of a network. Such addition or removal of a connection may be referred to collectively as changing presence of the connection.NETWORK WITH NODES CONNECTED TO THE ENVIRONMENT
[0062] FIG. 2 illustrates a further example network, including first node 202, second node 204, and third node 206. In network, the connections between nodes are in bidirectional pairs: first connection 208 from first node 202 to second node 204 and first connection back 214 from second node 204 to first node 202; and second connection 210 from second node 204 to third node 206 and second connection back 216 from third node 206 to second node 204, and a third connection 212 from the third node 206 to the first node 202 and the third connection back 218 from the first node 202 to the third node 206.
[0063] The network also shows first node 202 having a bidirectional pair of connections to an environment 220: a connection from environment 222, and a connection to environment 224. In some examples, the environment 220 can represent an entity outside of the network, such that a node connected to the environment 220 (such as first node 202), also referred to as an environment-facing node, acts as an input node or an output node for the network. The connections to or from the environment 220 may act as connections to another node insofar as they convey inputs to, or receive outputs from, the environment-facing node.
[0064] In some cases, the node sends a self-message to itself. For example, node 206 sends a self-message 226 to itself and node 204 sends self-message 228 to itself. In some cases, the node can send multiple messages to itself, such as the same number of self-messages as other input messages from other nodes or environments. For example, node 204 can send two self-messages to itself for the input message from node 202 and 206, respectively.
[0065] In some examples, a network with bidirectional pairs of connections may be configured to perform inference according to the principles of active inference and the minimization of variational free energy (VFE). In some cases, inferences are performed based on Expected Free Energy (EFE), which is a measure of the free energy of the future. Active inference is a framework for modeling Bayes-optimal behavior of an agent. In some cases, an agent - such as a machine learning model, or even a node of a network driving the behavior of the machine learning model - acts to minimize the “surprise” resulting from the agent's observations. Surprise includes a measure of the degree to which an agent’s current observations differ from its preferred observations. In most active inference frameworks, agents seeking to minimize their surprise act on the observed system to solicit feedback that accords with the agent's desired observations: this activity of the agent is why the framework is referred to as “active” inference.
[0066] The active inference framework proposes that, even if an agent does not have the capability to directly minimize its surprise, it can at least seek to minimize a proxy for surprise, called variational free energy. The agent may minimize VFE by performing computation in response to, and in anticipation of, its observations. Implementation of active inference thus rely on the free energy principle, by which an agent reduces its surprise by generating inferences using an internal model and updating its internal model to align with the observed (and acted-upon) system.
[0067] In some examples, a network may be used to implement a machine learning model operating according to an active inference framework (also referred to as an active inference model). Each node of the network may be associated with parameters or weights organized into one or more tensors (e.g., scalars, vectors, or matrices), each tensor modeling a different aspect of the node's behavior.
[0068] In some examples, the active inference behavior of the nodes of the network may be modeled as a partially observable Markov decision process (POMDP), characterized by the equation:POMDP equation wherein:• “T” indicates the time step, from a first time step T=1 to a final (or current) time step T=T,• “ot” indicates the observations o of the node (e.g., its inputs) at a given time step i=t,• “st” indicates the actual state 5 of the observed system (e.g., a hidden state that may differ from the observations of the node) at time step i=t,• "K" indicates a policy for the node, e.g., a possible sequence of actions (e.g., outputs to generate in response to inputs) that the node can take, and• “(|)” indicates an expected reward, e.g., a similarity between inputs received by the node and the node's preferred inputs.
[0069] The active inference behavior of a node may be implemented using three to five sets of weights organized into four tensors.
[0070] Some examples described herein describe node alignment.However, it is appreciated that such features apply to synchronization, predictability, or coherence, and vice versa. For example, if an example describing node alignment between two nodes triggering restructuring of node topology, node synchronization, predictability, or coherence between the two nodes can also trigger restructuring of node topology.Generation of outputs
[0071] VFE is a computation based on a generative model (e.g., a set of priors learned by a node or other agent) and observations (e.g., inputs to a node or other agent). VFE provides an upper bound on statistical surprise. There are various mechanisms to minimize VFE, including updating the generative model to more closely align with observations, or performing a computation of expected free energy (EFE) across possible actions andselecting one of the actions which leads to the lowest expected free energy. Operations involving the computation or minimization of EFE, as referred to herein, may be referred to as a computation or minimization of VFE.
[0072] To minimize EFE, a node may compute an expected distribution of free energy over multiple output states and select an output state that minimizes the expected free energy. The calculation of expected free energy may in some cases be affected by the node’s preferences (e.g., as represented by the C tensor), such that rows of the B tensor corresponding to preferred observations of the node are expected to result in lower free energy than non-preferred rows of the B tensor. Thus, the node will calculate EFE distributed over all possible output states, then select an output that is at or near the minimum value of the EFE distribution. When operating in a deterministic mode, the node may select the output value that directly minimizes EFE. When operating in a stochastic mode, the node may weight various output values based on their corresponding EFE, or their proximity to the minimum value of the EFE distribution, and stochastically select an output value from the weighted distribution of output values.
[0073] Thus, the node’s preferences (e.g., the values of the parameters in the C tensor) may affect the degree to which the node operates to minimize VFE, EFE, or a combination of both VFE and EFE. A node with uniform zero parameter values in the C tensor will have a close relationship between VFE and EFE, whereas a node with non-uniform parameter values in C will tend to exhibit EFE behavior that diverges from that predicted solely from VFE.Learning - Adjustment of B tensor priors
[0074] The prior values of the B tensor may be adjusted over a sequence of time steps to align the node with another node or a data source, such as the environment external to the network. After the node makes observations (e.g., inputs are accessed or received by the node) at a given time step, the priors of the node’s B tensor may be adjusted based on the currently observed input state, based on the observed input state at the previous time step, and based on the output generated by the node at the previous time step. As described above, a columnar slice of the B tensor is selected basedon the node’s inputs observed and its output generated at the last time step, and a column of priors of one of the B subtensors intersected by the columnar slice is selected based on the comparison of the priors of the various individual columns in the columnar slice. The priors of this selected column may then be adjusted in accordance with the currently observed input state, such that a higher prior is assigned to the prior in the row corresponding to the currently observed input state, and all other priors in the row are decreased accordingly.
[0075] In some examples, the degree to which the priors of the column are adjusted is in proportion to the number of observations of each input state over time: thus, for example, if the input state of row 3 has been observed at 32% of time steps, it will be assigned a prior value of 0.32. In other examples, different degrees of adjustment may be used, such as a degree of adjustment proportional to a learning rate that may vary under different conditions.
[0076] In some cases, the node’s preferences may affect the degree to which the priors of the column are adjusted. When a preferred row is observed, in addition to increasing the prior in the observed row and decreasing the other rows accordingly, all of the priors of the column may be adjusted to sharpen the distribution of prior values, such that high prior values are raised and low prior values are lowered, rendering the priors of the column less uniform. In contrast, when a non-preferred row is observed, in addition to increasing the prior in the observed row and decreasing the other rows accordingly, all of the priors of the column may be adjusted to partially flatten the distribution of prior values, such that high prior values are lowered and low prior values are raised, rendering the priors of the column more uniform. The partial flattening of the prior values may result in an increase in the effective learning rate for priors in the column in future time steps, because it is easier for a new observation to stand out relative to other observations when all older observations are relatively uniform. This increase in the effective learning rate after observing a non-preferred row may increase the likelihood or speed with which the node will reconfigure the priors of the column, thereby potentially finding a more optimal set of priors that may assist in avoiding the non-preferred row in the future. By thesame token, a slowed effective learning rate after observing a preferred row may reduce the likelihood or speed with which the node will reconfigure the priors of the column, thereby potentially locking the node more tightly into its current configuration.Stochastic mode vs. deterministic mode switching
[0077] In some cases, the node may switch between the stochastic mode and the deterministic mode based on the value of a stress parameter of the node that tracks the degree or frequency to which the node has predicted incorrectly over past time steps. The stress parameter may be adjusted downward on time steps when the node’s output predicts its target, and adjusted upward on time steps when the node’s output fails to predict its target. When the stress parameter value rises above a stress threshold, the node switches from the deterministic mode to the stochastic mode, and when the stress parameter value falls below the stress threshold, the node switches back from the stochastic mode to the deterministic mode. In some cases, two different stress thresholds may be used, such that a falling stress threshold for switching back to the deterministic mode is lower than a rising stress threshold for switching to the stochastic mode.
[0078] In some examples, the stress threshold (and / or the falling and rising stress thresholds) may be a further parameter stored by the node. In some examples, each stress threshold may be a learned parameter that is adjusted during the learning or alignment process to assist in minimizing VFE or EFE, as described herein with reference to adjustment of the priors of the B tensor.HYPOTHETICAL TESTING BY NODE TOPOLOGY RESTRUCTING OF A MACHINE LEARNING MODEL
[0079] FIG. 3 illustrates an example method 300 for hypothetical testing by node topology restructuring of a machine learning model, according to some examples. Although the example method 300 depicts a particular sequence of operations, the sequence may be altered without departing from the scope of the present disclosure. For example, some of the operations depicted may be performed in parallel or in a different sequence that does not materially affect the function of the method 300. In other examples, differentcomponents of an example device or system that implements the method 300 may perform functions at substantially the same time or in a specific sequence.
[0080] FIG. 3 and other examples described herein are described as being performed by certain systems or applying certain processes, such as a particular machine learning model, but the processes described herein can be performed by one or more machine learning models or the Al system, and vice versa.
[0081] At block 302, the Al system accesses a machine learning model. In some cases, the machine learning model includes a node topology having a plurality of nodes and a plurality of connections. Each connection is associated with a transmitting node and a receiving node and is configured to designate an output of the transmitting node as an input to the receiving node.
[0082] For example, the machine learning model includes at least a first group of nodes configured to perform a corresponding first function of the machine learning model and a second group of nodes configured to perform a corresponding second function of the machine learning model.
[0083] FIG. 4 illustrates a machine learning architecture configured to dynamically modify its structure for hypothesis testing, according to some examples. The machine learning architecture includes a number of interconnected nodes that process data to make inferences or predictions. Specifically, the machine learning architecture can include multiple groups of nodes, such as a first group of nodes 410, a second group of nodes 422, and a third group of nodes 436.
[0084] In some cases, the network begins or prunes to include only a single node. The machine learning model expands to create other nodes and clusters of nodes, such as group 410. The network can add or delete nodes and layers based on certain characteristics, as further described herein. In some cases the network adds or deletes nodes, or performs other node topology restructuring of the machine learning model during inference, such as while input data is being processed by the model (as further described herein).
[0085] Initially, the external data source 402 provides input data to the first node 404 of the machine learning architecture. The external data source 402 can be any component, database, system, server, computing system, or the like, capable of providing or receiving data to the machine learning architecture. For example, the external data source 402 may be a sensor that detects real-world information, a database that stores data for processing, a transmission module that receives data from a remote system, or any other component that can supply data to the architecture.
[0086] Moreover in some cases, the machine learning model is part of or connected to another machine. As such, the output of the machine learning model changes the operation of the other machine. For example, the machine is connected to the external data source 402, whereby characteristics of the machine are transmitted to the external data source 402 and responses from the machine learning model are passed back to the external data source 402. The responses can affect the operations of the connected machine.
[0087] The improved dynamic architecture of the machine learning model described herein dynamically restructures its internal architecture during runtime based on certain characteristics, such as certain characteristics of the network, environmental influences, system performance requirements and limitations, or changes thereof over time. In some cases, the machine learning model can test the restructured architecture using the same or different characteristics. As such, the machine learning model dynamically modifies its internal architecture to adapt to the needs and requirements of the machine learning model or the environment.
[0088] For example, the external data source is connected to a physical real-world machine (such as a robot) that sends sensory inputs into the machine learning model and adapts its movements and actions based on output of the machine learning model. Machine learning models can be connected to self-driving cars, enabling the machine learning model to interpret sensor data, make real-time decisions, and send responses to selfdriving cars on changing road conditions.
[0089] In some cases, the machine learning models can be connected to a wide range of Internet of Things (loT) devices, including cameras, thermometers, and seismographs enabling smart and adaptive automation in smart homes, cities, and industries.
[0090] In some cases, machine learning models can be connected to recommendation engines, providing personalized suggestions for products, content, or services. Machine learning models can be connected to computer vision applications, enabling object detection, facial recognition, and image understanding. Machine learning models can be connected to and providing instructions to gaming environments, providing adaptive gameplay, opponent Al, and personalized experiences.
[0091] The machine learning models described herein can interact with other systems and machines, and the model adapts to its new or changing environment dynamically by restructuring its internal architecture during runtime. The model can adapt its structure to better suit new data or tasks by adding / pruning nodes and layers.
[0092] In some cases, the model reduces its size and computational requirements by pruning redundant or unnecessary nodes and connections. This allows the model to run faster and on lower power budgets. The model can grow certain areas such as adding nodes to a layer to specialize on a complex task while shrinking other areas. This lets the model focus computation where more attention needed.
[0093] In some cases, the model can route around failed nodes or layers by restructuring the internal architecture. This makes the system more robust and stable in the face of hardware and network faults or noise. In some cases, the model can rapidly adapt to new tasks by transferring and reusing previously learned features and nodes.
[0094] In some cases, the model dynamically grows areas and prunes others reflecting the demands of the current task. The model can compress unimportant nodes and connections to reduce storage footprint and memory requirements. The model can be personalized for different users by learning unique sub-structures that specialize to each user.
[0095] When the architecture is initialized, a first node 404 serves as the entry point for data from the external source 402. The external data source 402 is configured, connected, or programmed to transmit, stream, or otherwise feed data into the first node 404.
[0096] In some cases, more than one node is connected to the same external data source, such as data source 402. In some cases, a node can be connected to more than one external data source. In some cases, the machine learning model has multiple external data sources connected to one or more nodes.
[0097] In the example of FIG. 4, node 404 is the starting node that performs initial processing on the input data received from the external data source 402. The external data source 402 provides input data to node 404. Node 404 processes the input data and generates an output. The output of node 404 is transmitted to connected nodes 406 and 408.
[0098] Nodes 404, 406, and 408 are interconnected through connections that allow the output of one node to be passed as input to another node. Together these nodes 404, 406, and 408 comprise the first group of nodes 410. The first group of nodes 410 can be determined based on one or more characteristics, as defined further herein.
[0099] In some cases, the nodes are connected unidirectionally where one node transmits output to another node. In some cases, the nodes are connected bidirectionally where each node's output is transmitted to the other node as inputs. In some cases, nodes are initially connected one way and later become connected a different way.
[0100] Node 406 processes the input data and transmits its output to nodes 404 and 408. Node 408 processes its input data and transmits the output data to nodes 404, 406, and 412, where node 412 is part of a different cluster of nodes.
[0101] Node 412 is one node in a second group of nodes 422 (such as a second group of nodes that performs a second function). Node 412 processes the output data received from node 408 and generates its own output. The output of node 412 is transmitted to other nodes within the second group of nodes 422 - specifically nodes 414, 416, 418, and 420. Nodes 414, 416, 418,420 process the output data they receive from node 412 and in turn transmit their respective outputs to other interconnected nodes of the group 422. Node 420 also transmits its output to node 424.
[0102] In some examples, the machine learning model does not define a node to be a part of a group, such as node 424. Node 424 receives the output data from node 420 and generates its own output data which is transmitted to the first node 426 of a third group of nodes 436. The third group of nodes 436 can perform a third function collectively.
[0103] Group 436 processes the output received from node 424 and transmits the corresponding output to other interconnected nodes within the group 436. This process continues, with nodes of a group passing data between themselves and to nodes external to the group of nodes. As data is passed through the machine learning model, the initial node 404 can send a response back to the external data source 402.
[0104] In some examples, the machine learning model identifies a group of nodes based on the nodes performing a common function. For example, a group of nodes can be aligned or differentiated to perform a particular function, as further described herein.
[0105] In some examples, the machine learning model identifies a group of nodes based on an architecture of the network of nodes. For example, the machine learning model identifies a group of nodes based on how the nodes are connected. In some cases, the machine learning model identifies a group of nodes based on a cycle by determining an ordered sequence of nodes where a final node transmits the output data to another node in the sequence or determining that nodes are or are not a directed graph.
[0106] In some cases, the machine learning model identifies a group of nodes based on how certain nodes are connected with other nodes. For example, the machine learning model can identify a portion of a group of nodes when an initial node is connected to at least three other nodes (first connected nodes). The machine learning model identifies the group of nodes to include at least the initial node and the first connected nodes.
[0107] The machine learning model identifies the nodes that the first connected nodes are further connected to (the second connected nodes) anddetermines whether to include the second connected nodes with the group of nodes. For example, the machine learning model identifies which nodes the second connected nodes are connected to (the third connected nodes) and determines whether to add the second connected node based on its own connected nodes (the third connected nodes).
[0108] In the example of FIG. 4, the machine learning model identifies that the initial node 404 is connected with nodes 406 and 408 (the second connected nodes) and the external data source 402. Thus, the machine learning model identifies nodes 404, 406, and 408 as a first group of nodes 410. The machine learning model identifies that the second connected nodes are connected to each other as well as node 412 (third connected node).However, the machine learning model identifies that such a node (nor any of its further connections) is reconnected back to the nodes identified in the first group of nodes. Thus, the machine learning model completes the definition of the first group of nodes as nodes 404, 406, and 408.
[0109] In some examples, the machine learning model identifies a group of nodes at least based on the historical information related to the node. For example, the node can be created symmetrically or asymmetrically from a parent node. In some cases, a node is symmetrically created from another node by inheriting at least a subset or at least two or all of the connections the parent node has with other nodes. In some cases, a node is symmetrically created from another node by inheriting the node's type, weighting, or the like.
[0110] In some cases, a node is asymmetrically created from another node by only being connected with the parent node initially or including a connection with a node that the parent node is not connected with. In some cases, a node is asymmetrically created from another node by having a different node parameter from the parent node, such as node type, weighting, or the like.[OHl] The machine learning model can identify a start or end of a group based on whether a node was symmetrically or asymmetrically created. For example, a node that is symmetrically created can be added to the group of nodes that is associated with the parent node or start a new group of nodeswith the parent node. A node that is asymmetrically created can be determined to not be included in the group of nodes of the parent and initiate the start of a group. In some cases, a child node is born either symmetrically or asymmetrically and becomes associated with a parent’s group of nodes. In some cases, a network or group can be split into sub-groups by clustering cells based on similar self-efficacy, similar VFE, correlated outputs, or the like.
[0112] In some cases, the machine learning model identifies a group of nodes based on depth that indicates a position of the node within the model. The position can be relative to a reference point, such as an external data source, such as external data source 402. For example, node 404 is in one depth value, nodes 406 and 408 are of two depth value. As such, nodes 404, 406, and 408 are grouped as one cluster of nodes.
[0113] In some cases, the machine learning model identifies a group of nodes based on an indication of self-efficacy between nodes, wherein an indication of self-efficacy is indicative of a measurement of, an extent to which, or a degree to which one node’s output affects the input it receives from another node. The machine learning model identifies the group of nodes based on a self-efficacy indicator of a node meeting a certain threshold or certain nodes having a higher self-efficacy indicator among each other in the group than other connected nodes. In some cases, the self- efficacy indicator is a measurement metric or identified value (as further described herein).
[0114] In some cases, the machine learning model identifies a group of nodes based on the layer that the node is in. In multi-layer neural networks and other layered machine learning models, the layers provide a natural way to group nodes. Nodes within the same layer have similar roles and connectivity patterns. For example, in a feedforward neural network, the input layer nodes may process and normalize the raw input data. The hidden layer nodes identify features and patterns in the data. The output layer nodes make predictions and inferences.
[0115] The Al system configures the machine learning model by dynamically restructuring its internal architecture during inference. Themachine learning model can be configured to, in response to receiving input data, (1) restructure an internal architecture of the machine learning model, and (2) generate an inference output based on the restructured internal architecture. The machine learning model can restructure an internal architecture of the machine learning model by adding or removing nodes in a group of nodes, connecting or disconnecting groups of nodes, merging or interchanging nodes, or the like as further described herein.
[0116] At block 304, the Al system reconfigures the node topology of the machine learning model by removing a first node from the machine learning model. As shown in FIG. 4, node 416 is selected to be removed from the machine learning model. The machine learning model can select a node, a group of nodes, a subset of the node topology, a connection, a parameter, or the like based on one or more characteristics for reconfiguring (as further described herein).
[0117] FIG. 5 illustrates the removal of node 416 and the selection of node 414 in the machine learning model, according to some examples. The connections for node 416 are also removed. In some cases, the nodes can be selected randomly. In other cases, the nodes can be selected from within a particular group of nodes, such as selecting between nodes within group 422. In other cases, the node can be selected based on historical rearchitecting, such as the nodes closer to the last change (e.g., the last added or deleted node).
[0118] In some cases, the machine learning model selects which node to delete based on one or more characteristics as further described herein. For example, the machine learning model selects node 416 because node 416 has the lowest self-efficacy metric among the nodes in group 422.
[0119] At block 306, the Al system applies input data to the reconfigured node topology without the first node to generate a first metric for the machine learning model. The Al system can receive input data, such as from the external data source 402 and process the data through the Al system.The Al system can generate a metric, such as a performance characteristic, for the machine learning model.
[0120] At block 308, the Al system determines that the first metric meets a performance threshold for the machine learning model. The machine learning model that identifies a characteristic or a value for a characteristic (referred to herein as characteristic but it is appreciated that the features described herein also refer to values of a characteristic, such as these values meeting a certain performance threshold) for node 416 or for the first group of nodes 422 (referred to herein as node (both of which are bolded in FIG. 4) but it is appreciated that the features described herein also refer to a group of nodes, such as a characteristic of the group of nodes).
[0121] In some cases, the machine learning model identifies the characteristic for a particular node. In some cases, the machine learning model identifies the characteristic for a subset or all of the nodes in a group of nodes. In some cases, the machine learning model identifies the characteristic for each node in the machine learning model or for an individual node. In some cases, the machine learning model identifies a characteristic at a particular point in time or a difference or change in the characteristic across multiple time steps.
[0122] In some cases, the machine learning model determines a characteristic for a plurality of nodes (e.g., in a group or in the entire model) and determines an overall characteristic, such as based on a sum, an average, or other derived metric. In some cases, the characteristic is of a specific node. In some cases, the characteristic is a relative metric of a node or group of nodes compared to another node or group of nodes.
[0123] In some cases, the machine learning model identifies that a second node is connected with the first node via a connection. The machine learning model determines a characteristic of the first node that includes an indication of self-efficacy indicative of a measure of the first node’s output to affect the second node’s output.
[0124] This characteristic involves analyzing the self-efficacy between two connected nodes. Self-efficacy refers to how much a node believes its own outputs affect the outputs of another connected node and indicates how influential the node perceives itself to be to its neighbor. The self-efficacy metric of a first node measures the outputs of the connected nodes to the firstnode. This self-efficacy measure can be determined by the machine learning model based on the first node's generative model, such as the B tensor which captures its beliefs about state transitions (further described herein).
[0125] If the first node has high self-efficacy towards the second node, the first node believes its outputs significantly influence the second node. Low self-efficacy corresponds to the first node believing it has little influence on the second node. This characteristic could trigger adding or removing of nodes. For example, the machine learning model can add new nodes between the first and second nodes if their self-efficacy is low, since new nodes may improve information flow. In some cases, the machine learning model triggers removing nodes if self-efficacy is very high or if the nodes are redundant.
[0126] In some cases, the self-efficacy is a measure of the first node’s output at a previous time step T-1 to affect the second node’s output at a current time step T. Self-efficacy captures how much the first node thinks its output from the previous time step will influence the output of the second node on the current time step (or an input of the first node from the second node at the current time step). The self-efficacy indicator can include metrics of the causal relationship over time between the two nodes' outputs.
[0127] In some cases, the first node’s output at the previous time step T-1 is transmitted back to the first node as an input at the current time step T. The output the first node at time T-1 can also be looped back to become input to the first node at time T. This allows the first node to compare what it actually observes at time T to what it predicted at time T-1 it would observe, based on the output it sent.
[0128] Although examples described herein refer to applying VFE, it is appreciated that the features described herein apply also to EFE, and vice versa. For simplicity of the disclosure, some examples are described as applying VFE or EFE.
[0129] In some cases, the machine learning model determines an indication of self-efficacy for two nodes that are connected with each other. Such self-efficacy determination can be performed for all or at least a subset of the nodes that are interconnected in a pairwise manner (2 connected nodes).
[0130] In some cases, the machine learning model identifies a characteristic that includes an indication of self-efficacy for the first node with all other connected nodes. The machine learning model, in addition to measuring the self-efficacy between the first node and second node, further measures the self-efficacy between the first node and all of its other connected nodes. This provides a more holistic view of the first node's perceived influence over its local neighborhood.
[0131] In some cases, the characteristic is related to connections, and the value includes a number of connected nodes with a node. For example, multiple nodes are connected with the first node via connections. In some cases, the value includes a count of the total number of nodes that the first node is connected to directly. This provides information on how densely the first node is connected within the network. The Al system can prune nodes to reduce computational load on certain nodes with high density.
[0132] In some cases, the characteristic includes a total number of nodes in a certain group of nodes or the entire network. For example, the machine learning model can decide to prune a group of nodes once the group of nodes exceeds a certain threshold number of nodes.
[0133] In some examples, the characteristic includes a relative number of nodes in a group of nodes compared to other groups in the network. For example, the characteristic includes a group of nodes that has the largest number of nodes or the value includes a number of nodes greater than other groups of nodes (e.g., how many more nodes does the biggest group have as compared with the second biggest group).
[0134] In some cases, the value includes a count of how many computational operations the first node performs during a single inference pass through the network. This provides information on the node's computational load. The machine learning model can decide to split a node in a group of nodes or add a new node or delete one or more nodes to distribute computational load.
[0135] In some cases, the characteristic comprises a latency metric. The latency metric can include a time delay from receiving input node data and generating output node data for a particular node. Longer latency could indicate the node needs more computational resources and the machine learning model can decide to restructure the architecture accordingly.
[0136] In some cases, the characteristic includes a characteristic of the first and second node. Here the decision to restructure the architecture depends on a characteristic and value measured on a second node in addition to the first node. In some cases, the second node is part of the same group as the first node. In other cases, the first and second node are not part of the same group.
[0137] In some cases, the characteristic includes a historical metric of a node. The characteristic can include how many inferences a node has processed, how differentiated or aligned the node has been, how long the node has been differentiated or aligned with its neighbors, or the like. Older nodes that have become too specialized (differentiated) over time may need to become more de-differentiated to improve adaptability. This could involve adding new less-differentiated nodes or removing older differentiated nodes.
[0138] In some cases, the characteristic includes a determination on how well the network performs on new input data, such as with new or different scenarios. For example, the system determines that a node or group of nodes perform well under certain conditions but not in other conditions (such as other environments). The machine learning model can expand the group size by adding nodes to provide greater adaptability to handle new data or environments the system hasn't seen before.
[0139] In some cases, the characteristic is how overfit the node or group of nodes are. If the group of nodes is overfit to past data, changing the number of nodes can help reduce overfitting. Overfitting occurs when a machine learning model performs very well on the data it was trained on, but fails to generalize well to new, unseen data. This often happens because the model ends up modeling noise and random fluctuations in the training or historical data, rather than just learning the true underlying patterns, or when there are too many or too few parameters in the model relative to the amount oftraining or historical data. Having different numbers of nodes and connections gives the network enough flexibility to memorize properties of the training or historical data that won't generalize.
[0140] The machine learning model can delete nodes to combat overfitting because it reduces the number of parameters in the model. Fewer nodes means fewer weights and connections, which also means there is less space available for the network to pick up on spurious patterns and noise in the training data. With fewer parameters, the network is forced to learn more robust representations of the training data in order to still fit it well. The smaller network can generalize better because it can’t rely on memorization as easily. In some cases, a network can be too small and in response, the machine learning model can add notes in response to sub-optimal fitting.
[0141] In some cases, the characteristic includes a number or pattern of connections to the node being analyzed. For example, if a node has a very high number of connections to other nodes, the machine learning model can delete some connections to reduce computational burden or delete the node itself or a neighboring node.
[0142] In some cases, the characteristic includes a sensitivity or robustness to noise. If performance degrades significantly due to noise, adding more nodes could improve robustness. Machine learning models can sometimes suffer degraded performance when their inputs contain noise or variability. For example, an image classifier can perform worse or better if the input images are grainy or blurred. In some cases, the machine learning model measures this noise sensitivity for a node or group of nodes by comparing its performance on clean data vs increasingly noisy data. The more the performance drops off, the less noise robust that group of nodes is.
[0143] In some cases, for an individual node, the machine learning model adds random noise to its inputs and assesses how much the nose perturbs the node's output. Nodes that are highly sensitive will show large changes in output. Noise robustness is important for real-world deployment of machine learning models, such as for self-driving cars that need to handle rain, blurry footage, etc.
[0144] In some cases, the characteristic includes an indication of similarity in outputs of two nodes, such as two nodes consistently producing similar outputs. In a machine learning model, sometimes two nodes in the same group of nodes will consistently produce very similar outputs across many different inputs. This output similarity can be measured by looking at the correlation, covariance, or other statistical relationships between the two nodes' output vectors over a set of data or over a certain period of time.
[0145] If two nodes have a very high degree of output similarity, such as a correlation coefficient over 0.95, this could indicate redundancy between the nodes. In such a case, one of the redundant nodes in the group of nodes could potentially be removed to increase efficiency and reduce computational requirements, without significantly impacting model performance. The remaining node would preserve most of the information from both original nodes. In other cases, the machine learning model connects the two nodes with a degree of output similarity, further enhancing self-efficacy and differentiation in the network. In other cases, the machine learning model combines or averages the prior parameters of the two nodes and combines them into a single node.
[0146] In some cases, the characteristic includes a system platform metric, such as a memory constraint, energy usage, available computing resource, or the like. Machine learning models can consume substantial computing resources. The demands on memory, energy, and compute can become constraints. Moreover if the machine learning model is being deployed on embedded or mobile devices, there may be strict limits on memory and power consumption. Even high-end GPUs have finite memory and energy capacities.
[0147] During runtime, the utilization of these resources by each group of nodes could be monitored, for example: a parameter size of weights / activations for a group of nodes to determine memory usage, a number of operations performed by a group of nodes to determine energy usage, the time required to complete an iteration or computation by a particular group of nodes to determine compute time, or the like.
[0148] If a certain group of nodes is consuming disproportionate amounts of resources relative to other group of nodes, this imbalance could negatively impact overall system performance. In this case, the machine learning model can reduce the size of the high-consumption group of nodes by deleting nodes to even out resource utilization across the network.
[0149] In some cases, the characteristic includes a data volume metric, such as a surge of data into a node, a group of nodes, from the environment, or the like. In real-world deployments, the volume of data being fed into a machine learning model can fluctuate over time. For example, a spike in users could cause a surge in data flowing into a machine learning model.
[0150] If the model architecture was static, this data surge could overwhelm parts of the network. Certain groups of nodes might become under-provisioned if they suddenly have to process 2x or 3x more data points per batch. However, with the dynamic architecture described herein, the machine learning model can detect when input data volume increases beyond normal levels based on metrics such as batch size, samples per second, or total records processed in a timeframe.
[0151] These metrics (such as data surge and other metrics and characteristics described herein) meeting certain thresholds can trigger architectural changes. For example, when a data volume surge is detected, the machine learning model increases a number of nodes in a group of nodes to handle the extra workload, providing the network with more parallel processing power.
[0152] This dynamic scaling allows the network to automatically adapt its computational resources to match the current demands. The model remains stable and performant even as upstream data volume fluctuates. Once the surge passes, the extra nodes can potentially be pruned away.
[0153] In some cases, the characteristic is an indication of “anxiety” or “stress” of a node. In active inference models, "anxiety" arises when a node is uncertain which of its potential actions will lead to the best outcome. This uncertainty stems from the node's generative model not accurately reflecting the environment. "Stress" can occur when the agent didn't get what it wanted - there is a mismatch between expectations and observations. Insome cases, even with low uncertainty, not obtaining expected outcomes is stressful.
[0154] A machine learning model estimates a node's uncertainty based on how confident it is in predicting what inputs it will receive after taking various actions. In some cases, a new node has maximum uncertainty, with a uniform probability distribution over all possible transitions between states.
[0155] As the node learns through experience and inferences, the node updates its generative model to better match the environment. This increases confidence in state transition predictions, reducing uncertainty. However, even a confident node can experience stress if its expectations don't align with actual observations. For example, if the node expects input "1" but keeps observing "0".
[0156] The machine learning model can add more nodes in response to stress or uncertainty meeting a certain threshold. The new nodes provide extra modeling power to reduce uncertainty and align expectations with observations.
[0157] In some cases, the characteristic includes a new environment connection or node. In other cases, the characteristic includes disconnecting an existing environmental node from the model, a group of nodes, or a node.
[0158] In the machine learning model, at least one node directly interfaces with the external environment to receive data. If the environment changes by introducing new data sources, such as adding a new sensor to a robot, this may require adding new input nodes to handle the extra data dimensions.For example, if a self-driving car previously had camera and Lidar data, adding radar data would require new radar input nodes to process the new signal.
[0159] Conversely, if an environmental signal becomes unavailable, like a sensor failing, the associated input nodes could be disconnected or removed entirely. For example, if the camera fails in the self-driving car, the machine learning model can restructure the network to remove the now-useless camera nodes.
[0160] These environmental changes directly alter the input data distribution being fed to the network. The machine learning model adapts tomaintain modeling power and make efficient use of inputs. Further, environmental changes propagate to other nodes as well. Adding new data types may require new processing in other groups of nodes to fully utilize the new input. Moreover, removing input nodes could allow pruning redundant group of nodes that were only processing those inputs.
[0161] In some cases, the environmental input changes characteristics, which may trigger the machine learning model to dedifferentiate to relearn the new environment. In a machine learning model, the input node receives data from the external environment. This environmental input provides the raw signals that drive the model's inferences and predictions.
[0162] Over time, the model learns correlations and patterns in the input data distribution. Groups of nodes will differentiate to detect specific features and dynamics in the inputs.
[0163] However, if the environment changes significantly, the input data characteristics may shift outside the distribution that the model originally learned on. For example, a weather prediction model may be trained on years of historical data, but new climate change effects may introduce novel weather patterns that the model has not seen before. In this situation, the model's internal representations in the groups of nodes may no longer match the new environmental inputs. The model would become less capable of accurate inference.
[0164] To adapt, the machine learning model could trigger dedifferentiation, meaning the group of nodes shed some of their specialized representations and return to a more generic, stem-like state. This reopens the ability for those groups of nodes to relearn based on the new environmental inputs. With dedifferentiated nodes, the model can recorrelate and identify new salient features in the shifted input data distribution.
[0165] In some cases, the characteristic includes a metric of how well a group of nodes is performing relative to other group of nodes. In an example machine learning model, each group of node transforms and passes along data to another node or another group of nodes. Ideally, the representations passed between adjacent groups of nodes are properly synchronized.However, one group of nodes' outputs could become mismatched with the following group of nodes' expectations. For example, if the distribution of data passing from group A to group B shifts significantly, group B's nodes may need architectural changes to re-synchronize or be able to predict the new inputs.
[0166] The machine learning model assesses metrics such as activation statistics, weight norms, and entropy to quantify alignment between groups of nodes. Cross-group divergence in these metrics may indicate a lack of synchronization, predictive ability, or coherence.
[0167] In response, the machine learning model can add or prune nodes in misaligned group of nodes to rebalance representations across group of nodes. For example, group A could reduce dimensionality while group B increases nodes to reconstruct richer representations. This co-adaptation of groups of nodes based on their relative performance allows the network architecture to dynamically tune itself as internal representations shift during runtime.
[0168] In some cases, the machine learning model triggers architectural changes on a fixed schedule. For example, groups of nodes are pruned or regrown periodically at every time period. Regular pruning forces redundancy, low self-efficacy, stress, or the like out of the network and rebuilding allows new representations to form. This constant architectural churn can improve generalization.
[0169] In some cases, the machine learning model triggers architectural changes on a changing schedule, such as starting with slow large changes and progressing to faster small changes.
[0170] In some cases, the function performed by a group of nodes is tied directly to the characteristic used to determine if the architecture should be restructured. For example, the first group of nodes performs a first function of the machine learning model and a value is identified for a characteristic of the nodes in the first group. This characteristic corresponds to the first function that the first group performs. If the value meets a threshold, the number of nodes in the first group is changed. When the function andcharacteristic are associated, the value being evaluated is a property of how well the nodes are performing their intended function.
[0171] For example, in a speech recognition model, the input audio processing group of nodes are restructured based on changing properties of the input audio data, such as background noise or accents. In another example, in a medical image diagnosis model, the group of nodes performing lesion detection are modified based on metrics about lesion identification accuracy. In yet another example, in a weather forecasting model, the atmospheric data preprocessing group of nodes are altered based on the distribution of temperatures and precipitation. The function of the group of nodes ties directly to the relevant characteristic.
[0172] In some cases, the characteristic is not directly related or not at all related to the group of nodes' function. For example, characteristics such as measuring overall latency of the model, checking available memory or computational resources, considering new data sources or environmental inputs, enforcing diversity via random pruning / regrowth, or the like are not directly related to a collective function that the group of nodes perform.
[0173] Additional examples where the characteristic is not related to the group of nodes' functionality are in (1) an autonomous vehicle model where the group of nodes are pruned and regrown on a fixed schedule to enforce diversity, independent of any group's functional performance, (2) in a product recommendation model where a group of nodes are expanded to utilize additional available GPU memory for capacity not based on recommendation performance, (3) in a malware detection model where group of nodes analyzing raw byte input are restructured due to new types of malware data, unrelated to the group of nodes' intended feature extraction role, or (4) when the Al system is pruning the network due to network latency increases or hardware failures.
[0174] Nodes or groups of nodes can perform certain functions for the machine learning model. For example, a group of nodes can perform input representation encoding raw data into a suitable format, feature extraction transforming input data to higher level features, classification or regressionproducing predictions based on learned features, local feature extraction, pooling, down or up sampling, object localization, or the like.
[0175] As noted above, the Al system can identify one or more characteristics of a node, a group of nodes, a subset of nodes, or the entire network to determine which node or groups of nodes to reconfigure.
[0176] At block 310, the Al system reconfigures the node topology of the machine learning model by removing a second node from the machine learning model. FIG. 6 illustrates node 414 removed, according to some examples.
[0177] In some cases, the Al system adds nodes, splits groups of nodes, reroutes connections, etc. (as further described herein). FIG. 9 - FIG. 18 illustrate examples of how the Al system or the machine learning model reconfigures the node topology of the machine learning model.
[0178] At block 312, the Al system applies the input data to the reconfigured node topology without the second node to generate a second metric for the machine learning model. In some cases, the restructuring of the model and generating an inference output occurs entirely on the fly during runtime inference. The model is simultaneously adapting its architecture while also performing its inference task. In the cases, the restructuring of the model occurs at specific times, such as a particular designated times or time intervals.
[0179] If the data characteristics change, nodes can de-differentiate and shed assumptions that no longer match the new data. Old useless structure atrophies while new useful structure emerges. Each node is constantly validating its assumptions based on the data flowing through it. Mistakes or outdated assumptions are pruned away in real-time.
[0180] This creates an inherent stability and similarity between the model structure and its data, without needing offline fixed training on historic datasets. The model is perpetually learning and self-organizing to mirror the data.
[0181] At block 314, the Al system determines that the second metric fails to meet the performance threshold for the machine learning model. The Al system can apply one or more characteristics as described herein to not onlyselect which node or groups of nodes to reconfigure, the Al system can also identify one or more characteristics to test whether the reconfiguration has improved or degraded performance. At block 314, the Al system determines that the removal of node 414 has degraded performance.
[0182] At block 316, the Al system reconfigures the node topology of the machine learning model by re-adding the second node to the machine learning model. FIG. 7 illustrates the re-addition of node 414 and the selection of the next node 412, according to some examples. Node 414 is readded to the system to return back to the node topology of the machine learning model that met the performance threshold. The Al system selects node 412 as the next node for reconfiguration based on the one or more characteristics as described herein.
[0183] In some cases, the characteristics for node selection for reconfiguration are the same characteristics for assessing the performance threshold. In other cases, the characteristics for node selection for reconfiguration are different than the characteristics for assessing the performance threshold.
[0184] The Al system uses a combined order of specific procedures that dynamically alters the structure of the machine learning model in real time or during inference to make a hypothesis testing scenario. In response to certain characteristics, the Al system performs restructuring of the architecture of the machine learning model and performs an inference on the restructured architecture. If the restructured architecture meets a performance threshold, the Al system continues again to restructure the architecture. For example, the machine learning model is a 22 node machine learning model and the model decides to continuously remove nodes and test performance. The model prunes down to a 4 node machine learning model that still meets the performance threshold required. When the model prunes the node topology to 3 nodes, the performance significantly drops. Then, the model reverts back to the 4 node machine learning model. The model can then continue to try other nodes. When all nodes have been tested, the model finalizes as an optimized or improved model that reducescomputation, size, connections, number of nodes, etc. that still meet the performance requisite.
[0185] In some cases, the model takes the finalized model and freezes the model's node topology and node parameters to perform inferences. In other cases, the model takes the finalized model and enables continuous restructuring of the node topology during inference run-time based on the same or different characteristics as further described herein. In some cases, the model can freeze and unfreeze the model from restructuring, such as based on the characteristics as further described herein. In some cases, the model is frozen before the node topology restructuring and unfrozen after identifying an optimized model.
[0186] In some cases, the characteristic or value is an expected value at a later time step. The system can apply a prediction algorithm or prediction machine learning model to predict which of the characteristics or values may change over time. For example, the Al system applies a historical log of the machine learning model (such as inputs and outputs across past time steps, architectures and changes thereof across past time steps, or the like) into a prediction machine learning model. The prediction machine learning model identifies that a certain node that is currently performing well (i.e. predicting another signal well) is likely not going to be performing well in 10 time steps (i.e. starting to mis-predict). The Al system can modify the internal architecture of the machine learning model based on the output of the prediction machine learning model.
[0187] Although examples described herein explain how certain values or characteristics can result in a particular architectural change (such as deleting or adding a node), it is appreciated that the machine learning model can apply other architectural changes in response to identifying the values or characteristics of nodes or groups of nodes, and apply such architectural changes in response to other values or characteristics of nodes or groups of nodes. For example, any of the characteristics or values thereof of nodes or groups of nodes can trigger the change in the internal architecture described in FIG. 9 - FIG. 18.
[0188] Although examples described herein describe one type of model, such as a machine learning model, it is appreciated that such features apply to other types of models, such as an artificial intelligence model or a graphical machine learning model, and vice versa. For example, types of artificial intelligence models includes a graphical machine learning model and a machine learning model. An artificial intelligence model includes models used to simulate human intelligence in machines, such as understanding natural language, recognizing patterns in data, making decisions, and solving complex problems. A machine learning model is a subset of artificial intelligence models that includes using algorithms and statistical techniques to enable computers to improve performance on a task through learning from data. A graphical machine learning model is a type of machine learning model that uses graphical representations to model dependencies between variables.
[0189] Although examples described herein describe one type of a collection of nodes, such as a group of nodes, it is appreciated that such features apply to other types of nodes, such as a cluster of nodes or a group of interconnected nodes, and vice versa. For example, a group of nodes includes a collection of nodes that share a common purpose or are organized together within the machine learning model. A cluster of nodes includes a localized or cohesive set of nodes that work together to perform a specific function within the machine learning model. A group of interconnected nodes includes nodes that are linked or connected to each other.
[0190] Although examples described herein describe the restructuring an in internal architecture of the machine learning model, it is appreciated that such features apply to other types of changes, such as modifying a network or reconfiguring a topology, and vice versa. For example, modifying a network includes changes made to the network by changing its group of nodes, nodes, parameters, or structure. Restructuring internal architecture includes making changes to the organization and composition of the model's components. Reconfiguring topology includes changing the arrangement or connections between groups of nodes or nodes within the model.
[0191] In some cases, the Al system initiates the change or modification of the internal architecture of the Al model in response to receiving input data, such as environmental data. In some cases, the Al system initiates the change or modification based on a behavior of the network. For example, the network can perform a particular inference and determine that the behavior of a particular portion of the network needs to be changed for better performance. In some cases, the Al model initiates the change or modification of the internal architecture of the Al model in response to determining a change of the input data as a result of the model’s behavior. For example, the behavior of the network influences the behavior of the environment and the evolution of a subsequent input data. For example, the model is playing a chess game, where the model’s actions (the model’s moves in the game) affect the environment’s actions (a person’s moves in the game). The environment’s actions become the inputs and the input data changes as a result of the model’s behavior.SPLIT SCREEN INTERFACE
[0192] FIG. 8 illustrates a split screen user interface showing a node topology representative of a human constituent, according to some examples. The Al system can present a user interface that splits the screen into two user interfaces, a first user interface 816 and a second user interface 818. The first user interface 816 can show a human constituent. For example, the human constituent includes a brain 820 of a human. The brain 820 has three different diseases, a tumor 824, Alzheimer's disease 826, and a stroke 828. In some cases, the machine learning model represents the entire human body.
[0193] The second user interface 818 illustrates a node topology of the human constituent. For example, the group of nodes 422 represents a certain patient's human brain 820. The group of nodes 422 includes nodes 412, 414, 416, 418, and 420.
[0194] As further discussed, the Al system selects a node, such as node 420, based on a certain characteristic of the node or group of nodes to reconfigure. The machine learning model removes node 420. Based on the removal of node 420, the restructured group of nodes includes nodes 412,414, 416, and 418. The Al system tests how the restructured group of nodes performs without node 420. The display illustrates that the restructured group of nodes improves self-efficacy of the group of nodes by 50%, that the computational load of the group of nodes is reduced by 35%, and a latency has improved by 100 ms.
[0195] In some cases, the user interface shows certain characteristics of the change or certain performance metrics. For example, the user interface displays a history of the change made so far (such as that node 420 was removed). The user can select individual changes and decide to undo individual changes made.
[0196] In some cases, the second user interface itself can show improvements or degradations. For example, once node 420 was removed, the self efficacy of all nodes improved, especially node 418 (as shown in bolded lines in the second user interface). The other nodes also improved, but less than node 412 (as shown in lesser increase in bold from the first user interface 816 to the second user interface 818.
[0197] In some cases, the Al system identifies or generates a machine learning model representative of a real world object, such as a human constituent, a smart device such as a phone, an automobile, or the like. The Al system can create a machine learning model to represent the features and functioning of a real world object. For example, the real world object can include a patient's brain, heart, lungs, liver, kidneys, stomach, skin, bones, nerves, eyes, or the like.
[0198] The Al system collects relevant data about the physical object. This could include technical specifications, measurements, sensor data, images, videos, or any form of information that characterizes the object's features and functioning. The Al system organizes and preprocesses the data by cleaning noisy or incomplete data, standardizing measurements, and ensuring the data is in a format suitable for model training.
[0199] Then the Al system can extract meaningful features that are relevant to the functioning of the object. The dataset is applied to the machine learning model, either during inference where restructuring of the node topology occurs during run-time or as a separate training / validating processto generate a machine learning model. The Al system can initialize the model with random or uniform weights and train the model iteratively using the dataset. During each iteration, the model processes the data, makes predictions, calculates the error (loss), and adjusts the model's parameters to minimize the loss. The model is trained to mimic the features and functions of the real world object.
[0200] Upon reconfiguration of the machine learning model to identify an optimized or performance improved model, the Al system determines the change from the original model and recommends a response (e.g., a treatment for a disease, a driving behavior for an autonomous car). For example, if certain nodes in a region were removed or changed, the Al system recommends removing a region of a brain, provide treatments that reinforce certain functions or organs, increase or decrease the rate of cell regeneration or death, increase or decrease recurrence of feedback from a cell to itself or from a group to another group, increase or decrease bandwidth by allowing cells to be more or less connected to other cells, or the like.ACTIVATING OR DEACTIVATING AN ENTIRE GROUP OFNODES
[0201] As noted above, the Al system reconfigures the node topology for hypothesis testing in order to identify a better optimized model. FIG. 9 - FIG. 18 illustrate examples of how the Al system or the machine learning model reconfigures the node topology of the machine learning model. After such reconfiguration of the node topology, the Al system checks to see how well the new node topology performs. After determining the new node topology performs adequately (e.g., by checking how the new topology performs against a performance threshold), the Al system reconfigures again the new node topology. Upon determining that the new node topology fails to perform adequately, the Al system reverts back to the prior version and tries to reconfigure another node or tries another way of node topology reconfiguration.
[0202] FIG. 9 illustrates a machine learning model activating or deactivating an entire group of nodes, according to some examples. Themachine learning model toggles nodes or node groups on and off. As shown in FIG. 9, deactivated nodes and connections can be shown using visual indicators, such as nodes 412, 414, 416, 418, and 420 in group 422 are deactivated and are shown with a lighter outline. The connections between such nodes are also lighter. The visual indicators can be shown in other forms, such as color, size, or the like (further described herein).
[0203] In some cases, the machine learning model allows activation based on certain characteristics as further described herein. For example, the machine learning model has created an optimized or improved machine learning model for a first problem set (such as a brain tumor) which include processing data from the external data source 402 via group 410 to group 422 and finally through group 436. The machine learning model created an alternative improved machine learning model for a second problem set (such as Alzheimer's) which include processing data from the external data source 402 via group 410 directly to group 436. Based on the circumstance, problem, environment, or characteristic, the machine learning model can determine which part of the node topology to execute.
[0204] Deactivated nodes cannot pass data across connections, allowing users to selectively disable model components. In some cases, deactivated nodes simply pass the data through without internal processing. Conditional activation allows the model to dynamically switch parts of the model on and off based on real-world conditions. The machine learning model thus facilitates specializing models by selectively enabling or disabling subsets of nodes. The user can find topological configurations that optimize or improve performance for given scenarios by scheduling targeted activation profiles.SYMMETRICAL AND ASYMMETRICAL DIVISION
[0205] FIG. 10 illustrates a new node creation in a group of nodes based on asymmetrical division, according to some examples. Asymmetric division creates a child node with different connectivity or initialization than its parent node. For example, node 1002 is created with different weighting parameters as the parent node 420, such as initial weightings (such as all weights set to an initial value, e.g., 0.5) of an undifferentiated node. Node 1002 is initialized without inheriting node 420 parameters. Instead, node1002 starts with default parameter values, such as random small weights or set weights. This allows node 1002 to start fresh with a blank slate and form new representations, rather than duplicating node 420 behavior.
[0206] In some cases, if node 420 divides asymmetrically, the new child node 1002 will only have a connection to its parent node 420. Node 1002 does not inherit any of node A's other connections. Over time, node 420 may develop connections to other nodes, such as nodes 412, 414, or 416 identifying similar or useful complementary signals. In some cases, the computational environment that is running the network adds such connections on behalf of the nodes. Node 1002 may also differentiate to perform a different computation than node 420.
[0207] Asymmetric division allows lower computation exploratory growth of the network compared to symmetric division. Asymmetric division also expands the network's functional repertoire, creating nodes with the potential for novel parameters.
[0208] FIG. 11 illustrates a new node creation in a group of nodes based on symmetrical division, according to some examples. In symmetric division, the child node inherits at least some or the exact same structure or parameters as the parent node. For example, consider again node 420, which has connections to nodes 412 and 418.
[0209] If node 420 symmetrically divides, the new child node 1002 has the same incoming connections from nodes 412 and 418. In some cases, node 1002 inherits copies of node 420's weights - so that the child node 1002 has identical weights wl, w2, w3 associated with the connections with nodes 412 and 418.
[0210] In some cases, node 1002 inherits all other parameters from node 420, like biases, activation functions, tensor weightings, etc. Thus, node 1002 is functionally identical to node 420 after symmetric division. In the following timestep, the child and the parent node are connected to each other.
[0211] This allows node 1002 to immediately replicate the representation and computation of node 420 without any training or adaptation. Thenetwork’s overall capacity is increased since two identical nodes now process the data instead of just node 420 alone.
[0212] Over time, node 1002 may diverge from node 420 by tweaking its inherited weights and parameters. But the key point is that symmetric division quickly replicates existing structure and behavior. It provides an efficient way to rapidly increase model capacity and redundancy compared to creating nodes from scratch.
[0213] In some cases, a node divides in a hybrid process that combines both asymmetric and symmetric elements. For example, for node 420 with connections to nodes 412 and 418, along with associated weights wl, w2, and w3, the child node 1002, in a hybrid division, inherits some of the parent’s connections symmetrically while forming other connections asymmetrically. For example, node 1002 symmetrically inherits the connection and weight wl to node 412, directly replicating that portion of node 420’ s structure. However, node 1002 asymmetrically forms novel connections to nodes 414 and 416, with randomly initialized or uniform weights w4 and w5.
[0214] Furthermore, (child) node 1002 inherits only a subset of (parent) node 420’s weights in a partially symmetric fashion. For instance, node 1002 inherits w2 but initialize its own value for w3.
[0215] Thus, node 1002 partially mirrors node 420’ s connectivity and parameters, while also exploring some new areas of the architecture space of the machine learning model.
[0216] The hybrid division allows both exploitation of existing structure through symmetry and exploration of new structure through asymmetry. The relative amounts of symmetry and asymmetry could be dynamically tuned or learned based on the model’s current needs, such as balancing plasticity and stability.
[0217] When a node connected to the environment or a node external to the group of nodes divides symmetrically, the child node can also replicate its environmental and external connectivity. In some cases, a child node never takes the environmental connections or external connections of its parent.
[0218] In some cases, new nodes are directly created by the machine learning model’s architecture search methods. The machine learning model can create new nodes and connections from scratch, without originating from any existing nodes.
[0219] In some cases, the connections to and from the new nodes are formed randomly or based on some programmed heuristics. For example, each new node could connect to a random subset of nodes in the adjacent layers. The parameters (weights, biases) of the new nodes can be initialized randomly or using pre-defined schemes.
[0220] In some cases, a machine learning model creates nodes that are taken from another model. Nodes could be copied over or transferred from another pre-trained model, leveraging prior learned representations. For example, a machine learning model identifies a desired function (e.g., a newly desired function based on changing environmental data). The machine learning model identifies another machine learning model that has been trained to perform such a function and copies nodes over to the architecture.DELETING A NODE
[0221] FIG. 12 illustrates deleting node 420 from the group of nodes 422, according to some examples. In some cases, all incoming and outgoing connections to the deleted node are removed. For example, if node 420 was connected to nodes 412 and 418, those connections are eliminated.
[0222] Any weight parameters associated specifically with the connections to and from the deleted node are removed. For example, the weights on the connections between 420 and 412 and between 420 and 418 are deleted along with the connections.
[0223] In some cases, new connections are formed between the remaining nodes. For example, node 420 was connected to a node external to the group of nodes 422. After node 420 is deleted, new connections 1202 and 1204 are created that connect to the external node that node 420 was connected to.
[0224] In some cases, a deletion of a node fragments a group of nodes into sub-groups. For example, the deleted node could have been the connectingnode between the sub-groups, and with the node being deleted, the two subgroups can remain unconnected.
[0225] Any parameters associated just with the deleted node, such as bias terms, can be removed from the model. Parameters associated with connections (e.g. weights) or other nodes can remain unchanged. In some cases, all data associated with the node from the network is deleted. In some cases, the model retains memory of the deleted node, which can be used to re-add the most recently deleted node back or apply the data to another node at a later time and not use such memory for current inferences.CREATING A NEW CONNECTION WITHIN A GROUP OFNODES
[0226] FIG. 13 illustrates the creation of a new connection within a group of nodes, according to some examples. A new directed connection 1302 is formed between two nodes 420 and 414. For example, if node 420 forms a new connection to node 414, this creates a new connection 1302. The new connection provides an additional pathway for information to flow between the nodes. This can improve signal propagation through the group.
[0227] In some cases, the new connection has its weight parameter randomly initialized, such as in a normal or uniform distribution with a mean of 0. In some cases, the new connection is initialized with a weight parameter that is based on one or more prior existing connections of nodes 420 or 414.
[0228] In some cases, the neighboring nodes are not directly affected by the new connection. In the example, none of node 414’s or 416’s existing connections are altered.
[0229] The new connection may strengthen or alter the overall connectivity structure of the group (e.g., new cycles may form). Connecting two nodes allows the nodes to develop a joint representation of data, potentially increasing the group’s overall representation power. The new connection may strengthen ties between clusters of nodes or create new cycles within the group structure. Such new connections can create shortcuts between distant nodes. A direct connection allows two nodes to integrate informationwithout needing intermediate nodes, improving parameter efficiency and decrease latency.
[0230] Furthermore, the new connection gives an extra pathway for gradients to flow during training. This can help combat vanishing / exploding gradients. Moreover, the newly connected nodes can now directly influence each other during inference and training.REPLACING, INTERCHANGING, SPLITTING, FUSING, AND MERGING NODES
[0231] FIG. 14 illustrates a machine learning model performing different functions across nodes in different groups of nodes, according to some examples. In some cases, an individual node, such as node 420 in group 422, can be removed and replaced with a different node, such as node 434 in group 436. For example, node 420 is found to be consistently underperforming based on its loss, accuracy, or other metrics. Node 420 is removed from the network and replaced with node 434.
[0232] Node 420 can inherit some or all of the weightings of node 434. In some cases, node 420 is randomly initialized. In some cases, the weightings for node 420 are selectively set, such as copying the input weights from node 434 but randomly initializing the outputs.
[0233] In some cases, node 420 inherits some or all the input and output connections that node 434 had. In some cases, such as in FIG. 14, node 420 inherits none of the connections of 434.
[0234] In some cases, rather than replacing a single node, groups of poorly performing nodes can be replaced together. For example, an entire group of nodes can be removed and replaced with a new layer initialized from scratch, transferred, or copied from another part of the network.
[0235] In some cases, a single node is replaced with a group of nodes or a group of nodes is replaced with a single node.
[0236] In some cases, two nodes are interchanged between different groups of nodes. For example, node 420 was originally in group 436 and node 434 was originally in group 422. After the interchange, node 420 is now in group 422 and node 434 is now in group 436.
[0237] The machine learning model selects two nodes from different groups. These nodes can be selected randomly or chosen as a result of the nodes misaligning (alignment described further herein). Node 434 is disconnected from all its input and output connections in group 422. Similarly, node 420 is disconnected from all its connections in group 436. Node 434 is moved to group 436 and node 420 is moved to group 422. In group 422, node 420 is connected to all the inputs and outputs that originally belonged to node 434, and the same for node 434.
[0238] In some cases, the nodes are not disconnected and reconnected. Instead, the machine learning model interchanges the internal parameters and weightings of each node, effectively interchanging the functionality of the nodes.
[0239] In some cases, an existing node is split into two nodes. For example, node 434 is split into nodes 434 and 420. In some cases, the connections and parameters are also divided between the child nodes. Original node 434 could have been connected to nodes 426, 428, 432, 418, and 412. After splitting, node 434 is now connected to nodes 426, 428, and 432, and node 420 is connected to 418 and 412.
[0240] In some cases, the weights, biases, or other parameters of original node 434 are split and assigned to the nodes 434 and 420. For example, the weight matrix of node 434 could be vertically split, with the top half going to 434 and bottom half to 420.
[0241] In some cases, multiple existing nodes are merged into a single new node, such as nodes 420 and 434. In some cases, the connections from all the merged nodes are included with the combined new node. For example, the combined new node is connected to nodes 412, 418, 426, 428, and 432.
[0242] In some cases, parameter matrices, such as weights, biases, or activations, of the existing nodes are concatenated or summed element-wise into larger parameter matrices for the merged node. The larger matrices can include columns for each input and output for each cell. The merged cell can then perform combined reasoning by considering all parameters of both preexisting cells.
[0243] In some cases, the merged node takes on an integrated representation by combining the functionalities of the preexisting nodes. In some cases, redundant connections from the merged nodes are pruned to improve efficiency.
[0244] In some cases, two nodes are fused together, such as nodes 420 and 434. The new fused nodes can incorporate derived parameters of the two nodes, such as an average, a mean, a max, a min, a weighted average, or the like. In some cases, the nodes are fused into a new node through vector addition or averaging. For example, fusing nodes 420 and 434 create a new node that averages the weights from 420 and 434 or inherits a combined set of connections.
[0245] In some cases, when nodes are fused, the original nodes lose their distinct identities and are transformed into the new node. In some cases, fusing changes the network topology more drastically than merging, since multiple nodes disappear, whereas a merge preserves nodes and adds connections.PERFORMING CHANGES ON AN ENTIRE GROUP OFNODES
[0246] FIG. 15 illustrates a machine learning model performing changes on an entire group of nodes, according to some examples. In some examples, the machine learning model skips over an entire group of nodes. The machine learning model can disconnect all connections to the node group (input connections or output connections), such as connections 1502 and 1504 of the group of nodes 422 from the nodes external to the group.
[0247] In some cases, the machine learning model creates a new connection that connects the nodes or node groups that are external to the group of nodes being skipped. For example, the machine learning model identifies that the group of nodes 410 and the node 424 is connected to the group of nodes 422 and creates a new connection 1506 that connects node 408 of the group of nodes 410 and the node 424. The new connection 1506 is a bypass connection that bypasses the group of nodes 422 so that the output of node 408 is directly sent to node 424, instead of first being processed by the nodes in the group of nodes 422.
[0248] In some cases, all preexisting connections to the group of nodes 422 are severed and the nodes that the preexisting connections were connected to are reconnected with each other. For example, nodes 408 and 424 were connected to a different node in the group of nodes 422. The machine learning model reconnects these nodes 408 and 424 together. In some cases, only a subset of nodes that the preexisting connections were connected to are reconnected.
[0249] In some cases, the machine learning model deletes the group of nodes 422. The machine learning model first severs all connections going into and out of that group, such as connections 1502 and 1504.
[0250] Severing connection 1502 disconnects node 408 in group 410 from sending its output to node 412 in group 422 or vice versa. Severing connection 1504 disconnects node 420 in group 422 from sending its output to node 424 or vice versa.
[0251] With group 422 now disconnected, the machine learning model removes all nodes in group 422 entirely. This deletes all the nodes and their associated parameters like weights and biases. To maintain connectivity in the network, the machine learning model creates a new direct connection 1506 between the nodes that were originally connected via the now deleted group 422. Specifically, node 408 in group 410 is connected directly to node 424 with new connection 1506. This bypasses the deleted group 422.
[0252] In some cases, upon deletion of the group of nodes, if a node is no longer connected to anything, the node is also deleted. In some cases, upon deletion of the group of nodes, if another group of nodes is no longer connected to anything and is also not connected to an external data source, the group of nodes can be deleted or reconnected to a group of nodes that is connected to the external data source. For example, the machine learning model identifies that certain nodes transmit similar signals over a certain time period and determines to connect such groups together.
[0253] In some cases, the machine learning model adds a new group of nodes. For example, to add a new group between existing group 410 and node 424, the model severs connection 1506 between node 408 and 424. A new group of nodes 422 is added to the network. This group 422 includes aset of new nodes, such as nodes 412, 414, 416, 418, and 420. The new nodes in 422 can be initialized with random weights and biases, or otherwise as further described herein.
[0254] To connect the new group 422, the machine learning model generates connections between nodes, such as connection 1502 from node 408 in group 410 to node 412 in group 422, and connection 1504 from node 420 in group 422 to node 424.
[0255] In some cases, the machine learning model applies the characteristics described herein, such as in the application description for FIG. 4, to determine which group of nodes to add, skip, or delete, which groups or nodes to connect or reconnect, which groups or nodes to merge, fuse, interchange, replace, split, or the like. For example, the machine learning model assesses node groups based on their contribution to the overall performance of the model on a particular task or dataset, the density of connections between a group and the rest of the network, activation patterns of nodes in a group (e.g., groups with consistently low activation can potentially be pruned), determining if multiple node groups have high correlation and redundancy in their activations (e.g., deleting redundant groups), groups that are particularly expensive in terms of memory, compute, or energy usage, or the like.MERGING GROUPS OF NODES
[0256] FIG. 16 illustrates merging of two groups of nodes, according to some examples. Groups 422 and 436 shown in FIG. 4 are merged into new group 1616 in FIG. 16. In some cases, the model severs any existing connections between the two existing groups. In some cases, the model leverages the existing connections during the merging process.
[0257] In the case of FIG. 16, the machine leaning model generates new connections, such as connections 1602, 1604, 1606, 1608, 1610, 1612, and 1614 between nodes in groups 422 and 436 shown in FIG. 4. For example, connection 1602 is made between node 434 and node 420.
[0258] In some cases, one or only a subset of the nodes are connected with the other group. In some cases, the same number of nodes in one group is connected with the number of nodes in the other group. In some cases, all ofthe nodes in one group are connected to at least a subset of the nodes in another group. In some cases, all of the nodes in one group are connected in all of the nodes in another group.
[0259] This merged architecture allows signals to propagate between the nodes in the combined group 1616 more directly instead of signals of the nodes in group 422 being pruned down to one signal going to node 424 and then introduced into group 436.
[0260] In some cases, merging groups reduces the total number of parameters, which can improve computational and statistical efficiency. A merged group with more nodes and connections can represent more complex functions than separate groups. Merging creates new connections between nodes that allow signals to flow between the groups. This can help spread information across more of the model.
[0261] In some cases, merged groups can specialize on common features or tasks, dividing up labor. Merging groups can serve as a form of compressing information from multiple groups into a consolidated representation. A merged group with redundant nodes can increase robustness to noise or failure of individual nodes. Merging allows adaptation to new tasks or data distributions by re-purposing multiple groups.SPLITTING GROUPS OF NODES
[0262] FIG. 17 illustrates splitting of one group of nodes into two groups of nodes, according to some examples. Group 436 of FIG. 4 initially contains interconnected nodes 426, 428, 430, 432, and 434. To split this group, the model first disconnects the nodes between group 1704 and 1706.
[0263] The nodes are then divided into two new groups. Nodes 426, 434, and 432 are assigned to new group 1704, and nodes 428 and 430 are assigned to new group 1706. These two new groups 1704 and 1706 include a subset of the original nodes from group 436.
[0264] In some cases, the nodes within each new group remain interconnected. For example, in group 1704, node 426 remains connected to both 434 and 432.
[0265] The two groups 1704 and 1706 are then connected to one or more surrounding nodes in the network. For example, node 426 of group 1704 connects to node 428 of group 1706 via connection 1702. In some cases, the node 426 maintains the connections external to the group, such as to node 424.
[0266] This split architecture allows the model to divide the computation and representation of the original group across two separate new groups.
[0267] In summary, to split a group, the model divides its nodes into subsets, disconnects the subsets from each other into new groups, and connects the new groups to the surrounding network.
[0268] If a group of nodes is split into smaller groups, the machine learning model can reduce the overall computational load and power consumption of the model. In some cases, splitting a group into smaller groups with fewer connections may allow the model to find a more optimized or performance improved architecture by performing iterative computations faster.
[0269] Splitting nodes into smaller groups with some redundancy can make the system more robust to random hardware errors or node failures. Moreover, splitting nodes can potentially help avoid overfitting to a particular structure by reducing the number of nodes in individual groups.REROUTING GROUPS OF NODES
[0270] FIG. 18 illustrates rerouting of groups of nodes, according to some examples. The machine learning model can reroute signals among node groups by connecting and disconnecting certain connections. In some cases, the machine learning model activates and deactivates certain connections to reroute signals.
[0271] The model can control the order in which the external data source signal is processed by groups 410, 422, and 436. In the default configuration, the signal flows from the external data source 402 through group 410, then group 422 using connection 1802, and finally group 436 using connection 1804 and 1806.
[0272] To change the processing order to group 410, then group 436, and finally group 422, the machine learning model disconnects or deactivatesconnections 1802, 1804, and 1806, and instead uses connections 1808 to connect from group 410 to group 436, and connection 1810 to connect group 436 to group 422.
[0273] By dynamically connecting and disconnecting different connections between the groups, the model can reroute the flow of signals and control the sequence in which groups process the data. This allows the model to analyze how different processing orders impact the performance and output.
[0274] Rerouting allows the model to perform different sequences of operations for each inference which provides more flexibility to adapt the computation to the specific inputs. Rerouting makes it possible to skip certain layers or nodes that may not be needed for some inferences, reducing unnecessary computation. Moreover, if layers are rerouted in different orders, each layer can specialize on the inputs it receives rather than needing to handle all input types.
[0275] Furthermore in some cases, if certain layers fail, rerouting can allow the model to use alternative paths through remaining functional layers. Layers can be selectively applied only when their specialized capability is required for a particular inference.INTERCHANGING GROUPS OF NODES
[0276] FIG. 19 illustrates interchanging groups of nodes, according to some examples. For example, the machine learning model can interchange the nodes in group 422 with the node group 436 in the network architecture. Initially, group 422 is positioned between group 410 and group 436.
[0277] To interchange their positions, the model first disconnects group 422 from external connections. Similarly, the model disconnects external connections for group 436. With the groups disconnected, the model then reconnects group 422 to the former connections of group 436, and vice versa.
[0278] After this rewiring, group 436 is now positioned between group 422 and group 410. The two groups have effectively interchanged positions in the network architecture, by disconnecting them, then reconnecting them to each other's former surrounding connections. This allows the model tointerchange their order and analyze the impact on information flow and model performance.
[0279] Transferring functionality between a group of nodes in the network could allow different layers to take on new roles dynamically. Moreover if one group of nodes is computationally overloaded while another is underutilized, interchanging the groups could help distribute the load more evenly. Moreover, if a particular group of nodes fails, interchanging in a backup group could increase robustness.DYNAMIC GROWTH OF THE MACHINE LEARNING MODEL
[0280] FIG. 20 illustrates a sequence showing restructuring of a network of a machine learning model over time, according to techniques described herein. The network shown in FIG. 20 not only adds and removes connections, but also adds and removes nodes, over time. The connections shown in FIG. 20 may represent a pair of bidirectional connections.
[0281] The top row of FIG. 20, spanning from time to on the left to time ti on the right, begins on the left with a simple network at time to. A single node 404 is connected with the environment (shown as external data source 402). As time progresses, and in response to processing of inputs to generate outputs and inferences during the runtime period, the network is restructured by adding two nodes 406 and 408, both having connections to each other and to the initial node 404. The three nodes 404, 406, and 408 thereby form a first cluster or group of nodes 410.
[0282] As time progresses further, just before time ti on the right side of the top row, the network is further restructured to add another set of nodes and connections to form a second group of nodes 422. The node 408 of the first group of nodes 410 has a connection to a node 412 of the second group of nodes 422. In each case of a new connection, the connections may be added through the mechanisms described herein for adding connections (e.g., in response to determination of the similarity of the two connected nodes' outputs over time) or through addition of new nodes having connections to existing nodes.
[0283] The bottom row of FIG. 20 spans from time ti on the left to time t2 on the right. On the left side of the bottom row, after time ti, the second group of nodes 422 of the network is restructured to remove one of its nodes (e.g., node 418) and the removed node's connections.
[0284] On the right side of the bottom row, just before time t2, the second group of nodes 422 is restructured again to add a further node (e.g., node 1102). It will be noted that, although the second group of nodes 422 just before time ti and the second group of nodes 422 just before time t2 each have five nodes, the pattern of interconnection of the nodes of the second group of nodes 422 is different at the two different times. Furthermore, it may be the case that the parameters (e.g., the weights of the various tensors) of each node may be different over time.TENSORS
[0285] FIG. 21 shows four tensors used by a POMDP of a node. The A tensor 2102, B matrix 2112 (consisting of the Bo submatrix 2104 and Bi submatrix 2106), C vector 2108, and D vector 2110 indicate four sets of weights maintained by the node. Each of these sets of weights is used to contribute to the performance of an active inference task by the network (e.g., network). The values of the weights shown in the example of FIG. 21 are initial weight values that may be assigned to a newly-initialized node of the network (e.g., network), also referred to as an undifferentiated node or a stem node. The node may be deployed within the network to contribute to an inference task during a runtime period, during which the node may differentiate itself by adjusting its weight values to diverge from their initial values in response to interactions with other nodes of the network. A node that has undergone at least partial differentiation may be referred to as a differentiated node.
[0286] In some examples, the inference task performed by the network is an active inference task. In active inference, as described herein, a machine learning model acts upon a system and observes the system.
[0287] In some examples, the A tensor 2102 may be regarded as modeling a probabilistic mapping of the node's observations (e.g., its inputs at a given time step) to an inferred hidden state of the observed system (e.g., a node orset of nodes). This mapping may be referred to as an observational model, denoted as:Observational Model
[0288] In the example shown in FIG. 21, the A tensor 2102 is initialized as an identity matrix mapping observed inputs to exactly equivalent hidden states. In some examples, the inputs received by a node are equivalent to the state of the observed system; thus, there are no hidden states, and the A tensor 2102 may remain unchanged during differentiation.
[0289] In some examples, the B matrix 2112 may be regarded as modeling a probabilistic mapping of the node's observations (e.g., its inputs) at a given time step T-1 to a predicted set of observations at a subsequent time step T. This mapping may be referred to as a transition model, denoted as:Transition Model
[0290] In some examples, the B matrix 2112 includes a separate submatrix for each set of outputs of the node at the first time step. Thus, the predicted inputs at the second time step are conditioned on the outputs of the node at the first time step. In the example shown in FIG. 21, the node has only a single output (e.g., a binary activation value) having only two possible states, 1 or 0. The B matrix 2112 therefore consists of two submatrices: a Bo submatrix 2104 corresponding to output 0, and a Bi submatrix 2106 corresponding to output 1.
[0291] In the example shown in FIG. 21, Bo submatrix 2104 and Bi submatrix 2106 are both initialized as homogeneous matrices (e.g., all matrix elements set to a value of 0.5) mapping all observed inputs at the first time step with equal probabilities to predicted inputs at the second time step.
[0292] In some examples, the C vector 2108 may be regarded as modeling a prior probability distribution (also referred to simply as a prior) over the node's observations (e.g., its inputs). This prior over observations may be referred to as the node's preferences or prior preferences, and is denoted as:Prior Over Observations
[0293] In the example shown in FIG. 21, the C vector 2108 is initialized as a zero vector mapping all observations to a zero reward. Thus, a node initialized according to the initial values shown in FIG. 21 has no preferred values for its inputs.
[0294] In some examples, the D vector 2110 may be regarded as modeling a prior over an initial hidden state at initial time step T=1. This prior over the initial hidden state is denoted as:Prior Over Initial Hidden State
[0295] In the example shown in FIG. 21, the D vector 2110 is initialized as a homogeneous vector (e.g., all vector components set to a value of 0.5) weighting all initial state values equally. Thus, a node initialized according to the initial values shown in FIG. 21 has no a priori beliefs about an initial state of the observed system.
[0296] In some examples, the B matrix 2112 may be the primary or the only set of weights to be adjusted during differentiation of the node: in other words, each of the other sets of weights (the A tensor 2102, C vector 2108, and D vector 2110) remains constant, whereas the transition model (implemented by the B matrix 2112) is adjusted to attempt to predict state transitions by the observed system (e.g., other connected nodes), conditionedon the actions (e.g., outputs) of the node. However, in some examples, one or more of the other sets of weights may also be adjusted during differentiation.
[0297] In some cases, the C vector 2108 is used to guide the system's determination of variable free energy. Variable free energy can be determined based on a pragmatic term ("does the node get what is expected") or an epistemic term ("does the node learn?"). The C vector can be used to adjust the balance between the pragmatic and epistemic term. For example, the C vector can be set to 0 whereby the node is maximizing epistemic gain.
[0298] In some cases, the system applies a pragmatic term that focuses on the practical use or application of a concept, emphasizing its utility in real- world scenarios. The system can prioritize pragmatic terms to enable the machine learning model to focus on action, decision-making, and achieving specific outcomes. For example, the system increases the pragmatic term in the C vector 2108 such that the model focuses more on improving accuracy, efficiency, performance, or the like.
[0299] In some cases, the system applies an epistemic term that pertains to knowledge, understanding, and information. The system can prioritize epistemic terms such that the machine learning model focuses on gaining insight on the functions performed by the machine learning model and updating the model to learn from current inferences. For instance, the system increases the epistemic terms in the C vector 2108 such that the model focuses on certainty, uncertainty, and knowledge of the machine learning model.
[0300] FIG. 24 through FIG. 26 illustrate examples of how the weights of the B matrix 2112 of a node may change during differentiation to adapt to different systems exhibiting different behaviors in response to the node's own actions.
[0301] FIG. 22 shows an initial Bo subtensor 504a, equivalent to the initial state of the Bo subtensor. The initial Bo subtensor 504a is the matrix of predictions for a future observation of the state of a system - in the illustrated example, the observed system is a single other node connected to the node associated with the initial Bo subtensor 504a, and the observed nodegenerates a single output, having a one-bit binary value, at each time step. Similarly, the node associated with the initial Bo subtensor 504a also generates a single output, having a one-bit binary value, at each time step. Thus, the B tensor of the node observing the system has two initial submatrices: a first submatrix, shown here in FIG. 22 as initial Bo subtensor 504a, conditioned on the output of the node having a “0” value, and a second submatrix as initial Bi submatrix, conditioned on the output of the node having a “1” value.
[0302] The initial Bo subtensor 504a includes two columns of priors corresponding to two first time step inputs 602. The first time step inputs 602 are observation of two different states of the system at a previous time step T-1 (also referred to herein as the first time step). The states of the system may also be referred to as input states of the node observing the system. The priors for 0 input at first time step 603 are in the left column, and the priors for 1 input at first time step 604 are in the right column. The two columns may thus be regarded as corresponding to two input states of the node, and each column (and its associated set of priors, 603 or 604) is only used in computation of the node's behavior when the node observes the corresponding input state. Thus, when generating behavior for the node at a time step when the node observes an input value of “1”, only the priors for 1 input at first time step 604 are used to compute the node's behavior, which is to say, its output(s). The priors for 0 input at first time step 603 do not need to be consulted or processed during this computational step. Thus, by segmenting the space of possible inputs into a plurality of discrete input states (in this case, two input states), the number of parameters of the parameter tensor (in this example, a portion of the B tensor) that need to be processed may be significantly reduced relative to configurations in which an entire tensor of parameters is multiplied by an input tensor using matrix multiplication, such as in some conventional neural networks. Whereas FIG. 22 shows a node having only two possible input states, it will be appreciated that the potential benefit of this behavior may increase dramatically as the number of input states increases; a slightly more complex system having four possible observable states is observed by the node as two single-bit binary inputs giving rise to four possible input states.
[0303] Returning to FIG. 22, the columns of the initial Bo subtensor 504a are split into two rows, the second time step inputs 601, corresponding to observation of two different states of the system at a current time step T (also referred to herein as the second time step). The priors for 0 input at second time step 605 are in the top row, and the priors for 1 input at second time step 606 are in the bottom row.
[0304] It will be appreciated that, for nodes observing systems with more complex outputs (e.g., multiple connected nodes or nodes generating outputs more complex than a single bit per time step), the initial Bo subtensor 504a would include more columns and rows. For example, a node connected to three other nodes, each outputting a single bit at each time step, would need an initial Bo subtensor 504a with 23= 8 columns and 8 rows to map all previously observed system states to all predicted current systems states. In some examples, a node may be able to determine that two or more of its inputs tend to be highly similar, and may have its B tensor simplified by combining the two inputs into a single input value.
[0305] As described above, the initial Bo subtensor 504a is a probabilistic mapping of previous observations to predicted current observations, conditioned on the output of the node at time step T-1 having been the binary value 0. The Bi subtensor, by contrast, stores the prior values mapping previous observations to predicted current observations conditioned on the output of the node at time step T-1 having been the binary value 1. It will be appreciated that, for nodes having a more complex output than a single bit at each time step, a greater number of B submatrices would be required, equal to the number of possible output states (e.g., 8 submatrices for a 3 -bit binary output). However, in some examples, all inputs and all outputs may be treated as being independent of one another, and the B tensor may include separate subtensors for the separate inputs, such that the 8 x 8 x 8 B tensor that would ordinarily be required (for 3 outputs and 3 dependent inputs) could be replaced by 3 separate subtensors of size 8 (2 by 2 by 2), each subtensor corresponding to a bidirectional connection with one other node.
[0306] Because the nodes of the network generate their outputs for a given time step T before receiving their neighboring nodes' outputs for time step T,the computations informed by the priors of the initial Bo subtensor 504a are performed after time step T-1 and before time step T. Thus, time step T may either be referred to as the “current” time step (meaning the time step for which the current outputs are being computed) or as the “next” or “future” time step (because the observations at time step T are not yet known).
[0307] During the runtime period, the node uses the prior values of initial Bo subtensor 504a to perform active inference, in which the initial Bo subtensor 504a predicts the state of the observed system, conditioned on the previous observed state of the system and conditioned on the node's own previous output. To the extent that observations diverge from the predicted observations of the second time step inputs 601, the node may adjust the priors of the B submatrices in an attempt to minimize future VFE or EFE resulting from the uncertainty of the predictions. Similarly, if the observations concur with the predicted observations of the second time step inputs, the node may adjust the priors of the B subtensors to increase the level of certainty of the expected observations. In this way, the initial Bo subtensor 504a may have its priors adjusted over time to align with the observed system, and thereby differentiate itself from its initial neutral, naive, undifferentiated state.
[0308] Thus, the prior values of the B tensor may be adjusted over a sequence of time steps to align the node with another node or a data source, such as the environment external to the network. After the node makes observations (e.g., inputs are accessed or received by the node) at a given time step, the priors of the node’s B tensor may be adjusted based on the currently observed input state, based on the observed input state at the previous time step, and based on the output generated by the node at the previous time step. As described above, a B subtensor (e.g., Bo subtensor ) is selected based on the node’s last output (e.g., the Bo subtensor is selected if the last output was 0), and a column of the B subtensor is selected based on the previous observed input state (e.g., the column of priors for 0 input at first time step 603 if the input state at the previous time step was 0). The priors of this selected column may then be adjusted in accordance with the currently observed input state, such that a higher prior is assigned to theprior in the row corresponding to the currently observed input state, and all other priors in the row are decreased accordingly.
[0309] In some examples, the degree to which the priors of the column are adjusted is in proportion to the number of observations of each input state over time: thus, for example, if the input state of row 2 (e.g., the row of priors for 1 input at second time step 606 in the column of priors for 0 input at second time step 605) has been observed at 32% of time steps, it will be assigned a prior value of 0.32. In other examples, different degrees of adjustment may be used, such as a degree of adjustment proportional to a learning rate that may vary under different conditions.
[0310] In some cases, the node’s preferences may affect the degree to which the priors of the column are adjusted. When a preferred row is observed, in addition to increasing the prior in the observed row and decreasing the other rows accordingly, all of the priors of the column may be adjusted to sharpen the distribution of prior values, such that high prior values are raised and low prior values are lowered, rendering the priors of the column less uniform. In contrast, when a non-preferred row is observed, in addition to increasing the prior in the observed row and decreasing the other rows accordingly, all of the priors of the column may be adjusted to partially flatten the distribution of prior values, such that high prior values are lowered and low prior values are raised, rendering the priors of the column more uniform. The partial flattening of the prior values may result in an increase in the effective learning rate for priors in the column in future time steps, because relatively uniform priors may be adjusted more dramatically on each observation than relatively non-uniform priors. This increase in the effective learning rate after observing a non-preferred row may increase the likelihood or speed with which the node will reconfigure the priors of the column, thereby potentially finding a more optimal set of priors that may assist in avoiding the non-preferred row in the future. By the same token, a slowed effective learning rate after observing a preferred row may reduce the likelihood or speed with which the node will reconfigure the priors of the column, thereby potentially locking the node more tightly into its current configuration.
[0311] FIG. 23 shows the initial Bo subtensor 504a after having undergone differentiation to align itself with an observed system - in this example, another node - that is configured to employ a “tit for tat” strategy in an iterated prisoner's dilemma task. The tit for tat strategy is one in which an agent will defect (in this example, output a “1”) immediately after an opponent defects, and will cooperate (in this example, output a “0”) immediately after an opponent cooperates. Thus, the output of the observed node is a deterministic function of this node's own previous action: in this example, if the node output a “1” at time step T-1, then the observed node will output a “1” at time step T, and if the node output a “0” at time step T-1, then the observed node will output a “0” at time step T.
[0312] Thus, after the node has undergone differentiation to align with the observed node employing the tit for tat strategy, the node will adjust the priors of its initial Bo subtensor 504a to the values shown in the differentiated Bo subtensor 2302: the priors for 0 input at second time step 605 are all 1, indicating a 100% probability that a previous output of “0” will result in a current observation of a “0”, and the priors for 1 input at second time step 606 are all 0, indicating a 0% probability that a previous output of “0” will result in a current observation of a “1”. These prior values are set across both columns, indicating that they apply regardless of the previous observed state of the system.
[0313] By differentiating nodes to align them with their observed systems, some examples described herein may train the nodes of the network to generate inferences about the behavior of the rest of the system including (for environment-facing nodes) the environment outside of the machine learning model.
[0314] FIG. 24 and FIG. 25 show the same process of differentiation to align with a “tit for tat” observed node as the differentiation adjusts the prior values of the Bi subtensor. Initial Bi submatrix 506a has the same values as initial Bo subtensor. The first time step inputs 702 are mapped to the second time step inputs 701 using priors split into two columns (priors for 0 input at first time step 703 and priors for 1 input at first time step 704) and two rows (priors for 0 input at second time step 705 and priors for 1 input at secondtime step 706). The mapping of initial Bi submatrix 506a is conditioned on the output of the node at time step T-1 being “1”.
[0315] As the node differentiates to align with the observed tit for tat strategy of its neighboring node, the initial Bi submatrix 506a adjusts its prior values to those shown in the differentiated Bi submatrix 2502: the priors for 0 input at second time step 705 are all 0, indicating a 0% probability that a previous output of “1” will result in a current observation of a “0”, and the priors for 1 input at second time step 706 are all 1, indicating a 100% probability that a previous output of “1” will result in a current observation of a “1”. These prior values are set across both columns, indicating that they apply regardless of the previous observed state of the system.
[0316] FIG. 26 shows an initial B matrix 2602 (equivalent to B matrix 2112 shown in FIG. 21), and its potential to differentiate into multiple possible differentiated values depending on the behavior of the observed system. In this example, the observed system is a single node playing an iterated prisoner's dilemma task, as in the examples of FIG. 24 through FIG. 27.
[0317] If the observed node employs a tit for tat strategy, the initial B matrix 2602 will differentiate over time into the tit-for-tat differentiated B matrix 2604, whose Bo and Bi submatrices are equivalent to differentiated Bo submatrix and differentiated Bi submatrix. The tit-for-tat differentiated B matrix 2604 exhibits absolute certainty in its predictions: the previous action of the node is determinative of the next observed state of the system, due to the nature of the tit for tat strategy.
[0318] If the observed node employs an “always defect” strategy, the initial B matrix 2602 will differentiate over time into the defector differentiated B matrix 2606. In an always defect strategy, the observed node always outputs “1”, irrespective of previous outputs and irrespective of inputs. As a result, the node observing the defector node will have complete certainty (weights 0 and 1) about the next observed state: it can predict with 100% confidence that the next observed state will always be “1”. Notably, this prediction is premised on the previous observed state being “1” as well: the 1 and 0 weight values are only in the right column of the Bo submatrix 2104 and Bisubmatrix 2106. Because the node has never observed a system state of “0”, the weights in the left columns are completely undifferentiated from their initial values of 0.5.
[0319] In the final illustrated example, if the observed node employs a “random” strategy, the initial B matrix 2602 will differentiate over time into a form resembling the random differentiated B matrix 2608. In a random strategy, the observed node outputs “0” or “1” randomly, irrespective of previous outputs and irrespective of inputs. As a result, the node observing the random node will remain largely undifferentiated (weights all at approximately 0.5) about the next observed state: it cannot predict the next observed state with any confidence.
[0320] Each of these differentiated states in the matrices 2604, 2606, or 2608 of the B matrix 2112 of a node presents an example of a different degree of two capabilities of the node: predictive certainty and self-efficacy. Predictive certainty refers to the degree of certainty in the node's predictions: the tit-for-tat differentiated B matrix 2604 exhibits perfect predictive certainty, the defector differentiated B matrix 2606 exhibits perfect predictive certainty only under some conditions (it is certain as long as the observed state is “1”, but would be completely uncertain at the next time step if it ever observed a “0”), and the random differentiated B matrix 2608 has no predictive certainty.
[0321] The second capability of the node, self-efficacy, refers to a measure of the ability of the output of the node at the previous time step T-1 to affect the observations of the node at the current time step T. The self-efficacy of a node is high if the state of its previous outputs results in highly certain current observations. Thus, the tit-for-tat differentiated B matrix 2604 has very high self-efficacy, because its own action is completely determinative of the next observation, which will always be exactly equal to the node's own previous output. The self-efficacy of the defector differentiated B matrix 2606, by contrast, is very low, even though its predictive certainty is perfect for half of the possible observed previous states; the previous output of the node has no effect on its next observation. Finally, the self-efficacy ofthe random differentiated B matrix 2608 is also very low, because its outputs also have no effect on later observations.
[0322] Thus, predictive certainty may be regarded as a precondition for self-efficacy, but insufficient in itself to secure high self-efficacy.
[0323] In nodes having no preferences, such as the initial POMDP tensors described with reference to FIG. 21 above having zero values for the C vector 2108, high self-efficacy maps directly to low VFE. However, in examples having preferences, minimizing VFE may require preferences to be satisfied, which requires not only self-efficacy but specifically self-efficacy with respect to soliciting preferred observations. For example, a node with preference (e.g., with non-zero values for the weights of the C vector 2108) may learn how to reliably solicit a current “1” observation under certain previous output and observation states; however, if the node prefers to observe “0” states of the observed system, and has not learned a way to reliably solicit “0” observations, the self-efficacy of the node will be very low.
[0324] In some examples, predictive certainty or self-efficacy may be measured with respect to individual connections of a node. The certainty with which a node can predict inputs received via a given connection may be regarded as the node's predictive certainty with respect to that connection. Similarly, the extent to which a node's outputs via a given connection affect the state of one or more inputs subsequently observed may be regarded as the self-efficacy of that connection. In some examples, self-efficacy is computed for pairs of connections, such that the self-efficacy of a bidirectional pair of connections between a first node and a second node measures the degree to which the first node's output(s) to the second node affect the first node's subsequent observation of the second node's output(s). In some examples, the self-efficacy of a connection from the first node to the second node may instead be a measure of the degree to which the first node's output(s) to the second node affect all observations of the first node with respect to all of its connected nodes.
[0325] In some examples, the self-efficacy of each of a node's connections can be combined to generate a nodal self-efficacy measure. In someexamples, the nodal self-efficacy of a node is computed as the sum of the self-efficacy of each of its outbound connections. In other examples, the nodal self-efficacy of a node is computed as an average (such as an arithmetic or geometric mean, a median, or another averaging function), or as some other combination of the self-efficacy measures of each of its outbound connections.
[0326] In some examples, the self-efficacy of a connection can be computed as the mean of the absolute difference between the sub-matrices conditioned on each action, e.g., Bo submatrix 2104 and Bi submatrix 2106. (For nodes having multiple connections, self-efficacy for a given connection may be computed by isolating the observations and predictions of the B matrix 2112 for the connection being measured.) Thus, the self-efficacy for tit-for-tat differentiated B matrix 2604 is the maximum value of 1 :Self-efficacy (S) for tit-for-tat differentiated B matrix 2604
[0327] In contrast, the self-efficacy for defector differentiated B matrix 2606 is the minimum value of 0:Self-efficacy (S) for defector differentiated B matrix 2606MACHINE-LEARNING PIPELINE
[0328] FIG. 27 is a flowchart depicting a machine-learning pipeline 2800, and FIG. 28 is a schematic diagram illustrating the training and use of an example machine-learning program. FIG. 27 and FIG. 28 provide context for examples described herein by describing various techniques and approachesto structuring, training, validating, and or deploying a machine learning model. One or more features of the machine learning models described in FIG. 27 and FIG. 28 are example features can be applied to the examples described herein, where applicable. In some cases, the features described herein can be applied to one or more machine learning models described in FIG. 27 and FIG. 28.
[0329] The machine-learning pipeline 2800 may be used to generate a trained machine learning model, for example the trained machine-learning program 2802 of FIG. 28, to perform operations associated with searches and query responses.Overview
[0330] Broadly, machine learning may involve using computer algorithms to automatically learn patterns and relationships in data, potentially without the need for explicit programming. Machine learning algorithms can be divided into three main categories: supervised learning, unsupervised learning, and reinforcement learning.• Supervised learning involves training a model using labeled data to predict an output for new, unseen inputs. Examples of supervised learning algorithms include linear regression, decision trees, and neural networks.• Unsupervised learning involves training a model on unlabeled data to find hidden patterns and relationships in the data. Examples of unsupervised learning algorithms include clustering, principal component analysis, and generative models like autoencoders.• Reinforcement learning involves training a model to make decisions in a dynamic environment by receiving feedback in the form of rewards or penalties. Examples of reinforcement learning algorithms include Q- learning and policy gradient methods.
[0331] Examples of specific machine learning algorithms that may be deployed, according to some examples, include logistic regression, which is a type of supervised learning algorithm used for binary classification tasks. Logistic regression models the probability of a binary response variable based on one or more predictor variables. Another example type of machinelearning algorithm is Naive Bayes, which is another supervised learning algorithm used for classification tasks. Naive Bayes is based on Bayes' theorem and assumes that the predictor variables are independent of each other. Random Forest is another type of supervised learning algorithm used for classification, regression, and other tasks. Random Forest builds a collection of decision trees and combines their outputs to make predictions. Further examples include neural networks, which consist of interconnected layers of nodes (or neurons) that process information and make predictions based on the input data. Matrix factorization is another type of machine learning algorithm used for recommender systems and other tasks. Matrix factorization decomposes a matrix into two or more matrices to uncover hidden patterns or relationships in the data. Support Vector Machines (SVM) are a type of supervised learning algorithm used for classification, regression, and other tasks. SVM finds a hyperplane that separates the different classes in the data. Other types of machine learning algorithms include decision trees, k-nearest neighbors, clustering algorithms, and deep learning algorithms such as convolutional neural networks (CNN), recurrent neural networks (RNN), and transformer models. The choice of algorithm depends on the nature of the data, the complexity of the problem, and the performance requirements of the application.
[0332] The performance of machine learning models is typically evaluated on a separate test set of data that was not used during training to ensure that the model can generalize to new, unseen data.
[0333] Although several specific examples of machine learning algorithms are discussed herein, the principles discussed herein can be applied to other machine learning algorithms as well. Deep learning algorithms such as convolutional neural networks, recurrent neural networks, and transformers, as well as more traditional machine learning algorithms like decision trees, random forests, and gradient boosting may be used in various machine learning applications.
[0334] Machine learning models are trained to perform specific types of inference tasks. Two example types of inference tasks in machine learning are classification tasks and regression tasks. Classification tasks, alsoreferred to as categorization tasks, aim at classifying items into one of several category values (for example, is this object an apple or an orange?). Regression algorithms aim at quantifying some items (for example, by providing a value that is a real number) to perform a regression task.
[0335] Generating a trained machine-learning program 2802 may include multiple phases that form part of the machine-learning pipeline 2800, including for example the following phases illustrated in FIG. 27:• Data collection and preprocessing 2702: This phase may include acquiring and cleaning data to ensure that it is suitable for use in the machine learning model. This phase may also include removing duplicates, handling missing values, and converting data into a suitable format.• Feature engineering 2704: This phase may include selecting and transforming the training data 2806 to create features that are useful for predicting the target variable. Feature engineering may include (1) receiving features 2808 (e.g., as structured or labeled data in supervised learning) or (2) identifying features 2808 (e.g., unstructured or unlabeled data for unsupervised learning) in training data 2806.• Model selection and training 2706: This phase may include selecting an appropriate machine learning algorithm and training it on the preprocessed data. This phase may further involve splitting the data into training and testing sets, using cross-validation to evaluate the model, and tuning hyperparameters to improve performance.• Model evaluation 2708: This phase may include evaluating the performance of a trained model (e.g., the trained machine-learning program 2802) on a separate testing dataset. This phase can help determine if the model is overfitting or underfitting and determine whether the model is suitable for deployment.• Prediction 2710: This phase involves using a trained model (e.g., trained machine-learning program 2802) to generate predictions on new, unseen data.• Validation, refinement or retraining 2712: This phase may include updating a model based on feedback generated from the prediction phase, such as new data or user feedback.• Deployment 2714: This phase may include integrating the trained model (e.g., the trained machine-learning program 2802) into a more extensive system or application, such as a web service, mobile app, or loT device. This phase can involve setting up APIs, building a user interface, and ensuring that the model is scalable and can handle large volumes of data.
[0336] FIG. 28 illustrates further details of two example phases, namely a training phase 2804 (e.g., part of the model selection and trainings model selection and training 2706) and a prediction phase 2810 (part of prediction 2710). Prior to the training phase 2804, feature engineering 2704 is used to identify features 2808. This may include identifying informative, discriminating, and independent features for effectively operating the trained machine-learning program 2802 in pattern recognition, classification, and regression. In some examples, the training data 2806 includes labeled data, known for pre-identified features 2808 and one or more outcomes. Each of the features 2808 may be a variable or attribute, such as an individual measurable property of a process, article, system, or phenomenon represented by a data set (e.g., the training data 2806). Features 2808 may also be of different types, such as numeric features, strings, and graphs, and may include one or more of content 2812, concepts 2814, attributes 2816, historical data 2818, or user data 2820, merely for example.
[0337] In training phase 2804, also referred to herein as a training period, the machine-learning pipeline 2800 uses the training data 2806 to find correlations among the features 2808 that affect a predicted outcome or prediction / inference data 2822. The training data may also be referred to herein as reference data, because it is used as a reference for setting the trained parameter values of the model.
[0338] With the training data 2806 and the identified features 2808, the trained machine-learning program 2802 is trained during the training phase 2804 during machine-learning program training 2824. The machine-learningprogram training 2824 appraises values of the features 2808 as they correlate to the training data 2806. The result of the training is the trained machinelearning program 2802 (e.g., a trained or learned model).
[0339] Further, the training phase 2804 may involve machine learning, in which the training data 2806 is structured (e.g., labeled during preprocessing operations). The trained machine-learning program 2802 implements a neural network 2826 capable of performing, for example, classification and clustering operations. In other examples, the training phase 2804 may involve deep learning, in which the training data 2806 is unstructured, and the trained machine-learning program 2802 implements a deep neural network 2826 that can perform both feature extraction and classification / clustering operations.
[0340] In some examples, a neural network may be generated during the training phase 2804, and implemented within the trained machine-learning program 2802. The neural network 2826 includes a hierarchical (e.g., layered) organization of neurons, with each layer consisting of multiple neurons or nodes. Neurons in the input layer receive the input data, while neurons in the output layer produce the final output of the network. Between the input and output layers, there may be one or more hidden layers, each consisting of multiple neurons.
[0341] Each neuron in the neural network 2826 operationally computes a function, such as an activation function, which takes as input the weighted sum of the outputs of the neurons in the previous layer, as well as a bias term. The output of this function is then passed as input to the neurons in the next layer. If the output of the activation function exceeds a certain threshold, an output is communicated from that neuron (e.g., transmitting neuron) to a connected neuron (e.g., receiving neuron) in successive layers. The connections between neurons have associated weights, which define the influence of the input from a transmitting neuron to a receiving neuron. During the training phase, these weights are adjusted by the learning algorithm to optimize the performance of the network. Different types of neural networks may use different activation functions and learning algorithms, affecting their performance on different tasks. The layeredorganization of neurons and the use of activation functions and weights enable neural networks to model complex relationships between inputs and outputs, and to generalize to new inputs that were not seen during training.
[0342] In some examples, the neural network 2826 may also be one of several different types of neural networks, such as a single-layer feedforward network, a Multilayer Perceptron (MLP), an Artificial Neural Network (ANN), a Recurrent Neural Network (RNN), a Long Short-Term Memory Network (LSTM), a Bidirectional Neural Network, a symmetrically connected neural network, a Deep Belief Network (DBN), a Convolutional Neural Network (CNN), a Generative Adversarial Network (GAN), an Autoencoder Neural Network (AE), a Restricted Boltzmann Machine (RBM), a Hopfield Network, a Self-Organizing Map (SOM), a Radial Basis Function Network (RBFN), a Spiking Neural Network (SNN), a Liquid State Machine (LSM), an Echo State Network (ESN), a Neural Turing Machine (NTM), or a Transformer Network, merely for example.
[0343] In addition to the training phase 2804, a validation phase may be performed on a separate dataset known as the validation dataset. The validation dataset is used to tune the hyperparameters of a model, such as the learning rate and the regularization parameter. The hyperparameters are adjusted to improve the model's performance on the validation dataset.
[0344] Once a model is fully trained and validated, in a testing phase, the model may be tested on a new dataset. The testing dataset is used to evaluate the model's performance and ensure that the model has not overfitted the training data.
[0345] In prediction phase 2810, also referred to herein as a runtime period, the trained machine-learning program 2802 uses the features 2808 for analyzing query data 2828 to generate inferences, outcomes, or predictions, as examples of a prediction / inference data 2822. For example, during prediction phase 2810, the trained machine-learning program 2802 generates an output. Query data 2828 is provided as an input to the trained machinelearning program 2802, and the trained machine-learning program 2802 generates the prediction / inference data 2822 as output, responsive to receipt of the query data 2828. Query data processed by the model during theruntime phase may also be referred to herein as candidate data, because it is data that is a priori not associated with any particular inference output.
[0346] In some examples, the trained machine-learning program 2802 may be a generative Al model. Generative Al is a term that may refer to any type of artificial intelligence that can create new content from training data 2806. For example, generative Al can produce text, images, video, audio, code, or synthetic data similar to the original data but not identical.
[0347] Some of the techniques that may be used in generative Al are:• Convolutional Neural Networks (CNNs): CNNs may be used for image recognition and computer vision tasks. CNNs may, for example, be designed to extract features from images by using filters or kernels that scan the input image and highlight important patterns.• Recurrent Neural Networks (RNNs): RNNs may be used for processing sequential data, such as speech, text, and time series data, for example. RNNs employ feedback loops that allow them to capture temporal dependencies and remember past inputs. The feedback loops of an RNN can be considered a cycle within its network.• Generative adversarial networks (GANs): GNNs may include two neural networks: a generator and a discriminator. The generator network attempts to create realistic content that can “fool” the discriminator network, while the discriminator network attempts to distinguish between real and fake content. The generator and discriminator networks compete with each other and improve over time.• Variational autoencoders (VAEs): VAEs may encode input data into a latent space (e.g., a compressed representation) and then decode it back into output data. The latent space can be manipulated to generate new variations of the output data. VAEs may use self-attention mechanisms to process input data, allowing them to handle long text sequences and capture complex dependencies.• Transformer models: Transformer models may use attention mechanisms to learn the relationships between different parts of input data (such as words or pixels) and generate output data based on theserelationships. Transformer models can handle sequential data, such as text or speech, as well as non-sequential data, such as images or code.
[0348] In generative Al examples, the output prediction / inference data 2822 include predictions, translations, summaries or media content.MACHINE ARCHITECTURE
[0349] FIG. 29 is a diagrammatic representation of the machine 2900 within which instructions 2902 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 2900 to perform any one or more of the methodologies discussed herein may be executed. For example, the instructions 2902 may cause the machine 2900 to execute any one or more of the methods described herein. The instructions 2902 transform the general, non-programmed machine 2900 into a particular machine 2900 programmed to carry out the described and illustrated functions in the manner described. The machine 2900 may operate as a standalone device or may be coupled (e.g., networked) to other machines. In a networked deployment, the machine 2900 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 2900 may comprise, but not be limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular telephone, a smartphone, a mobile device, a wearable device (e.g., a smartwatch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 2902, sequentially or otherwise, that specify actions to be taken by the machine 2900. Further, while a single machine 2900 is illustrated, the term “machine" shall also be taken to include a collection of machines that individually or jointly execute the instructions 2902 to perform any one or more of the methodologies discussed herein. In some examples, the machine 2900 may comprise both client and server systems, with certain operations of a particular method oralgorithm being performed on the server-side and with certain operations of the particular method or algorithm being performed on the client-side.
[0350] The machine 2900 may include processors 2904, memory 2906, and input / output I / O components 2908, which may be configured to communicate with each other via a bus 2910. In an example, the processors 2904 (e.g., a Central Processing Unit (CPU), a Reduced Instruction Set Computing (RISC) Processor, a Complex Instruction Set Computing (CISC) Processor, a Graphics Processing Unit (GPU), a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Radio- Frequency Integrated Circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, a processor 2912 and a processor 2914 that execute the instructions 2902. The term "processor" is intended to include multi-core processors that may comprise two or more independent processors (sometimes referred to as “cores”) that may execute instructions contemporaneously. Although FIG. 29 shows multiple processors 2904, the machine 2900 may include a single processor with a single-core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiples cores, or any combination thereof.
[0351] The memory 2906 includes a main memory 2916, a static memory 2918, and a storage unit 2920, both accessible to the processors 2904 via the bus 2910. The main memory 2906, the static memory 2918, and storage unit 2920 store the instructions 2902 embodying any one or more of the methodologies or functions described herein. The instructions 2902 may also reside, completely or partially, within the main memory 2916, within the static memory 2918, within machine-readable medium 2922 within the storage unit 2920, within at least one of the processors 2904 (e.g., within the processor’s cache memory), or any suitable combination thereof, during execution thereof by the machine 2900.
[0352] The I / O components 2908 may include a wide variety of components to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on. The specific I / O components 2908 that are included in a particular machine willdepend on the type of machine. For example, portable machines such as mobile phones may include a touch input device or other such input mechanisms, while a headless server machine will likely not include such a touch input device. It will be appreciated that the I / O components 2908 may include many other components that are not shown in FIG. 29. In various examples, the I / O components 2908 may include user output components 2924 and user input components 2926. The user output components 2924 may include visual components (e.g., a display such as a plasma display panel (PDP), a light-emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., a vibratory motor, resistance mechanisms), other signal generators, and so forth. The user input components 2926 may include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo- optical keyboard, or other alphanumeric input components), point-based input components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or another pointing instrument), tactile input components (e.g., a physical button, a touch screen that provides location and force of touches or touch gestures, or other tactile input components), audio input components (e.g., a microphone), and the like.
[0353] Communication may be implemented using a wide variety of technologies. The I / O components 2908 further include communication components 2928 operable to couple the machine 2900 to a network 2930 or devices 2932 via respective coupling or connections. For example, the communication components 2928 may include a network interface component or another suitable device to interface with the network 2930. In further examples, the communication components 2928 may include wired communication components, wireless communication components, cellular communication components, Near Field Communication (NFC) components, Bluetooth® components (e.g., Bluetooth® Low Energy), Wi-Fi® components, and other communication components to provide communication via other modalities. The devices 2932 may be another machine or any of a wide variety of peripheral devices (e.g., a peripheral device coupled via a USB).
[0354] Moreover, the communication components 2928 may detect identifiers or include components operable to detect identifiers. For example, the communication components 2928 may include Radio Frequency Identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., an optical sensor to detect onedimensional bar codes such as Universal Product Code (UPC) bar code, multi-dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph™, MaxiCode, PDF417, Ultra Code, UCC RSS- 2D bar code, and other optical codes), or acoustic detection components (e.g., microphones to identify tagged audio signals). In addition, a variety of information may be derived via the communication components 2928, such as location via Internet Protocol (IP) geolocation, location via Wi-Fi® signal triangulation, location via detecting an NFC beacon signal that may indicate a particular location, and so forth.
[0355] The various memories (e.g., main memory 2916, static memory 2918, and memory of the processors 2904) and storage unit 2920 may store one or more sets of instructions and data structures (e.g., software) embodying or used by any one or more of the methodologies or functions described herein. These instructions (e.g., the instructions 2902), when executed by processors 2904, cause various operations to implement the disclosed examples.
[0356] The instructions 2902 may be transmitted or received over the network 2930, using a transmission medium, via a network interface device (e.g., a network interface component included in the communication components 2928) and using any one of several well-known transfer protocols (e.g., hypertext transfer protocol (HTTP)). Similarly, the instructions 2902 may be transmitted or received using a transmission medium via a coupling (e.g., a peer-to-peer coupling) to the devices 2932.EXAMPLES
[0357] In view of the above-described implementations of subject matter this application discloses the following list of examples, wherein one feature of an example in isolation or more than one feature of an example, taken in combination and, optionally, in combination with one or more features ofone or more further examples are further examples also falling within the disclosure of this application.
[0358] Example 1 is a system comprising: one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: accessing a machine learning model that has a node topology with a plurality of nodes and a plurality of connections, wherein each connection is associated with a corresponding transmitting node and a corresponding receiving node and is configured to designate an output of the corresponding transmitting node as an input to the corresponding receiving node; reconfiguring the node topology of the machine learning model by removing a first node from the machine learning model; applying input data to the reconfigured node topology without the removed first node causing generation of a first metric for the machine learning model; determining that the first metric meets a performance threshold for the machine learning model; reconfiguring the node topology of the machine learning model by removing a second node from the machine learning model; applying the input data to the reconfigured node topology without the removed second node causing generation of a second metric for the machine learning model; determining that the second metric fails to meet the performance threshold for the machine learning model; and reconfiguring the node topology of the machine learning model by re-adding the second node to the machine learning model.
[0359] In Example 2, the subject matter of Example 1 includes, wherein the operations further comprise: repeatedly reconfiguring the node topology of the machine learning model by repeatedly removing nodes from the machine learning model until a metric of a most recently reconfigured node topology fails to meet the performance threshold for the machine learning model; and reconfiguring the node topology of the machine learning model by re-adding a most recently removed node back into the machine learning model.
[0360] In Example 3, the subject matter of Example 2 includes, wherein the operations further comprise: receiving new input data, reconfiguring the node topology of the machine learning model based on a third metric for themachine learning model, and generating an inference using the reconfigured node topology based on the third metric.
[0361] In Example 4, the subject matter of Examples 1-3 includes, wherein the operations further comprise: for each node in a group of nodes, identifying a metric, and based on the metric for each node in the group of nodes, determining to reconfigure the node topology by removing the first node.
[0362] In Example 5, the subject matter of Example 4 includes, wherein the metric comprises a self-efficacy indicator of an output of the first node affecting the input received from another node.
[0363] In Example 6, the subject matter of Examples 4-5 includes, wherein the metric is of a different performance characteristic than the first metric.
[0364] In Example 7, the subject matter of Examples 1-6 includes, wherein the operations further comprise: for each group of nodes in the machine learning model, identifying a metric, and based on the metric for each group of nodes, determining to reconfigure the node topology of a first group of nodes, wherein the first node is associated with the first group of nodes.
[0365] In Example 8, the subject matter of Examples 1-7 includes, the machine learning model is representation of a portion of a human body, wherein the performance threshold corresponds to a disease or a treatment to the disease for the portion of the human body.
[0366] In Example 9, the subject matter of Examples 1-8 includes, wherein the first metric is a performance of the reconfigured node topology without the first node over a plurality of time steps, wherein the machine learning model is performing inferences during each time step.
[0367] In Example 10, the subject matter of Examples 1-9 includes, wherein the removing of the first node comprises removing a first connection between the first node and a first connected node, removing a second connection between the first node and a second connected node, and creating a third connection between the first connected node and the second connected node, wherein the first connected node and the second connected node were connected to the first node before removal of the first node.
[0368] In Example 11, the subject matter of Examples 1-10 includes, wherein the removing of the first node comprises identifying a third node that is no longer connected to other nodes in the machine learning model as a result of removal of the first node and removing the third node from the machine learning model.
[0369] In Example 12, the subject matter of Examples 1-11 includes, wherein the first metric comprises a self-efficacy indicator of an output of the first node affecting an output of another node.
[0370] In Example 13, the subject matter of Example 12 includes, wherein the self-efficacy indicator indicates an extent or degree to which the output of the first node at a previous time step affects the output of the second node at a current time step.
[0371] In Example 14, the subject matter of Examples 1-13 includes, wherein the first metric further comprises a self-efficacy indicator of an output of the first node affecting an input from all other connected nodes.
[0372] In Example 15, the subject matter of Examples 1-14 includes, wherein the first metric comprises a variational or expected free energy of the first node with respect to a second node that is connected to the first node, wherein variational free energy is based on one or more expected inputs of the first node and one or more actual inputs received by the first node.
[0373] In Example 16, the subject matter of Examples 1-15 includes, wherein the machine learning model is configured to transmit the output of the first node at a previous time step back to the first node as an input at a current time step.
[0374] In Example 17, the subject matter of Examples 1-16 includes, wherein the first metric comprises a variational free energy based on an epistemic term, wherein a weighting for the machine learning model to improve the node topology is based on the epistemic term.
[0375] In Example 18, the subject matter of Example 17 includes, wherein the variational free energy is further based on a pragmatic term, wherein the weighting for the machine learning model is indicative of a weightingbetween improving the node topology based on the epistemic term and improving performance of the machine learning model.
[0376] Example 19 is a method comprising: accessing a machine learning model that has a node topology with a plurality of nodes and a plurality of connections, wherein each connection is associated with a corresponding transmitting node and a corresponding receiving node and is configured to designate an output of the corresponding transmitting node as an input to the corresponding receiving node; reconfiguring the node topology of the machine learning model by removing a first node from the machine learning model; applying input data to the reconfigured node topology without the removed first node causing generation of a first metric for the machine learning model; determining that the first metric meets a performance threshold for the machine learning model; reconfiguring the node topology of the machine learning model by removing a second node from the machine learning model; applying the input data to the reconfigured node topology without the removed second node causing generation of a second metric for the machine learning model; determining that the second metric fails to meet the performance threshold for the machine learning model; and reconfiguring the node topology of the machine learning model by re-adding the second node to the machine learning model.
[0377] Example 20 is a non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: accessing a machine learning model that has a node topology with a plurality of nodes and a plurality of connections, wherein each connection is associated with a corresponding transmitting node and a corresponding receiving node and is configured to designate an output of the corresponding transmitting node as an input to the corresponding receiving node; reconfiguring the node topology of the machine learning model by removing a first node from the machine learning model; applying input data to the reconfigured node topology without the removed first node causing generation of a first metric for the machine learning model; determining that the first metric meets a performance threshold for the machine learning model; reconfiguring the node topology of the machine learning model by removing a second nodefrom the machine learning model; applying the input data to the reconfigured node topology without the removed second node causing generation of a second metric for the machine learning model; determining that the second metric fails to meet the performance threshold for the machine learning model; and reconfiguring the node topology of the machine learning model by re-adding the second node to the machine learning model.
[0378] Example 21 is at least one machine-readable medium including instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations to implement any of Examples 1- 20.
[0379] Example 22 is an apparatus comprising means to implement any of Examples 1-20.
[0380] Example 23 is a system to implement any of Examples 1-20.
[0001] Example 24 is a method to implement any of Examples 1-20.CONCLUSION
[0381] Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense, i.e., in the sense of “including, but not limited to.” As used herein, the terms “connected,” “coupled,” or any variant thereof means any connection or coupling, either direct or indirect, between two or more elements; the coupling or connection between the elements can be physical, logical, or a combination thereof. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions of this application. Where the context permits, words using the singular or plural number may also include the plural or singular number respectively. The word “or” in reference to a list of two or more items, covers all of the following interpretations of the word: any one of the items in the list, all of the items in the list, and any combination of the items in the list. Likewise, the term “or” in reference to a list of two or more items, covers all of the following interpretations of the word: any one of the items in the list, all of the items in the list, and any combination of the items in the list.
[0382] Although some examples, e.g., those depicted in the drawings, include a particular sequence of operations, the sequence may be altered without departing from the scope of the present disclosure. For example, some of the operations depicted may be performed in parallel or in a different sequence that does not materially affect the functions as described in the examples. In other examples, different components of an example device or system that implements an example method may perform functions at substantially the same time or in a specific sequence.
[0383] The various features, steps, and processes described herein may be used independently of one another, or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure. In addition, certain method or process blocks may be omitted in some implementations.
[0384] A “non-transitory” machine-readable medium, as used herein, specifically excludes propagating signals per se. According to various example embodiments, the instructions for execution by a machine or processor can be communicated via a carrier medium (e.g., a machine- readable carrier medium). Examples of such a carrier medium include a non-transient carrier medium (e.g., a non-transitory machine-readable storage medium, such as a solid-state memory that is physically movable from one place to another place) and a transient carrier medium (e.g., a carrier wave or other propagating signal that communicates the instructions to the machine or processor).
Claims
CLAIMSWhat is claimed is:
1. A system comprising: one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: accessing a machine learning model that has a node topology with a plurality of nodes and a plurality of connections, wherein each connection is associated with a corresponding transmitting node and a corresponding receiving node and is configured to designate an output of the corresponding transmitting node as an input to the corresponding receiving node; reconfiguring the node topology of the machine learning model by removing a first node from the machine learning model; applying input data to the reconfigured node topology without the removed first node causing generation of a first metric for the machine learning model; determining that the first metric meets a performance threshold for the machine learning model; reconfiguring the node topology of the machine learning model by removing a second node from the machine learning model; applying the input data to the reconfigured node topology without the removed second node causing generation of a second metric for the machine learning model; determining that the second metric fails to meet the performance threshold for the machine learning model; and reconfiguring the node topology of the machine learning model by re-adding the second node to the machine learning model.
2. The system of claim 1, wherein the operations further comprise: repeatedly reconfiguring the node topology of the machine learning model by repeatedly removing nodes from the machine learning model untila metric of a most recently reconfigured node topology fails to meet the performance threshold for the machine learning model; and reconfiguring the node topology of the machine learning model by readding a most recently removed node back into the machine learning model.
3. The system of claim 2, wherein the operations further comprise: receiving new input data, reconfiguring the node topology of the machine learning model based on a third metric for the machine learning model, and generating an inference using the reconfigured node topology based on the third metric.
4. The system of claim 1, wherein the operations further comprise: for each node in a group of nodes, identifying a metric, and based on the metric for each node in the group of nodes, determining to reconfigure the node topology by removing the first node.
5. The system of claim 4, wherein the metric comprises a self-efficacy indicator of an output of the first node affecting the input received from another node.
6. The system of claim 4, wherein the metric is of a different performance characteristic than the first metric.
7. The system of claim 1, wherein the operations further comprise: for each group of nodes in the machine learning model, identifying a metric, and based on the metric for each group of nodes, determining to reconfigure the node topology of a first group of nodes, wherein the first node is associated with the first group of nodes.
8. The system of claim 1, the machine learning model is representation of a portion of a human body, wherein the performance threshold corresponds to a disease or a treatment to the disease for the portion of the human body.
9. The system of claim 1, wherein the first metric is a performance of the reconfigured node topology without the first node over a plurality of time steps, wherein the machine learning model is performing inferences during each time step.
10. The system of claim 1, wherein the removing of the first node comprises removing a first connection between the first node and a first connected node, removing a second connection between the first node and a second connected node, and creating a third connection between the first connected node and the second connected node, wherein the first connected node and the second connected node were connected to the first node before removal of the first node.
11. The system of claim 1, wherein the removing of the first node comprises identifying a third node that is no longer connected to other nodes in the machine learning model as a result of removal of the first node and removing the third node from the machine learning model.
12. The system of claim 1, wherein the first metric comprises a self- efficacy indicator of an output of the first node affecting an output of another node.
13. The system of claim 12, wherein the self-efficacy indicator indicates an extent or degree to which the output of the first node at a previous time step affects the output of the second node at a current time step.
14. The system of claim 1, wherein the first metric further comprises a self- efficacy indicator of an output of the first node affecting an input from all other connected nodes.
15. The system of claim 1, wherein the first metric comprises a variational or expected free energy of the first node with respect to a second node that is connected to the first node, wherein variational free energy is based on one or more expected inputs of the first node and one or more actual inputs received by the first node.
16. The system of claim 1, wherein the machine learning model is configured to transmit the output of the first node at a previous time step back to the first node as an input at a current time step.
17. The system of claim 1, wherein the first metric comprises a variational free energy based on an epistemic term, wherein a weighting for the machine learning model to improve the node topology is based on the epistemic term.
18. The system of claim 17, wherein the variational free energy is further based on a pragmatic term, wherein the weighting for the machine learning model is indicative of a weighting between improving the node topology based on the epistemic term and improving performance of the machine learning model.
19. A method comprising: accessing a machine learning model that has a node topology with a plurality of nodes and a plurality of connections, wherein each connection is associated with a corresponding transmitting node and a corresponding receiving node and is configured to designate an output of the corresponding transmitting node as an input to the corresponding receiving node; reconfiguring the node topology of the machine learning model by removing a first node from the machine learning model; applying input data to the reconfigured node topology without the removed first node causing generation of a first metric for the machine learning model; determining that the first metric meets a performance threshold for the machine learning model; reconfiguring the node topology of the machine learning model by removing a second node from the machine learning model; applying the input data to the reconfigured node topology without the removed second node causing generation of a second metric for the machine learning model; determining that the second metric fails to meet the performance threshold for the machine learning model; and reconfiguring the node topology of the machine learning model by readding the second node to the machine learning model.
20. A non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: accessing a machine learning model that has a node topology with a plurality of nodes and a plurality of connections, wherein each connection is associated with a corresponding transmitting node and a corresponding receiving node and is configured to designate an output of the corresponding transmitting node as an input to the corresponding receiving node; reconfiguring the node topology of the machine learning model by removing a first node from the machine learning model; applying input data to the reconfigured node topology without the removed first node causing generation of a first metric for the machine learning model; determining that the first metric meets a performance threshold for the machine learning model; reconfiguring the node topology of the machine learning model by removing a second node from the machine learning model; applying the input data to the reconfigured node topology without the removed second node causing generation of a second metric for the machine learning model; determining that the second metric fails to meet the performance threshold for the machine learning model; and reconfiguring the node topology of the machine learning model by readding the second node to the machine learning model.
Citation Information
Patent Citations
Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform
US10325343B1
Visual analysis framework for understanding missing links in bipartite networks
US20200160188A1
Automatic prediction of behavior and topology of a network using limited information
US20200396135A1
Machine-learning infused network topology generation and deployment
US20210392049A1
Training a digital twin in artificial intelligence-defined networking
US20220245462A1