CNN Integrated Circuit Approximating Fully-Connected Layers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing CNN-based approaches for image classification are inefficient due to computational bottlenecks in fully-connected layers, requiring external devices like CPUs or GPUs for processing large imagery data, and are impractical for real-time applications.
Innovation Solution
Implementing multiple arrays of 3×3 convolutional filter kernels within a Cellular Neural Networks (CNN) based digital integrated circuit to approximate fully-connected layer operations, enabling image classification entirely within the integrated circuit.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If fully-connected layers are implemented using traditional architecture, then classification accuracy is maintained, but computational storage requirements increase significantly
Solution Approach 1:
The patent transforms the fully-connected layer architecture by changing the parameter representation from traditional weight matrices to sequences of 3x3 convolutional filter kernels. This parameter transformation allows the same classification functionality to be achieved with reduced storage requirements, as the convolutional filters require less memory to store compared to the dense weight matrices of fully-connected layers.
Solution Approach 2:
The patent segments the fully-connected layer operations into multiple sequential convolutional layers, each using 3x3 filter kernels. This segmentation divides the monolithic fully-connected layer into smaller, more efficient computational units that can be processed in sequence, reducing the peak storage requirements while maintaining the overall transformation capability.
2Power
If external devices (CPU/GPU) are used for FC layer processing, then computational capability is sufficient, but system complexity and processing time increase
Solution Approach 1:
The patent merges the fully-connected layer functionality directly into the CNN integrated circuit architecture by implementing multiple arrays of 3x3 convolutional filter kernels within the same hardware. This integration eliminates the need for separate external processing devices, reducing system complexity while maintaining sufficient computational capability through the combined convolutional operations.
Solution Approach 2:
The patent makes the CNN integrated circuit multi-functional by enabling it to perform both traditional convolutional operations and fully-connected layer operations using the same hardware resources. The multiple arrays of 3x3 filter kernels can be configured to implement different classification functions, allowing the circuit to handle both feature extraction and classification tasks internally without requiring external devices.
3Quantity of substance
If multiple arrays of 3x3 convolutional filter kernels are used to approximate FC layers, then storage efficiency improves, but device complexity increases
Solution Approach 1:
The patent transitions from the traditional two-dimensional weight matrix representation of fully-connected layers to a multi-dimensional arrangement of 3x3 convolutional filter kernels. This dimensional change organizes the parameters in a spatial structure that is more amenable to efficient hardware implementation, reducing storage requirements while the modular array structure manages the complexity through systematic organization.
Data Source
AI summary
Multiple 3×3 convolutional filter kernels are used for approximating operations of fully-connected (FC) layers. Image classification task is entirely performed within a CNN based integrated circuit. Output at the end of ordered convolutional layers contains P feature maps with F×F pixels of data per feature map. 3×3 filter kernels comprises L layers with each organized in an array of R×Q of 3×3 filter kernels, Q and R are respective numbers of input and output feature maps of a particular layer of the L layers. Each input feature map of the particular layer comprises F×F pixels of data with one-pixel padding added around its perimeter. Each output feature map of the particular layer comprises (F−2)×(F−2) pixels of useful data. Output of the last layer of the L layers contains Z classes. L equals to (F−1)/2 if F is an odd number. P, F, Q, R and Z are positive integers.


