Wednesday, June 17, 2009

More Islands of Intelligence

Tim Berners Lee is making the whole world chant "raw data now"... A web of linked open data is slowly emerging...

Google has made geo data management even more indexed and easier to remix.

Wikitude combines the senses of your cellphone like GPS,motion sensors,compass etc and automagically identifies things like buildings and so on just by pointing at them through the camera of your smartphone. It can then provide contextually useful info customised to the user.

Wolfram alpha now makes anything computable just a "wolfram search away"... It is so powerful and can pull off some pretty neat tricks that a typical search engine can't. This will be an important piece of the jigsaw puzzle.

The world is slowly and steadily moving away from the "Chicken and egg" bootstrapping problem of AI.Mashing up structured data has slowly begun to produce value. Eg. Daily mile can actually sum up the number of miles you ran and add up the statistics. Imagine this, you can ask wolfram alpha to chew ur data and spew out more interesting results. The same data can flow into your profile on Facebook. These are stuff users care. But spew out data users can't even dare to imagine about. You may ask why a runner would want raw data. Coz he can use it the way he likes it. Raw data with consitent semantics and universal uris makes intelligence that much more closer.

Structured tweets can further fuel the power of the web of data. The tweets capture 'time" without need for work. The lesser the threshold of activation of creating data the more of it there will be.

And now computers can SEE!!!


How cool is that?????????????????????????????

Go read Manna. Can you dare to imagine tomorrow??
Have fun!!!

Saturday, April 4, 2009

20Q to help out with object classification in a home environment.

Just some dumps. Do not bother to read ;-)

Robust Object identifier.

Let us assume we need to classify any object we see at home into 1 million different classes. Cyc has about 20,000 topics common with Wikipedia. A million classes would be probably more than we care, especially assuming we have a constrained enviromne tie in and around the home. this means we need about 15 to 20 "bits" of mutually exclusive info for the classification.


1. Area of Cross section of Visible Object. Expressed in powers of 2, this would be between 45 orders of magnitude see powers of 10. In terms of powers of 2 it would be even higher. about 150 orders magnitude. But most of the objects we classify belong to a smaller range of sizes. Things smaller than buildings and larger than dust particles.
2. Density or mass can give us a range b/w tonnes and grams. But may need touching the object.
3. Geometry can give us about 10 bits of info.
4. Geographical location: 4 bits. Room Name/Outside regions.
5. Height above ground: 1mm to 10,000mm or 10 bits.
6. Distance from nearest wall. another 10 bits.
7. Resting on horizontal surface
8. Color, Blinking lights etc could also provide a few bits.
9. Edges and their relationships.
10. The bot can attach semacode for easy identification. It can also use existing barcodes to gather data.
11. Movement history
12. Characteristic frequencies in texture, movement etc.

Very easily should lead to classification. Once classfied, they must be tracked for their Object Ids. All data collected must be web browsable.

Attributes attached to objects such as cost will determine whether it worth tracking history for it at all or not. A leaf is not worth tracking but a railway ticket is worth tracking.

The whole world would be divided into Home,Compound,Apartment block,Unknown. The Logitude and Latitude will be known through GPS.

It will also store an inventory of objects and track their movement around the house.

On the one hand, a domestic robot does not need to know about insects in the amazon jungles, it does not need to know the capital of mogadishu, even if it gets a doubt in these areas, it can ask a remote system and clarify. If it wont step outside the home, it does not even need to know what a train is or what its parts are.

It needs an extensive knowledge of fruits, vegetables, cleaning processes, friction, viscosity, surface tension, stains, good & bad smells, diseases, dust, strenth of materials, balancing, all books from amazon, It also needs some knowledge of what it can see though windows, insects, spiders, birds, parts of plants and animals, dresses and so on... It should be able to associate anything it physically sees around to its corresponding entry in objects such as bills. It should be able to recognize brands and their corresponding products. It may have to know the nuances of differences b/w 2 models of a cellphone whereas it can avoid to bother about differences b/w lions and tigers. It needs to have an extensive idea about toxicity, rotting, garbage handling etc. Psychology of old persons, anatomy of the body and so on. It needs to be able to understand and co-relate various sounds in the house.

It needs to be able to predict things like what happens when u drop X. Clothes will form a heap while eggs will form a mess.

Friday, March 7, 2008

Bootstrapping Artificial Intelligence by Symbiotic co-operation from the Blind Community

In my previous post, I was talking about the Coffee Making problem Steve Wozniak was using to illustrate the weakness of AI. I just asked myself... A blind person has a fully in tact and perfectly functioning brain. Just the lack of sensory input is putting such a huge hurdle in the quality of life and effectiveness of the blind person... Is it possible to come up with a Human machine combination that can effectively tackle the problem much before a machine is able to independently perform such a task? In the process of doing so we will be stretching the limits of technology. But rather than leaping for the stars all at one, we can learn to fly, then slowly get out of the atmosphere, then land on the moon, then explore the solar syatem and then slowly make our way across the galaxy... We need to have incremental goals that are achievable and at he same time play a role in fulfilling our grand ambitions.


What if you restructure Wozniak's challenge as:
Can a computer with low quality computer vision through a cell phone camera and talking GPS assist a totally blind person to go to a random stranger's house and open the gate and ring the door bell without human/guide dog assistance?

and once that challenge is broken, you can approach the problem:
Can a computer assisted Blind Person go to a stranger's house and make coffee in an unfamiliar environment?

I am thinking of a popular public contest that can be conducted just like the DARPA challenge with live video coverage and all that. To an extent resembling reality TV but a different flavor. Something that hopes to go way beyond entertaining viewers and participants. Something that stretches the boundaries of technologies each time it is played. The prize goes to the guy who wrote the software as well as the blind person who made the coffee.

To the general public many features of AI will take some more time to be interesting enough. If a voice recognition software has an accuracy of 90% it means that it annoys its user once every line is typed. On the contrary if you have systems with that kind of accuracy and give it to blind people they will be more than pleased. If you have a system that will warn you that you are about to use detergent on you hair instead of shampoo, and if that systems gives you one false alarm for every 3 correct ones, a blind person will gladly accept such a system as a blessing from heaven.A blind person can become highly empowered even by a vision system with even a low accuracy. Even if a computer can just report open cupboards, things lying on the floor, cobwebs, ant hills, molds etc growing in undisturbed places and so on, it could be a great help. A few extra false warnings can easily be ignored. The vision systems could report the status of various knobs, blinking lights and so on if the blind person asks the system to read it.

If you are a blind person and you are reading this I would like to know your response to this... If a genie were to appear in front of you and grant you 3 wishes... What would you like a computer to report to you? If a computer could keep reporting more and more things to you, when would you begin to feel that it is talking too much? It is hard for me to imagine this... Do you feel a lot of cognitive overload because most of the data flows in though your ears? But even people with normal vision spend a lot of time on phone and TV and Computer and traffic various other such sources of audio information.

Once the easier challenges are broken, they can be upgraded to more challenging ones like
Can a computer assisted Blind Person go to a stranger's house and cook a randomly chosen recipie?

and once that challenge is broken, you can upgrade to
Can a computer assisted Blind Person go to a stranger's house and babysit a N month old baby for 6 hours?


The intelligence of the person will compensate for mistakes by the system. During the initial phase the blind person gets slowed down. But with improvements I suspect that the situation will significantly improve. If it reports that a bride dressed in a white gown looks like a polar bear, the blind person will tell it not to report any polar bears while in the city as the probability is nearly zero. But if it thinks a rope is a snake, it is better to report it. Better be safe than sorry. CyC knows a LOT. And I bet this would be an amazing way to integrate it with other forms of artificial intelligence like vision and hearing. More details to come soon.

To capture the attention and knowledge of the audience, we can add the facility of webchat and SMS. People can send hints, warnings etc to a central server. The blind person will only hear answers through Text To Speech to questions he/she asks. So one cannot directly guide the person. One can only help the person playing the game by teaching the system about the situation and thus making the system better not only for that particular game but its ability to understand the surroundings in general.

There will be a lot of humor because of the miscommunication and ingenuous ways in which a blind person can exploit the bits and pieces of information provided by the AI system. Depending on the state of the art in such systems, we can adjust the complexity of the task so that it remains challenging and not too easy or not too hard and the system undergoes maximum learning while providing maximum entertainment to the blind participants as well as the audience.

People like to deal with the emotions and feelings of other people in general. Very few care about what a computer knows or not. So this process would attract a fairly large audience as far as I can imagine. And we would be doing genuine work towards the welfare of the blind in addition to continuously improving the state of the art in AI. All knowledge gathered during the show will be opensourced. All Videos, chats etc. will also be opensourced so that further research can be based on this.

Such systems which I expect would cost around $500 to $1000 by 2010 could make a significant contribution to improving the quality of life of blind persons. Over time following Moore's law a computer with the form factor and cost of a PDA with a headmounted camera like the one Justin.tv carries around should be able to assist a blind person as a constant companion. Whether this will be powered by CyC or Not is a tough question. But I suspect it will.

There are already solutions like www.seeingwithsound.com. The hope is to multiply the power of such systems by orders of magnitude.

Just some thoughts... What do you feel? I look forward to your comments!

Thursday, March 6, 2008

Bootstrapping AI through crowdsourcing

We have been hearing a lot about AI. But will it forever be a fantasy like flying cars? Or will we see real stuff happening around us soon? Guys like Ray Kurzweil promise us utopian futures. He argues that, if you just have exponentially increasingly hardware capabilities, the rest will happen by itself. What he says has more sense than my one sentence summary. But when we look at the harsh realities, one is forced to question this optimism.

Here is a response to a question about AI from Steve Wozniak:
Think of the steps that a human being has to do to make a cup of coffee and you have covered basically 10, 20 years of your lifetime just to learn it. So for a computer to do it the same way, it has to go through the same learning, walking to a house using some kind of optical with a vision system, stepping around and opening the door properly, going down the wrong way, going back, finding the kitchen, detecting what might be a coffee machine. You can’t program these things, you have to learn it, and you have to watch how other people make coffee. … This is a kind of logic that the human brain does just to make a cup of coffee. We will never ever have artificial intelligence. Your pet, for example, your pet is smarter than any computer.


Wozniak though he co-invented the macs is not the guy who gets to decide whether AI will happen or not. But his arguments seem sensible and remind you that those who are dreaming of AI could possibly be doing too much wishful thinking. But if someone had predicted the cellphone revolution before inventing the transistor, it would have looked like a joke.

But on the other hand we might not even be aware of stuff that has already happened. Take for example the fact that Cyc which is the brainchild of Doug Lenat has been able to score an A on a chemistry exam. It is still very far away from going to somebody's house and making coffee. But hey even I did not know that till recently ;-). [Will post a reference soon]. If you have heard of the miss carolina fiasco you can say that your pet can sometimes be smarter than even a miss carolina ;-).

But in spite of having such a smart system, if someone asks me, can you think of something that Cyc can do for me today... My mind goes blank. I am not a very bad programmer and have the guts to think beyond the obvious. But still my mind goes blank with the question. On the one hand people have monetized the transitivity of a single simple relationship like a friend of a friend through myspace, facebook etc. But masterpieces like Cyc remain untapped. Can we do something about that?

The Opencyc.org and OpenCyc Foundation were created in the hope of bridging that gap. I used to hang around this place about a year and half ago. Just went back to check out the situation. The hope is that the wisdom of the crowds can be exploited to grow the knowledgebase of Cyc. Initially about 200 man years from extremely advanced academics went into it. Now they plan to do crowdsourcing. Of course Cycorp continues with its original zeal. But they have made it easier for the public to participate at various levels.

But when I ask people around me, they say:
"I am not very confident that ur system will ever demonstrate any "useful" intelligence... I guess it is a nice way for Lenat to extract cash from a stupid government showing it some toy problems. Why do you think I will waste my time and energy on this project to enrich someone else or help try to fulfill this never fulfillable dream".

While the statement can be debated, one should focus on the sentiment. The great hype and subsequent failure of AI to deliver on those lofty goals seems to be the cause. To most people it looks like history just repeating itself.

I quickly realized that people will contribute only if they get the instant gratification. If u contribute to an Open Source project, it will be out and "useful" in months. If you contribute to Wikipedia you are broadcasting your content to the world almost instantaneously. To do the same for AI seems tough. Your content will be out soon. But when will it be "useful?". Projects like Mindpixel illustrate this. There is participation and all that, but it does not get past the critical number to be self sustaining to be useful. Once it crosses the threshold it will thrive even if its founders die. Else it ends up being yet another corpus for PHds to be pulling their hair out. Even if Jimmy Wales dies, Wikipedia will flourish. In fact I suspect improve ;-). Juz kidding...

I am still looking out for ideas relating to such instant gratification by contributing to AI in the short term. I am fully aware that I do more good by playing the factory game than by playing Google Image Labeller. But I still feel the Imagelabeller (ignoring the superior UI) attracts me more. How can an AI game be made compelling enough to make the person feel that "Yay I am doing cool stuff!!!". I am sure it is beyond the UI. In ImageLabeller, I suspect that the labels are indexed and available and improve search results immediately rather than sit in some repository and possibly rust. Most importantly, the problem has the right level of hardness and I keep restlessly asking myself if I am smart enough to label this. In the case of Factory, the questions are usually challenging to a fourth grader or if it ends up being challenging, it is about some absurd thing where I ask, why is this in the repository in the first place? Anyway it has been some time since I played. So things could be better.

On this blog I shall be putting out various ideas and thoughts about how we can achieve tangible improvements in the AI and Semantic Web while simultaneously producing solutions that have immediate benefit.