Table of content:
Since we offer “GPU servers for Machine Learning” people always ask us “What is the difference between Machine Learning and Deep Learning?”. And the answer to “How is Machine Learning different from Deep Learning?” is – it is not. Machine learning (ML) is a tool used to train Artificial Intelligence (AI) to perform different tasks. Deep Learning (DL) is a type of Machine Learning. There are various methods that can be used to train our AI and DL is one of them. In this article we will discuss all of the different types of ML, but first a short explanation how ML works.
1.Making a decision
Machine learning works by constantly adjusting weights (score) to some characteristics of the input data. After a characteristic of the data is determined by the algorithm to be important for the task at hand, it is given weight (numerical score) and added to a list of important characteristics. After each and every one of them is evaluated the total score is calculated. If it is above the threshold the algorithm then makes a prediction or classifies the results.
Think of it like counting cards in Black Jack. One of the easiest ways to count cards is the Hi-Lo technique where you assign a value of +1 to all cards from 2 to 6, 0 to 7,8,9 and -1 to J,Q,K,A. When a card is drawn you either add one or subtract one. Let’s say we start the game and the dealer reveals 6 to him and 5 to you, the current count is +2 that means you have a bigger chance to draw J,Q,K,A next time around. The higher the number is the higher the chance of J, Q, K, A is. The same thing is done here, but with many more different variables.
2. Checking for errors
If you have a known good sample and run supervised ML you will then check if the prediction is correct or if the produced result is what you have expected. If you run unsupervised ML you will train your algorithm on some portion of the data and leave some that the algorithm has not yet seen to validate if it actually works. If this is not the case you will continue with point 3.
3. Optimizing the model
Here you will return the algorithm to step one and it will change the weights again, and lower or increase the maximum score of some characteristics, it will also try to fine-tune the threshold score. It will continue to repeat this cycle until the desired outcome is achieved.
Depending on the human interaction ML can be supervised, unsupervised and semi-supervised.
In supervised ML the algorithm is provided the labeled data and the expected outcome. The algorithm then trains itself until it reaches the desired outcome. It does that by constantly changing the weights of different characteristics of the data set until it reliably can reach the answer on its own. When the algorithm is finished training, humans check if it works properly or if it is over/under-fitted meaning can it work on other data sets or is it just good for this one data set. Supervised ML is good for scaling up processes that require repeated execution of the same or similar tasks.
In unsupervised Machine Learning the algorithm is given unlabeled data and no specific goal. In this scenario the algorithm is trying to discover similarities or a hidden pattern and based on that they group/cluster the data based on that information. This makes it ideal for working on large data sets for cross-selling strategies, movie recommendations, image recognition, customer segmentations and other tasks where big datasets need to be sorted fast.
This is the middle ground of the top two. In this method you give the algorithm a small labeled dataset on which it trains. After that you provide it with big unlabeled data so it can apply the labels it learned before and from that it can learn to do other tasks. It solves the problem of not having enough labeled data or if it will be too time-consuming to label it, by humans.
In Reinforcement machine learning you have no training data – labeled or not. The algorithm learns as time goes on the information it has at the time. When it does something positive it is given positive feedback and if it is wrong no feedback is given. This way the algorithm is encouraged to repeat and expand on the working solutions. Think of it like training your Dog. When you issue a command and it follows it, you give him a treat, so next time it knows to repeat what it did. Next time when you see a google snippet and it is helpful you can click the “yes it was helpful” button and give it positive feedback.
Based on the algorithms used, Machine Learning can be separated into these types:
This algorithm is used to predict values based on the linear relationship of historical data. For instance it can predict changes in the prices of any product.
This algorithm is used to give answers to direct questions with binary answers or more commonly known as Yes(1) and No(0) questions like “Is this a Cat?”
This is an unsupervised machine learning algorithm that can help researchers identify and group data based on patterns and similarities between different types of data inputs that humans overlooked or did not know to look for.
This algorithm can be used for both classifying data and predicting numerical values. It uses a number of interconnected decisions that look like branches of a tree they are easy to check for errors and to make changes to.
They can digest any type of data and are best suited for tasks that are not expected to return any specific outcome. They are often hard to explain and validate, but surprisingly work extremely well in some complex cases. They use different nodes where the output of one of them is the input of the next, just like a decision tree, but in the DT node (branch) you get a “Yes” or “No” answer and here you get complex data that needs additional refinement. Every time the data reaches a threshold the node is activated and the data is sent to the next layer of the neural network. And here the term “Deep Learning” comes. If a Neural Network has more than 3 layers it is considered Deep Neural Network, or the algorithm “Deep Learning ” algorithm.
As with any new technology ML needs to overcome some problems and in this case they are more of an ethical variety than the limitations of the technology.
This is the story of many sci-fi novels and movies. The idea that AI will become intelligent enough to be smarter than any human and then decide to use us as fuel (The Matrix), kill or assimilate us (Star trek) or decide our illogical behavior is harmful to us and they need to enslave us to protect us (I robot) is very interesting, but in reality we are not even close to that point. And even if we ever reach the point where AI will be smarter and more logical than humans we will have some form of protection. Even one of the biggest sci-fi authors Isaac Asimov added the three laws of robotics, they are simple but effective and are as follows:
1. A robot may not injure a human being or, through inaction, allow a human being to come to harm.
2. A robot must obey the orders given it by human beings except where such orders would conflict with the First Law.
3. A robot must protect its own existence as long as such protection does not conflict with the First or Second Laws
Runaround by Isaac Asimov. Written in 1942.
Now after we have discussed the sci-fi version, let’s give some more down to earth examples. Who is responsible for accidents caused by self-driving cars? The owner or the manufacturer of the car?
We can agree that most companies developing AI have good intentions when they start their project, but sometimes things don’t work as intended. AI and ML are only as good as the data they are given. Sometimes this data is unintentionally skewed because of limited access to diverse data, because of legal or regional restrictions. For example, If you live in a region with one predominant group, your AI will be better off recognizing data from that group, just because it is easier to obtain data from that group and the ML did not have enough data to train on the minority groups. Sometimes laws prohibit you from having access to the needed data and you can access data only from volunteered data, and some groups are more likely to give access to their data. Sometimes the data is skewed because of human nature and our flawed perceptions. Whatever the reason is, AI can be discriminatory.
As more and more cases of this type of Bias come to light the researchers put more conscious effort into providing more diverse and inclusive data, even opening the doors to everyone to contribute information in an effort to provide equal access to all, but that has its own challenges.
As mentioned before, laws are one of the reasons why researchers have limited access to data. This is because of rising concerns from the people about what their personal data is being used for. Some of the aggregate data was misused for personal gains and politics. As a response to that, most big countries have passed or are in the process of passing some form of Privacy protection laws. Laws, like GDPR in the EU and California Consumers Privacy Act (CCPA) in the USA, are some of the first legislations to be passed and to be widely enforced. They require a business to inform the user of the data they collect from the user and how they will use it. They also require them to provide EASY ways to deny collecting data.
This is some of the ethical and judicial problems AI and ML by proxy will have to overcome.
One of the most widely known uses for Machine Learning is self-driving cars. They use the information from their LIDAR, Radar and video cameras to calculate the distance and speed of different objects in their path, then make decisions based on their training.
Clustering can help algorithms make recommendations on what to buy or what to watch next. They use historical data of your purchases, watch history and compare it to other users with similar interests and suggest content or purchase options for you.
We are all used to dictating our messages when we drive or telling Siri to make an entry in our calendar, but we never think about how this is done. Well, they use Ml to teach the software to recognize common speech pronunciations by comparing them with the baseline, after more and more different pronunciations are confirmed, they are added to that baseline and this way we can expand the algorithms knowledge of regional accents and dialects, because we can all agree that person in London will speak a lot different from a person in Ireland 🙂 .
Using algorithms to predict changes in price AI is making millions of trades everyday at astonishing rates. AI-based trade is critical for some businesses and they pay millions to be able to put their computers closer to the stock exchange because when it comes to AI trading every millisecond counts.
Your bank is using Machine learning to detect out of place purchases and strange behavior to try and block them before any harm is done to you. They track known fraudulent entities and train their algorithms to detect them.
Machine learning is part of our day to day life even if we don’t know it. Its importance will only grow and the tasks it can accomplish will only go more complex. And with that complexity the requirements for hardware needed to train it will grow. MaxCloudON can help with that. Our servers for Machine Learning are equipped with Powerful GPUs with a lot of VRAM allowing you to work even on the largest of datasets required for Image and Video recognition. We provide you with powerful CPUs, lots of RAM and fast storage. If you are interested you can check the prices for our GPU servers.
And the answer to “How is Machine Learning different from Deep Learning?” is – it is not. Machine learning (ML) is a tool used to train Artificial Intelligence (AI) to perform different tasks. Deep Learning (DL) is a type of Machine Learning.
If you are new to machine learning you probably are wondering “What hardware specifications does my computer or server need to run machine learning?”. We have combined the results of the tests run by pugetsystems and came with the short answer short answer “With a lot of GPUs and VRam”, the longer and more detailed answer can be read a bit late in that article (link to chapter), but to be useful to as many people as possible we will start with some basic information about machine learning.
Most of the people who work with 3D have asked themselves how can I speed the rendering process. And all of them have some advice to give. But it is mostly set this setting to 3 instead of 4, and this one to 13 instead of 25.