deep learning for computer vision training convnet from scratch on small dataset having to train an image-classification model using very little data is common situationwhich you'll likely encounter in practice if you ever do computer vision in professional context "fewsamples can mean anywhere from few hundred to few tens of thousands of images as practical examplewe'll focus on classifying images as dogs or catsin dataset containing , pictures of cats and dogs ( , cats , dogswe'll use , pictures for training-- , for validationand , for testing in this sectionwe'll review one basic strategy to tackle this problemtraining new model from scratch using what little data you have you'll start by naively training small convnet on the , training sampleswithout any regularizationto set baseline for what can be achieved this will get you to classification accuracy of at that pointthe main issue will be overfitting then we'll introduce data augmentationa powerful technique for mitigating overfitting in computer vision by using data augmentationyou'll improve the network to reach an accuracy of in the next sectionwe'll review two more essential techniques for applying deep learning to small datasetsfeature extraction with pretrained network (which will get you to an accuracy of to %and fine-tuning pretrained network (this will get you to final accuracy of %togetherthese three strategies--training small model from scratchdoing feature extraction using pretrained modeland fine-tuning pretrained model--will constitute your future toolbox for tackling the problem of performing image classification with small datasets the relevance of deep learning for small-data problems you'll sometimes hear that deep learning only works when lots of data is available this is valid in partone fundamental characteristic of deep learning is that it can find interesting features in the training data on its ownwithout any need for manual feature engineeringand this can only be achieved when lots of training examples are available this is especially true for problems where the input samples are very highdimensionallike images but what constitutes lots of samples is relative--relative to the size and depth of the network you're trying to trainfor starters it isn' possible to train convnet to solve complex problem with just few tens of samplesbut few hundred can potentially suffice if the model is small and well regularized and the task is simple because convnets learn localtranslation-invariant featuresthey're highly data efficient on perceptual problems training convnet from scratch on very small image dataset will still yield reasonable results despite relative lack of datawithout the need for any custom feature engineering you'll see this in action in this section what' moredeep-learning models are by nature highly repurposableyou can takesayan image-classification or speech-to-text model trained on large-scale dataset and reuse it on significantly different problem with only minor changes specificallylicensed to