In simple words, what does end-to-end training mean, in the context of deep learning?
3 Answers
Another explanation of deep learning as an end-to-end framework is in deep learning, pre-processing or feature extraction steps are not necessary. So it only uses a single processing step, which is to train the deep learning model. In other traditional machine learning methods, some separated feature extraction steps usually required.
For example in image classification, deep learning frameworks like CNN can receive a raw image and then trained to classify it directly. If we didn't use deep learning, we need to extract some features using more steps, like edge detection, corner detection, color histogram, etc.
you can also watch Andrew Ng's explanation here
-
$\begingroup$ Technically you often need a stage of feature preparation/pre-processing, to normalise inputs into ranges suitable for NNs. However, that is quite simple. $\endgroup$ Nov 18, 2019 at 8:19
This is relevant when you have two or more neural networks serving as components to a larger architecture. Training this architecture in an end-to-end manner means simultaneously training all components (i.e. training it as a single network).
The best example I can think of are image captioning architectures. These usually comprise of two networks: a CNN whose role is to extract features from the input images and a RNN that accepts the CNN's features and generates the output captions.
You have two options for training:
First, train the CNN first for some arbitrary task (e.g. image classification) in hopes that it learns how to extract features. Then use the CNN to extract features from the input images and use those as inputs to train the RNN. This procedure trains the two components in two completely separate phases.
Treat the whole architecture as a single network and backpropagete the gradients to the CNN so that it also can be trained. This procedure trains the two components simultaneously. This is what we call end-to-end training.
End to end means deep learning is the only thing that is used.
Many people have doubts on its viability though, I certainly do. I wouldn't trust an end-to-end DL based self driving car.
-
$\begingroup$ I think that this answer is more consistent with the usage of end-to-end training. $\endgroup$– nbroMar 13, 2020 at 18:06
-
$\begingroup$ I have done stuff in the robotics department at my university and End to End DL explicitly refers to DL being used to generate "intelligent" responses in an end to end fashion. $\endgroup$ Mar 13, 2020 at 21:52