Modular Feature Extraction Memoization for ML Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Feature extraction in machine learning is often inefficient, particularly due to the need for repeated computations and storage of entire feature matrices, which can slow down the process and increase storage requirements, especially when dealing with complex data sets like medical records.

Innovation Solution

A memoization mechanism is introduced that uses a dependency graph of feature extractors to compute and store node lookup keys, allowing for the reuse of previously computed features and efficient storage and retrieval of train-statistics, thereby optimizing feature extraction processes by reusing previously computed results and reducing redundant computations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If feature extraction is performed repeatedly on different cohorts or sub-cohorts, then comprehensive analysis coverage is improved, but processing time and computational resources increase significantly

Engineering Contradiction:
Improveanalysis coverageVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs feature extraction in advance on the complete cohort and stores the results. When analysis is needed on sub-cohorts or sampled data, the pre-computed features are retrieved and filtered according to the subset criteria, eliminating the need to re-extract features and significantly reducing processing time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The feature extraction process is designed to be universal and cohort-agnostic. Features are extracted from the complete cohort in a way that makes them applicable to any subset or sub-cohort through simple filtering, allowing the same extraction logic to serve multiple analysis purposes without re-computation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If complete feature matrices are stored for all cohorts, then data completeness is improved, but storage requirements increase

Engineering Contradiction:
Improvedata completenessVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of storing complete feature matrices for every possible cohort combination, the system extracts and stores only the essential feature data from the complete cohort. Sub-cohort analyses are performed by filtering and selecting relevant features from this compact stored representation, reducing storage requirements while maintaining data completeness for all analysis needs.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If feature extraction is performed on sampled sub-cohorts independently, then sampling analysis accuracy is improved, but redundant computations increase

Engineering Contradiction:
Improvesampling analysis accuracyVSAvoidcomputational efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system pre-computes features on the complete cohort before sampling. When sampled sub-cohorts need analysis, the pre-computed features are retrieved and filtered to the sampled instances, maintaining sampling analysis accuracy while eliminating redundant feature extraction computations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10572822B2Modular memoization, tracking and train-data management of feature extraction
Publication Date: 2020.02.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10572822B2 patent drawing
  • US10572822B2 patent drawing
  • US10572822B2 patent drawing

AI summary

There is provided, in accordance with some embodiments, a method for receiving electronic documents representing a dependency graph comprising feature extractors at each graph node and directed edges corresponding to computational dependencies of the feature extractors. For at least some feature extractors, extractor defining data, comprising extractor data and computational dependencies of the graph node in the dependency graph are determined, and a node lookup key based on the extractor defining data is computed. When the node lookup key is associated with a stored set of output feature values, the stored set is assigned as output values of the feature extractor. When node lookup key is not associated with a stored set of output feature values, a new set of output feature values is computed, stored, and associated the node lookup key. The one set of output feature values are sent as an output feature set.