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, the neural network models take complex input and provide simple output but in GANs it’s just opposite. GANs are a very young family member of Deep Neural Network Architecture. Introduce by Ian Goodfellow and his team at the University of Montreal in 2014. GANs are a class of unsupervised machine learning algorithm. 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 is 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 role 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 that 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
- Other neural net is called as 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 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 lets take the scenario from my home; My son who is the much better player of chess than me and If I want to be a better player then what I am?, I should play with him.
Small recap about CNNs
Convolutional neural network – CNN’s 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. CNN’s 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 (DCGAN’s) on a high level and in a 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. CNN’s 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 compare 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 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 labeled datasets are used. This requires fast computers (e.g. GPUs)!
Artificial Intelligence solutions behind CNN’s amazingly transform how businesses and developers create user experiences and solve real-world problems. CNN’s are also known as the application of neuroscience to machine learning. They employe 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, include high calibers 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 works 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 generator, convolutions are replaced with up-convolutions. The class of CNNs i.e. deep convolutional generative adversarial networks (DCGANs), with special constrains 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 remains 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 much real-life business use case. One thing to here the two networks G &D are designed to contest and not work against to pull other down. Both work together to achieve something big. Discriminator helps and teach the generator with constant feedback and give an indirect suggestion of what to adjust, this process trains generator well and strong. 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.
FacebookPage ContactMe Twitter
Thank you for this introductory chapter, please explain step by step procedure. So in nutshell this Deep Convolutional Generative Adversarial Networks are combination of CNNs and GANs… correct
[…] Deep Learning – Deep Convolutional Generative Adversarial Networks Basics | Vinod Sharma’… […]
[…] Deep Learning – Deep Convolutional Generative Adversarial Networks Basics […]