Monday, March 24, 2008

AI as Pushing the Bounds on Automated Computation

I was reading the post by KK on the acceptance of disruptive technology, where he comments on the ease in computer science and the difficulty in medicine and biology. What I found interesting was the setup comment on things computer's do well (better than humans). Specifically, he lists automated computation activities such as arithmetic, spelling and OR.

This got me thinking about two things, how automated computation is taken for granted, and the other things we exploit computers for besides automation. Regarding the first point, a raw interpretation of HCI promotes the idea that peripherals such as displays, keyboards, and software are tools for optimally automating our computation (cheap automated computation is no doubt responsible for the information age). Fair enough, although my paraphrasing clearly presents an antiquated perspective. Computers are also our note books, source of entertainment, epicentre for personal research, and perhaps most importantly our portal to broader social interaction.

Anyway, back to computation. Computers are great at repeating well formed procedures, quickly. Although, even with lots and lots of computers, there are problems that still really hard. One may simplify things such that progress may be achieved through work on rephrasing problems to make them amenable to automation (problem focus), work on computational systems that can be applied to automation tasks (algorithm focus), or do both at the same time.

An intersection that has always fascinated me is automated induction with humans in the loop, such as interactive evolutionary computation (unfortunately great examples don't extend beyond art), and more recently popular interactive machine learning. These are excellent technologies exploiting the principle of using humans for parts of the problem for which they excel, and machines for fast automated computation. Two other examples that I am extremely fond of include: the use of computers to harness large diverse sets of human problem solvers (crowdsourcing such as the Mechanical Turk), and the genius move of exploiting such a pool to both solve individual human problems and broader problems at the same time (so-called Human Computation, with reCAPTCHA as the seminal example).

Kelley's comment also provoked thoughts on other computation humans don't do well, no doubt reflected in what our automatons cannot do well. In fact it is fair to say the majority of work we get computers to do is just scaled up (time and or space) automation's of what we would get humans to do. Anyway, two examples of what humans are generally bad at include long term planning, and understanding influences on short term decision making, although once identified, we can improve with frameworks and training. For example, The Long Now Foundation, (in which KK is involved) that promotes long term thinking, and Gladwell's Blink on our limited understanding on instinctive decision making.

An automated computation perspective helps simplify things, especially when considering Artificial Intelligence. It naively suggests that all we have to do is apply ruthless reductionism to complex systems, distill them to salient information processing qualities, and realise them as procedures in computers. As uncomfortable as this may appear at first glance, it works, as long as you use a good methodology. It's hard work, and we have much to learn, although with so much cheap computation around, we can start to study emergence in very large simulations (such as IBM Blue Brain simulating complete portions of the neocortex).

0 comments: