Arthur Wang's Blog
Follow me on
  • My General Blog
  • Software Development
    • Latest Articles on Software Development
    • Complete Resources for Developers >
      • Tutorial Information for Developers
      • .NET Developer Blogs
      • Developer Journals and Magazines
      • Developer's Tools
      • Database Development
      • ​Developer Conference and Events
  • Tech
    • Latest Articles on Technology Development
  • Health
  • Money
  • Services
    • Modern Website Design
    • Web Maintenance of Existing Websites Service
    • Corporate Business Consulting Service
  • About
  • Contact
  • Art
  • 中文部落格

Your First Step to Deep Learning in Machine Learning

3/6/2018

0 Comments

 

Unlocking the Mystery of Machine Learning

Picture
​Before we dive into defining these buzz words like Machine Learning and Deep Learning in the technology field, let’s first describe some scenarios in the real world. By understanding of how our brain works in recognition process may shed some light on what machine learning means and how it works.
​
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.
​Here is a possible pathway of the steps that you may use to identify the project:
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 this article, I will attempt to use the scenario we discussed earlier to describe the similar steps taken in the CNN. Unlike a typical explanation of CNN, I do not want to use visual imagery to describe the CNN because I want you to visualize the process in the head instead of using our eyes to do the recognition. In this way, you can get the feeling of how the machine “sees” the image without the eyes.
​

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. ​
There four main layers in the CNN, such as Convolution, Subsampling, Activation and Fully Connected.

Step 1: Convolution

In this step, the network of the layered structure is established, and the input data was breakdown into input signals where each signal was labeled according to convolution filters.  At the end of passing the filter, it analyzed the input against from some reference points learned in the past occurrence. The resulting output signal was then passed on to the next layer to be processed. This is similar to our first step where each individual is a workable piece of information and we used our memory to identify each from the room and label each person with a known name.

Step 2: Subsampling

In this step, we tried to get some kinds of the resolution out from the outputs of the previous layer as our inputs for this step, which means that some inputs become less significant and some inputs become more significant after this Subsampling phase. As a result, we can see the variations and noise through this process. For example, in our scenario, we may identify some connections on certain people in the room which are more popular since they may be more active in other projects and a certain smaller group of people was more active in certain projects. This finding gave you a clue in which you can use to eliminate certain projects from the project list. From your unique recollections, there were people who just more stand out from the room because of memory you had from some activities. This phase of process gave us a resolution of the overview.

Step 3: Activation

In this step, we begin to identify a pattern from our previous clues. Let say person A, B, C are in one group, and person X, Y are in another group. [See the graphic for this article as shown at the beginning of the article] The combination of these two groups of people in the room indicates this project may be involved in a specific type of projects. The strong signal output becomes activated or stands out from the crowd as it is strongly associated with past references and this gives you a stronger claim in supporting the identification of the project we try to do.

Step 4: Fully Connected

In the last step, the layers in the network are fully connected, and strong pattern of connection or links emerge as shown in Step 3 in our scenario where the project has a combination of groups of ABC + XY +…..n patterns. This unique pattern greatly helped the identification and reached a final decision. The final result may be right or wrong, but at least it has come to a possible conclusion with some reasoning behinds it.
​
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.  
0 Comments

    Arthur Wang

    @ArthurWangLA
    MCSD App Builder
    MCSD Web Applications
    ​Member of Windows Insider Program & HoloLens Developer Community & Dev Center Insider Program

    Over 17+ years of  experience in web-based software development & management.  Specialized in Microsoft technology with c# language and its architecture design.  MCSD, MCSE, Microsoft Specialist, MCP + Internet, and B.S. from UCLA

    Archives

    August 2018
    March 2018
    January 2017
    December 2016
    May 2016
    April 2016
    March 2016
    February 2016
    April 2014

    Categories

    All
    API
    Arduino
    ASP.NET
    Cognitive
    CSS
    Database
    Deep Learning
    DevOps
    Electronics
    Flexbox
    HTML5
    IoT
    Katana
    Machine Learning
    Management
    .NET
    .NET Core
    Neural Network
    OWIN
    Programming
    Programming Tools
    Recognition
    Security
    SQL Server
    UWP
    Visual Studio
    Web API
    Web Developer

    RSS Feed

    Latest Articles

© 2014-2020 ArthurWiz.com All Rights reserved. | Home | About |
Protected by Copyscape