ANN Neuron Computation via Selective Input Pair Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies, including CPUs, GPUs, and FPGAs, face challenges in efficiently processing artificial neural networks (ANNs) due to high computational loads, power consumption, and programming complexities, particularly in handling massive data movements and integrating with AI frameworks.

Innovation Solution

A system and method that utilize processing units to selectively process pairs of input values and weights in ANNs, optimizing calculations by sorting and selecting pairs based on absolute values and bit positions, reducing redundant operations and power consumption, and dynamically determining when to stop calculations based on thresholds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If GPUs are used to process large ANNs to overcome throughput limitations, then computational throughput is improved, but power consumption increases excessively

Engineering Contradiction:
Improvecomputational throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts and processes only the most significant pairs of input values and weights that contribute meaningfully to the neuron computation outcome. By identifying and processing a subset of critical data pairs rather than all pairs, the system achieves acceptable computational accuracy with significantly reduced processing load and power consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements partial action by processing only a portion of the total input-value/weight pairs—specifically those with the highest absolute values—rather than performing complete computations on all pairs. This partial processing approach maintains sufficient computational accuracy while dramatically reducing the computational throughput requirement and associated power consumption.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If FPGAs are configured to perform parallel computations for ANNs, then computational efficiency is improved, but programming complexity increases significantly

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidprogramming complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary sorting of input values and weights by absolute value before processing. This pre-processing step organizes the data in advance, allowing the FPGA to simply process pairs in sorted order without requiring complex runtime decision logic, thereby reducing programming complexity while maintaining computational efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the processing parameter from computing all pairs to computing only the top N pairs with highest absolute values. This parameter change simplifies the FPGA programming by establishing a clear stopping criterion based on a threshold, reducing the need for complex control logic while preserving computational efficiency through focused processing of significant pairs.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If all pairs of input values and weights are processed to ensure accurate neuron computation, then computational accuracy is improved, but computational load and processing time increase

Engineering Contradiction:
Improvecomputation accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts and processes only the most significant pairs of input values and weights that contribute meaningfully to the neuron computation outcome. By identifying and processing a subset of critical data pairs rather than all pairs, the system achieves acceptable computational accuracy with significantly reduced processing time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the processing parameter from computing all pairs to computing only the top N pairs with highest absolute values. This parameter change maintains sufficient accuracy for practical applications while dramatically reducing processing time by eliminating computations on less significant pairs.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If standard FPGA solutions are implemented for ANN computations, then hardware-level parallel processing is achieved, but adaptability to different ANN architectures and AI frameworks is reduced

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidadaptability to ANN architectures
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal sorting and selective processing approach that can be applied across different ANN architectures and AI frameworks. The method of sorting pairs by absolute value and processing the top N pairs is architecture-agnostic and can be integrated into various FPGA-based ANN solutions, enhancing adaptability while maintaining parallel processing efficiency.

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

Data Source

PatentUS11645510B2Accelerating neuron computations in artificial neural networks by selecting input data
Publication Date: 2023.05.09 XILINX INC
  • US11645510B2 patent drawing
  • US11645510B2 patent drawing
  • US11645510B2 patent drawing

AI summary

An example method for accelerating neuron computations in an artificial neural network (ANN) comprises receiving a plurality of pairs of first values and second values associated with a neuron of an ANN, selecting pairs from the plurality of pairs, wherein a count of the selected pairs is less than a count of all pairs in the plurality of pairs, performing mathematical operations on the selected pairs to obtain a result, determining that the result does not satisfy a criterion, and, until the result satisfies the criterion, selecting further pairs from the plurality, performing the mathematical operations on the selected further pairs to obtain further results, and determining, based on the result and the further results, an output of the neuron.