Lean Machine Learning Model for Embedded Software

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Embedded software, such as embedded print raster image processors, is limited in functionality due to resource constraints, preventing the use of machine learning models due to high memory requirements and processing time.

Innovation Solution

The implementation of a lean machine learning model, trained in association with a complex machine learning model, reduces memory requirements and processing time, allowing machine learning to be used in embedded software by utilizing a minimal number of layers and applying the model only to regions of interest.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a complex machine learning model with many layers is used, then model effectiveness and accuracy are improved, but memory requirements and processing time increase making it unsuitable for embedded devices

Engineering Contradiction:
Improvemodel effectivenessVSAvoidmemory requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential components needed for training by identifying and removing redundant layers from the complex model to create a lean model structure that retains training effectiveness while reducing memory footprint for deployment in embedded systems

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies different model complexities to different operational phases: a lean model structure is used during training phases requiring minimal memory, while a complex model can be used during inference phases when higher accuracy is needed, optimizing resource allocation across different operational contexts

Inventive Principle:
Principle #3Local quality

2Reliability

If a complex machine learning model with many layers is used, then model effectiveness is improved, but processing time increases making it unsuitable for real-time embedded applications

Engineering Contradiction:
Improvemodel effectivenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the machine learning model into a lean version with essential layers for training and a complex version for inference, allowing the system to use the appropriate model complexity for each phase and thereby reducing overall processing time while maintaining effectiveness

Inventive Principle:
Principle #1Segmentation

3Productivity

If a lean machine learning model with fewer layers is used, then memory requirements and processing time are reduced for embedded devices, but model effectiveness may be compromised

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidmodel effectiveness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent creates a dynamic system where the model structure can adapt between lean and complex configurations based on operational requirements, allowing the system to switch between memory-efficient training mode and accuracy-optimized inference mode to maintain effectiveness while improving processing efficiency

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12204964B2Facilitating implementation of machine learning models in embedded software
Publication Date: 2025.01.21 ADOBE INC
  • US12204964B2 patent drawing
  • US12204964B2 patent drawing
  • US12204964B2 patent drawing

AI summary

Methods and systems are provided for facilitating implementation of machine learning models in embedded software. In embodiments, a lean machine learning model, having a limited number of layers, is trained in association with a complex machine learning model, having a greater number of layers. To this end, a complex machine learning model, having a first number of layers, can be trained based on an output generated from a lean machine learning model used as input to the complex machine learning model. Further, the lean machine learning model, having a second number of layers less than the first number of layers, is trained using a loss value generated in association with training the complex machine learning model. Thereafter, the trained lean machine learning model can be provided for implementation in an embedded software.