📜 ⬆️ ⬇️

Machine learning: where is the money?

Machine learning is now in trend, only if you touch on commercial applications - many questions arise. Because we found a man who has the answers. We talked with Alexander AlexSerbul Serbul from 1C-Bitrix, who talked about the use of machine learning to solve business problems, the reasons for HYIP around deep learning and the benefits of chat bots for users and businesses. And Anastasia Yanina YaNastya helped us in this conversation. For details, welcome under cat.



Alexander Serbul is an expert in the field of Big Data, software development, system analysis and design. In 1C-Bitrix, he oversees the quality control of integration and implementation, actively participates as an architect and developer in the company's projects related to high load and fault tolerance (Bitrix24), advises partners and clients on architecture issues of high-load solutions, efficient use of 1C-Bitrix clustering technologies in the context of modern cloud services (Amazon Web Services, etc.).


- How did you come to machine learning and what caused your interest in it?
')
Alexander Serbul: I came to machine learning on the wave of HYIP. I am an experienced engineer, but I do not have a mathematical education and a scientific degree. I was wondering how much machine learning helps solve real business problems. Gradually, I got involved and figured out the algorithms and basic approaches, with all the mathematics under the hood, with popular libraries.

Now we are actively using machine learning algorithms for solving applied problems. Our main goal is to help the client solve his problem as efficiently as possible. Therefore, we are most interested in algorithms that can be easily and quickly applied to solve business cases. We have a very pragmatic interest here.

- You supervise the directions of AI, deep learning and big data. Tell us about the main tasks that you solved using machine learning?

Alexander Serbul: Officially, I supervise the direction of quality control and integration of implementations, but, in addition, for several years I have been working on the directions of big data, machine learning (including deep learning) and artificial intelligence.

We tried to work in several areas. The first of them, where we successfully applied machine learning, is personalized recommendations for online stores. We have released several recommendation services. The first used collaborative filtering. It turned out that for most stores this approach does not work very well, since the algorithm must “warm up” (we are faced with the problem of a cold start). In addition, the same goods in different stores may be called differently and the algorithm will think that these are different goods. To solve this problem, we began to apply clustering of products, that is, compress different versions of descriptions of the same product into one. It is not so simple: there are tens of millions of goods in our database. When we solved this problem, the quality of recommendations improved by several tens of percent.

Then we decided to improve the system of recommendations by conducting AB testing. We have implemented tools for AB-tests into the Bitrix product. As a result, after a series of tests and analysis of their results, we simplified the model of recommendations and took the content-based approach as a basis. We compile a profile of user interests depending on which sites he visits. Then, when a person comes to the store, we can understand which products may interest him, and which products may not.

Thus, a three-stage evolution of the system of personal recommendations turned out. In Russia, no one has such coverage, the base of online stores with which we cooperate is very large.

After that, we used machine learning within the company, including for predictive analytics in marketing. They created a model that predicts which customers will soon begin to pay money for the advanced use of the service, how long they will use the application, and also learned how to predict the outflow of the audience. Then we made a model that makes a portrait of the user and clusters clients depending on what products they are interested in.

- What about fashionable now deep learning? Did you have projects where you had to train deep networks?

Alexander Serbul: Last year we actively dig the topic of artificial intelligence and deep learning to create chat bots. We made a pilot together with the Moscow City Hall. Dataset, where we studied, consisted of 500 thousand questions with answers. While the development did not go beyond the pilot, although the quality was normal: accuracy turned out about 75%. Not too cool, but nevertheless the chat bot allowed people to find answers to their questions faster and more efficiently.

- Since we are talking about chat bots, how do you feel about the technologies that iPavlov guys create? Is your decision fundamentally different from them?

Alexander Serbul: I read about their products, but, frankly, I think that while machine learning in the field of chat bots cannot provide the necessary business quality. Such algorithms are more likely to relate to advanced research and science than to business. Chat bot can serve as an assistant, adviser, but not to replace the standard call centers or technical support. I do not believe that today bots will be able to effectively replace people. Deep learning helped make bots smarter. Now it is quite possible to solve narrow problems (ordering pizza, for example) with their help, but you still cannot get a dialogue with the bot and get meaningful answers.

However, the progress in neural networks is staggering. Neural networks can classify images better than people, recover lost parts of photos, recognize faces, etc. Such results amaze and serve as a bell that there will soon be a breakthrough in the field of machine learning. Need to keep your finger on the pulse!

I like this field because machine learning is actively developing now. We need to teach developers to use ML algorithms, and give managers the necessary knowledge base: I want them to at least know their fingers on what logistic regression is. There is a huge gap between science and business: science comes into business, but business is not ready for it at all. In machine learning, a revolution awaits us, the third wave of neural networks will be a real tsunami. It will be even more interesting!

- Around the neural networks now really a lot of HYIP, they are trying to apply in almost any machine learning tasks. What do you think their huge popularity is connected with?

Alexander Serbul: Of course, this is due to the fact that they have learned how to properly train deep networks. There was a software for this, iron appeared (GPUs). In some areas (self-propelled cars, for example) began to try to replace human algorithms based on neural networks. All this reminds me of computerization: with the help of computers automated accounting, banking. But all the same, people are sitting, sorting out pieces of paper, and in some banks the principle “where the card was opened is still working, go there”. Routine work leaves, but very slowly.

The second important reason is that large datasets have appeared. The availability of big data and the availability of iron for processing big data allows to get cool results using deep networks.

The third reason is that scientists have become more actively involved in neural networks. Recurrent networks appeared, research in the field of convolutional networks advanced significantly.

Still, the root of this HYIP - the interest of vendors to similar technologies. Competent work with contextual advertising, for example, allows you to get a huge profit. Therefore, large IT giants, like Google or Facebook, benefit from spending money on research in the field of deep learning, hiring leading scientists, and providing conditions for the development of this field. By promoting the development of advanced technologies, they not only move the advanced edge of science, but also earn millions.

- How to choose the right neural network architecture for solving your business problem? There are some universal recipes, how to "prepare" a good neuron?

Alexander Serbul: No recipe, in fact. Training neural networks while similar to art. Even the question of network initialization remains open: there are many ways, and it is unclear which of them will work well for a specific task.

However, there are general approaches described in various books. My favorite book is I. Goodfellow, Y. Bengio and A. Courville (you can download it here . My advice is to start teaching neurons to solve practical problems and develop intuition. In any framework with neural networks (TensorFlow, for example), there are examples and ready-made architectures. We need to sit down and try to understand.

- What kind of knowledge do you need to have in order to start integrating neural networks into your projects? Coding skills and knowledge of libraries for deep learning is enough?

Alexander Serbul: Such work should be done by people who have the appropriate education, and not ordinary programmers. Developers have slightly different goals and objectives: they should be able to write good code, sharpened for production, quickly catch bugs, write tests. Writing good code is also an art, they have been learning for years. Learning neural networks is more of a challenge for the researcher, and not for the person in the industry. There are many subtleties here: you need to constantly read books, follow new published articles, write articles yourself and communicate with people with similar scientific interests.

- And what about ready-made frameworks and machine learning libraries (sklearn, for example)? You can not work with them, not understanding the mathematics thoroughly under the hood?

Alexander Serbul: Of course not. Without understanding at least the basic principles of theoror, this is all some kind of speculation. To start using machine learning libraries effectively, you need to be a qualified specialist, have a good mathematical base. In the same place Klingon language 95 level: "terver", mat. statistics, linear algebra. Many developers do not know all this. You can, of course, without having special knowledge to do “from sklearn import RandomForest”, but such a data scientist with zero knowledge of mathematics will not go far.

All machine learning is imbued with math. It's like music: how can you play without knowing the notes? Three chords to bang in the transition, and all. Real music requires solfege. There are self-taught, of course. I do not have a mathematical education, and it caused me terrible suffering. You open the book on machine learning, and there from the first page of "eigen vectors", "eigen values", "a priori probability" and off you go. I had to figure it out on my own, read books and spend a lot of time.

- What about the choice of tools? As a programming language, use only Python, and for learning neurons popular frameworks (the same TensorFlow)?

Alexander Serbul: Yes, TensorFlow is undoubtedly popular. Still, the choice of technology and programming language for learning neurons is an open question. I myself wrote Java code to train neural networks. I found a library of tensors in Java (ND4J). I wrote differentiation myself, it was not ready there. This neural network is now working in production for technical support. It works well, stably, quickly, reliably. Quality suits the business: they replaced part of the staff with neuron.

- Besides deep learning, what algorithms do you use for solving business cases?

Alexander Serbul: We use not only neural networks. Neurons usually go into action when simpler algorithms work poorly. We work with different algorithms: Random Forest, SVM, logistic regression, linear models, decision trees. For each task, you need to select your tool, a lot depends on the data. Now, for example, Yandex has released the CatBoost library. The algorithm itself (gradient boosting) was invented a long time ago, but on many tasks it works no worse than a neural network. We tried using CatBoost and were very pleased with the results.

- Even with good knowledge and skills, it is difficult to monetize your project. Share the secrets of your practice, how to sell the product correctly (for example, a well-tuned model for solving machine learning problems)?

Alexander Serbul: Now that sells well? Exact algorithms that quickly and well solve a specific problem. In my opinion, there are three main components of success.

First, the product must be, as they say, without traces of engine oil. Unfortunately, most products on the market are buggy or inhibited. This means that their creators saved on good programmers. Or on testers. Or managers do not cope with their work at all. In addition, solutions often suffer from complications: they take thirty frameworks, in the end, after making the minimum changes for two months, they look for bugs. The product should work correctly and simply. The perfection of technology is very important.

Secondly, any product must have business measurability. How to sell artificial intelligence? It is necessary to measure it and sell it, to sell guarantees for the quality of the product. It is necessary to clearly set tasks: “Reduce costs by 10%” or “Implement a chat bot and increase the efficiency of those. support by 20%. " The task can be set mathematically fuzzy, the task of the manager and analysts is to turn business requirements into a problem understandable to science, and then the result of research work into a model understandable for business.

Third, you need to create fast prototypes. It seems that in the Tinkoff bank they said that out of 10 models they have made, only 1-2 take off. It is also important that part of the team responsible for research has access to data from the customer. There is a lot of attention to data collection.

- What is more profitable: to promote your idea in a startup mode or to try to cooperate with large companies?

Alexander Serbul: I often worked in startup mode. For example, in the web studio Qsoft. At one time, we launched Eldorado.ru. From my own experience, I can say that in a startup mode it is much more efficient to work. People quickly learn, are passionate about creating a product, can work late at night or on weekends for the sake of "ideas."
In a small company, everyone knows each other, all their own.

Large companies are usually “the game of thrones”: promotions, bonuses, who is in charge, etc. It happens that it becomes boring, all tasks have been reworked, but I don’t want to take on new ones and do the routine work again. Of course, not everywhere so. But I'm still more comfortable working in a startup mode.

- And finally, how do you think, in what direction will machine learning continue to develop? Will the neural networks surpass people in their ability to solve routine tasks?

Alexander Serbul: People expect from artificial intelligence accuracy comparable to human intelligence, but so far this is achievable only in some rather narrow tasks. Basically, artificial intelligence is inferior to man, but I see great promise in its use. Before actively introducing machine learning into a business, it is necessary to inculcate a culture of analysis and calculations: you need to learn how to calculate the effectiveness of a particular product. So far, we don’t even have a business performance calculation model that would have sufficient accuracy. Predictive machine learning fits well into the company's scheme, where such a model exists, as well as a well-developed analyst, AB testing system, statistics collection, etc.

I like machine learning, because now this area is actively developing. We need to teach developers to use ML algorithms, and give managers the necessary knowledge base: I want them to at least know their fingers on what logistic regression is. There is a huge gap between science and business: science comes into business, but business is not ready for it at all. In machine learning, a revolution awaits us, the third wave of neural networks will be a real tsunami.



If you want to know the details of even more cases of Machine Learning applications, come and listen to the report by Alexander Serbul “ Applied Machine Learning in E-Commerce: Scenarios and Architecture of Pilots and Battle Projects ” at our October SmartData 2017 conference. In addition to him, there will be another 16 speakers with various reports, including:
- Neurona: why did we teach the neural network to write poems in the style of Kurt Cobain? (Ivan Yamshchikov, Max Planck Institute, Leipzig, Germany / Created Labs)
- Deep Learning: Recognizing scenes and sights on images (Andrei Boyarov, Mail.Ru Group)
- Deep learning, probabilistic programming and metacomputation: the intersection point (Alexey Potapov, ITMO)

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


All Articles