CNN Module Pre-Training for MCU Image Classification Memory Limits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing microcontrollers lack sufficient on-chip memory to run high-parameter convolutional neural networks like MobilenetV2, limiting their use in image classification tasks, and labeling large amounts of training data is labor-intensive and time-consuming.
Innovation Solution
Divide a convolutional neural network model into N modules, pre-train the first N-1 modules using unlabeled data as autoencoders, and then cascade them with a N-th module trained with labeled data, enabling high-precision image classification with reduced memory usage and minimal labeled data requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the number of convolutional layers in the CNN model is increased to improve representation ability, then the model accuracy is improved, but the number of parameters increases beyond the available on-chip memory of microcontrollers
Solution Approach 1:
The CNN model is divided into N modules, where each module contains multiple adjacent layers. The first N-1 modules are trained separately using unlabeled data as autoencoders, and the N-th module is trained using labeled data. This segmentation allows the model to achieve high accuracy with fewer parameters stored in on-chip memory, as the autoencoder pre-training enables effective learning from unlabeled data without requiring large parameter sets.
2Measurement precision
If labeled training data is used to train the entire CNN model, then the model can learn accurate features, but the labor and time required for labeling large amounts of data increases significantly
Solution Approach 1:
The first N-1 modules are pre-trained using unlabeled data in an unsupervised autoencoder manner before the final supervised training stage. This preliminary action allows the model to learn useful features from abundant unlabeled data without requiring time-consuming manual labeling, reducing the amount of labeled data needed for final training while maintaining feature learning accuracy.
3Reliability
If the entire CNN model is trained using supervised learning with labeled data, then the model achieves good classification performance, but it requires large amounts of labeled training data which is labor-intensive and time-consuming
Solution Approach 1:
The first N-1 modules are trained as autoencoders using unlabeled data, enabling the model to self-learn features without external supervision or manual labeling. This self-service approach allows the system to utilize abundant unlabeled data effectively, reducing the burden of data preparation while maintaining reliable classification performance through the subsequent supervised training of the N-th module.
Data Source
AI summary
Embodiments of the present invention provide a model generation method, an image classification method, a controller, and an electronic device. The model generation method comprises: constructing a convolutional neural network model for image classification, and dividing the convolutional neural network model into N modules in sequence, wherein each module comprises multiple adjacent layers in the neural network model, and N is an integer greater than 1; based on unlabeled training data, training first to (N-1)-th module to obtain parameters and models of the first module to the (N-1)-th module; and cascading the trained first to (N-1)-th modules with N-th module, and training the cascaded N modules by using labeled training data, to obtain the parameters and models of the modules. A high-precision convolutional neural network model can be obtained without the need to label a large amount of training data, and the labor and time required for labeling the training data are saved.


