Asynchronous CNN for Energy-Efficient Sensory Data Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional artificial neural networks (ANNs) are inefficient due to the need for synchronous discrete-time computations, which limits their ability to interpret asynchronous data from sensors like dynamic vision sensors that produce address-event representations (AER), leading to unnecessary re-computations and high energy consumption.
Innovation Solution
The development of a multilayer asynchronous convolutional neural network (CNN) that performs computations only in response to significant changes in input data, allowing for asynchronous and partial computations, reducing the need for redundant calculations and conserving time, energy, and memory by reusing previous calculations when there are no significant changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If synchronous discrete-time computations are used in traditional ANNs, then computational results are obtained through systematic processing, but computational efficiency deteriorates due to unnecessary re-computations and high energy consumption
Solution Approach 1:
The patent transforms the static synchronous computation model into a dynamic asynchronous computation model where neurons process inputs independently without global clock synchronization. This allows the system to adapt computation timing to actual data arrival, eliminating unnecessary re-computations and reducing energy consumption while maintaining processing accuracy.
Solution Approach 2:
The patent implements partial computation by allowing neurons to process only the subset of inputs that have arrived, rather than waiting for complete input chunks. This partial action approach enables continuous processing without requiring full synchronization, improving computational efficiency and reducing energy waste from idle waiting and redundant calculations.
2Adaptability or versatility
If synchronous discrete-time chunks are used for input processing, then structured computation is maintained, but adaptability deteriorates due to difficulty in interpreting asynchronous sensor data
Solution Approach 1:
The patent inverts the traditional approach by having neurons wait for inputs rather than inputs waiting for synchronization. Each neuron independently processes incoming signals as they arrive, reversing the conventional synchronous model and enabling natural compatibility with asynchronous sensor outputs while simplifying the overall system architecture.
Solution Approach 2:
The patent implements self-service through independent neuron processing where each neuron autonomously handles its own computation without requiring coordination from a central controller. This self-service mechanism enables the network to naturally adapt to asynchronous input streams while reducing architectural complexity by eliminating the need for global synchronization infrastructure.
3Measurement precision
If complete re-computations are performed for each input sequence, then computational accuracy is maintained, but processing time increases due to redundant calculations
Solution Approach 1:
The patent applies preliminary action by maintaining and updating neuron activation states continuously as inputs arrive, rather than performing complete re-computations from scratch for each input sequence. This preliminary processing of intermediate results preserves computational accuracy while significantly reducing processing time by avoiding redundant calculations.
Solution Approach 2:
The patent ensures continuity of useful action through asynchronous event-driven processing where computations continue uninterrupted as inputs arrive. This continuous processing maintains accuracy by constantly updating neuron states while eliminating the time loss associated with periodic re-computations and synchronization wait states.
Data Source
AI summary
An asynchronous convolutional neural network (CNN) can interpret a sequence of input data. An input value representing a sample of the sequence of input data is received by a computational unit (CU) in a layer of the asynchronous CNN. The CU calculates a dot product of the input value and a weight assigned to the CU to produce an activation value. A change detector (CD) associated with the CU detects a difference between the activation value and previous activation values. The CD determines whether the detected difference is significant, indicating that the sample of the sequence of input data includes a significant change. If the detected difference is significant, the activation value is supplied to at least one subsequent CU included in a subsequent layer of the asynchronous CNN.


