As someone really into new technologies brought forth by computer science, Deep Learning is a current orientation of mine. For many, it is dry, difficult, and heavily math-based, and while I cannot deny most of these, I am always living and working with Deep Learning – my passion. So, let’s explore more about Deep Learning!
AI – Artificial Intelligence, or specifically Machine Learning/Deep Learning is on the quick rise, attracting quite a lot of research surrounding it. The technologies are often utilized in fields like economics, education, and medical, as well as in household chores, entertainment, and even military tasks – showing quite the potential for a promising future.
1. What is Deep Learning?
Deep learning, derived from neural network algorithms, is originally a smaller branch of machine learning. This branch includes a set of algorithms for high-level modeling abstract data, using multiple complex structured processing layers in different methods, including various non-linear transformations.
With Deep Learning, computers can now perform tasks that seemed impossible 15 years ago, including identifying thousands of different objects in photos, automatic photo labeling, mimicking voices and hand-writings, interacting with people, and even writing literature, movie scripts, or music.
Example 1: How do you know if a photo is of a cat or a dog? For you, the task is simple (by looking at the shape of ears, the length of mouths…), and yet it is extremely difficult to represent these observations in codes. With Deep Learning, however, the problem can be solved.
Deep Learning is part of a broader family of Machine Learning – a wide and math-heavy field, with multiple algorithms, each with different applications in different problems:
- Linear Regression;
- Logistic Regresstion;
- Decision Tree and Random Forest;
- Naive Bayes;
- Support Vector Machines;
- K-Nearest Neighbors;
- Principal component analysis (PCA);
- Neural network;
2. So, how does Deep Learning work?
Deep Learning is a method inside Machine Learning, it allows us to train an AI that can predict outputs from a set of input. Training can be done either supervised or unsupervised.
Machine Learning is a process where a computer learns how to perform a task – instead of being programmed to perform it step-by-step.
After training, a Machine Learning system should be able to give accurate predictions when provided with data.
The above example 1 can easily be solved with Deep Learning. First, to teach the computer to identify cats, we will program multiple layers in a neural network, each with the ability to recognize one particular feature of the cat-like its whiskers, claws, feet… then input it with thousands of cat pictures (and teach the machine that those are cats) and thousands of photos that are not cats (and teach the machine that those are not cats).
Example 2: Teaching self-driving cars road manners and how to handle traffic situations.
Traditionally, if you want to teach a car to how to cross the road, for example, it should be given a set of instructions: how to observe both the left and right sides, wait for other traffic to pass… However, in Machine Learning and Deep Learning, the machine will be provided with 10,000 videos of good road crossing examples, and 10,000 videos of traffic accidents so it can learn by itself.
Deep Learning is often used when you have a large amount of unstructured data.
Deep Learning algorithms can take unstructured and unlabeled data like videos, images, voice records, and text – then apply for multiple orders on those to make useful predicts and build a system that can categorize features in a dog or a cat, to generate a general picture or sound of the animal in context.
At the moment, Deep Learning has been gaining quite the traction as well as huge breakthroughs, particularly in voice assistants, self-driving cars, graphic design applications, city traffic analysis, and tasks like material development, which help robots to better understand the world around them. Many tech giants are also paying close attention and investments in Robotic and Deep Learning trends.
Deep Learning can lead to better proactivity, as people can gain better control of their life. Let’s quickly review some of the many benefits brought forth by Deep Learning.
- Self-driving car application;
- Siri, Alexa, Google… virtual assistants;
- Image simulation and identification: Facebook is a prime example of this with its auto tag function that can recognize you and your friends.
4. A Deep Learning learning path for beginners:
To study Deep Learning, a person should:
- Be knowledgeable in Mathematics: linear algebra, statistics, graph theories.
- Be knowledgeable in Programming: Functions, loops.
- Constantly update themselves with new pieces of knowledge.
Following is the learning path that I’m aiming at:
- Basic Python: How to use arrays, matrixes, numpy in python.
- Machine Learning and Deep Learning problems: Linear Regression, SVM, Perceptron Learning. Recognizing inputs and outputs. When to use classification? When to use regression?
- How to use the sklearn library. My personal verdict is that, as long as you know sklearn, then you can solve 70-80% of Machine Learning problems or Deep Learning in case of too vast data. Kaggle is also another useful source.
- Learn Deep Learning models like CNN, RNN, LSTM. There are abundant resources for these, and a personal recommendation is Stanford’s courses on Computer Vision/NLP. For frameworks, you can choose Tensorflow, Keras (on Tensorflow), or Pytorch.
- Learn to process data using Pandas and analysis with Matplot/ Seaborn.
- Then, seek out some problems/ challenges and try out for yourself. It’s important to practice.
While Deep Learning is extremely powerful, it is quite challenging, and this article is only the tip of the iceberg.
Above is general information regarding Deep Learning that I have complied. Of course, there are plenty of other concepts, real use cases, and algorithms not mentioned in this article, for I cannot list them all in a short text. Hopefully, the next part will help you understand better about Deep Learning via its algorithms.
FPT TechInsight is now officially introducing the new corner – “READER OPINION”, where you can share your own writings on new technologies, programming experiences, previous projects… to the tech-lover community. Quality posts will be selected to publish on the FPT TechInsight’s website, with attractive royalties sent to the authors, as thanks for their contributions.
We welcome all contributing ideas and writings sent to: [email protected]. Please clarify in the email title as “Reader opinion – Full name”. Hotline: +84 853 543 538