The reason to decompose the feature design module in classical ML into
three individual steps in GL is for the purpose of automation. For
simplicity and yet without loss of generality, we use an illustrative
example to explain the four modules of GL below. Consider the ML
problem of recognizing 10 handwritten digits (i.e. 0, 1, \(\cdots \) , 9)
with the MNIST dataset. It has 60,000 training images and 10,000 test
images. Each image has a spatial resolution of \(32\times 32\)  pixels,
where each pixel has 256 gray scales. Typically, we treat each pixel as
one dimension so that the input space has \(32 \times 32 = 1024\) 
dimensions. Since there are 10 output classes, we assign 10 dimensions
to the output space, denoted by \((p_0, \, p_1, \cdots , p_9)^T\) , where
\(p_i\)  is the probability of the test image in class \(i\) . Note that this
problem can be well solved by a neural network solution called LeNet-5
[1]}. Although LeNet-5 is a shallow network, its
architecture can be generalized to deeper networks such as AlexNet
[2]} and VGG-16 [3]} in a
straightforward manner.
