12.04.2018Blog

Machine Learning (ML) and Artificial Intelligence (AI): research or development?

Companies are facing increasing pressure to become more innovative, automated, efficient and data driven. At the same time the markets are evolving. Companies are facing unexpected competition. The competitors may emerge from non-obvious countries and from non-obvious industries. In fact, the winning companies do not seem to respect the old rules. Traditional core competences become obsolete. It becomes increasingly hard to define what the actual competitive edge or the core competence for a company is.

Companies do generate enormous amounts of data. Luckily it is rather easy to both generate and collect data. What is missing though, is the capacity to make sense of all that data. “Making sense of the data” is becoming the new core and competitive edge for winning companies! The faster a company can act on data the better.

The winner is AI/ML!

There are high expectations that artificial intelligence (AI) and machine learning (ML) would provide a solution to the problem of “making sense of data” and thus helping the companies to succeed. Unfortunately, the algorithms and technology alone can not provide the solution.

We know how the excitement of e.g. AI/ML is spreading. The well-connected innovators get new ideas from their networks, they talk to the people they know. That is a good process in conveying the excitement. However, it is not very good in conveying the practical details that are needed in getting the ideas implemented. Excitement and excess hype around AI can cause unreasonable expectations of what the AI can actually deliver.

ML/AI can solve some standard problem-types

It is good to bear in mind that there are couple of standard problem-types that ML/AI can solve. They are those of: classification and prediction.

Let’s look into an example of a classification problem: imagine a person choosing oranges at a supermarket. This could be thought of as some sort of sieving or filtering problem. Person checks the orange and either takes it or decides not to. Classification goes into two classes (yes/no). That person “just knows” how to do that classification.

If you need to pursue a supervised machine learning task, you need to know the right answer to the problem and describe that answer in the data. Providing the right answer to the data is most often the most difficult and costly part of machine learning exercise.

Ask yourself are your problems standard and can you map your problems to those standard problem types? What typically is needed is co-operation between the domain experts and ML experts.

When ML/AI expert meets domain expert

Tacit knowledge problems tend to arise when the ML/AI experts and domain experts meet. Domain team has great amount of tacit knowledge about their phenomenon in question. It may be their client’s behavior, plant behavior, mechanics of given device, physical or chemical appearance of some substances, setup of production plant etc. The ML/AI team’s expertise is in the models, standard ML approaches and algorithms to be used.

The real challenge materializes once the ML/AI developer asks a domain expert to “tell everything there is to know about the phenomenon relevant to the ML problem at hand”. Firstly, the domain expert is not truly aware of what he/she really knows about the phenomenon. Secondly, the relevant information can only be enlightened by asking the right questions. And usually the ML/AI expert does not know those right questions. They know the right questions regarding the standard problems of ML domain: questions to do with classification, regression, feature selection and such.

The challenges of an AI/ML effort

In order to define a common goal, the ML/AI team and domain team need time to work it out together. Setting the exact goal for ML project up-front is not always possible. In the agile way of development, the goal is updated all the time. That is how the agile approach maximizes the learning and makes sure that definition of work reflects the best understanding of the problem. That is why it is well suited to solve loosely defined problems.

This approach might be understandably difficult for the sponsors of the development to accept since the agile methodology is so very different from the traditional waterfall approach. In the waterfall methodology the tasks, skills and end-results are defined in detail. In waterfall it is important to know up-front how the end result looks like. There is very little room for changes in the objectives under the way.

Traditional purchase or sourcing processes that are boosting waterfall. The sourcing people need (or want) to know what is that the ML/software/system development will deliver in the end.

When buying something, it is reasonable thing to ask what Is being bought and what does it cost. Unfortunately in ML projects that is very seldom known, since the problems may be non-standard, the data needs populating and skills need to be developed.

 

Keep your focus in team’s core knowhow

It is important to understand the difference of research and development work. What we want to avoid is that ML/AI experts will be slipping into solving research problems which are the domain experts’ special skills.

The key to the functional co-operation between the domain team and the ML team is that the ML team is not assigned to do the research of the domain and that the domain team is not invited to do ML/AI research. The key is not to drift into an area which is too alien for the individual team members.

Solution lies in multi-skilled teams

There needs to be a balanced team with service design-, ML, data storage, data-engineering and domain skills. Service designer in the team is able to make the thoughts of domain and ML members visible and communicable. Once the high-level goal is visible, the sponsor should be comfortable enough to let the team work towards the goal in an agile a manner. This way the learnings and tactical goal setting of the cross-discipline team are efficient.

It is recommended that the owner of the system allocates a product owner to the activity. Product owner is responsible for prioritizing the tactical goals. Product owner role is almost a full-time job. Good rule of thumb is that at least 50% of the time of product owner should be available for such (ML) project.

One of the key success criteria is that the solution is not created on the mercy of some pre-selected platform. Choose the platform that suits the purpose. Not to fit the purpose to the platform.

Be ready for some personnel challenges

In developing the ML solution, your sourcing or purchasing personnel will face three kind of challenges :

  • figure out how to buy the work (not in waterfall project mode but) in agile mode
  • get the domain experts and ML/AI experts to define the business goal early on
  • cope with a situation where one does not exactly know what the result looks like.

With all these challenges it helps if the objectives of the work can be described in a way that they are understandable for all parties. It is important to remember that ML/AI is a tool for solving the domain problem.

Would you like to hear more about AI? Check out our latest blogs and have a look at the TED conference speaker, techno-sociologist Zeynep Tufecki’s interview, in which she challenges our customers and all of us to examine AI service and system development from a new perspective.