Neural Network Data Replacement Using Invalid Values

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex computing operations, such as those in machine learning, face challenges when dealing with invalid data values, as storing additional information to exclude these values is costly in terms of storage and computation, and setting them to zero limits operations to simple multiply and accumulate operations.

Innovation Solution

The system employs special or invalid data values, such as −0 or NaN, to represent out-of-bounds pixel values, which are propagated through the computational pipeline without the need for additional storage or instructions, allowing valid data values to be processed while ignoring invalid ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If additional information is stored to indicate which data values are to be excluded, then data validity can be tracked, but storage cost and computation overhead increase

Engineering Contradiction:
Improvedata validity trackingVSAvoidstorage and computation overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the validity information from separate storage structures and integrates it directly into the data values themselves by using specific bit patterns (such as NaN or signed zero) to encode validity status. This eliminates the need for additional mask registers or validity bits, thereby reducing storage overhead and simplifying the computational pipeline while maintaining reliable data validity tracking.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent merges the data value and its validity indicator into a single unified representation. By encoding validity information within the data value's bit pattern (e.g., using NaN for invalid values or signed zero for excluded values), the system combines what would traditionally be separate entities (data and validity mask) into one, reducing the number of storage locations and instructions needed.

Inventive Principle:
Principle #5Merging (Combining)

2Device complexity

If invalid data values are set to zero, then storage is simplified, but only simple MAC operations can be performed

Engineering Contradiction:
Improvestorage simplicityVSAvoidoperation types supported
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent applies different interpretations to different bit patterns within the same data structure. Valid data values are processed normally, while specific local patterns (NaN, signed zero) are recognized as invalid and handled differently by the computational units. This allows the system to maintain storage simplicity while enabling complex operations, as the processing logic adapts locally based on the detected pattern rather than requiring all values to be treated uniformly as zero.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter representation of invalid values from a simple zero value to specialized bit patterns (NaN, signed zero) that carry semantic meaning about their invalid status. This parameter change allows the computational units to distinguish between valid zero values and invalid values, enabling them to perform complex operations like convolutions and ReLU activations while properly handling invalid data without collapsing to simple MAC operations.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If special values like NaN or signed zero are used to represent invalid data, then operation versatility is maintained, but data interpretation complexity increases

Engineering Contradiction:
Improveoperation types supportedVSAvoiddata interpretation complexity
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements self-service by designing computational units that automatically detect and handle special values (NaN, signed zero) without requiring external validity masks or complex control logic. The arithmetic logic units and neural network processing elements are configured to recognize these bit patterns intrinsically and adjust their operation accordingly, allowing the data itself to carry its own validity information and enabling complex operations while keeping the interpretation mechanism relatively simple through hardware-level pattern recognition.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20230110438A1Neural network data replacement
Publication Date: 2023.04.13 NVIDIA CORP
  • US20230110438A1 patent drawing
  • US20230110438A1 patent drawing
  • US20230110438A1 patent drawing

AI summary

Apparatuses, systems, and techniques are presented to perform one or more operations. In at least one embodiment, one or more data values, to be used by one or more neural networks, are caused to be replaced by one or more invalid data values.