"Machine Learning 101" which explains what computer is "human" and "AI" "deep learning" "machine learning"


ByNot4rthur

Recent computer technologies such as AI (Artificial Intelligence) to steer an automatic driving car and "Go AI" to leave "World's Strongest" name by Deep Learning are called "AI", "Deep learning", "Machine learning" It is a situation that can not be said without a keyword. Google slide published by Mr. Jason Mays who is a senior, creative engineer at Google "Machine Learning 101", The relationship of those words is explained in an easy-to-understand manner.

Jason's Machine Learning 101 - Google Slide


What Mays explains with this slide is that "what is machine learning, what type is there?", "What is the mechanism?" "How is it used?" "Where are you heading?" It is this 100 page slide that was compiled as a culmination of work over the course of about two years.


In reading this slide, Mr. Mays strongly urges you to "read this slide and movies all at once", "use it for 2 hours". However, by doing so, it will become possible to understand all the contents written here after the reading.


Please note that this slide contains green pages and blue pages. Green is a page that everyone should look through without fail, and blue is a page that interested people can read in order to dig deep.


◆ "AI, machine learning, what is deep learning?"


"AI" is defined as "intelligence of human being reproduced by machine", that is, it is to make computer do the task which human beings do. The focus of the discussion on AI varies from time to time.


The mainstream current AI is what is called "narrow AI", and "one thing that can be skillfully performed than a human being is limited to only one predefined one or several". This includes "Natural Language Processing" which understands language and manipulates words, AI which improves game by practicing, and "Machine learning" can be counted as one of narrow AI.


AI is used in such fields as creative fields such as object recognition, speech recognition, speech detection, natural language analysis and painting creation, techniques for restoring or transforming parts of translations, missing parts from the whole.


Next, "machine learning" is defined as "an approach to realize AI that lets you discover and learn patterns from data based on experience." In machine learning, it is possible to create algorithms themselves, recognize patterns, and learn by merely giving data, not by letting a computer acquire ability by computer programming.


Machine learning is for "predicting things essentially". By acquiring data by himself and learning the pattern, it is possible to classify it based on the learned pattern even when unknown data is encountered. The point of excellence in machine learning is that it can learn again from the data learned once. Moreover, there is a very big advantage that there is no need for human hands to intervene there.


In traditional programming (left figure below), we had to give rigid rules to computers, but machine learning programming (right figure below) says, "We classify e-mails and change themselves to reduce errors, Repeat "only by giving the directive, afterwards the machine will continue learning without permission.


And at the end is "deep learning". This is defined as "technique for performing machine learning", which includes the concept of "deep neural network" that reproduces the structure of the human brain.


The following figure summarizes these three. The oldest is "AI", and that concept was already advocated in the 1950s. After that, "machine learning" began to spread in the 1980's, narrow audios have come to be realized from around 2000 by "practical use of" deep learning ".


◆ How to choose data to train a machine learning system


When training a machine learning system, "feature" or "attribute" is given. This means the property that the thing you want to learn has.


Taking fruit as an example, for example, there are attributes such as "color" and "weight". And"Two attributes" means "two dimensions". Two dimensions can be expressed in a two-dimensional graph as shown in the following figure. Machine learning can distinguish between apples and oranges by recognizing patterns of data when the following graph plotting apples (red / green dots) and oranges (orange dots) exists.


However, if you mistype this attribute data, you will not be able to get satisfactory results. For apples and oranges, this time if you gave data with attributes of "number of seeds" and "ripening condition", the results are as follows. All points clump to the same area, and the difference between the two fruits can not be recognized by distinguishing the data. In other words, what kind of data should be used for learning is an important factor for machine learning.


In the example of fruit judgment was made in two dimensions, but this dimension can be increased to any number. Three-dimensional judgment as shown in the following figure is in the beginning, depending on the object to be learned, it may become higher order such as "20 dimensions", and in the case of image recognition where individual dots constitute one dimension Even when it reaches the level of "several million dimensions". Processing becomes more complicated as the dimension goes up, but the basic mechanism is based on what is mentioned in the 2D example.


The next most important thing is, "How to prepare data that is not biased for training." For example, if you want to learn about "cat", it is necessary to give about 10,000 data in order to obtain reasonable results. The data given will change not only for "image" but also for targeted items such as "table containing multiple elements", "text", "value obtained by measuring instrument", "sound sample".


Meanwhile, machine learning can not predict "things you do not know". If it is beforehandanimalWhen we were learning that "4 · black · 10 kg · dog" · "2 · orange · 5 kg · chicken" based on the element of "number of feet, color · weight · type" about " "If you give only the information" 4 · black · 200 kg "as information, the computer will judge it as" dog "based on this data. Because the computer has only learned about "dog" and "chicken" in order to predict closer one.


About these contents, you can better grasp by seeing the YouTube movie below.

The 7 Steps of Machine Learning - YouTube


◆ How the machine learning system learns


"Supervised learning"(Supervised Training) is a way to make learning by giving data that has already been labeled. For example, by teaching elements of "color, weight, type" about "fruit", it is predicted when new information is input, and development in this field is now most developed at present And that.


on the other hand,"Unsupervised learning(Unsupervised Training) is a mechanism that machines themselves learn based on unlabeled datasets. As shown in the following figure, if there are elements that make up three chunks, in unsupervised learning, the computer first recognizes that "there are three clusters", then categorize each one. What matters here is that it is not known beforehand how many categories are in the computer. In addition, each category does not necessarily constitute a chunk with the clarity as exemplified.


"Reinforce"Is a learning method that gradually finds the right direction while repeating execution and failure (trial and error). For example, let's run a game such as sorting and blocking on a computer without teaching rules, giving a reward when accidentally giving good results and giving no reward or punishment for poor results. Computers that are set to aim to maximize rewards will find this way to repeat this trial and error over an enormous number of times and ultimately get to the right answer the most efficiently.


◆ How does it actually work?


There are several ways in which machine learning works. In the following slides, the mechanism is explained based on two-dimensional data examples.


·Example 1:
When several points are shown on the graph, finding the approximate curve is the simplest example of machine learning. Based on the approximate curve obtained in this manner, the value of "Y" is predicted when a numerical value at "X" is entered. This is in the field of statisticsregression analysisThis is called a method called machine learning, and as such, it is supposed to obtain such an approximate curve.


· Example 2
As shown in the graph below, if there are two clusters and a straight line dividing the middle is drawn, each cluster is classified as "red cluster" and "blue cluster". However, in reality there are individuals (Outlier) that show outliers for some reason even though they belong to one of the clusters. However, even in this case machine learning can correctly classify clusters from various factors. Also, although simple straight lines are shown in the example, in practice, clusters are often classified with complicated lines of quadratic function level.


· Example 3
There is a method of predicting the cluster belonging to, based on the proximity (distance) between the input value and the existing cluster, rather than classifying the cluster with the "line" as described above. Suppose a new point is entered in the lower right corner of the graph when there are the following graphs. Then, the machine learning algorithm predicts a new point as a blue cluster because "the closest three points exist in the blue cluster". this isk-neighbor methodIt is a technique called.


◆ Neural network
In the human brain, it is said that there is a connection of neurons called "neurons", which is also called 100 billion cells. Those neurons exchanges stimuli with each other and gives output to the other party. In machine learning, an artificial neural network is used to predict from the learned contents.


Artificial neuronIs a basic unit that constitutes a neural network based on the nerve of a living being and receives multiple inputs. . "Weight" is added to each input, and the bias is loaded to the numerical value which is the sum of the product with the input value. If the result exceeds a certain threshold (threshold), a "synapse" is generated as output and input to the next neuron, and the process continues in a chain.


Multilayer PerceptronIs an old form of the "neural network" in which concepts existed since the 1960s, all layers are connected to the next layer, and the direction is limited to one direction.


Deep Neural NetworkLiterally refers to a deep neural network consisting of several hidden layers. Each layer learns from the information received from before, you can conduct a higher level of learning. These hidden layers usually have the advantage of being able to better generalize the data due to the small number of dimensions, nor overfit at the same time. These intermediate layers can learn "features of features". For example, "boundary (edge)" contained in the image leads to "part of the face" and further connected to "whole face", the system will be able to recognize the face.


Details about this area are explained in detail in the following movies.

But what * is * a Neural Network? | Chapter 1, deep learning - YouTube


In addition, in this movie, "convolution neural network" explains in detail the state of image recognition.

How Convolutional Neural Networks work - YouTube


Types of machine learning algorithms(The blue slide that continues for a while from here is touched on details so you can skip reading)


· Regression
Regression is a method that predicts the relationship between two or more variables and applies a model. Regression is a method used in statistics and is incorporated into statistical machine learning.


· Instance-based learning
An instance-based learning model is a decision problem with an instance or example of training data that is important or required for the model. Such a method typically builds a database of example data using similar data and compares the new data with the database in order to find the best match and make a prediction. For this reason, the instance-based method does not require training and only requires example data. It focuses on the measurement of similarity used between representation of saved instances and instances.


Decision tree
The decision tree (decision tree) method builds a model of decisions made based on the actual values ​​of the attributes of the data. Decisioning branches within the tree structure until a prediction decision is made for a given record. Decision trees are trained with data for classification and regression problems. Decision trees are fast and accurate in most cases, and are preferred by machine learning.


Bayes methodIn case
Bayes method is a method for classification and regressionBayes' theoremIt is a method to apply clearly. A good example is when you use various possible features such as 'used words' to determine if an email is spam.


· Cluster analysis
As with regression, cluster analysis describes the classes and method classes in question. Cluster analysis methods are typically organized by modeling approaches such as centroid methods and hierarchical methods. All methods are best suited to classify and classify data into groups of the highest commonality using the unique structure in the data. In case


· Association rules
Correlation rules The learning method extracts rules that best describe observed relationships between variables in the data. These rules can discover important and commercially useful associations in large multidimensional data sets.


· Artificial neural network
An artificial neural network is inspired by the structure and / or function of a biological neural network in the brain. These are pattern matching classes that are often used for regression and classification problems, but in reality are huge subfields of hundreds of algorithms and patterns for all sorts of problem types.


· Deep learning
The deep learning method is the latest form to an artificial neural network that uses abundant and cheap computer technology. It is in mind that building a large and complicated neural network is in mind, and it is related to "semi supervised learning problem" in which a large data set contains almost no labeled data.


· Dimension reduction
As with cluster analysis, dimension reduction finds and uses unique structures in the data. In this case, this is a method or instruction that is not managed to summarize or describe the data using less information. This is useful for visualizing dimensional data and simplifying data that can be used in supervised learning. Many of these methods can be adapted for use in classification and regression.


· Ensemble learning
The ensemble learning method is a model for performing overall prediction by combining a plurality of weak models trained independently. The effort is spent on choosing which weak model type and how to combine all. This is a very powerful technique and very popular.


◆ Types of machine learning output


· Continuous value
A pattern in which the output value takes a decimal point like "8.3984". When the input value is "Orange" of "200 grams", the output value is the diameter of "4.2 inches", and the numerical value is predicted and outputted. In linear regression, by applying this prediction to a straight line, the numerical value of the Y axis is output with respect to the input of the X axis.


Probability estimation
It is to estimate the probability literally, and the numerical value takes a decimal point in the range from 0 to 1. When the number is "0.751" it means that the probability is "75.1%". For example, when estimating the number of blocks contained in the following glass containers, the output is "9" and "54.3%".


Classification
This is to classify the class of the input, and the output value will be labeled unlike "continuous value" or "probability estimation". Example: input "hair, fore leg, beard" → output "cat"


· Utilize output when you get it
Once you get the output of any of the above, it is time to utilize it using the program this time. If you saw that cats are cats with 80% chance, you will want to feed them. On the other hand, if the prediction is 75%, you may wait until a more certain answer comes out.


◆ How does Google use machine learning?


Google's machine learning is based on smart search capabilities of "Google Photos", "smart reply" which automatically creates replies with "Gmail" and "Inbox", and eyes (= camera) When letting students learn how to link objects and hand movements with robots.


In addition, the experience of the user is improved by machine learning with the following services.


In "Autodraw", it is possible for millions of people to do graffiti, so that AI learned from there can be graffiti on their own.


"Soli" is a technology that operates like a radar by incorporating it into a device, and enables a device to be controlled by detecting a gesture. By rubbing your fingers as below you can control the volume and enlarge / reduce the map.


"Pixel Buds" is compatible with gesture control by combining with Google Assistant, and it also supports real time translation.


"Google Lens" recognizes objects that are currently being photographed simply by directing the camera of the smartphone to the object, and displays menus, reviews, photos, etc. of the shop.


◆ How to use other machine learning


Cases listed from here are part of cutting edge research and there are things that will not come out to the world at once, but also those that are likely to be realized in the not so far future are included.


· Robotics
Boston dynamics robots that can walk with two legs or back to the back can learn various functions through machine learning.


· Style conversion
Giving two pictures, applying the style that exists in one picture to the other. This is not just image processing, but a new "picture" is created to actually draw a picture.


· Movie generation
By letting you learn a lot of videos in accordance with each theme, AI creates fictitious movies by itself. You can create scenery that is not in reality.


In "Skip Thought Vectors" which vectorizes sentences, it is possible to generate sentences from a given image. Making the model a "romantic novel", this sumo wrestling effort "He is a naked man who is not wearing a shirt in her heart, for having felt on his shoulders to kiss me, he felt funny. He thought that I would become a beautiful boy when I wear his boxer shorts and tried to strangle me. "


· Understand images
"Camera is the entrance point to understand the world"


By using "Thing Translator", it is possible to replace an object reflected on the camera with a word.


"Treasure Hunt" (Treasure Hunt) is a function that uses images shot with the camera, and when a predetermined object such as "coffee", "umbrella", "glass" is photographed within the time limit, AI recognizes it and points Things to get.


"Dragon Spotting" is a movie "Pete and a secret friendIn the AR application that spun off from, the dragon appears on the screen when the smartphone's camera is pointed at a designated object such as a sofa or a television. This is also an example where a technique to recognize an object from an image is used.


· To predict complexity
"Identify large patterns and actions"


AlphaGo learns by using machine learning a complicated game of go can be strengthened AI. Previously it was said that "go is too complicated to be able to win by humans", but AlphaGo not only broke the most powerful players of humanity, but he reached a level that learns go from zero and can become strong without renting a person anymore .


◆ Optimize user experience
"Design for Context and Personalization"


Spotify generates content for each user by machine learning. Higher customer loyalty is earned by providing content that matches user preferences.


Apparel brand Zalando will collaborate with Google to design fashion suitable for customersProject MuzeLaunch. We analyze personal taste and propose design that seems to be optimal.


◆ Interact with users
"Natural communication in everyday life"


Disney · Australia offers "Book EarsIs a function to reproduce effect sounds and the like corresponding to a scene by detecting a specific word when reading a picture book. The Google Speech API is used for this.


American SF Thriller TV drama "West World"Aeden" appearing in "Aeden" is digital anthropomorphic by Google's Ai technology, and it is now possible to talk with humans in natural language. This work has also won the Emmy Award by this technology.


◆ Google products and APIs that can use machine learning


Among all of Google's services, those related to machine learning are as follows. There are "TensorFlow" and "Cloud Machine Learning Engine" that users can freely customize, "Cloud Vision API" which is used in advance, "Cloud Speech API", "Translate API", "Natural Language API", and so on.


With the Cloud Vision API, computers can also understand objects, buildings, logos, faces and emotions.


It is possible to index places from images, recognize objects reflected in photographs, and to estimate emotions from facial expressions.


The Cloud Natural Language API is capable of finding insight by machine learning from unstructured text. By using this, it becomes possible to draw out information about people, places, and events from documents, news articles, blog postings, etc. It also makes it possible to analyze how our products are evaluated by SNS and comprehensively comprehensive messages received from customer service to grasp overall trends.


TensorFlow is a machine learning system that enables a wider range of applications, acquires the ability to recognize the pattern of the paintings drawn by the painter at a high level, extend the painting to the outside of the original work, break human beings by go can do.


TensorFlow is an open source machine learning library that can recognize everything including images, sounds, and text. There is a use such as calling the function of the smartphone with the voice included in the YouTube movie, analyzing the emotion by looking at the user's multiple SNS accounts.


In the Google Assistant, a function "action" corresponding to an application is prepared, and "Direct action" which operates devices such as home automation and "Conversation action" which can be used when two-way dialogue is necessary Two types are offered. The Google Assistant responds to various crises, and it can be installed from Raspberry Pi, a compact microprocessor, to products for general consumers.


A platform that enables conversation experiences with Google Assistant action development and IoT devicesDialogflowis. You can use it to add interactive experiences to existing services and connect chat bots and assistants to Google Assistant.


◆ Summary
Machine learning or data science is like an aggregate of several regions. The figure below summarizes the fields necessary for developing services in each field, showing how a certain mass is intertwined in a complex manner, such as one aspect of service in another field You can see a glimpse of it. In order to build an excellent machine learning system, it takes a lot of time, research and money, but as research in each field advances, better machine learning will be realized.

in Software, Posted by darkhorse_log