Architecture for a hardware based explainable neural network
AssigneeUMNAI Limited
InventorsAngelo Dalli, Mauro Pirrone
Life of this patent
Estimating the term…
Abstract
Explainable neural networks may be designed to be easily implementable in hardware efficiently, leading to substantial speed and space improvements. An exemplary embodiment extends upon possible hardware embodiments of XNNs, making them suitable for low power applications, smartphones, mobile computing devices, autonomous machines, server accelerators, Internet of Things (IoT) and edge computing applications amongst many other applications. The capability of XNNs to be transformed from one form to another while preserving their logical equivalence is exploited to create efficient, secure hardware implementations that are optimized for the desired application domain and predictable in their behavior.
Claims20
A method of encoding a software artificial neural network as a mixed artificial neural network comprising at least one fixed-function hardware circuit, wherein said software artificial neural network and said mixed artificial neural network are interpretable and explainable as encoded, wherein the software artificial neural network comprises:
- an input layer configured to receive an input and identify one or more input features;
- a conditional network, comprising:
- a conditional layer configured to model the input features based on a plurality of partitions, wherein each partition in the plurality of partitions comprises a rule in a plurality of rules, said rule being uniquely associated with at least one partition, each of the partitions in the plurality of partitions comprising a local model and wherein a combination of local models forms a global model;
- an aggregation layer configured to aggregate the plurality of rules into one or more aggregated partitions by concatenating a first vector or transform associated with a first rule and a second vector or transform associated with a second rule, and by generating an aggregated partition based on a concatenated vector or transform;
- and
- a switch output layer configured to selectively pool the one or more aggregated partitions from the aggregation layer with the plurality of partitions from the conditional layer by connecting multiple partitions, including the one or more aggregated partitions and the plurality of partitions, with a switch designating a set of partitions to activate;
- a prediction network, comprising:
- a feature generation and transformation network comprising one or more transformation neurons configured to apply one or more transformations to the input features;
- a fit layer configured to combine features which have been transformed by the feature generation and transformation network to identify one or more coefficients related to at least one of:
- one or more features and the plurality of partitions;
- a value output layer configured to analyze the one or more coefficients and configured to output a value related to at least one of the one or more features or the plurality of partitions;
- and
- an output layer configured to generate, based on a single feed-forward step operation from the input layer to the output layer, an output which is interpretable and explainable by at least one of a machine program or a human;
- wherein encoding the software artificial neural network as the mixed artificial neural network comprises:
- providing, in the plurality of rules and one or more coefficients, at least one static rule or coefficient, and hard-coding the at least one static rule or coefficient into the at least one fixed-function hardware circuit;
- and
- providing, in the plurality of rules and one or more coefficients, at least one dynamic rule or coefficient, and providing the at least one dynamic rule or coefficient on a subsystem other than the at least one fixed-function hardware circuit, said subsystem changeable by the mixed artificial neural network.
A non-transitory computer-readable medium comprising program code that, when executed by a system comprising a processor and a memory, causes the system to encode a software artificial neural network stored on the memory as a mixed artificial neural network comprising at least one fixed-function hardware circuit, wherein said software artificial neural network and said mixed artificial neural network are interpretable and explainable as encoded, wherein the software artificial neural network comprises:
- an input layer configured to receive an input and identify one or more input features;
- a conditional network, comprising:
- a conditional layer configured to model the input features based on a plurality of partitions, wherein each partition in the plurality of partitions comprises a rule in a plurality of rules, said rule being uniquely associated with at least one partition, each of the partitions in the plurality of partitions comprising a local model and wherein a combination of local models forms a global model;
- an aggregation layer configured to aggregate the plurality of rules into one or more aggregated partitions by concatenating a first vector or transform associated with a first rule and a second vector or transform associated with a second rule, and by generating an aggregated partition based on a concatenated vector or transform;
- and
- a switch output layer configured to selectively pool the one or more aggregated partitions from the aggregation layer with the plurality of partitions from the conditional layer by connecting multiple partitions, including the one or more aggregated partitions and the plurality of partitions, with a switch designating a set of partitions to activate;
- a prediction network, comprising:
- a feature generation and transformation network comprising one or more transformation neurons configured to apply one or more transformations to the input features;
- a fit layer configured to combine features which have been transformed by the feature generation and transformation network to identify one or more coefficients related to at least one of:
- one or more features and the plurality of partitions;
- a value output layer configured to analyze the one or more coefficients and configured to output a value related to at least one of the one or more features or the plurality of partitions;
- and
- an output layer configured to generate, based on a single feed-forward step operation from the input layer to the output layer, an output which is interpretable and explainable by at least one of a machine program or a human;
- wherein encoding the software artificial neural network as the mixed artificial neural network comprises:
- providing, in the plurality of rules and one or more coefficients, at least one static rule or coefficient, and hard-coding the at least one static rule or coefficient into the at least one fixed-function hardware circuit;
- and
- providing, in the plurality of rules and one or more coefficients, at least one dynamic rule or coefficient, and providing the at least one dynamic rule or coefficient on a subsystem other than the at least one fixed-function hardware circuit, said subsystem changeable by the mixed artificial neural network.
A system for forming at least one fixed-function hardware circuit, the system comprising a processor and a memory, the memory comprising instructions that, when executed, cause the system to encode a software artificial neural network stored on the memory as a mixed artificial neural network comprising the at least one fixed-function hardware circuit, wherein said software artificial neural network and said mixed artificial neural network are interpretable and explainable as encoded, wherein the software artificial neural network comprises:
- an input layer configured to receive an input and identify one or more input features;
- a conditional network, comprising:
- a conditional layer configured to model the input features based on a plurality of partitions, wherein each partition in the plurality of partitions comprises a rule in a plurality of rules, said rule being uniquely associated with at least one partition, each of the partitions in the plurality of partitions comprising a local model and wherein a combination of local models forms a global model;
- an aggregation layer configured to aggregate the plurality of rules into one or more aggregated partitions by concatenating a first vector or transform associated with a first rule and a second vector or transform associated with a second rule, and by generating an aggregated partition based on a concatenated vector or transform;
- and
- a switch output layer configured to selectively pool the one or more aggregated partitions from the aggregation layer with the plurality of partitions from the conditional layer by connecting multiple partitions, including the one or more aggregated partitions and the plurality of partitions, with a switch designating a set of partitions to activate;
- a prediction network, comprising:
- a feature generation and transformation network comprising one or more transformation neurons configured to apply one or more transformations to the input features;
- a fit layer configured to combine features which have been transformed by the feature generation and transformation network to identify one or more coefficients related to at least one of:
- one or more features and the plurality of partitions;
- a value output layer configured to analyze the one or more coefficients and configured to output a value related to at least one of the one or more features or the plurality of partitions;
- and
- an output layer configured to generate, based on a single feed-forward step operation from the input layer to the output layer, an output which is interpretable and explainable by at least one of a machine program or a human;
- wherein encoding the software artificial neural network as the mixed artificial neural network comprises:
- providing, in the plurality of rules and one or more coefficients, at least one static rule or coefficient, and hard-coding the at least one static rule or coefficient into the at least one fixed-function hardware circuit;
- and
- providing, in the plurality of rules and one or more coefficients, at least one dynamic rule or coefficient, and providing the at least one dynamic rule or coefficient on a subsystem other than the at least one fixed-function hardware circuit, said subsystem changeable by the mixed artificial neural network.
Dependencies are inferred from the claim text.