Unlocking the Mystery of Machine Learning
Imagine you are one of the volunteers in a big organization where members are often working together for more than one project in a year. In one project, you may work with the same set of volunteers, and on the other project, you work with another set of people, and for other projects, people may be mixed from other projects. If I bring all the people from a specific project and put them in a room, without telling you the project name, can you guess what project it is?
If you say, “Of course!” then you may already at the door of understanding what Deep Learning is. Let’s try to break down the steps of how you come up with identifying the specific project by just looking at the people in the room.
1. You recognized the name of each person in the room.
2. Analyze the data you obtained from step 1 to see if there is any apparent patterns or clues to help us identify the project these people were involved. A pattern can be established by looking at the unique combination of certain people in the group. For example, person A, B, C are always do some specific work in the group, and this pattern gives you a clue. [See the graphic for this article as shown at the beginning of the article] Or there may be some clues that you may be used to eliminate the possibility of other projects. There may be some people who stand out than others because you remembered an event happened in the past and this helps your identification in later steps.
3. Lastly, the project name is identified, and you recall all the names who were involved in that project as a confirmation check. A conclusion is reached at the end.
When we break down our thinking process, we realize that these are the steps taken to reach our conclusion and it is a process of recognition used in our brain for this scenario. For a machine, we implement a set of algorithms that are similar to our thinking process described above to assist it to come up with a conclusion. The buzz word like “Deep Learning” is just a set of machine learning algorithms that accomplish the data analysis and attempts to come up with a significant clue or conclusion using a variety of techniques includes but not limited to the previously learned data or findings. One of the Deep Learning techniques used in machine learning is called Convolutional Neural Network (CNN), and it is popular in analyzing visual imagery.
In the CNN, it has sequential processing steps just like our analysis steps shown previously, but it also has techniques that process in parallel just like our step #2 where we tried a few ideas at the same time. In machine learning, each step or a technique is called a layer. Inputs are passing through different layers to come up with some significant clues or intermediate results and pass down to next layers, and they end up with a definitive prediction about the thing it tries to recognize. For example, in the CNN, the initial data was passed through the Convolutional layers. Within the Convolutional layers, you have other layers like Pooling, Fully Connected layers, and their ultimate goals are to break down the initial data into significant pieces that can be learned or processed. In comparison with our scenario, in the beginning, we have the individual person in the room, and everyone was identified with a name, and this is similar to the idea of how these layers assist the machine in coming up with pieces that are workable in later steps.
Step 1: Convolution
Step 2: Subsampling
Step 3: Activation
Step 4: Fully Connected
The CNN may also add another step called the loss layer where it involves training of the neural network and tries to reinforce the right concepts as it trains and guess how far off from the correct identification. The result of this layer can be stored and used for the next batch of processing as a base experience when it needs to do for the subsequent recognition process.
In this article, I hope you have gained some basic understanding of Machine Learning and how Deep Learning is applied in assisting machine to do recognition and learning in this exciting area of technology. In the next article, I want to do a hands-on coding in creating a deep neural network using Microsoft solutions.