Deep Learning Interview Questions : Deep Learning (DL) is a subset of Machine Learning (ML) in Artificial Intelligence (AI) that has networks capable of learning unsupervised from data that is unstructured or unlabeled. Deep learning other names are Deep Neural Learning or Deep Neural Network.
Deep Learning is a subfield of machine learning concerned with algorithms inspired by the structure and function of the brain called artificial neural networks. Deep learning is a core aspect that empowers the concept of driverless cars. A driverless car recognizes signs and pedestrians by example and acts accordingly with the assistance of deep learning. In addition to that, deep learning involves voice controlling that exists in commonly used devices such as smart phones, TVs, etc. As of today, deep learning shows rapid development, and as a result of that, we can achieve amazing results which were impossible before.
Machine learning is subset of Artificial Intelligence (AI). Machine learning is the area of Computer science that specializes in analyzing and interpreting styles and structures in data to allow enable knowledge of, reasoning, and decision making outdoor of human interaction.
Artificial Intelligence (AI) is a sub-field of Computer Science dedicated to solving cognitive issues normally associated with human intelligence which include learning, recognition and Problem fixing.AI is unexpectedly remodelling our global with innovations like self-sustaining motors driving our metropolis streets, non-public or personal digital assistants in our homes and pockets, and direct human brain interfaces which can assist a paralyzed character experience again whilst using a mind-controlled robotic arm and more The term artificial intelligence is also used to describe an asset of machines or programs: the intelligence that the device demonstrates. AI studies makes use of equipment and insights from many fields, including computer technology, philosophy, psychology, neuroscience, cognitive science, linguistics, operations research, economics, manage principle, possibility, optimization and logic.AI research additionally overlaps with responsibilities such as robotics, manage structures, scheduling, information mining, logistics, speech popularity, facial recognition and more different fields.
One of the simplest definition of a Neural Network, more properly referred to as an ‘artificial’ neural network (ANN), is provided by the inventor of one of the first neurocomputers, Dr. Robert Hecht-Nielsen. He defines a neural network as: “A computing system made up of a number of simple, highly interconnected processing elements, which process information by their dynamic state response to external inputs”. Neural networks are a set of algorithms, modelled loosely after the human brain, that are designed to recognize patterns. They interpret sensory data through a kind of machine perception, labelling or clustering raw input. The patterns they recognize are numerical, contained in vectors, into which all real-world data, be it images, sound, text or time series, must be translated.
Machine Learning (ML): Artificial Intelligence (AI):
Deep learning: Deep Learning is an approach to Machine Learning, inspired by the structure of the Human Brain. The core of Deep Learning is the use of Artificial Neural Networks (ANN) that mimic the brain’s structure. There are distinct neutrons connected. This interconnection of Neurons is arranged in a layer by layer format, and all the layers are also linked. Each layer concerns itself with one feature or one area to focus on. These areas include shapes, curves, and patterns in Image Recognition, different pitches in Voice Recognition and so on. Machine Learning: Machine Learning is a bunch of statistical tools to learn from data. Which means Machine Learning is a subset of AI or a part of AI. The term was originally used to describe the process of leveraging algorithms to parse data, build models that could learn from it, and ultimately make predictions using these learnt parameters.
Deep learning is larger in scale. Before we get into what that means, let’s talk about how a neural network functions.To makes sense of observational data (like photos or audio), neural networks pass data through interconnected layers of nodes. When information passes through a layer, each node in that layer performs simple operations on the data and selectively passes the results to other nodes. Each subsequent layer focuses on a higher-level feature than the last, until the network creates an output. In between the input layer and the output layer are hidden layers. And here’s where users typically differentiate between neural nets and deep learning: A basic neural network might have one or two hidden layers, while a deep learning network might have dozens or even hundreds. For example, a simple neural network with a few hidden layers can solve a common classification problem. But to identify the names of objects in a photograph, Google’s image recognition model, Google Net, uses a total of 22 layers. Why so many layers? Increasing the number of layers and nodes can potentially increase the accuracy of your network. However, more layers means your model will require more parameters and computational resources and is more likely to become over fit. Neural Networks are the building blocks of networks that power both machine learning and deep learning. One being the subset of the other makes the requirement of neural networks inevitable! Simply put, neural networks are the neurons of a computer system that transmit information from one connected device, software application and the likes. As far as machine learning is concerned, neural networks are capable of browsing through a series of text and understand to an extent the writer’s intentions. Or, it could listen to a soundtrack and zero in on the mood of a song. It can also detect your face or fingerprint and unlock your phone and know your sleeping pattern and mute notification
Some of the bigger dissimilarities between Machine Learning vs. Deep Learning are: Problem-handling: In ML, a large problem is broken into smaller chunks and then each chunk solved separately. Finally, all solutions are put back together. In DL, the problem is solved end to end. Volume of Data Usage: ML algorithms have proved their mettle both in massive-data and large-data scenarios. Deep Learning algorithms can perform when the data volume is massive. But can any of these algorithms really work when the data volume is low? Processor Requirements: ML algorithms manage quite well in ordinary machines but DL algorithms need high-performing machines to perform well. Feature Engineering: In ML, “feature extraction” is still handled manually, while in DL, feature extraction happens automatically during the learning process. As the manual process is both time and labour intensive, DL has reduced a lot of work by automating this critical phase of feature extraction. Training Time: In DL, because of intricate neural layers, the training time is longer and more complex. In ML, algorithms can be trained to learn in a very short time. Interpretability: In ML, precise rules are offered by algorithms to explain the decisions behind specific choices, whereas in DL, the decisions appear “arbitrary,” giving the user little interpretive capability to rationalize choices. That is why; DL algorithms could never work in forensic science, where evidence must be rationally explained in a Court of Law.
For many tasks, for recognizing and generating images, speech and language, and in combination with reinforcement learning to match human-level performance in games ranging from the ancient, such as Go, to the modern, such as Dota 2 and Quake III. Deep Learning systems are a foundation of modern online services. Such systems are used by Amazon to understand what you say — both your speech and the language you use — to the Alexa virtual assistant or by Google to translate text when you visit a foreign-language website. Every Google search uses multiple machine-learning systems, to understand the language in your query through to personalizing your results, so fishing enthusiasts searching for “bass” aren’t inundated with results about guitars. But beyond these very visible manifestations of machine and deep learning, such systems are starting to find a use in just about every industry. These uses include: computer vision for driverless cars, drones and delivery robots; speech and language recognition and synthesis for chatbots and service robots; facial recognition for surveillance in countries like China; helping radiologists to pick out tumors in x-rays, aiding researchers in spotting genetic sequences related to diseases and identifying molecules that could lead to more effective drugs in healthcare; allowing for predictive maintenance on infrastructure by analyzing IoT sensor data; underpinning the computer vision that makes the cashier less Amazon Go supermarket possible, offering reasonably accurate transcription and translation of speech for business meetings — the list goes on and on.
One of the big drawbacks is the amount of data they require to train, with Face book recently announcing it had used one billion images to achieve record-breaking performance by an image-recognition system. When the datasets are this large, training systems also require access to vast amounts of distributed computing power. This is another issue of deep learning, the cost of training. Due to the size of datasets and number of training cycles that have to be run, training often requires access to high-powered and expensive computer hardware, typically high-end GPUs or GPU arrays. Whether you’re building your own system or renting hardware from a cloud platform, neither option is likely to be cheap. Deep-neural networks are also difficult to train, due to what is called the vanishing gradient problem, which can worsen the more layers there are in a neural network. As more layers are added the vanishing gradient problem can result in it taking an unfeasibly long time to train a neural network to a good level of accuracy, as the improvement between each training cycle is so minute. The problem doesn’t afflict every multi-layer neural network, rather those that use gradient-based learning methods. That said this problem can be addressed in various ways, by choosing an appropriate activation function or by training a system using a heavy-duty GPU.
A CNN is composed of layers that filters (convolve) the inputs to get usefull information. These convolutional layers have parameters (kernel) that are learned so that these filters are adjusted automatically to extract the most useful information for the task at hand without feature selection. CNN are better to work with images. Normal Neural networks do not fit well on image classification problems Read : What is Machine Learning and History of ML?
Recurrent Neural Networks or RNN as they are called in short, are a very important variant of neural networks heavily used in Natural Language Processing. In a general neural network, an input is processed through a number of layers and an output is produced, with an assumption that two successive inputs are independent of each other.
An Auto Encoder is an autonomous Machine learning algorithm that uses backpropagation principle, where the target values are set to be equal to the inputs provided. Internally, it has a hidden layer that describes a code used to represent the input
Stochastic Gradient Descent: Uses only single training example to calculate the gradient and update parameters. Batch Gradient Descent: Calculate the gradients for the whole dataset and perform just one update at each iteration. Mini-batch Gradient Descent: Mini-batch gradient is a variation of stochastic gradient descent where instead of single training example, mini-batch of samples is used. It’s one of the most popular optimization algorithms.
Back propagation is a training algorithm used for multilayer neural networks. It moves the error information from the end of the network to all the weights inside the network and thus allows for efficient computation of the gradient. The back propagation algorithm can be divided into several steps: Forward propagation of training data through the network in order to generate output. Use target value and output value to compute error derivative with respect to output activations. Back propagate to compute the derivative of the error with respect to output activations in the previous layer and continue for all hidden layers. Use the previously calculated derivatives for output and all hidden layers to calculate the error derivative with respect to weights. Update the weights.
Pooling is nothing other than down sampling of an image. The most common pooling layer filter is of size 2×2, which discards three forth of the activations. Role of pooling layer is to reduce the resolution of the feature map but retaining features of the map required for classification through translational and rotational invariants. In addition to the convolutional layers just described, convolutional neural networks also contain pooling layers. Pooling layers are usually used immediately after convolutional layers. What the pooling layers do is simplify the information in the output from the convolutional layer. Different types of pooling are:
Max pooling is a sample-based discretization process. The objective is to down-sample an input representation (image, hidden-layer output matrix, etc.), reducing its dimensionality and allowing for assumptions to be made about features contained in the sub-regions binned.
Dropout is a widely used regularization technique for neural networks. Neural networks, especially deep neural networks, are flexible machine learning algorithms and hence prone to over fitting.
Weight initialization is one of the very important steps. A bad weight initialization can prevent a network from learning but good weight initialization helps in giving a quicker convergence and a better overall error. Biases can be generally initialized to zero. The rule for setting the weights is to be close to zero without being too small.
Overfitting is one of the most common issues that take place in deep learning. It generally appears when the sound of a specific data is apprehended by a deep learning algorithm. It also occurs when the particular algorithm is well suitable for the data and shows up when the algorithm or model indicates high variance and low bias
Transfer learning is the process of taking a pre-trained model (the weights and parameters of a network that has been trained on a large dataset by somebody else) and “fine-tuning” the model with your own dataset. There are multiple ways to do this, a couple are described below.
Data augmentation is when we try to come up with ways to increase the amount of data we have (i.e. augment it), by using existing data and applying some transformations. The exact transformations applied depend on the task at hand. Moreover, which transformations will help the neural net the most depends on its architecture.
The particular package is highly efficient for analyzing and managing and maintaining large databases. The software is infused with a high-quality feature called the spectral portrayal, and you can effectively utilize it to generate real-time array data. This is extremely helpful for processing all categories of signals.
The goal of word embedding models is to learn a high-dimensional dense representation for each vocabulary term in which the similarity between embedding vectors shows the semantic or syntactic similarity between the corresponding words. Skip-gram is a model for learning word embedding algorithms.
Deep Learning has been in the spotlight for quite some time now. Its “deeper” versions are making tremendous breakthroughs in many fields such as image recognition, speech and natural language processing etc. Now that we know it is so impactful; the main question that arises is when to and when not to apply neural networks? This field is like a gold mine right now, with many discoveries uncovered every day. And to be a part of this “gold rush”, you have to keep a few things in mind: Firstly, deep learning models require clear and informative data (and mostly big data) to train. Try to imagine deep learning model as a child. It first observes how its parent walks. Then it tries to walk on its own, and with its every step, the child learns how to perform a particular task. It may fall a few times, but after few unsuccessful attempts, it learns how to walk. If you don’t let it, it might not ever learn how to walk. The more exposure you can provide to the child, the better it is. It is prudent to use Deep Learning for complex problems such as image processing. Deep Learning algorithms belong to a class of algorithms called representation learning algorithms. These algorithms break down complex problems into simpler form so that they become understandable (or “representable”). Think of it as chewing food before you gulp. This would be harder for traditional (non-representation learning) algorithms. When you have an appropriate type of deep learning to solve the problem. Each problem has its own twists. So the data decides the way you solve the problem. For example, if the problem is of sequence generation, recurrent neural networks are more suitable. Whereas, if it is image related problem, you would probably be better off taking convolutional neural networks for a change. Last but not the least; hardware requirements are essential for running a deep neural network model. Neural nets were “discovered” long ago, but they are shining in the recent years for the main reason that computational resources are better and more powerful. If you want to solve a real life problem with these networks, get ready to buy some high-end hardware!
What is Deep Learning?
What is Machine Learning?
What is Artificial Intelligence?
What is Neural Network?
What are the differences between Machine learning and Artificial Intelligence?
What is the difference between Deep Learning and Machine Learning?
What is the difference between Deep Learning and Neural Network?
What are the dissimilarities between Machine Learning and deep Learning?
How is Deep Learning being used?
What are cons or drawbacks of Deep Learning?
What is CNN?
What is RNN?
What is an Auto-encoder?
What is Gradient Descent: Batch, Stochastic And Mini-batch?
What is a Backpropagation?
What is pooling layer in Deep learning?
What is Max Pooling?
What is Dropout in Deep Learning?
What is Weight Initialization in Neural Networks?
What is ‘overfitting’ in the specific field?
What is Transfer Learning?
What is Data Augmentation?
What is the use of Fourier Transform in Deep Learning?
What is Skip-gram?
How When (and where) to apply Neural Networks?