Stochastic K-Means Inference Circuit for Low-Power Online Learning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolutional neural networks (CNNs) face challenges in operating with reduced bit resolution during both feed-forward and learning modes, particularly due to noisy scaling operations and limited memory, which limits their efficiency in power-constrained hardware implementations.

Innovation Solution

A stochastic K-means clustering method is introduced for CNNs, where template updates are performed probabilistically rather than deterministically, allowing for incremental or decremental changes in memory elements based on the difference between input data and template values, thereby avoiding the need for floating-point operations and accommodating limited bit-resolution memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If deterministic K-means clustering with scaling operations is used, then learning accuracy is improved, but power consumption increases and hardware implementation becomes complex

Engineering Contradiction:
Improvelearning accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent replaces expensive floating-point arithmetic operations with cheap integer arithmetic operations. The stochastic update rule uses only addition, subtraction, and comparison operations on integer values, eliminating the need for complex floating-point units in hardware. This allows accurate learning to be achieved through simple, low-power integer computations that can be implemented efficiently in hardware.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent changes the mathematical parameters of the K-means algorithm from continuous floating-point values to discrete integer values. The stochastic update rule modifies template elements by integer increments or decrements based on probabilistic decisions, rather than using continuous scaling operations. This parameter transformation enables accurate learning while reducing power consumption through simpler arithmetic.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If floating-point operations are used for K-means clustering, then learning precision is improved, but device complexity increases

Engineering Contradiction:
Improvelearning precisionVSAvoidhardware complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent substitutes complex floating-point arithmetic operations with simple integer arithmetic operations. The stochastic update rule requires only basic integer addition, subtraction, and comparison operations, which can be implemented with simple logic circuits rather than complex floating-point units. This substitution dramatically reduces hardware complexity while maintaining learning precision through the probabilistic update mechanism.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Measurement precision

If high bit-resolution memory is used, then computation accuracy is improved, but power consumption and memory requirements increase

Engineering Contradiction:
Improvecomputation accuracyVSAvoidmemory resources
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent uses low-bit-resolution integer representations for template elements and input data, replacing the need for high-bit-resolution floating-point memory. The stochastic update rule operates efficiently on these compact integer values, achieving accurate learning with minimal memory resources. This approach trades off some representation precision for dramatically reduced memory requirements and power consumption.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

4Speed

If standard deterministic K-means is implemented, then convergence speed is improved, but adaptability to limited resolution hardware decreases

Engineering Contradiction:
Improveconvergence speedVSAvoidhardware adaptability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic stochastic updates that adapt to the discrete nature of integer arithmetic. Rather than using fixed deterministic scaling operations that break down at low bit resolutions, the stochastic update rule dynamically adjusts template elements through probabilistic integer increments or decrements. This dynamic approach maintains convergence while adapting to the constraints of limited-resolution hardware.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent transforms the K-means algorithm parameters from continuous floating-point domain to discrete integer domain. The stochastic update rule uses probability distributions over integer changes rather than continuous scaling factors. This parameter transformation enables the algorithm to converge effectively on hardware with limited bit resolution, achieving both speed and hardware adaptability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10853738B1Inference circuit for improving online learning
Publication Date: 2020.12.01 HRL LAB
  • US10853738B1 patent drawing
  • US10853738B1 patent drawing
  • US10853738B1 patent drawing

AI summary

Described is an inference circuit for pattern recognition for use within convolutional neural nets for online learning using K-means clustering. The inference circuit includes a set of templates, each template having a template data memory. The inference circuit also include at least one match element, the match element being operable for receiving an input data pattern and determining a degree of match between the input data pattern and a template. A best match logic circuit is included for selecting a template in the set of templates that best matches the input data pattern, said template being a best match template. Finally, an updated is included for probabilistically modifying the template data memories based on the best match template.