Wednesday, June 30, 2010

Human Computation - Could it be the next phase in the evolution of computing?

This post is on another aspect of computing - Human Computation. I will start with presenting two scenarios.


Scenario 1¬¬#

Circa 2110. Technology has crossed all barriers – there are robots, humanoids and complicated but intelligent systems everywhere. We can see nuclear factories and giant machines all around us. There are humans as well but slightly different or I would say “evolved” in their looks – with bulkier bodies and smaller heads. The size of the head has shrunk as it is on the verge of becoming a near-vestigial organ; and the only purpose it serves is to feed inputs, that come from the human senses, to the artificially super-intelligent systems (machines) that take care of everything else that’s going around. Gone too far? Let’s come back to the present.

# It is my vision of the future. It may not be correct and you are free to disagree with me.

Scenario 2

Year 2010. We have a group of people who are really trying their best to develop AI (Artificial Intelligence) in machines – using machine learning, pattern recognition, computer vision, etc. Another group of people, the netizens, are getting addicted to computers and a person (from this group) spends (or I will say mostly wastes) hours doing adrift-surfing and playing on-line games.

So what’s the message hidden in the two scenarios?

Scenario 1: The problem of developing the sense-related aspects in machines is difficult.

Scenario 2: Large amount of time is being spent on aimless internet surfing and on-line games.

So, why not utilize the time spent (in scenario 2) in solving the problems (of scenario 1). In other words, channelize the interest of these surfers/gaming enthusiasts to help in answering some of the issues which are unanswerable using AI based approaches. This is what the idea behind “Human Computation” is. Using human computation, researchers are trying to utilize the human cycles (time spent by humans just like the machine cycles) to answer some of the problems that are hard (I would say near-impossible), as of now, for the computers to solve.

Some uses of Human Computation

1. What’s the purpose of the images (given below) that we often see in popular websites?

Captchas

These are called CAPTCHA. The term CAPTCHA (for Completely Automated Public Turing Test To Tell Computers and Humans Apart) was coined in 2000 by Luis von Ahn, Manuel Blum, Nicholas Hopper and John Langford of Carnegie Mellon University. These are found in on-line form where it serves the purpose to verify that the entity that is filling the forms is not a computer program but a human. It’s able to do that because computer programs are not able to read the distorted texts presented in the CAPTCHAs like humans.

How are they using human cycles? They are not utilizing any. So, Luis von Ahn and team came up with reCAPTCHA which is a combination of two such visually deformed words. This is used to digitize old text artifacts where normal OCR (Optical Character Recognition) engines fail or are partially successful. In reCAPTCHA, one of the words is a known word which serves the purpose of a CAPTCHA and the second word is a word from the list of unknown words to be digitized. The same unknown word is given to several users and the most common answer is selected to be the digitized word for it. The unknown word estimation uses the human cycles to solve the problem that machines fail to complete.



Recaptcha being used for security check of a site

2. Another interesting example. Games like the ESP game are steps towards creating games that will help in assigning and labeling objects present inside images, which is an impossible task using the best computer vision techniques available today. Another such game is Verbosity that allows users to play and in the process enter facts related to common dictionary words and help to create the semantics around the words. Many such games are available on the site gwap.com.

So, now that we have seen the potential uses, let us see where we are heading.








What the future may hold?

In the “Computing Research that Changed the World” March 2009 symposium, Luis von Ahn claimed that reCAPTCHA was digitizing 35 million words per day and was expecting to complete the digitization of the complete New York Times archive (from the year 1851 to 1980) in a matter of 10-12 months. The ESP game is claimed to have the potential of labeling all the pictures in Google image search in 2 months with only 5000 players playing at a time. We are talking about a huge computational power here.

Now that we see that it is possible to utilize the human computation power to solve the problems that are unsolvable using the latest state of the art computers and systems available to us, what needs to be done? I think it’s very important to create systems with a human-in-the-loop at least till the time we don’t have completely tested AI systems for the purpose. Creative ways of building such games, to solve complex problems utilizing the human cycles, can be seen more in the future with researchers spending time in designing concepts to modify complex problems into interesting activities (not always games). But some people may think this is in a way exploitation of the people who actually indulge in these games or activities. I think it’s not, since the purposes of these games are specified to the players before hand. And anyways the player is in search of an interesting game. So, if not these games then some other game, but some game for sure. People can debate on this topic for long.

So, can we create few such games and include them in platforms like Mindworks? By doing so, we may come up with some interesting ways to solve complex problems while creating activities which will be intellectually challenging to our associates. This way we can “make gain (& game) out of pain”. But I agree that it will require good amount of effort to identify suitable problems and to create innovative approaches to create interesting activities for solving them. You may also say that this can attract/make our employees to play for longer periods. If we can create such alluring games then that’s a big achievement for our creative quotient. And anyways we can keep a time monitoring system and a fixed (daily or weekly) time limit for each player to prevent over-indulgence.

Now that we have discussed a lot about the human computation, I have a question. Can Artificial Intelligence be developed to such a level that it may replace human intelligence? I have my doubts, but I would love to see and if possible make such systems.

For the time being, however smart AI systems we built with whatever sophistication and intelligence, I think human computation has a crucial part to play in them. What do you say? Could it be the next phase in the evolution of computing?

No comments: