You can Become a Teacher… For Robots?| Machine Learning
Cat or Dog?
Like you or some people you know, there are many people out there that are teaching each other many new things. You too may be teaching someone and you may not even recognize it. At the same time, even more, people are learning something new that they could apply in the real world.
We can see this concept in a boy named Timmy. Timmy was learning how to tell the difference between a cat and a dog. Timmy has never seen any of these things before or even knows what they are, but after a while, he was able to detect the difference between a cat and a dog. Here’s the thing, Timmy isn’t a real person. Timmy is just a machine that was programmed to learn how to tell the difference between a cat and a dog. So, how could this machine learn how to tell the difference. Timmy learned through the use of Machine Learning.
Machine Learning … What’s That?
So, what exactly is Machine Learning? Well, as the name states itself, it's a way to program a machine to learn on its own. With Machine Learning, the machine will automatically get better and improve with more experience, kind of like humans.
As humans, we learn in many different ways. Some people learn on their own, some learn just enough so that they can learn the rest on their own, but how can we make a machine do that. This is where Supervised, Unsupervised, and Semi-Supervised Learning come in to play.
You’ve just learned about Machine Learning and now have no idea what this Supervised Learning even is. First of all, to train a machine, we have to give it a bunch of data to learn from. What does this mean? In the example with Timmy, for that machine to learn the difference between a dog and a cat, you would have to keep giving pictures of dogs and cats and telling the machine which one is which. After a while, the machine will be able to know which one is which even without you telling it.
This is how the machine trains, but Well, for starters this is a method used to train a machine. What this means is that, when you give data to the machine with the answers. At first, we would give Timmy a picture of a dog, and label it as “Dog”. We would do the same thing with cats and label it with “Cat”. Let’s say we show Timmy 50 images of dogs labelled with “Dogs”, and 50 images of cats labelled with “Cats”. After the machine would now be able to tell the difference between a cat and a dog, so if we show a picture of a cat, it would know that it's a cat.
We now know about how Timmy learnt to find the difference between a cat and a dog. However, if we want to apply this to the real world, knowing the difference between a cat and a dog isn’t something that could be used. What if we wanted to teach a machine to learn how to play a certain game, or do a certain task. It is going to be hard to give it data to learn from. This is where Unsupervised Learning comes in to play.
Unsupervised Learning is the opposite of Supervised Learning. We would just let the machine run and do whatever it wants. How is it going to learn? We would use something called a rewarding system. This is where if a machine does what you want it to do, or close to what you would want to do, you would give the machine a point. If they do the opposite you would lose a point. The goal of the machine is to get the most amount of points as possible. Since the machine is doing random actions, if it loses a point, it would have a lower chance of doing that action, and vice-versa with gaining a point. Once you keep letting the machine do this, it will slowly start to learn and realize what it needs to do. Pretty cool right?
Let’s say you want to create a machine for facial recognition. You can’t give a picture of all the people in the entire world for machines to recognize, but that the same time, you can’t give any information about people for a machine to learn from itself, that would take forever. So, what can you do? What if you could combine both types of learning? This is what's called, “Semi-Supervised Learning.” So, what exactly is Semi-Supervised Learning. This is essentially where you would give data to a machine to learn from with some labels. For example, you can train images of parts of the body, like the eyes or the nose. This way, the machine can develop an understanding of what features a human has. After a ton of training, the machine will finally be able to detect human faces properly.
Let’s Dive Deeper into Machine Learning
Now, the real question is, how does the machine learn and process this data that we give it? This is where we can go deeper into Machine Learning and talk about Deep Learning. What exactly is Deep Learning? You see our brain is made up of several neurons and is all connected. People decided that if they could replicate what is happening in our brain, then they can essentially create a machine that can learn certain things. This thing inside our brain is called, and Neural Network, which was replicated into Deep Learning called and Artificial Neural Network(ANN). So, how does this ANN actually work?
To properly understand what a Neural network is in Deep Learning, let’s look back at our example with Timmy the Robot. When we give Timmy an image of a dog, that would be the input. The answer which could either be dog or cat is going to be the output. So Timmy will have to look at the picture, and analyze every detail of the image. Depending on what a machine analyzes, it will change the values of each hidden layer. The hidden layers are what is in between the input and output layers. These layers can vary depending on what you want the machine to learn/do. Each part of the input layer is connected to each part of the first hidden layer, and each part of the last hidden layer is connected to each part of the output layer, and all the hidden layers between are connected. They are all connected by synapses which change to the value of each layer depending on the previous one.
Weights & Biases
There are two key parts in a Neural Network that you must know and those are weight and biases, but what even is that?
As I mentioned before, when we give input to a machine it changes the value of each layer depending on the previous input. This is basically what weight is, it decides how much influence the input would have on the output. Now, what are biases? Biases will always add input to the next layer that always has a value of 1. In turn, weights are what decides the changed value, whereas biases add value to any input with the value of one.
What Can We Do With Machine Learning?
There are endless possible applications for Machine Learning, but what are some of the important ones that can impact our world. We already know about facial recognition which is being used by the government but is that even impactful. This technology would be extremely impactful in the healthcare system. With Machine Learning, we could essentially teach a robot to a surgeon which would make this job even more precise during surgery, or even create a robot to analyze and organize every data in the healthcare system. The really cool part about this is that it is already being used to do so. Many doctors have been using the data that was organized from a machine, as well as have been working on creating robots to do surgical tasks which creates a 100% success rate. Think about all the different ways we could impact lives with Machine Learning. Chances are, some of your ideas are already in the making or are even out there in the world.
What Did We Talk About?
We talked about Machine Learning:
- What is
- Supervised, Unsupervised, and Semi-Supervised Learning
- Deep Learning/ Neural Networks
- Gave an example of how Machine Learning is being used.
Want To Learn More?
If you want to learn more about Machine Learning or even Deep Learning, check out these links:
Resources to get started with Machine Learning:
- Udemy Courses for Machine Learning