If you want to know what is a generative AI model, you are in the right place. Without taking anything for granted, this article will explain what are AI models, what is a generative AI model, how it differs from other “non-generative” models, and then list some that you can use for your projects.
What is an AI Model?
AI is a broad term in computer science, it means Artificial Intelligence: computers figuring out what to do without telling them exactly what they should do. To achieve this, rather than creating a step-by-step algorithm, we create a “structure” that can ingest some data, learn from it, and use this acquired knowledge to perform its task. That structure is the model.
With this in mind, we can have a more formal definition of AI model.
An AI model is a mathematical concept that defines how your artificial intelligence learns from data and applies those learnings.
Of course, this mathematical concept is translated into actual code. The most popular way of doing this is through neural networks. Instead of having just one big monolithic model, you have many small pieces (neurons) that elaborate data, and then pass it along to the next neuron. To learn, the computer tries to change the importance it gives to some paths: connections between neurons. The more data coming from one neuron seems useful to produce the desired result for the next neuron, the more the computer will give importance to that piece of information, relative to the other.
A modern neural network can easily have thousands of neurons and millions of paths. There are many different types of models: many different type of neurons, and many different types of combining neurons together to make a fully-fledged model. Some of those apply to generative AI.
What is Generative AI?
Have you ever tried chatting with ChatGPT? If not, you should give it a try, because that is a generative AI using the generative AI model called Generative Pre-trained Transformed (GPT). This will give you an idea of what generative AI is much better than how I could explain it to you.
But let me try. AI can be used in many ways, and one of the most common is classification or prediction: you give your AI some data to look at, and it has to find some patterns. Maybe it is a X-Ray scan and it has to find a tumor, maybe it is an image and it has to find cars, hate speech in tweets, you name it. But we can summarize these problems with two statements “tell me what is this” or “find me this”.
Even forecast, including complex ones such as weather or stock market, are this type of classification AI. They are about “tell me what the future is looking like based on this data about the present”.
Generative AI is a whole different category of problems. They can be summarized as “create something”. AI uses some data to generate something new, novel, that did not exist before. It may be new text, images, videos, any type of content. With generative AI, AI generates something new.
We are now ready to introduce the concept of generative AI model.
What is a Generative AI model?
This time we have enough context, we can jump straight to the formal definition of generative AI model.
A generative AI model is a neural network combining specific neurons in a specific way to generate new content based on the data fed as input.
Nothing to fancy here. In any AI project, the model is the structure that decides how the AI will work. A generative AI model is a special type of model mean for generative types of problems. For example, a classification AI model may have just one neuron at the end which can turn on and off to say “this is hate speech” or “this is not hate speech” after reading a tweet. Yes or no, zero or one. Instead, with generative AI model, the output is a complex and rich content, so the set of output neurons will differ significantly from a traditional model.
List of Generative AI Models
Now that you know what a generative AI model is, you may want to know what models exists out there. Let me list some of the most popular ones. However, let me stress the concept that a model is just a way of selecting which neurons to use, and how to arrange them. If you are a computer scientist specialized in AI, you may be able to create your own model from scratch, or even your own neurons. After all, even those models have been created by scientists from scratch.
- Generative Pre-trained Transformer (GPT), available in various versions such as GPT-3 or GPT-4. It is the proprietary model developed by OpenAI and it powers ChatGPT.
- Variational Autoencoders (VAEs) are probabilistic models that “decompose” the input into lower-level data, and then return it back changed to the original dimension to produce new samples. Those models are open-source, and available in popular libraries such as TensorFlow and PyTorch.
- Generative Adversarial Networks (GANs), they work with a generator network that produces data and a discriminator network that filters them, and are available in open-source libraries.
- DeepDream, originally developed by Google and now open-source, it generates visually intriguing images.
- CycleGAN, a different flavor of GANs and still open-source, it translate images from one domain to another without paired training examples. To say it in plain English, it is the type of model you can use to find the hand drawing that is equivalent to a photo, or vice-versa.
- Style GAN is another type of GANs of which you can find open-source implementations. It focuses on generating visually appealing images.
- Vector Quantized Variational Autoencoder (VQ-VAE) can work for images and audio, and it is available in TensorFlow and PyTorch as it is open-source.
- WavenNet is an autoregressive model that generates raw audio waves, it produces high-fidelity speech and music. You can use its open-source implementation in TensorFlow, called WaveNet Vocoder.
- Deep Recurrent Attentive Writer (DRAW) incrementally generates images, it is a combination o recurrent and convolutional neural networks, and it is open-source.
If you are already familiar with artificial intelligence, you can pick the model you feel suits your need the most and start learning more about it. However, if you are new to AI or generative AI models, I recommend you to start learning about TensorFlow first, and then when you feel confident pick the generative AI model that you like the most among those available in TensorFlow.
And, if you want to learn about TensorFlow, this is where you start. Let me know on LinkedIn if you want me to expand on some specific generative AI model, don’t be strangers!