I am more than happy to see that after the full hype period where everybody was talking about AI and machine learning as the solution for all the problems of the world (with the sky as the only limit), intelligent and honest persons/experts are publishing more and more articles where the things are described as they are and the expectations are set in a correct way. It took more than expected for this to happen but it was inevitable and only a matter of time: as Lincoln said “You can fool all the people some of the time, and some of the people all the time, but you cannot fool all the people all the time”.
Out of the many articles that have been published recently, let me link this one that is clear, short and that can be understood by nearly everyone.
There are some statements that are very important to highlight because they explain very clearly that ML techniques can be useful (very useful in a few specific cases) but are much more limited and simple than many like to think and that they still require a huge amount of work and perspiration (sorry but also here there are no free lunches :-).
Let me start with these two sentences (bold is mine):
Despite evocative names like “artificial intelligence,” “machine learning” and “neural networks,” such technologies have little to do with human thought or intelligence. Rather, they are alternative ways of programming computers, using vast amounts of data to train computers to perform a task.
I like these two sentences because they demonstrate that you don’t need more than 42 words to set things right and destroy all the crazy things that has been written on these topics in the last 2-3 years using millions and millions of words :-).
First gem: machine learning and neural networks have very few things in common with human intelligence so they can be used only for basic tasks: if only a bit of real intelligence is required, they are out of the game.
Second gem: this is even more important as nearly everybody has not understood this fundamental truth. Machine learning is simply a different way of programming a computer to execute a task: instead of writing code in languages like Java, C++ or JavaScript, you analyze big sets of data (in many cases, these sets must be tagged manually) and then start to work with parameters, samples, features and many other elements to find a good balance for the results. There is nothing magic or new, the computer is not learning to program itself, the output will be good only if the input is good, there is a lot of manual work to do, errors can be done, the result will be approximate: at the end, the same bounding box of programming.
Linked to this, here is the obvious corollary:
Because of recent improvements in machine learning and neural networks, computing systems can now be trained to solve challenging tasks, usually based on data from humans performing the task. This training generally involves not only large amounts of data but also people with substantial expertise in software development and machine learning.
As it is a way of programming, you still need software developers and, even more important, you need persons with substantial expertise in machine learning: the dream that machine learning is something that anybody can do and maintain (just take some data, label it and then train a system following some simple steps) is only a dream :-). In the real world, you need developers, you need experts, you need ML expertise: these needs are obvious for the persons that are working in the AI space for many years (or even only a few months) but are completely underestimated by everyone else that was exposed to all the recent hype about machine learning.
This passage deserves a comment too:
The biggest recent progress in machine learning has been in so-called deep learning, where a neural network is arranged into multiple “layers” between an input, such as the pixels in a digital image, and an output, such as the identification of a person’s face in that image.
This clarifies a very common misunderstanding: knowing the strong limitations of machine learning, many persons argue that deep learning is not machine learning but something much smarter and powerful but, clearly, this is not the case.
All the article is worth reading (it takes no more than 5 minutes) but I want to highlight a final thing:
While both conventional software development and AI methods require a precise definition of the task to be solved…
Even with the smartest deep learning technique, to solve real problems and obtain useful results you need to work on the precise definition of the task to tackle and it takes a good amount of manual work to do that: you can’t skip this as you can’t give a loose/vague definition and then expect that the system will learn and improve itself in some magical way (it will never work).
The article is about AI and machine learning in general and not specific for the cognitive space where we operate: applying ML to text and documents has its own set of challenges and issues that often are much more complex than dealing with images or voice recognition.
It is a fact that in some use cases in the cognitive space, ML techniques can save time and money in the implementation of the project and it is important to know and use them when they can help: having a rich toolbox is always better than having a small one but it is important to remember that tools are only tools and you need persons to operate them in the right way.