Explaining AI to my mother. Or, at least, I try hard.

in #science7 years ago (edited)

As usual I start my post saying I apologize for my English. I am not native speaker. This is why now I will try to make Kohonen Maps easy. Using a language which is not mine. Like real men. Yeah.

One of the most annoying things happening to me , is when my 71 years old mom says to others "My son works with computers, you know" . Well.... that's it? I don't like to make an argument out of calendar, but in 2017 a lot of people works "with computers", this definition works for cam girls, too! They work with computers. (No, I have no boobs to show. Sorry for that).

Now, being precise saying Artificial Intelligence is not that helping. People thinks Artificial Intelligence means Artificial Brain, like for Henry Markram and the Blue Brain project. No. Those are two different fields.

Anyhow, It's very interesting and I suggest you to give a look : https://www.ted.com/talks/henry_markram_supercomputing_the_brain_s_secrets

The difference is pretty easy to explain.

When you do an artificial brain, you want to emulate a brain, doing things in the very same way it does. Meaning, it's not enough for you to have "machine learning": you need to do "brain-like" machine learning. You need to do it in the very same way. Imagine the difference between a wheelchair and a prosthetic leg. Both of them are able to carry a person replacing the functionality of a missing leg. But, while the wheelchair uses an electric engine to move, a prosthetic leg aims to keep doing the same of a leg, as close as possible , which means, still tries to use muscles.

In such a case, Artificial Brain is like a perfect prosthetic leg: it does the same, in the same way. A wheelchair is not: it ACHIEVES the same (people moves) , but this is not "walking".

So, I'm not into artificial brain. What I do? Well, we say "our company developed a custom proprietary solution based on Hadoop + Hive + Hunk + Our Engine, where our engine is a set of jobs doing non supervisioned machine-learning". Which would end in my mother saying "yes, I know: you work with computers".

So... what is that?

"Learning" is one of the achievements of our brain. One of the bigger ones. We can learn. Learning means that after some process we associate to "in-boarding of information", our behavior related to an issue became "expert". In the past we had "expert systems" for that, but should not be confused with machine learning.

A machine doing "machine learning" is capable to behave in a more "expert" way, when solving problems , just because of a process. This process could be "super-visioned", when someone provides example of wrong solutions and good solutions, from which the machine learns. After some time for learning (also named as " some epoch") then the machine will behave WAY expert in solving a problem.

Several kinds of neural networks are pretty good in doing that, a classic example are "Back Propagation" neural network. Here you provide "good examples", "bad examples", you make them run for an horrible amount of time, they consume an horrible amount of computing resources, and what will result is a network which is terribly fast and expert in solving the same problem. Here, what you get is an "expert" AI, very fast in execution, at the "expense" of the long , resource taking, learning process.

If you have a few good examples, those kind of networks are very good in solving problems which are very slow to compute item by item. You do all the job at the beginning, and once is trained , the network will work blazing fast.

What you do when you have no examples, and you ask the network to learn? Uhm.

Don't worry, there are networks, also known as "self-organizing maps", which are able to do that. There is more than one kind of them but again, I don't wont to get my mother saying "yes, I understood: you work with computers". So let's try to explain.

Imagine you come back from the supermarket, after having buy a couple of long trucks of items. Of course you need the whole family to help you taking all the items and bringing in the right place at home. (If you are married, you know this problem. My mother too.).

So you have , let's say , 15 sons. (which is the reason you buy soo much. Makes sense). Now , if you ask them to help you, and you want to put all the frozen items in the freezer before they melt, you need them to be fast. So you divide them in 3 teams and you say:

  • once you got one item, your team is allowed to take an item which is the same or similar
  • once one team gets one item, no other team may take similar items.
  • if the item is similar but not the same, it belongs to the person which has more siblings with similar items.
  • the more one team has items of one kind, the more it wins any dispute about items which are fitting in more categories.

so the first son in the first team will randomly pick a frozen item, and from now on, this team is in charge of frozen items. But , if this guy got a frozen fish, the frozen pork goes to the second brother in the same team. Now, when it comes to frozen turkey, since it is still meat, the brother which will take this is the closer one to the two, at least not as close as the brother which takes frozen vegetables.

If you throw random items to them and they pick up them using this logic, at the end of the game you will have 3 teams with a pretty ordered set of items, plus each of the member will be pretty focused on a particular kind.

Now, let's do it with a computer: we send to the network a random set of colored pixels, and see what happens....

SOM

As you can see, you still have some glitches, because of the rule #4: the more one team has items of one kind, the more it wins any dispute about items which are fitting in more categories . So it MAY happen, in case of a dispute between two teams, the one which has more objects wins, even if the item was not fitting very well.

Then you could refine this algorithm with a multi-stack SOM: means the first map is , say, 10x10, the second layer is 100x100, and the 3rd is 1000x1000. If you make good assumptions on how each layer feeds the following, the result will be much more precise, and often more "intelligent".

Of course, you can think to each "son" on the example as a neuron, which becomes more capable to "self-excite" the more something is familiar, and somehow the closer neurons get triggered too, for the same reason.

Now, who is interested in this kind of representation? Which problem it solves? Well, imagine you have 25 millions customers and you need to do some scale economy. So you say: how many contracts could fit all of them, keeping it simple ? Or you have a supermarket and you say "well, what is the best way to put my products there, given I know what my customers are buying in a single round"? Or, if you are a car company and you do support for cars, you may want to classify problems together with customers, like {problem, solution, company/private, age , sex, hair color}, and then you do scale economy with different support contracts, by example. When doing research, you may have a spray of data out of an experiment, and you wand to know how to "order" them a bit, just to give you a raw idea about "how many kind of data you must explain in your theory".

Now, again, back to the meaning of " artificial intelligence" and "artificial brain":

  • is the human brain capable of this? Yes.
  • is the human brain doing this is that way? Well.... still not sure. Not 100% of experts agree on that.
  • is this network doing the same of the brain? Then, NO. (better: not sure).
  • is the network achieving the same ? Then , YES.

again, is the same like the example of prosthetic leg and a wheelchair. Both achieve "moving", but only the prosthetic leg is doing it THE SAME WAY.

So, doing "artificial intelligence" and "artificial brain" is not the same. For sure, people on both fields is reading papers from each other side. So it happens that some idea "migrates" from here to there. Sure.

Nevertheless, people which simulates the brain itself is NOT interested in the very problem of how we classify 25 millions customers after having their purchase data of the last year. This is not a problem the human brain is made to solve. And Hadoop is not a mimic of the human brain, at all. (At least, I hope is not your case. ) So this is NOT any attempt to emulate the human brain. Still, if you work as a waiter in a restaurant, after a while you will be able to think "ah, sure, this is THIS kind of customer". If you work fixing things, you will end saying "sure, this is THAT issue. Lot of elders have this issue with this car." So you DO this: possibly not in the same scale, and not in the same way, nevertheless many people achieves this. If you never peel any potato and you are asked to do, having 3 different knives of different shapes, after a while your brain will start thinking "oh, with this shape better to have this knife": you become expert in associating the best solution to the kind of problem.

If you need a machine becoming expert finding out big "kinds" of issues, aiming at associating "kinds" with a "nice scaling" solutions, then you definitively want this kind of intelligence. Which the human brain did as well, since the beginning of times: the General Mario, the mentor of Julius Caesar, invented to divide soldiers by their capabilities, giving each of them a standard equipment and a standard training. Before, this was very uncommon but the "elite" corps: Mario invented to extend it on all the army. Of course Mario had to decide how to partition soldiers in units, and this was exactly the kind of problem we are talking about: which means, the human brain CAN solve this problem.

There is no 100% consensus about HOW this is happening into the human brain, we don't know if this happens in the same way of a SOM. Both are achieving the same, if they do it the same is not 100% sure.

MOM Approves

Now my mom says "My son is doing computers, you know, like the supermarkets in the Ancient Rome".

Still better than "works with computers".

Sort:  

what @puffosiffredi IA?

OOps. Italian heritage. Gonna change it. Thanks for telling me.

... test