to generate new feature representationswe can use feedforwardnonrecurrent neural network to perform representation learningwhere the number of nodes in the output layer matches the number of nodes in the input layer this neural network is known as an autoencoder and effectively reconstructs the original featureslearning new representation using the hidden layers in between each hidden layer of the autoencoder learns representation of the original featuresand subsequent layers build on the representation learned by the preceding layers layer by layerthe autoencoder learns increasingly complicated representations from simpler ones the output layer is the final newly learned representation of the original features this learned representation can then be used as an input into supervised learning model with the objective of improving the generalization error feature extraction using supervised training of feedforward networks if we have labelsan alternate feature extraction approach is to use feedforwardnonrecurrent neural network where the output layer attempts to predict the correct label just like with autoencoderseach hidden layer learns representation of the original features howeverwhen generating the new representationsthis network is explicitly guided by the labels to extract the final newly learned representation of the original features in this networkwe extract the penultimate layer--the hidden layer just before the output layer this penultimate layer can then be used as an input into any supervised learning model unsupervised deep learning unsupervised learning performs many important functions in the field of deep learningsome of which we will explore in this book this field is known as unsupervised deep learning until very recentlythe training of deep neural networks was computationally intractable in these neural networksthe hidden layers learn internal representations to help solve the problem at hand the representations improve over time based on how the neural network uses the gradient of the error function in each training iteration to update the weights of the various nodes there are several types of autoencodersand each learns different set of representations these include denoising autoencoderssparse autoencodersand variational autoencodersall of which we will explore later in the book unsupervised learning in the machine learning ecosystem