Approximate Neural Network Arithmetic With Selective Module Deactivation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In mobile applications, particularly in battery-operated devices, there is a lack of energy and space for powerful GPUs to perform calculations in artificial neural networks (ANNs), necessitating an energy-efficient arithmetic unit for weighted sum calculations.

Innovation Solution

An arithmetic unit with modular design that can deactivate or omit unnecessary modules for calculations, using a combination of arithmetic modules, adders, and control logic to reduce energy consumption and size, while maintaining acceptable precision for ANN operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If powerful GPUs are used for calculations in ANNs, then calculation performance is improved, but energy consumption and device size increase

Engineering Contradiction:
Improvecalculation performanceVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The arithmetic unit is divided into multiple arithmetic modules, each capable of performing calculations independently. This segmentation allows the system to activate only the necessary modules for each specific calculation task, rather than continuously operating all modules at full capacity, thereby reducing overall energy consumption while maintaining calculation performance when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The arithmetic unit employs dynamic module activation where arithmetic modules can be selectively enabled or disabled based on the current computational requirements. This dynamic control allows the system to adapt its energy consumption to the actual workload, improving energy efficiency without permanently sacrificing calculation performance.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If all arithmetic modules are activated for exact calculations, then calculation precision is improved, but energy consumption increases

Engineering Contradiction:
Improvecalculation precisionVSAvoidenergy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system applies partial action by activating only the necessary number of arithmetic modules required to achieve the desired calculation precision for each specific task. Instead of always using all modules for maximum precision, the system uses just enough computational resources to meet the current precision requirements, thereby reducing energy consumption.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The arithmetic unit dynamically changes operational parameters by adjusting which modules are active based on the current precision requirements. This parameter change allows the system to optimize the balance between calculation precision and energy consumption by matching the computational resources to the actual needs of each calculation task.

Inventive Principle:
Principle #35Parameter changes

3Use of energy by moving object

If arithmetic modules are deactivated to save energy, then energy consumption is reduced, but calculation precision deteriorates

Engineering Contradiction:
Improveenergy consumptionVSAvoidcalculation precision
Core Design Contradiction:
Use of energy by moving objectVSMeasurement precision

Solution Approach 1:

The system dynamically adjusts the number of active arithmetic modules based on the current computational requirements. This dynamic adaptation ensures that precision is maintained when needed while energy consumption is reduced when full precision is not required, resolving the contradiction between these two parameters.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The arithmetic unit incorporates feedback mechanisms that monitor calculation requirements and adjust module activation accordingly. This feedback control ensures that the system maintains adequate precision by activating sufficient modules while minimizing energy consumption by deactivating unnecessary ones.

Inventive Principle:
Principle #23Feedback

4Volume of moving object

If the arithmetic unit is miniaturized for mobile devices, then device size is reduced, but heat emission becomes more concentrated

Engineering Contradiction:
Improvearithmetic unit sizeVSAvoidheat emission
Core Design Contradiction:
Volume of moving objectVSObject-generated harmful factors

Solution Approach 1:

By segmenting the arithmetic unit into multiple independent modules, the heat generation is distributed across separate physical locations rather than concentrated in a single dense processor. This spatial distribution of computational tasks helps dissipate heat more effectively while maintaining a compact overall device size.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The arithmetic modules operate periodically rather than continuously, with intervals of activity followed by deactivation. This periodic operation allows heat to dissipate during inactive periods, preventing excessive heat accumulation in the miniaturized device while still providing sufficient computational capability when needed.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS20230072032A1Arithmetic unit for approximate calculations in neural networks
Publication Date: 2023.03.09 ROBERT BOSCH GMBH
  • US20230072032A1 patent drawing
  • US20230072032A1 patent drawing
  • US20230072032A1 patent drawing

AI summary

An arithmetic unit for calculating an approximate value for a product or a sum of two inputted numbers. The arithmetic unit includes arithmetic modules, at least one of the arithmetic modules being provided to calculate individual products or individual sums of digits of the inputted numbers, and the arithmetic modules being connected in an adder that is designed to calculate digits of the product or of the sum from the individual products or from the individual sums. An arithmetic module that is required for the calculation of at least one individual product or individual sum, and/or is required for the propagation of this individual product or this individual sum onto the product or the sum, being absent in the arithmetic unit or being connected there in such a way that it is capable of being selectively deactivated, completely or partially, for the running time of the arithmetic unit.