learning


I missed the train this morning, & had a few minutes freed up, so I picked an Edward de Bono book (Practical Thinking) & was amazed on the clear & insightful view on AI it offers…

Just an example, the 1st chapter is called: Instinct, Learning & Understanding. & of course it relates to the 3 phases of software evolution in general, & in AI in particular:

  • First we had Instinct software, pre-wired to react in certain ways to certain situations (e.g., almost any software product developed today by clone armies of programmers)
  • Then we had Machine Learning software, capable of training from examples & improving its performance (e.g., pandora learning musical taste, or sophisticated Event Processors, learning data centers events & their root cause)
  • & finally we’re building Understanding software, capable of analyzing the semantics of events, & by that handling new & unexpected events according to their matching with existing event knowledge (e.g., the Semantic Web).

Actually, nothing new in applying practical human design patterns to software design patterns, but do Bono deals with thinking, which is the core of AI, & so amazingly relevant & important!

I’ve been at the movie theater this weekend, & wondered again how come people group together in a dark room, shut down their consciousness, & for 2 hours live the (usually fictional) lives of other people. Edward Young said in one of his movies (A One and a Two…) that with the normal amount of movies people watch these days, they’re actually living about 5000 years.

This naturally leads me to the concept of sending our information machines to the movie theater as well. Whatever we benefit from movies, will probably benefit them as well. You could say that no, people are defined by the feelings art invokes in them, & machines have nothing to do with it. Nevertheless, I think it can be a great way to educate our androids.
& more practically, if information machines need to understand our social & business world, & be domain experts in many human fields, why shouldn’t we provide them with movie scripts, depicting scenes in various domains, & let them apply their self-organizing machine learning to make sense of these domains? Sounds like David Harel’s development paradigm.
Google is targeting YouTube these days, maybe they’ve already got some movie fans crawlers, learning the human domain.

I was thinking on the simplest way to test my emergence engine, & came up with an extremely simple task – the reactive algorithm of a thermostat: measure the temperature, & turn the heating on & off to maintain a given temperature. It sounds indeed very simple to code a program that does that, but what I’m going to experiment is how to do it without any programming.

Emergence engine is a kind of general AI, capable of achieving goals, without being programmed how to solve them. It’s based on the assumption that you don’t need to build real intelligence, rather just create many many simple software workers, having only very simple tools & logic, & let them swarm their way toward the system’s given goals.

So, here’s how I hope my engine will handle the test case:

  • It should 1st learn by elicitation the model of a room, having a temperature, thermometer & heating unit.
  • It should also learn the relevant beliefs on the effect of using the thermometer on the accuracy of the model, & the effect of turning the heating on & off on the room’s temperature
  • It should then learn what’s the desired temperature
  • From this it should start deriving action plans & execute activities to achieve the goal of maintaining the desired temperature
  • It should also adapt to changes in the room, e.g., a door is open & there’s need to use more heating, or alternatively the heating doesn’t work & we need an alternative heating unit

I’m saying it but of course what’s doing all this are many collaborating agents, working together to achieve the goal. This is done by breaking the value in the goal into smaller value “summs” given to states & activities leading to the goal, & having the agents collaborate on creating all these summs.

Although the design is very simple, & intended for complete autonomous behavior, I noticed that I’ll be able to effect the engine & help it reach its goal, by changing the knowledge driving it, i.e., the learnt beliefs, according to which the agents work.

So, I can’t wait to see how the engine will handle this, which will actually test whether the simple emergence design is enough to yield emergence, even if the value it delivers is so small & simple.

I read a few years ago about the DARPA CALO project (Cognitive Agent that Learns & Organizes), or was it the PAL project (Perceptive Agent that Learns)? Anyway, I was quite amazed, because I was thinking back then about similar architecture & technologies. Well, about a month ago, they decided to actually ship the technology, & open its source!!!!

It's called OpenIRIS (http://www.openiris.org/), & it's a "Semantic Desktop", in which you work on your applications (Browser, Mail, Chat, Calendar, Tasks, Documents &c), & behind the scenes everything is analyzed & organized in a beautiful ontology (!!!) that enables you to "Integrate. Relate. Infer. Share.".
DARPA just paid researchers from some 22 universities, to actually go & implement the semantic technologies that have such huge promises, using today's paradigms & technologies.

I've started playing with it a few weeks ago, & today decided to actually use it. Well, I'm holding my hands from evangalizing (except for the post's title), but I'm quite impressed from the result! There are some small problems, & the giant platform is slightly slow, but the basics seem to work – some giant OWL-based ontology is being accumulated behind-the-scenes, & used for integrating the information. (One thing does annoy: I hope they'll switch to FireFox (instead of the old Mozilla), because I can't use a browser without my extensions…). I might even try write a plug-in for FreeMind or some other app I can't live without, & see how it works.

Thanks DARPA, SRI & all other researchers for bringing the future closer!

Update: Oops! There's only a Windows version :( … Seems like I won't be using it much, coz my primary OS is Linux. (hey, please spend the last mile effort for the sake of Linux & MacOS early adopters…)

Watching people play computer games is very informative: you watch the process in which their brain learns a complex behavior, masters it & improves its effectiveness using the score performance indicator. To make the game more intuitive, it can also provide sensual stream similar to the real world, so that the feedback on the behavior effectiveness is more affective.

As people’s work is becoming more & more computer mediated, computer games can become an interesting training method, as the military & other industries are increasingly adopting. Maybe it would eventually shorten the competence period, that as Peter Norvig claims normally requires 10 years.

Providing Computer Games for Computers may also be a nice way to train them: if they’re provided the same training games as humans have, they can employ simple machine learning & become competent in it. Compare with what David Harel suggests in “Come, Let’s Play“.

  • My tweets

  • My bookmarks

  • My pictures

    Fixed summary of Erlang workshop by Ulf Wiger

    Fixed summary of Erlang talk by Ulf Wiger

    Erlang talk, Ulf Wiger

    Erlang workshop, Ulf Wiger

    AppEngine updates talk - Barack

    More Photos
  • My Deezer default playlist


    Discover Count Basic!
  • Top Clicks

  • My previous posts

  • Listed on BlogShares