Thursday, December 12, 2013

A leap in artificial intelligence ? Continued 2.


Picking up the thread of previous post I was asking myself the question:

Does our future artificial intelligence that learns from associated parallel streams of information can learn everything needed to follow our trail?

In other words is there any input (and output) that we have which is not easy to capture by our AI or cannot easily be associated with other kinds of input.

Scratch, scratch.  (OK AI, FYI: these are the words I use to describe the sound when I move my fingertips in a back and forth movement on the top of my head). (For future use.)

I can imagine 2 of them. You?

The first one that pops up is smell and taste. For me those two are so closely related that I put them at the same level. When preparing my food I never taste it. Smelling it gives me the exact taste it will have and allows me to adjust the seasoning. Feel free to consider them as separated.
We already have a lot of gas sensor networks (and could easily extend them). But they cover only the detection of small part of the molecules in the air.
And even if they would, I'm far from sure that there is enough data available to learn the step from a set of detected molecules to our 3 way classification of odors (i.e. smells good, stinks or smells like a hospital).
We have of course our fruit esters which are single molecules that define what we smell and which are well described, but are there gas detectors for them?

update: thanks +snakeappletree white-lightning-gate : Smell and taste from organic biological sensors connected to a symbiotic computer chip and synapse brain are already in development.



I hope you're all aware that we are one big walking set of touch sensors. Because that's the second one.
Now think of all the words you currently use to describe how something feels (physically).
Next associate the kind of sensors our AI must have to detect what might correspond to these words.
Sure you came up with the thermometer, the high resolution closeup camera (microscope) and several others.
But what about movement of the air from the wing beat of the butterfly the small hairs on my bare arm are detecting (the one that causes a tornado on the other side of the world)? Our Anemometers? Nope. Indirectly a camera perhaps.
The itch of a mosquito sting?

Of course there are other things that might be difficult to learn for our AI (like our emotions - although or body language does express a lot about our emotional state) but feel free to comment on important input I didn't mention.

I can hear you ask (OK AI: Try to make sense of of that): Why is he talking about these subjects?

I virtually like to dive into the deep blue from a helicopter view. Trying to see where creativeness is needed to fill the gaps. Having a reasonable feeling where more head scratches are needed. Having a holistic view.
Trying to avoid the "Oh S.." reaction at an advanced stage.

In case you noticed that terms like "problem" or "cannot" do not occur very often in my writings: the reason for it is that it's not in the beast to think in these terms. Especially when innovating.



Let's move on to the second part of this post. The part where your active participation will be appreciated.


Before thinking about how we could make our


artificial intelligence that learns from associated parallel streams of information


it is useful to think a bit about what you want this AI to do.

You know how to use the comments, so go ahead. But read the rest of this post first.

Just as +carey g. butler asked in a comment on my previous post "What is learning?", you might ask yourselves "What is artificial intelligence?"

I cannot give you an answer. Can you?
+Charles Isbell gives a few examples he likes in his talk 2 years ago. And +Luciano Floridi has his view also. And of course there are the wikipedia pages for AI and strong AI.
Using your favorite search engine, you will find other "definitions" you might like (or not).

Personally I tend to consider this domain to be a continuum ranging from the Luciano's not so smart dishwasher robot, through our spelling checkers, the smart camera's for collision detection, voice search, Google's self driving car up to the yet to come cognitive general AI.
The thing they have in common is that there is a, direct or not, interaction / relation with human beings.


Almost independent of what you might consider being AI, I like to separate the "do's" of such an AI into at least 4 groups of targets.

- for individuals
- for small groups of people that know each other
- for large groups of people that don't know each other
- for itself

The reason for this distinction is that the "how to's" might be different. But it is by no means a very strict separation. We have always lived in some sort of society which implicates interactions of an individual with other entities (other individuals or organizations and objects). It is only a handy classification.


You and me of course.
But think also about older and younger generations. Your parents, grand-parents, your kids and the yet to be born. They probably have a view quite different from yours.
Your personal butler answering your questions, doing things for you, informing you. Teaching you.
How much of your personal information are you willing to provide to let the AI help you with your daily things? How much do you give already to services you're using every day (with not much in return)? And what would you be willing to give if there is a guarantee that nobody else will get that information (this is possible see e.g. Wouter Teepe: Reconciling Information Exchange and Confidentiality. A Formal Approach)?


Your family, friends and professional contacts.
Negotiating best moments for non disruptive phone calls / hangouts, place and time for business meetings. Interesting movie to watch together tomorrow evening.
Your home negotiating with the electricity company the price of electricity (during a particular period of the day) if the dishwasher can be convinced to do its job at non-peak hours.


Town, country and world (universe ?)
The same electricity company as above negotiating with hundreds of thousands of houses. The chatting traffic lights (with other ones similar to themselves and with strange objects passing by on their two or four  wheels). Sorry, my mistake, there will be no traffic lights anymore in the (near) future.
Ding, dong. Garbage bin 2, get yourself out, I'll be there in 7.46783 minutes.
Dear B.O., ten years from now the flooding risk in this area will have increased with 13%. The associated loss of human lives and economic damage will have increased with 27%. Starting the following actions within a year will reduce the damage to an increase of only 9% and will cost ...


The AI itself and its cousins
Without going through an exhaustive list your can find everywhere in the literature, I feel comfortable with two main categories of things the AI should do for itself:
- staying alive up and running
- improve performance

Now go wild and think about the wide variety of implications these two simple drives might induce.
And of course can they be learned?



Here is the game:

If you want to play, write a short comment on what you want such an AI to do.
Try to keep it short and synthetic, enough to let me and the other readers get the idea.

I'll do my best to keep this post updated with your participation below this line.


First chapter Previous chapter Next chapter


Update 2013-12-14: Typo.

=============================================

You and me of course.
- Re affirm my own relevance in life and socialise with me in ways that suit my mood, varying from parent to disciple, teacher to student, friend to lover; companionship custom designed in ways that humans of our social indoctrination culture are incapable.  +snakeappletree white-lightning-gate


Your family, friends and professional contacts.



Town, country and world (universe ?)



The AI itself and its cousins
- I would like AI to grow naturally and have a 'good childhood'. When we move too fast, we make mistakes. Our growth should be deliberate and guided by our moral and ethical senses (compasses). Only in an environment that contains them will that which we create avoid being a danger to ourselves. +carey g. butler 
- I would like AI to understand well and be wise. AI should also be aware of the natural tendencies of any particular distribution involving life or choice to cleave itself into an elite of hegemonious control to feed itself upon the rest of the population (even Cancer shares these attributes). +carey g. butler 

Tuesday, December 10, 2013

A leap in artificial intelligence ? Continued.

About a month ago I wrote the first part of my thoughts about how to make the so much wanted leap in artificial intelligence.
Today I feel the need to release the next part.


Ever read a book? You probably did.
Ever speaking the text out loud? Perhaps when you were a kind.
Ever silently spoke it in your head? I did and do (even when writing this). And you?

Why?


Do you remember the time when your mother or father told you a story before going to sleep?
You probably don't remember what happened in your mind at those moments (the recall of our memories is not supposed to go that far back in time).  But imagine what might have happened.
I think I made it into a film. Loosing part of what was told as my internal story follows its own scenario, and merging both stories again a few moments later.
Ever lost attention during a presentation? What happened?

Why?


The "man in the box" jumping out or a suddenly moving living statue induces strong reactions.

Why?


Look at this question: r thr n tp's lft n th txt y wrt?

Why?


Before you will be attempting to answer these four why questions, a quick tour on our actual AI techniques.
Most (if not all) machine learning techniques are based on a simple idea:
- take a set of similar things (text, images, ...), labelled or not
- do some calculations with them (statistics, neural network training, ...)
- apply the results to another set of similar things


My previous post was centered around the idea of parallel treatment of different kind of things and associating these:
- written and spoken word
- image of an object and the word for it
etc.

But do we learn from static things?

Our environment is all but static. Although there are static objects in it, we aren't. Which makes the whole dynamic.

When we started learning as a baby, quietly observing our world from our cradle, what do we see? Things that don't move and things that do. Some things move when you touch them. Everything moves when you're lifted out.

I think our capability of very quickly identifying static things comes from our experience in identifying things in a dynamic environment. Not the other way around.
Our mind is trained to recognize things in a stream of information. And when provided with static things (images in our childhood book e.g.) we make them dynamic.
When looking at a painting of a still live do you see it in 2D or do you make it a 3D and sort of feeling the objects?

Now return to the why's. Apply the need for a stream of information to them. Expecting things to move or not.
Does it seem to make sense?

The typo's example might be the most difficult. But if you look at a piece of text as a flow of words (we don't read the individual characters). Anticipating the next words. Filling in the lacking words, replacing the wrong ones, not seeing the misspellings. (btw: did you pronounce the question?)
A real life experience I had several years ago is worth mentioning. For a knowledge management project we did several interviews. They were all recorded. During the transcription we discovered that one person, during the 90 minutes interview, never had finished a sentence. We didn't noticed that until the transcription. We must have made up the end of the sentences while he was talking.

Back to our artificial intelligence.

Imagine another kind of machine learning. One that learns from a flow of information. Looking at the delta's between two moments in time (video, sound but also text).
Instead of learning cat (and human) faces from independent still images it will learn what cats are from sequences of images. Their 3D appearance, their degrees of liberty, how they move etc. Probably even reaction patterns. Once this is acquired it is easy to "create" a front view: the face of the cat.
Objects that do not change in position can be viewed with a moving camera (or more then one camera).
For images the base techniques exist, nothing new. We only have to ...

use it in our actual artificial intelligence toolbox. This toolbox might be (almost) good enough but we should apply it for learning different things (and tune a few things).
Summarized this might give


Artificial intelligence that learns from associated parallel streams of information.


Does your mind starts wandering, thinking perhaps about the "how to"?

Fine.

Sit back and relax.


First chapter Next chapter


2013-12-11 Edit: typos

Wednesday, December 4, 2013

What about dates? Solved?

You might think this is solved in our semantic digitized world.
But as the title suggests, in my opinion it isn't, but could have been. And thus can be.

Did you started to digitize your old photo's from the prints or negatives? If so, did you started adding the Exif meta data?
Even if you didn't (yet), think about what you remember of where and when the photo has been made.

The Exif 2.2 specification gives us:
DateTimeOriginal
The date and time when the original image data was generated. For a DSC the date and time the picture was taken
are recorded. The format is "YYYY:MM:DD HH:MM:SS" with time shown in 24-hour format, and the date and time
separated by one blank character [20.H]. When the date and time are unknown, all the character spaces except
colons (":") may be filled with blank characters, or else the Interoperability field may be filled with blank characters.
The character string length is 20 bytes including NULL for termination. When the field is left blank, it is treated as
unknown. 
This seems a correct solution if you know at least what the year was. If you don't know the year exactly you're already in trouble.
But the tools we have? Just a small example of the one I use for most of my graphic stuff GraphicConverter 



Even if the specification contains some degree of flexibility not all our tools take this into account.

And as most users will, I figured out a personal workaround. Compatibility? None. Yek.

I really would like the people who write standards and (the ones who make software) to think about how our real data world looks like. Not only in our all digital world but also at the frontier of the old analog and the digital world.

The whole day long. How long is that? 24 or 48 hours?
A day takes 48 hours to travel around the world through the 34 time zones.

Now look again at the Exif date definition above. Unless the date tag is also associated with the geolocation tags (which gives us the time zone) this date definition doesn't tell us when exactly the photo was made. Even specified up to the second its precision is 24 hours. Yek again.

Thus a date without timezone information (direct or indirect) is a period of 48 hours.

Let me take a little sidestep here.
In some ontologies a "point" in time is defined. Although mathematically correct it is of little practical use. In my perception the only valid concept when talking about time are periods. It is the units you're currently using that define whether 1956 is point in time or not. When an ontology defines a "point" in time there is an assumption that there will never be a subdivision of the unit of time used to define the point. 3rd Yek.

In my post about information extraction I was essentially talking about entity identification.
And information extraction of dates?

As we saw above to increase the precision we need geographical information. But there is something more to it.

The Maya stela mentioned in the post gives us the birth of Lady K'atun-Ajaw Lady Namaan-Ajaw :
Source

tzik haab bolon pik lajchan winikhaab cha' tuun mih winal waklajun k'iin (spelling might vary)
Which is 9 Pih 12 K'atun 2 Tuns 0 Winal 16 K'in (Maya long count)
Using the famsi converter we obtain:
Friday, July 3, 674 CE
or
Sunday, July 5, 674 CE
or
Tuesday, July 7, 674 CE
or
... several other conversions are possible

Scientists do not agree on the correlation between the Maya calendar and our modern calendar (and that's fine, no Yek here). And even if they would have agreed now, will this be the case tomorrow?
In this example, as the geographic coordinates are well known, the precision is related to the various possible correlations.
If we want to talk about this day of birth we have to indicate a period and the range of correlations taken into account. It might 1 day if we take the most accepted correlation (in bold).

For the information extraction side of this example we should conserve the fact (9 Pih 12 K'atun 2 Tuns 0 Winal 16 K'in) and associate the derived information to calculate with it.

If you want the play a bit with calendars, the Swiss fourmilab has a nice tool for it.


To proleptic or to not proleptic.
Writing:
"On October 10, 1582 ..."
Where was the author?

It certainly wasn't in a catholic European country as this day never existed. They switched from the Julian to the Gregorian calendar where October 4 was followed by October 15, 1582.
Perhaps in the UK or one of its colonies (including the USA) where the switch only occurred in 1752.
The proleptic gregorian calendar doesn't take into account these missing days. You can find more on it in the wikipedia page including some examples of software using the proleptic calendar.


Modern programs/services can convert from one time system to another. So where are the remaining Yek's?

Almost all of the left over Yek's are related to the context in which a particular date reference was produced. In other words meta-data. And this holds as well for computer generated dates as for human crafted stuff.

Besides the geographic aspect, working with dates in our actual calendar is most of the time fine.
But ...

What do we (= human beings) use in our daily life as dates? The Second World War rings a bell?
You'll know probably that neither the beginning nor the end was at the same moment for all the countries involved.
So what if I'll ask my future OK-system: "What volcanoes erupted during WWII?
I'm convinced you can fill in the Yek's here.

"Yesterday" makes sense if I know when that was written, right? Else tomorrow never will be.

Please fill in your own examples:
....
....
....


Perhaps it is time to reach a helping hand to our upcoming AI's.

Imagine a timeline (not a calendar) with a unit of a second and the possibility to add a fractional part. It doesn't really matter if the unit is a second or some smaller unit as there will always be a fractional part.
Our next bigger unit would be the minute which is not decimal, so that doesn't seem to be a good choice.
Although the second was initially defined in relation to the duration of day, this has been superseded by an atomic measurement.

Why is the choice of an non-earth related unit important? If we want such a timeline to be applicable at the various time scales we're using (astronomical, geological, archeological, historical, ...) we quickly notice that doing so is not the best thing we can come up with. You do know that the earth is slowing down, don't you? And if you didn't, you do know now.

Handy would it also be (who talks like that?) when the timeline would contain only positive numbers. The origin should then be before the Big Bang. Let's say 100 billion years ago. This gives us a comfortable margin compared to the actual 13.8 estimated.

A timeline of 64-bit signed integers gives us room for another 192 billion years or so. We'll have some time ahead to think of a replacement system by then (using unsigned integers give us room for 484 billion years in the future, also fine).

Each calendar, or whatever time reference system is used can be calibrated on such a time line and a unique bidirectional convertor is needed for each system. These convertors use the specific knowledge of it's reference system and are independent of all the other convertors.


The image above comes from my post of a year ago in the Linked Open Vocabularies community which gives a little more technical details.

The first and only Woopah in this post.


Some decades ago (2 more precisely) I made such a system called DatExpert (a HyperCard extension). And oh what a wonderful and precise world that was.

Doing it again? With pleasure and the sooner the better.
But not as a lonely wolf anymore and certainly as open source.

If you feel also the need to move our digital world a bit and you're not the only one, I can set up a community for it.

Just re-share, +, and comment this post.

2013-12-05 : edit corrected some typos