Table of contents
1. Autoencoder generates background
(1) General neural network structure
3. Implementation of autoencoder
1. Autoencoder generates background
Image classification, object recognition, and image segmentation are all based on supervised learning, so massive amounts of data need to be labeled manually. However, with the development of the times and the continuous popularity of artificial intelligence, the demand for data volume is no longer what it imagined, and the demand for data volume has far exceeded people's cognition. In the face of massive data sets, is there a way to learn the algorithm of the distribution P(x) of the data?
Hint: while solving the algorithm above computes unsupervised learning.
- autoencoder
- Autoencoder (autoencoder, AE) is a type of artificial neural network (Artificial Neural Networks, ANNs) used in semi-supervised learning and unsupervised learning . Its function is to learn the representation of the input information by taking the input information as the learning target. (representation learning)
- Autoencoder principle _
- Contains two parts : encoder (encoder) and decoder ( decoder ). According to the learning paradigm, autoencoders can be divided into contractive autoencoders (contractive autoencoders), regularized autoencoders (regularized autoencoders) and variational autoencoders (Variational AutoEncoder, VAE), where the first two are discriminative models , and the latter is a generative model . According to the type of construction, the autoencoder can be a neural network with a feedforward structure or a recurrent structure .
- Autoencoder Application Scenarios
- Autoencoders have the function of representing learning algorithms in a general sense and are applied to dimensionality reduction and anomaly detection. Autoencoders built with convolutional layers can be applied to computer vision problems, including image denoising , neural style transfer, etc.
2. Principle of autoencoder
(1) General neural network structure
Can the powerful nonlinear expression ability of neural network be used to learn low-dimensional data representation? But this will also introduce a problem, that is, the training of the neural network is under the condition of labels. For an unsupervised learning, there is no label, only the input data itself x.
(2) Autoencoder
We hope that the final output from the encoder to the decoder is approximately equal to the original input, so the optimization goal of the autoencoder is as follows:
3. Implementation of autoencoder
(1) Network structure
(2) Code implementation
Download the code for this article: GitHub - KeepTryingTo/Pytorch-GAN: The process of using Pytorch to implement GAN
Reference Books and Links
"TensorFlow Deep Learning"