Bardo.AgentManager.SignalAggregator (Bardo v0.1.0)
View SourceThe SignalAggregator module contains various aggregation functions.
An aggregation function is a function that in some manner gathers the input signal vectors, does something with it and the synaptic weights, and then produces a scalar value. For example, consider the dot product. The dot_product aggregation function composes the scalar value by aggregating the input vectors, and then calculating the dot product of the input vectors and the synaptic weights.
Another way to calculate a scalar value from the input and weight vectors is by multiplying the corresponding input signals by their weights, but instead of adding the resulting multiplied values, we multiply them. The are many other types of aggregation functions that could be created. We can also add normalizer functions, which could normalize the input signals.
Summary
Functions
Apply the appropriate aggregation function to the input.
The diff_product can be thought of as a neuron that looks not at the actual signal amplitudes, but the temporal difference in signal amplitudes. If the input signals have stabilized, then the neuron's input is calculated as a 0, if there is a sudden change in the signal, the neuron will see it.
The dot_product aggregation function is used in almost all artificial neural network implementations. It can be considered stable/proven.
The worth of the mult_product aggregation function is questionable, and should be further studied through benchmarking and testing. If there is any worth to this type of signal aggregator, evolution will find it!
Functions
Apply the appropriate aggregation function to the input.
This is a dispatcher that routes to the appropriate aggregation function based on the function name provided.
The diff_product can be thought of as a neuron that looks not at the actual signal amplitudes, but the temporal difference in signal amplitudes. If the input signals have stabilized, then the neuron's input is calculated as a 0, if there is a sudden change in the signal, the neuron will see it.
The dot_product aggregation function is used in almost all artificial neural network implementations. It can be considered stable/proven.
The worth of the mult_product aggregation function is questionable, and should be further studied through benchmarking and testing. If there is any worth to this type of signal aggregator, evolution will find it!