📜 ⬆️ ⬇️

Machine learning - magic or science?


This is the fifth publication in the framework of the assistance to the participants of the competition “SAP Koder-2017” .


On May 18, 2017, at the presentation in the SAP office, Denis Savkin, Head of the SAP CIS Expertise Center for Solutions and Technologies, spoke about the principles underlying machine learning. On real-life cases, he showed how artificial intelligence technologies can change a business. Contrary to the impression on the market, there is no magic here - only mathematics and its correct application in accordance with the task. We offer transcript of his report.



Some theory


When we talk to customers about machine learning, it is often perceived as magic - “incomprehensible as” a working and “it is not clear who created” the black box. As in any magic, in the results of his work doubt. In classic products (ERP, etc.) everything is clear: he made an order and turned it into admission; from receipt formed an account. Everything is simple and easy. And machine learning is beyond the scope of this understanding. So is it based on any science at all?

I'll tell you about it.
')
Over the past 100 years (and maybe a little less), we have accumulated a huge amount of different knowledge, including in each individual company. At the same time, we learned to work remarkably only with the tip of this iceberg - about 5% of all available information.



As an example in this figure, I present SAP products that operate on 5% of corporate information. These are the very data about employees, production, procurement, sales, etc. But besides them, there is still a huge amount of data and knowledge that the company does not use at all.

My favorite example is the oil platform. It is all filled with sensors, but only 1% of the data from them is actually used. Everything else either does not accumulate, or is simply stored somewhere. A similar situation is observed in other industries: you can get a lot of data, but our customers simply do not know how to use them.

The Internet has pushed the real boom in the growth of the volume of accumulated information: over 2 thousand years of its existence, humanity has accumulated about a terabyte of data; and another terabyte - for the last 2 years. And the total amount of information is constantly increasing. 90% of the data existing to date has been created in the last 2 years. And another 2.5 exobytes of data is created every day, which is equivalent to about 7.5 thousand Libraries of the US Congress (one of the largest libraries in the world).

With this data, you must be able to work. And for this the classical systems mentioned above in the figure are no longer suitable. To process this amount of data, you need a completely different math, other hardware and software.

To work with large amounts of data, humanity has long created various mathematical models. But when we start talking about them, it turns out that everyone has a little “floating” terminology. So now I will try to tell about it in simple language.

The history of the development of machine learning algorithms


Around the 70s of the last century, the concept of databases and methods of working with them appeared. A great example is the SQL language. You can ask for the system: choose me all employees with the last name Ivanov; and the system chooses. These are simple mechanisms, and it all began with them.



Then a whole class of products appears that runs on classic databases - storage. In parallel with them, since the beginning of the last century, a large science has developed: mathematical statistics. During this time, she experienced ups and downs, but slowly a whole class of mathematical models emerged from her, which were called machine learning.

Machine learning (within our hierarchy) is a subclass of artificial intelligence: in addition to it, robotics is included, and a lot of other things. Machine learning itself includes various methods, in particular, work with neural networks that are so popular now. And one of the subclasses of neural network learning is deep learning.

Here we will not consider in detail the classification of machine learning methods. I just wanted to show how many branches this term has. Here, neural networks are only a small piece, just like deep learning. And everything else is a set of mathematical methods that continue to be developed. This is a great science, which is now moving forward with great speed, including through the emergence of very different hardware.

However, the main factor determining the flowering period is not even the speed of information processing (that is, not power), but the availability of data for training. Previously, such a volume of data simply did not exist.

How machine learning works


How does the most popular to date machine learning algorithm work - the neural network?

Imagine the most fantastic animal. It may be:



or so:



or even like this:



But, having done this exercise, you will understand that any animal that you can only imagine, in fact, begins to take shape from those images that you have seen one way or another. The human brain works on what it knows it has learned before.

Any learning-based mathematical model works the same way. This is logical, because mankind has always watched how certain things are implemented in nature.
Thus, the first algorithm that works in machine learning is the search for patterns. For example, having such a set of letters, we can make the system look for which words can be made up of them:



See how it works. The human brain consists of cells - neurons that are connected to each other.



All the "magic" occurs at the moment when the electric signal moves from one cell to another - this is what determines our memorization of experience.

The electrical signal on the axon passes either completely or partially. Almost nothing else happens in my head. Billions of such cells form memory.

The neural network operates on the basis of similar artificial neurons described. Let me explain by example.

Imagine that we need to make a model that determines whether we are going on vacation or not. Four factors influence our decision. The first is the cost; expensive get rest or not expensive. Next - the weather will be good on vacation or bad. The third factor is whether I will manage to finish everything at work or have to work on vacation. And finally, the last factor is whether the food is tasty there.

It is clear that the criteria for us are not equivalent, so I will put tsiferki ("cost") of each criterion in order of importance: 5 is the most important parameter for me; the weather is a little less important; work and food are of the least importance. Now we can make our artificial neuron solve the problem.

Take a very simple model - a binary estimate: the cost is good - 1, bad - 0; the weather is good - 1, bad - 0; and so on. Sum up all the points, and we will take a positive decision about going on vacation if we have scored more than 6 - a simple decisive neuron.

Let's say the cost of our vacation is small, the weather is bad, with the work blockage, but the food is excellent. Scored 6 points - going on vacation. Or suppose the situation has changed: the cost is high (bad), the weather is bad, but with work and food everything is good. Scored 3 points - do not go.

This system is called trained and, accordingly, the neurons in this network are trained because we have set the necessary coefficients. These are my own factors, as I prioritize when planning a vacation trip. So this neural network is trained for me. For another person, the “cost” of the criteria will be different.

Neural network training is a mathematical method that allows you to arrange the coefficients within the neural network. That's all the magic.

However, if everything was so simple, it would not be called science. To solve a great challenge, you need to collect a lot of such neurons. And each such neuron needs to be connected with each, create several layers. As a result, we will have a multilayered neural network, which receives some parameters at the input, and then produces some results at the output. And it will be almost the complete analog of the biological neural network that each of us has in our head.



There is also such a clever term - deep learning. This is just a mathematical method that allows you to train the inner layers of the neural network (which is why it is called deep learning). Without this method, it may turn out that when learning, coefficients are put in the first layer of the network, but not inside. Here is the whole theory that I wanted to show you.

In the 70s of the last century, mathematicians invented methods for network training. But the fate of this segment was largely determined by two books. Back in the 60s, it seemed that artificial intelligence would be implemented on the basis of neural networks — there would be a breakthrough. And the book was published, where it was said that we will solve all the problems with the help of artificial intelligence. However, a colleague of the author of the first book on the university in the mid-seventies wrote his refutation. In his book, he argued that all this is just a myth, a model that allows you to solve only very small tasks. The popularity of the second book threw off the math of neural networks at the age of 20. Its author subsequently publicly regretted his creation, since this had a negative effect on mathematics, as a science, because of the general disappointment that followed.

From the late 70s - early 80s - until the early 90s, neural networks were in decline. And then it took off again. New models were invented, new computers were created. And now Siri, Google-assistant and a lot of tasks, in particular, voice and video recognition (including license plate recognition) are implemented on the basis of neural networks.

How is the training going


Consider this process on a simple task. We give the car text and want the machine to be able to say whether this text makes sense.



To write such an algorithm, you must either add a complete dictionary to the computer, or come up with some other way to distinguish meaningful text from rubbish. Mathematically it is quite difficult. Therefore, we make a neural network and send a computer via the Internet, indicating to it where there is a normal meaningful text for training.

The computer starts to sort out. In a normal text (for example, in War and Peace), certain combinations of letters are encountered with a certain frequency.



And then we give him rubbish - there the frequency of occurrences of combinations of letters does not correspond to these statistics, which the machine will immediately reveal.



And here is an example of not a neural network, but another mathematical algorithm, which can simply and quickly solve our problem by a combination of letters (without long training, simply according to the statistics accumulated in the text).



These are two different approaches to solving such problems.

Living examples


There is another task that I would like to show. It looks quite interesting. This is an image recognition task.

There is such a game: the system asks to draw something. For example, in 20 seconds we will draw grass. And now we can see why he correlated our drawing with grass.

Because he compares the beginning of our picture with the images introduced by other people who played this game. It is important that each draws the proposed in different ways, but with all these images, the system will very quickly find the most relevant. And the more there will be these drawings, the more accurate such a recognition system will be able to work.

This task is solved only with the help of neural networks (this is the easiest and easiest way). All the algorithm needs is a large number - many, many people who draw. They are easy to find on the Internet.

And on the Internet there are people who write reviews about products, for example, on Yandex.Market. Suppose I describe the product and start with the words "like" or "not like". I wrote: “I didn’t like this TV at all. He is terrible, I put 1 star "or" But I really liked this TV. He is wonderful, cool. For this, I put 5 stars. ” The system itself can teach the neural network that the words “bad”, “terrible”, “disgusting” - this is a negative reaction of a person, and “good”, “great”, “great” - a positive one. And if any company, for example, Aeroflot, wants to know what is written about them on the Internet, they will not have to re-write such dictionaries. She will just take such a network and send it over the Internet. And it will very quickly find those messages on social networks where conditionally they write about Aeroflot company well and where they write badly. Especially if they write a lot.

This is very useful for business. Currently, if someone writes a review in a social network about a business, this message is better to find and somehow respond to it. If you paid attention, now in booking.com hotels answer almost every guest with an apology or gratitude. But Booking is a specialized place (it is clear that the hotel will look there). A message on Facebook or Vkontakte still need to find to respond. To solve this problem help just such intelligent systems.

In America, there was such a story. You may have heard of it. During the flight with the airline United Airlines, no one guitar player broke the guitar. He asked for compensation (he tried to resolve the issue peacefully), but the company refused to compensate for anything. Then he promised to write a song with a negative review and post it on YouTube. And he really did. The song sold millions of copies, likes, etc. Employees of United Airlines subsequently tried to arrange for the author to remove the song, but they failed.

Neural networks just allow you to find such cases and do something with them.

Here is another interesting picture that shows how a neural network works - how that “magic” works. Here we have a real neural network. Neurons are connected to each other by a sprig. And for each such twig we can hover the mouse and see the very coefficients (remember, I told you about the weights - here they are also placed on each twig in the same way). Odds are different. Now the system has placed them in a chaotic manner. I can add neurons or layers.

In this case, the network is used for a very specific task: I have blue and yellow dots. Through training, the system must draw a region that will separate the blue dots from the yellow ones. She will receive the correct answers at the entrance many times in order to learn how to divide such an area on her own.

In a simple version, the problem is solved quickly. If I make the task a little more complicated, for example, by mixing points, it can become too complicated for a given neural network. In this case, we can add several neurons (to make the network a little more difficult). Sooner or later, this task will either be solved, or I will increase the network a little more.

Such a network is also called trained. She is able to solve a similar problem (it is in its pure form the recognition of images - the same numbers, human faces, photographs, etc.).

SAP Products


From theory, we move on to what happens at SAP in terms of machine learning and artificial intelligence.

In Orlando, an SAP forum is being held these days ( SAPPHIRE, May 16–18, 2017) - this is an annual event where the most interesting new products, technologies and products are announced all over the world. This year, an innovative set was announced, which includes technology products, methods (approaches to the introduction of these products) and accelerators for different industries in order to work with customers in terms of digital transformation.

So far, for many, “digital transformation” is a beautiful phrase. So that it ceases to be just a slogan somewhere on an advertising poster, and turned into something tangible, SAP has a new package - SAP Leonardo.



Technologically, SAP Leonardo consists of several pieces. The first is technology.



I’m not going to talk about these products right now, after all, SAP Leonardo is big enough and I would wait for official information from Orlando. But in general I will tell a little.

From a technology perspective, the SAP Leonardo portfolio includes a whole platform with which you can create such solutions. It includes machine learning algorithms, big data, Blockchain, smart systems, the Internet of things and analytics.

Under each of these diamonds lies a large set of products. For example, take Big Data. No machine learning without big data will not work, so this includes products that are responsible for receiving data, their preliminary processing and storage. Next, Machine learning is connected to process the data, and analytics to visualize the result. We believe that for digital transformation these are the most important technologies.

Another slide from SAPPHIRE that I wanted to show (sorry, in English):



There are classic systems that we call transactional (or recording systems), and there are some smart systems that include new technologies.

For example, there is a classic well-known SAP ERP, which we now have called SAP S / 4HANA. Together with SAP Leonardo, it turns into a new ERP, which also includes elements of new technologies.

We are now talking to all our clients that our goal is for each business process in a company to become not just transactional, but truly smart.

As part of SAPPHIRE, it announced the release of several software products, including artificial intelligence technologies: SAP Resume matching, SAP Cash applications, SAP Service ticket intelligence and SAP Brand Impact.



Further I will tell about each of them in more detail. I'll start with a solution that relates bills and payments.

SAP Cash applications




There is a task that most of our clients face. Suppose they create a framework contract for the supply of pipes. Under this contract there are a dozen orders and sales. And then billed. Moreover, one invoice can be issued on several orders (respectively, under one agreement), payment can be made on several invoices, etc.

The accountant sits down and begins to carry out compliance, for which it paid 1 million rubles, what they were selling. Well, when each order is associated with each account. But in practice this is not happening. How many years have we been trying to ensure that enterprises implement electronic document management, when everything is stored not on paper, but every order, every document is connected. But things are there. Some go, but some do not. And the problem remains the same: here is an account for 1 million rubles, and then, an accountant, as you wish, so distribute it. The payment may not be equal to the invoice, the payment and the invoice may be in different currencies, the details or name of the client and other details may be incorrectly indicated. Those. these documents are full of errors. As a result, the accountant is sitting with huge batches of documents on the table and looking for mistakes in them.

Errors are really found, but only the most obvious. In principle, no one is able to check everything thoroughly (that, for example, the terms of a contract do not correspond somewhere, for example). The accountant will simply miss half of the mistakes if they are not bright.

To solve this problem, we supply a trained neural network. This means that we have taught such a network to correctly match the details of incoming or outgoing payments and invoices to hundreds of Sapov customers. This system itself can make assumptions about errors and their corrections, it only needs to load a bunch of invoices, orders, etc. To make assumptions more accurate, the system is trained for a specific customer using its own matching documents (for example, the history of payments for the last year). To train this network for the specifics of work in this country, in this very enterprise, we need to receive from the client about 10 thousand documents.

In other words, we set up the basic network, we train, and we get a smart system that can work this way itself.

By the way, when I talk about machine learning to schoolchildren, they always ask the same question - what should people do if they lose their job with the spread of machine learning methods? This is a question that is not easy to answer. Honestly, I hesitate to respond to him students. All I can say is: study better not to lose your job.

Indeed, there is such a trend: the simplest routine operations that a machine can do will probably be done by machines in the future. As with the advent of unmanned vehicles, whether we want it or not, the driver’s profession is likely to disappear (as the drivers had once disappeared).

For example, I recently opened a card in a bank. First, I filled out a questionnaire, described my parameters, showed details. Then the system asked to wait for its decision. It was obvious that there was no decision maker on that side. Two minutes later, the system approved the application. I was asked to report something else and were given a certain credit limit on this card. The first time I ran into a man, I only when he brought me a card to the address indicated.

This process is 100% automated. And do not need these dozens of people in the windows, who are asking for something there. The process is automated from and to - before receiving the card physically (I think, and the card was printed without human intervention). Of course, such banks will be more efficient by maximizing the introduction of automated tools for working with clients.

I'm not talking about call centers. To reach a person in the company, you need to press 0, 1, 2, 3 times. You still need to find him there in the voice menu. But I, as a consumer, will not call the call center for the second time, for whose voice menu I will be wandering for 20 years. So further the question of the effectiveness of this call center will arise (so that there is practically a person on that side).

Service tickets intelligence


The next typical task is Service tickets intelligence



Suppose there is a service desk - the first line of support. If my computer breaks down, I enter a special form and report it, commenting on what happened. And then the special people classify my appeal: they reveal what my problem is and add a category to the appeal so that the task goes to the right specialist (who will deal with my problem later). Everyone has such a classification - in any bank, in an airline, and practically in any company.

It turned out that in these companies there are a lot of people who are engaged in such categorization and proper routing of incoming messages. And as you understand, the text, which I will write in a free form, can be any - even in verses. A person, reading these verses, makes assumptions about the problem and, accordingly, the necessary specialist. But the neural network does a great job with this. The machine reads the text written by a man and understands the nature of the problem. This is also a typical solution on neural networks, which is supplied, is trained for a specific language (Russian, English, etc.) and can be trained in the specifics of the company (if it is an IT company, then the treatment will be mostly from IT).

SAP resume matching


Wishing to find the most remarkable candidate for my company, I have to write the correct resume and look for matches across all recruiting sites, social networks, etc. Such a task can also be entrusted to a machine, as an input data specifying its wishes to the candidate. She will find and pull out the profile of the ideal candidate. She can also analyze the profiles of candidates in different social networks and say that, for example, the profiles found on Vkontakte and Facebook belong to the same person.

SAP Brand Impact


A fantastically popular topic now is image recognition. For example, there is a new refrigerator from the Coca-cola company. Coca-Cola's goal is to have only Coca-cola products in its branded refrigerator, and not beer, ice cream or anything else (the refrigerator should be used for its intended purpose). Therefore, a surveillance camera is installed. To monitor compliance with the conditions of installation of the refrigerator, as well as the appearance of the brand on video in other situations, allows another standard solution - SAP Brand Impact.

Many companies want to see how their products are presented in the local market. For example, BMW may wish to know whether money is being effectively invested in advertising products on the Russian market.

First, they give some advertising, for example, on live television channels. In addition, BMW cars appear in movies, magazines, etc.

What is required to assess the situation? Watch the broadcast of the airs of all Russian channels in order to estimate how much time the car appears on the air in profile, from the front, from the side, from above (the main thing is that this car is recognizable). Of course, man will not do this. Sit and watch all the ethers - you can go crazy. Therefore, we shift this task to the computer.

The solution is applicable to any sports broadcast where advertisers pay money and place a logo. In the case of hockey, everything is clear - in the center of the court it is expensive, on the side of the gate it is cheaper, because the camera gets there only occasionally. And if any ski races are on the air? There is not so simple. And here neural networks come to the rescue.

By the way, do you know how an industrial solution in the field of machine learning differs from any non-industrial one? Let me explain by example.

Many who do text recognition on video. Our colleagues are engaged in this task in the innovation center of Israel. Using typical hardware training, it took about 1 frame in 6 seconds (you can imagine what servers are needed and paralleling the task to watch the entire broadcast). Therefore, an agreement was made with NVidia, which creates excellent graphic video cards. It turned out that working with neural networks - these are matrix operations - are perfectly performed on these video cards.

As a result, Nvidia has created a machine learning supercomputer, in fact, consisting of some video cards. On such a computer, the translation is processed at a very low level, reaching a processing speed of about 20 frames per second. And this is only the first step. Options are already being considered for neural networks to be implemented at the chip level (in order to industrially supply trained neural networks). But industrial systems are already distinguished by speed and scale.

I want to note that the SAP product map presented above is a preliminary version. Those. each entry may change here. I show it only in order to show that neural networks are a concept, potentially applicable to different scenarios. SAP now has a lot of product ideas in its head that can add machine learning and artificial intelligence. This includes smart bots, social networking, career counseling, payment risk (or non-payment), and conversation maintenance. For example, we are already developing the S / 4HANA system (ERP system) so that we can communicate with it.

All these tools are already available or will be available in the near future.Although twenty years ago such tools were described in science fiction literature, there is no magic at their core — only mathematical algorithms and training on large amounts of data. And the further development of this toolkit will realize many more courageous fantasies.

Source: https://habr.com/ru/post/329930/


All Articles