Reconfigurable Neural Network Architecture for Embedded Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Convolutional neural networks are challenging to implement in embedded systems due to their high computational complexity and energy consumption, particularly in mobile applications like telephony and autonomous vehicles, where external memory solutions increase energy usage and latency.
Innovation Solution
A reconfigurable computer architecture with internal synaptic coefficient memories, utilizing multiplexers to adapt configurations for inference and backpropagation phases, minimizing data exchanges between calculation units and external memories.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Area of stationary object
If external memory is used to store synaptic coefficients, then the circuit footprint is reduced, but power consumption increases due to frequent data exchanges between separate electronic chips
Solution Approach 1:
The patent merges the memory and processing units into a single integrated circuit chip. The synaptic coefficients are stored in memory blocks that are physically integrated with the processing units on the same chip, eliminating the need for external memory devices and reducing the number of inter-chip data exchanges, thereby significantly reducing power consumption while maintaining a compact form factor.
Solution Approach 2:
The patent segments the circuit into multiple specialized processing units (first processing unit for inference, second processing unit for training) with dedicated memory blocks. Each processing unit has its own associated memory block for storing synaptic coefficients, allowing parallel operation and reducing the need for data exchange between units, thus lowering overall power consumption.
2Productivity
If multiple memory blocks are created for different computation phases (inference and training), then computation efficiency is improved, but circuit complexity and footprint increase
Solution Approach 1:
The patent implements dynamic reconfiguration capability where the same memory blocks and processing units can be dynamically allocated to different computation phases (inference or training) based on runtime requirements. The control logic dynamically configures the data flow paths and memory access patterns, allowing efficient execution of both inference and training workloads without requiring separate dedicated hardware for each phase.
Solution Approach 2:
The patent designs universal processing units and memory blocks that can serve multiple functions. The first processing unit can handle both inference computations and gradient computations during training, while the second processing unit can handle training-specific operations. The memory blocks are universally accessible by both processing units, reducing the need for duplicate memory structures and simplifying the overall circuit architecture.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computer for computing a layer (Ck, Ck+1) of an artificial neural network. The computer is configurable in two distinct configurations and comprises: a transmission line; a set of computing units; a set of weight memories, each associated with a computing unit, each weight memory containing a subset of synaptic coefficients necessary and sufficient for the associated computing unit to perform the calculations required for either of the two configurations; and control means for configuring the computing units of the computer according to either of the two configurations. In the first configuration, the computing units are configured so that the computation of a weighted sum is performed entirely by a single computing unit.In the second configuration, the calculation units are configured so that the calculation of a weighted sum is carried out by a chain of several calculation units arranged in series.