What is a generative model?
Before we start talking about generative adversarial networks, let’s take a look at what a generative model is. In probability and statistics theory, a generative model refers to a model that can randomly generate observation data given certain hidden parameters. It assigns a joint probability distribution to the observation value and the labeled data sequence. In machine learning, generative models can be used to directly model data, such as data sampling based on the probability density function of a variable, or it can be used to establish conditional probability distributions between variables. Yes theorem is formed.
As shown in the schematic diagram of the generative model concept shown in the figure below, the input random sample can produce the generated data of our desired data distribution. For example, a generative model can predict the output of the next frame from a certain frame of the video. Another example is a search engine. As you type, the search engine is already inferring what you might search for. It can be found that the characteristic of the generative model is to learn the training data and generate output data with a specific distribution according to the characteristics of the training data.
For generative models, it can be divided into two types. The first type of generative model can completely express the exact distribution function of the data. The second type of generative model can only generate new data, while the data distribution function is fuzzy. The generative confrontation network discussed in this tutorial belongs to the second type. The function of the second type to generate new data is usually the main core goal of most generative models.
What is the role of generative models?
What the generative model seems to do is to generate unreal data, so why should we study generative models?
Although the function of generative models is to generate “fake” data, they can indeed play various roles in the scientific and industrial circles. Ian Goodfellow gave a lot of research significance of generative models in his NIPS2016 speech.
First of all, the generative model has the ability to express and process high-dimensional probability distributions, and this ability can be effectively used in the fields of mathematics or engineering. Secondly, generative models, especially generative adversarial networks, can be combined with the field of reinforcement learning to form more interesting research. In addition, the generative model can also optimize semi-supervised learning by providing generated data.
Of course, generative models have also been used in many applications in the industry. For example, using generative models for ultra-high-resolution imaging can restore low-resolution photos to high-resolution. This type of application is very useful for a large number of unclear We can use this technology to restore old photos of, or for various low-resolution cameras, etc., we can also improve its imaging capabilities without changing the hardware.
The use of generative models for artistic creation is also a very popular application method. The creation of artistic works can be generated by inputting simple content through user interaction.
In addition, there are image to image conversion, text to image conversion and so on. These contents are very interesting and can be applied not only in the industrial and academic fields, but also in the consumer market. A detailed introduction to more applications will be detailed in the second half of this tutorial.