Understanding machine learning and deep learning
Mohammad AlYasfo
Senior Software Engineer with Skills in .NET | IoT | AI | Azure | AWS | GCP
Machine Learning is an application of Artificial intelligence (AI) that provides systems the ability to automatically learn and improve from experience without being explicitly programmed. Machine Learning focuses on the development of computer programs that can access data and use it to learn for themselves.
The process of learning begins with observations or data, such as examples, direct experience, or instruction, in order to look for patterns in data and make better decisions in the future based on the examples that we provide. The primary aim is to allow the computers to learn automatically without human intervention or assistance and adjust actions accordingly.
Some machine learning methods:
Machine Learning algorithms are often categorized as supervised or unsupervised.
- Supervised Machine Learning algorithms can apply what has been learned in the past to new data using labeled examples to predict future events. Starting from the analysis of a known training data set, the learning algorithm produces an inferred function to make predictions about the output values. The system is able to provide targets for any new input after sufficient training. The learning algorithm can also compare its output with the correct, intended output and find errors in order to modify the model accordingly.
- Unsupervised Machine Learning algorithms are used when the information used to train is neither classified nor labeled. Unsupervised learning studies how systems can infer a function to describe a hidden structure from unlabeled data. The system doesn’t figure out the right output, but it explores the data and can draw inferences from datasets to describe hidden structures from unlabeled data.
- Reinforcement Machine Learning algorithms are a learning method that interacts with its environment by producing actions and discovers errors or rewards. Trial and error search and delayed reward are the most relevant characteristics of reinforcement learning. This method allows machines and software agents to automatically determine the ideal behavior within a specific context in order to maximize its performance. Simple reward feedback is required for the agent to learn which action is best; this is known as the reinforcement signal.
Machine learning enables an analysis of massive quantities of data. While it generally delivers faster, more accurate results in order to identify profitable opportunities or dangerous risks, it may also require additional time and resources to train it properly. Combining machine learning with AI and cognitive technologies can make it even more effective in processing large volumes of information.
Machine Learning Architecture
What is deep learning? Why is this a growing trend in machine learning?
Artificial Intelligence is on a rage! All of a sudden everyone, whether understands or not, is talking about it. Understanding the latest advancements in Artificial Intelligence can seem overwhelming, but it really boils down to two very popular concepts Machine Learning and Deep Learning. But lately, Deep Learning is gaining much popularity due to its supremacy in terms of accuracy when trained with a huge amount of data.
Just to show you the kind of attention Deep Learning is getting, here is the Google trend for the keyword:
Trend of “Deep Learning” in google
The software industry now-a-days moving towards machine intelligence. Machine Learning has become necessary in every sector as a way of making machines intelligent. In a simpler way, Machine Learning is a set of algorithms that parse data, learn from them, and then apply what they’ve learned to make intelligent decisions.
The thing about traditional Machine Learning algorithms is that as complex as they may seem, they’re still machine like. They need a lot of domain expertise, human intervention only capable of what they’re designed for; nothing more, nothing less. For AI designers and the rest of the world, that’s where deep learning holds a bit more promise.
What is Deep Learning?
Practically, Deep Learning is a subset of Machine Learning that achieves great power and flexibility by learning to represent the world as nested hierarchy of concepts, with each concept defined in relation to simpler concepts, and more abstract representations computed in terms of less abstract ones.
Elaborately, a deep learning technique learns categories incrementally through its hidden layer architecture, defining low-level categories like letters first then little higher level categories like words and then higher level categories like sentences. In the example of image recognition, it means identifying light/dark areas before categorizing lines and then shapes to allow face recognition. Each neuron or node in the network represents one aspect of the whole and together they provide a full representation of the image. Each node or hidden layer is given a weight that represents the strength of its relationship with the output and as the model develops the weights are adjusted.
Deep Learning Architecture
Distinctive Features Of Deep Learning
A big advantage with deep learning, and a key part in understanding why it’s becoming popular, that it’s powered by massive amounts of data. The “Big Data Era” of technology will provide huge amounts of opportunities for new innovations in deep learning. As per Andrew Ng, the chief scientist of China’s major search engine Baidu and one of the leaders of the Google Brain Project, “The analogy to deep learning is that the rocket engine is the deep learning models and the fuel is the huge amounts of data we can feed to these algorithms.”
Deep Learning requires high-end machines contrary to traditional Machine Learning algorithms. GPU has become an integral part now to execute any Deep Learning algorithm.
In traditional Machine learning techniques, most of the applied features need to be identified by a domain expert in order to reduce the complexity of the data and make patterns more visible to learning algorithms to work. The biggest advantage of Deep Learning algorithms as discussed before are that they try to learn high-level features from data in an incremental manner. This eliminates the need for domain expertise and hard core feature extraction.
Another major difference between Deep Learning and Machine Learning techniques is the problem solving approach. Deep Learning techniques tend to solve the problem end to end, whereas Machine learning techniques need the problem statements to break down to different parts to be solved first and then their results to be combined at the final stage. For example for a multiple object detection problem, Deep Learning techniques like Yolo net take the image as input and provide the location and name of objects at output. But in usual Machine Learning algorithms like SVM, a bounding box object detection algorithm is required first to identify all possible objects to have the HOG as input to the learning algorithm in order to recognize relevant objects.
Usually, a Deep Learning algorithm takes a long time to train due to a large number of parameters. Popular ResNet algorithm takes about two weeks to train completely from scratch. Whereas, traditional Machine Learning algorithms take a few seconds to a few hours to train. The scenario is completely reverse in testing phase. At test time, Deep Learning algorithm takes much less time to run. Whereas, if you compare it with k-nearest neighbors (a type of Machine Learning algorithm), test time increases on increasing the size of data. Although this is not applicable on all machine learning algorithms, some of them have small testing times too.
Interpretability is the main issue why many sectors using other Machine Learning techniques over Deep Learning. Let’s take an example. Suppose we use deep learning to calculate the relevance score of a document. The performance it gives is quite excellent and is near human performance. But there’s is an issue. It does not reveal why it has given that score. Indeed mathematically you can find out which nodes of a deep neural network were activated, but we don’t know what their neurons were supposed to model and what these layers of neurons were doing collectively. So we fail to interpret the results. Which is not in case of Machine Learning algorithms like decision trees, logistic regression, etc.
When to use Deep Learning or not over others?
- Deep Learning out perform other techniques if the data size is large. But with small data size, traditional Machine Learning algorithms are preferable.
- Deep Learning techniques need to have high end infrastructure to train in reasonable time.
- When there is a lack of domain understanding for feature introspection, Deep Learning techniques outshine others as you have to worry less about feature engineering.
- Deep Learning really shines when it comes to complex problems such as image classification, natural language processing, and speech recognition.
The Future Of Deep Learning Looks Like:
1. Huge Training Data Requirement: Deep learning requires huge training data to achieve good performance.
2. Overfitting: Deep learning tends to overfit easily but with the new dropout algorithm, this problem can be avoided but with some consequences such as an increase in error rates.
3. Poor Initial States: Deep neural nets have parameters that need to be initialized. The most used method is random initialization, this results in neural nets with very poor initial states.
4. Sensory Data Transformation: Deep learning is used today does not take such transformations into account, this is one of the reasons why deep neural nets still suffer from relatively high error rates.
In summary, Deep Learning (also known as deep structured learning) is part of a broader family of machine learning methods based on learning data representations, as opposed to task-specific algorithms. Deep learning is a machine learning technique, which relies on learning data representations, unlike task-specific machine learning algorithms.
It’s different from machine learning in that it doesn’t require human operators to command the machine or translate its output. Deep learning is mostly unsupervised and aims to avoid the need for human intervention.
Keywords: Artificial intelligence, machine learning, deep learning, data science, data scientist, robotics.
Software Engineer | Rust & GoLang Expert | Passionate about developing scalable web solutions for fintech & web3 startups.
5 年Great one