Training Deep Neural Networks using a low-code app in MATLAB

#artificialintelligence 

In this blog post I will show how to use a low-code app in MATLAB, the Deep Network Designer, for two different tasks and design paradigms: creating a network from scratch vs. using transfer learning. The process of building deep learning (DL) solutions follows a standard workflow that starts from the problem definition and continues with the steps of collecting and preparing the data, selecting a suitable neural network architecture for the job, training and fine-tuning the network, and eventually deploying the model (Figure 1). The selection of a suitable neural network architecture usually follows the best practices for the application at hand, e.g., the use convolutional neural networks (CNNs or ConvNets) for image classification or recurrent neural networks (RNNs) with long short-term memory (LSTM) cells for text and sequence data types of applications. Transfer learning is an incredibly easy, quick, and popular method for building DL solutions in some domains, such as image classification – using neural network architectures pretrained on ImageNet (a large dataset of more than 1 million images in more than 1,000 categories). Essentially, it consists of using a deep neural network that has been pre-trained in a large dataset of similar nature to the problem you are trying to solve. This is usually accomplished by retraining some of its layers (while freezing the others).