Approximate Neural Network Arithmetic With Selective Module Deactivation
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Productivity
If powerful GPUs are used for calculations in ANNs, then calculation performance is improved, but energy consumption and device size increase
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.
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.
2Measurement precision
If all arithmetic modules are activated for exact calculations, then calculation precision is improved, but energy consumption increases
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.
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.
3Use of energy by moving object
If arithmetic modules are deactivated to save energy, then energy consumption is reduced, but calculation precision deteriorates
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.
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.
4Volume of moving object
If the arithmetic unit is miniaturized for mobile devices, then device size is reduced, but heat emission becomes more concentrated
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.
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.
Data Source
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.


