Before we dive into different validation techniques for various kinds of models, let's talk a little bit about validating deep learning models in general.
When you build a machine learning model, you're training it with a set of data samples. The machine learning model learns these samples and derives general rules from them. When you feed the same samples to the model, it will perform pretty well on those samples. However, when you feed new samples to the model that you haven't used in training, the model will behave differently. It will most likely be worse at making a good prediction on those samples. This happens because your model will always tend to lean toward data it has seen before.
But we don't want our model to be good at predicting the outcome for samples it has seen before. It needs to work...