Uncertainty-Aware Inference Engine for Efficient Machine Learning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Inference engines in machine learning are often computationally expensive and time-consuming due to their complex algorithms, making them inefficient and resource-intensive, particularly in resource-constrained devices like smartphones and tablets.

Innovation Solution

An inference engine that uses uncertainty-aware predictors to speed up process steps by predicting outputs and computing uncertainty, allowing for the selection between predicted outputs and computationally expensive known processes, with predictors like random decision forests and support vector machines trained online or in batch mode to reduce resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complex inference algorithms are used to improve prediction accuracy, then reliability is improved, but computing resources and time consumption increase

Engineering Contradiction:
Improveprediction accuracyVSAvoidinference speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically switches between two different inference approaches: using a computationally expensive accurate inference algorithm when reliability is prioritized, and using a simplified fast inference algorithm when speed is prioritized. This dynamic adaptation allows the system to optimize performance based on real-time requirements rather than being constrained by a fixed approach.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the complexity parameter of the inference algorithm based on operational needs. By adjusting the level of computational complexity dynamically, the system can achieve high accuracy when needed while maintaining fast processing when resource constraints require efficiency. This parameter adjustment resolves the contradiction between accuracy and speed.

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If resource-intensive accurate processes are used to compute known outputs, then manufacturing precision is improved, but use of energy and computing resources increases

Engineering Contradiction:
Improveoutput accuracyVSAvoidcomputing resource consumption
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

Instead of always applying the full computationally expensive accurate process, the system applies it only partially or selectively - specifically when the simplified inference algorithm's uncertainty exceeds a threshold. For cases where the simplified algorithm provides sufficient accuracy, the resource-intensive process is skipped entirely, thus reducing overall energy consumption while maintaining required precision.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The simplified inference algorithm acts as an intermediary that filters cases before they reach the resource-intensive accurate process. By pre-evaluating inputs with the low-cost algorithm and only passing uncertain cases to the expensive algorithm, the system reduces overall computing resource consumption while maintaining accuracy where needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If complex inference algorithms are deployed on resource-constrained devices, then functionality is improved, but device complexity and resource requirements increase

Engineering Contradiction:
Improveinference capabilityVSAvoidsystem resource requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The inference system is segmented into two distinct components: a simplified fast inference algorithm and a complex accurate inference algorithm. This segmentation allows the system to deploy on resource-constrained devices by using the lightweight algorithm as the primary engine, while optionally invoking the more complex algorithm only when needed, thus reducing overall device complexity requirements while maintaining advanced inference capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The simplified inference algorithm serves as an intermediary layer between the resource-constrained device and the complex inference requirements. It handles the majority of inference tasks with minimal resources, acting as a gateway that only escalates to the complex algorithm when necessary, thereby enabling deployment on constrained devices without sacrificing advanced inference functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10127497B2Interface engine for efficient machine learning
Publication Date: 2018.11.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10127497B2 patent drawing
  • US10127497B2 patent drawing
  • US10127497B2 patent drawing

AI summary

An inference engine is described for efficient machine learning. For example, an inference engine executes a plurality of ordered steps to carry out inference on the basis of observed data. For each step, a plurality of inputs to the step are received. A predictor predicts an output of the step and computes uncertainty of the prediction. Either the predicted output or a known output is selected on the basis of the uncertainty. If the known output is selected, the known output is computed, (for example, using a resource intensive, accurate process). The predictor is retrained using the known output and the plurality of inputs of the step as training data. For example, computing the prediction is fast and efficient as compared with computing the known output.