one applied example of unsupervised pretraining is the restricted boltzmann machine (rbm) shallowtwo-layer neural network the first layer is the input layerand the second layer is the hidden layer each node is connected to every node in the other layerbut nodes are not connected to nodes of the same layer--this is where the restriction occurs rbms can perform unsupervised tasks such as dimensionality reduction and feature extraction and provide helpful unsupervised pretraining as part of supervised learning solutions rbms are similar to autoencoders but differ in some important ways for exampleautoencoders have an output layerwhile rbms do not we will explore these and other differences in detail later in the book deep belief networks rbms can be linked together to form multistage neural network pipeline known as deep belief network (dbnthe hidden layer of each rbm is used as the input for the next rbm in other wordseach rbm generates representation of the data that the next rbm then builds upon by successively linking this type of representation learningthe deep belief network is able to learn more complicated representations that are often used as feature detectors generative adversarial networks one major advance in unsupervised deep learning has been the advent of generative adversarial networks (gans)introduced by ian goodfellow and his fellow researchers at the university of montreal in gans have many applicationsfor examplewe can use gans to create near-realistic synthetic datasuch as images and speechor perform anomaly detection in ganswe have two neural networks one network--known as the generator-generates data based on model data distribution it has created using samples of real data it has received the other network--known as the discriminator--discriminates between the data created by the generator and data from the true data distribution as simple analogythe generator is the counterfeiterand the discriminator is the police trying to identify the forgery the two networks are locked in zero-sum game the generator is trying to fool the discriminator into thinking the synthetic data comes from the true data distributionand the discriminator is trying to call out the synthetic data as fake feature detectors learn good representations of the original datahelping separate distinct elements for examplein imagesfeature detectors help separate elements such as noseseyesmouthsetc unsupervised learning in the machine learning ecosystem