Deep Convolutional Generative Adversarial Networks- Sir. Yann LeCun, Facebook’s AI research director made a very intuitive and interesting comment about GANs “Adversarial training “The most interesting idea in the last 10 years in the field of Machine Learning.” Generative Adversarial Networks (GANs) – A combination of two neural networks which is a very effective generative model network, works simply opposite to neural nets.
Usually, neural network models take complex input and provide simple output but in GANs it’s just the opposite. GANs are a very young family member of Deep Neural Network Architecture. Introduced by Ian Goodfellow and his team at the University of Montreal in 2014. GANs are a class of unsupervised machine learning algorithms. In our previous post, “Deep Learning – Introduction to GANs”. I introduced the basic analogy, concept, and ideas behind “How GANs work”. This post will do a little bit of a deep dive.
Let’s do a small recap about GANs
Generative Adversarial Networks are a class of algorithms used in the unsupervised learning environment. As the name suggests they are called Adversarial Networks because they are made up of two competing neural networks. Both networks compete with each other to achieve a zero-sum game. Both neural networks are assigned different job roles i.e. contesting with each other.
The process in GANs involves automatically learning to discover the regularities or patterns in input data. GANs can also generate photorealistic images the main idea behind DCGANs
- Neural Network One is called the Generator because it generates new data instances. The generator’s loss quantifies how well it was able to trick the discriminator
- Another neural net called a Discriminator, evaluates work for the first neural net for authenticity.
GANs can draw samples yet simple and easy-to-sample distribution. With uniform or normal distribution, it then transforms them into samples that appear to match the distribution of some dataset.
GANs can draw samples from the easy-to-sample distribution. The transformation from uniform or normal distribution into samples that appear to match the distribution of some data sets. The cycle continues to obtain accuracy or near-perfection results. To understand GANs let’s take the scenario from my home; My son is a much better player in chess than me and If I want to be a better player than I am?, I should play with him.
Small recap about CNNs
Convolutional neural network – CNNs are inspired by the structure of the brain but our focus will not be on neural science here as we do not have any expertise or academic knowledge in any of the biological aspects. We are going artificial in this post. CNNs are a class of Neural Networks that have proven very effective in areas of image recognition, processing, and classification.
In this article, we will explore and discuss our intuitive explanation of deep convolutional generative adversarial networks (DCGANs) on a high level and in simple language.
Convolutional Neural Networks are a special kind of multi-layer neural networks.
What are Convolutional Neural Networks
Convolutional neural networks (CNN)– Might look or appears like magic to many but in reality, it’s just simple science and mathematics only. CNNs are a class of neural networks that have proven very effective in areas of image recognition thus in most cases it’s applied to image processing.
CNNs got huge adoption and success within computer vision applications but mainly it is with supervised learning as compared with unsupervised learning which has got very little attention.
This network is a great example of variation for multilayer perceptron for processing and classification. It’s a deep learning algorithm in which it takes input as an image and put weights and biases effectively to its objects and is finally able to differentiate images from each other.
As per Wiki – In machine learning, a convolutional neural network (CNN, or ConvNet) is a class of deep, feed-forward artificial neural networks, most commonly applied to analysing visual imagery. Deep learning trains models with many layers.
They exist already for several decades but were shown to be very powerful when large labelled datasets are used. This requires fast computers (e.g. GPUs)!
Artificial Intelligence solutions behind CNN amazingly transform how businesses and developers create user experiences and solve real-world problems. CNNs are also known as the application of neuroscience to machine learning. They employ mathematical operations known as “Convolution”; which is a specialised kind of linear operation.
- Image Processing
- Video labeling
- Text analysis,
- Speech Recognition
- Natural language processing
- Text classification processing
Convolutional Neural Networks applications solve many unsolved problems that could remain unsolved without convolutional neural networks with many layers, including high calibres AI systems such as AI-based robots, virtual assistants, and self-driving cars. Other common applications where CNNs are used as mentioned above like emotion recognition and estimating age/gender etc The best-known models are convolutional neural networks and recurrent neural networks
Deep Convolutional Generative Adversarial Networks
GANs work with image data sets and use Convolutional Neural Networks, as the generator and discriminator models. The data model based on deep convolutional GANs (DCGAN) can be introduced by borrowing the convolutional architecture that has been proven extremely successful for discriminative computer vision problems.
With the scope of this post, we’ll try to explain how GANs can be used to generate photorealistic images. Also, will help to bridge the gap between the success of CNNs for supervised learning and unsupervised learning.
The DCGAN architecture (at the core level) uses a standard CNN architecture for the discriminative model where for the generator, convolutions are replaced with up-convolutions. The class of CNNs i.e. deep convolutional generative adversarial networks (DCGANs), with special constraints and architecture, prove themself a very strong contender to disrupt CNNs in the unsupervised learning domain.
How convolutional neural networks can be useful and can be extended for generating photorealistic images by combing a bit of logic of GANs on top of CNN. At the generator level, the representation at each layer is actually successively very large. The idea is to do the mapping from a low-dimensional latent vector onto a high-dimensional image. CNN’s architecture can be leveraged by GANs to generate photorealistic images. The reasons are simple as CNNs are so successful for discriminative computer vision problems.
Points to Note:
All credits if any remain on the original contributor only. We have covered all basics around the Generative Neural Network. Though often such tasks struggle to find the best companion between CNNs and RNNs algorithms to look for information.
Books + Other material Referred
- Research through open internet, news portals, white papers and imparted knowledge via live conferences & lectures.
- Lab and hands-on experience of @AILabPage (Self-taught learners group) members.
- NIPS 2016 Tutorial: GANs
- Generative Adversarial Networks
- Unsupervised Representation Learning with Deep Convolutional GAN
Feedback & Further Question
Do you have any questions about Deep Learning or Machine Learning? Leave a comment in the comment section or ask your question via email. Will try my best to answer it.
Conclusion: In this post, we have learned some high-level basics of GANs- Generative Adversarial Networks. GANs are recent development efforts but look very promising and effective for a real-life business use case. One thing to here the two networks G &D are designed to contest and not work against to pull others down. Both work together to achieve something big.
The discriminator helps and teaches the generator with constant feedback and gives an indirect suggestion of what to adjust, this process trains the generator well and strongly. Commercial models of GANs are out but still, they are in the research phase as we get new variants quite frequently.
======================== About the Author ===================
Read about Author at: About Me
Thank you all, for spending your time reading this post. Please share your opinion / comments / critics / agreements or disagreement. Remark for more details about posts, subjects, and relevance please read the disclaimer.