What type of deep learning architectures should we prefer while working on CNN models, Standards models such as AlexNET, VGGNET, or Customised models (with user-defined layers in the neural network architecture)?
It is generally recommended to use pretrained standard model to obtain better results faster while using lesser amount of compute [1], especially when comes to CNN. Standard models usually come together with pretrained weights, making fine-tuning on downstream tasks easier. Besides, you don't have to reinvent the wheel to find out the best architecture design.
However, sometimes you may need to design your own custom model. Some of the possible motivations include:
You need a more lightweight model for edge device. For instance, [2] modifies YOLOv3 by changing the backbone to a lightweight MobileNetV3 model.
You need a custom model that can handle multiple tasks. For example, [3] creates a multi-task model that can tackle both disaster classification and victim detection simultaneously.
Existing models have room for improvement. For example, newer YOLO (i.e. YOLOv8) models are designed because the older generation YOLO is not effective enough [4]. This is applicable to any models you see with {model}v{number} format.
Another way is to adopt existing standard model for your application, but you train the model from scratch without using the pretrained weights. This approach is sometimes used if a pre-trained model doesn’t fit your problem, but you don't have the time or expertise to design your own model.
It depends entirely on your goals, or your customer's goals. If a standardized model works well to accomplish a specific goal, use that (if you have a theoretical model you believe works better, that's evolution, and is worth exploring - natural evolution, as in mutations, has lots of failures). If the goal is not supported by standard models, its time to build a new model.
The choice between standard or customized neural network models, specifically for convolutional neural networks (CNNs), depends on several factors and the specific requirements of your task. Let's explore both options:
Standard Models (Pretrained Networks): Standard models, such as AlexNet, VGGNet, ResNet, and Inception, are well-established architectures that have been extensively studied and validated on large-scale datasets. These models often serve as a starting point for many computer vision tasks due to their strong performance and generalizability.
Advantages of Standard Models:
Proven Performance: Standard models have achieved impressive results on various benchmark datasets, making them reliable choices.
Transfer Learning: Pretrained models can be fine-tuned on your specific task with smaller amounts of data, saving training time and resources.
Community Support: Standard models have extensive documentation, pre-trained weights, and community support, facilitating easier implementation and troubleshooting.
Customized Models: Customized models involve designing neural network architectures tailored to your specific problem domain. This approach provides flexibility and allows you to incorporate domain-specific knowledge or experimental ideas into the network design.
Advantages of Customized Models:
Task-specific Adaptation: Customized models can be designed to capture specific characteristics or constraints of your dataset, potentially leading to improved performance.
Model Compactness: Customized models can be more lightweight and efficient if you have constraints on computational resources or deployment scenarios.
Innovative Research: Customized models provide the opportunity for innovative exploration of novel architectures, activation functions, or layer connections.
When to Choose Standard Models:
Limited Data: If you have limited labeled data, starting with a pretrained model and fine-tuning it can be a viable option to leverage knowledge learned from larger datasets.
General Computer Vision Tasks: Standard models work well for common computer vision tasks such as image classification, object detection, and semantic segmentation.
When to Choose Customized Models:
Domain-specific Challenges: If your task has specific requirements or unique characteristics that are not well-addressed by standard models, customization can be beneficial.
Research or Innovation: If you are conducting research or exploring new ideas, designing custom models allows you to test novel architectures or incorporate domain-specific knowledge.
In practice, it is often beneficial to consider a hybrid approach. You can start with a standard model as a baseline and then customize it by adding or modifying specific layers to suit your needs.
Ultimately, the choice between standard or customized models should be based on factors such as available data, task requirements, computational resources, and the level of innovation or customization desired for your project.